Subscribe to Newsletter
PersonalizationPatentsUser signals

Search personalization and SEO: how Google builds a user profile from terms, categories and links

By 11 min read
Search personalization: Google's user profile patent and SEO, patent US 9,298,777 B2Personalization

Search personalization is the re-ordering of search results for each user according to a profile of that user's interests. Patent US 9,298,777 B2, "Personalization of web search results using term, category, and link-based user profiles," describes how Google builds such a profile and uses it. The original application dates from September 30, 2003, and this continuation, filed on January 7, 2013, was granted on March 29, 2016.

What does patent US 9,298,777 describe?

Patent US 9,298,777 describes a system that creates a user profile and uses it to order the results returned by a search engine. Its sole inventor is Stephen R. Lawrence, and the patent was filed by Google Inc. It holds 24 claims and 12 drawing sheets, and it continues a chain of applications that starts in 2003 (application 10/676,711, then 12/778,869 in 2010 and 13/295,019 in 2011, all abandoned).

The abstract sums it up: the profile "is based on search queries submitted by a user, the user's specific interaction with the documents identified by the search engine and personal information provided by the user." "Generic scores associated with the search results are modulated by the user profile," and "the search results are re-ordered accordingly so that the most relevant results appear on the top of the list."

The claims go further than the abstract: they protect a final score that mixes the personalized score and the generic score according to the confidence the system has in the profile (see below).

Which problem does personalization solve?

Personalization solves the fact that a generic ranking treats every user the same. The patent describes PageRank's random surfer and notes that "a search engine using the PageRank algorithm treats a search query the same way no matter who submits the query." The generic score "may not appropriately reflect document D's importance to a particular user U if the user's interests or preferences are dramatically different from that of the random surfer."

The patent's example is the query "blackberry": a PageRank-based engine may put www.blackberry.net on top "because this web page has the highest page rank," while a user interested in food and cooking would rather see recipes. The patent also wants a system that operates "largely or completely without explicit input from the user," because "users are reluctant to provide explicit feedback."

Where does the user profile come from?

The user profile comes from 8 types of information listed in Figure 2 of the patent:

  1. Previous queries submitted by the user. A user who searched several times about diabetes and then types "organic food" is probably more interested in organic foods "helpful in fighting diabetes."
  2. URLs of the identified documents, especially results the user selected or "visited."
  3. Anchor text of those URLs.
  4. General information about the documents: their format (HTML, plain text, PDF, Microsoft Word) and their topic.
  5. User activities on the documents: "how long the user spent viewing the document, the amount of scrolling activity on the document, and whether the user has printed, saved or bookmarked the document." These activities can weight the extracted information or select the documents used: the system may "exclude from the profiling process documents that the user viewed for less than a predefined threshold amount of time."
  6. Sampled content from the documents, rather than whole documents, "to save storage space and computational cost."
  7. Category information about the documents.
  8. Personal information, optional: demographic and geographic data such as age range, education level, income range, language preferences, marital status or location. The patent's example is "Japanese restaurant": without the user's location, it is hard to bring local restaurants to the top.

The "identified documents" are not only search results: they include documents the user accessed outside search, and documents linked to or from those documents.

The profile evolves. In some embodiments it is updated "each time the user performs a search and selects at least one document," or at predefined times. "The new profile data is assigned higher importance than the previously generated profile data" in some embodiments, and items can be weighted by their age, "with older items receiving a lower weight than when they were new." The lowest weights can be pruned so that the profile fits a storage limit.

What are the 3 sub-profiles?

The profile is split into 3 sub-profiles, each characterizing the user's interests "from a different perspective":

  1. Term-based profile: "a plurality of terms, each term carrying a weight indicative of its importance relative to other terms."
  2. Category-based profile: "multiple categories, optionally organized into a hierarchical map," each with a weight for the user's interest. The patent's example map is the Open Directory Project: under the root, major topics such as "Art," "News" or "Sports"; "Art" divides into "Movie," "Music" and "Literature," and "Music" into "Lyrics," "News" and "Reviews."
  3. Link-based profile: "a plurality of links that are, directly or indirectly, related to identified documents," each with a weight, which "may be further organized with respect to different hosts and domains."

A profile can hold only a subset of the three: in one embodiment, it includes a term-based and a category-based profile, "but not a link-based profile."

How are terms and categories weighted?

Terms and categories are weighted positively for interests and negatively for what the user avoids. A term is "typically 1-3 words long" and can be represented as n-grams. "The weight of a term is not necessarily a positive value": for a group of surfing fans in Santa Cruz, "surfing club" or "Santa Cruz" get positive weights, while "Internet surfing" or "web surfing" are "more likely to receive a negative weight."

The term profile requires an exact match: "if a document does not match a term exactly, it will not receive any weight associated with this term." A profile with "Mozilla" and "browser" gives nothing to a page about "Galeon" or "Opera." The category profile exists to match interests "without exact term matching." Categories can also describe document formats, document types (an organization's homepage, a research paper, a news group posting) or document origin, "for instance the country associated with each document's host."

The link-based profile weights the URLs, hosts and domains the user visits often:

  1. Preferred URLs are identified "by analyzing the frequency of his access to those URLs," and can be weighted by "the time spent by the user and the user's scrolling activity."
  2. Preferred hosts and domains come from the frequency of visits to their pages. When two preferred URLs share a host, their weights can be combined into a weight for the host. For finance.yahoo.com, the host is "finance.yahoo.com" and the domain is "yahoo.com."
  3. Indirect links extend the list: URLs or hosts linked to or from the preferred ones are weighted by distance. When a directly identified URL weighs 1, URLs one link away "may have a weight of 0.5," two links away "0.25."
  4. Irrelevant links lose weight: copyright pages, browser download pages (the Internet Explorer site is the patent's example), or links whose topic is very different.

How does Google extract terms from the pages a user reads?

Google extracts terms with 2 methods, usable alone or together (when combined, the output of paragraph sampling feeds context analysis):

  1. Paragraph sampling: remove "comments, JavaScript and style sheets," then select "the first N words (or M sentences)" from each paragraph longer than a threshold, MinParagraphLength. In one embodiment, N is 100 and M is 5. The procedure starts with the longest paragraphs and may stop at a maximum, "e.g., 1000 words," per document. Paragraph boundaries follow the page as displayed in a browser: inline links and bold text do not split a paragraph. Sentences with boilerplate terms such as "Terms of Service" or "Best viewed" can be filtered out. If the word limit is not reached after all long paragraphs, the procedure adds the title, the non-inline links, the ALT tags and the meta tags.
  2. Context analysis: learn "context patterns" (prefixes, postfixes or both) that signal important terms from training documents, then apply them to the user's documents. Patterns usually hold fewer than 5 words before or after the term, preferably 1 to 3. One possible weight for a pattern is Log(ImportantContext + 1) - Log(UnimportantContext + 1). In the patent's example sentence, "Welcome to Foobar. Foobar builds and sells the world's best cars," "Foobar" gets a weight of 1.2, the sum of the patterns "Welcome to " (0.7) and " builds" (0.5), and "cars" gets 0.8 through "world's best *." Context analysis can thus find terms "not included in a predefined database of terms."

How does the profile change rankings?

The profile changes rankings by combining each document's generic score with its match with the user's profiles. In one embodiment, the patent gives the formulas:

  • GenericScore = QueryScore × PageRank
  • PersonalizedScore = GenericScore × (TermScore + CategoryScore + LinkScore)

TermScore measures the correlation between the document's content and the term-based profile (known techniques such as TF-IDF can be used), CategoryScore the correlation between the document's categories and the category-based profile, and LinkScore the correlation between the document's URL or host and the link-based profile. The results are then sorted by personalized score.

A second embodiment (Figure 9B) personalizes the query instead of the results: "relevant terms from the user profile may be added to the search query with associated weights," and the results come back already ordered.

Profiles "can be created and/or stored on the client side or server side." The patent notes that client-side storage "satisfies some users' privacy requirements," but only a limited number of documents, "e.g., the top 50," can be sent to the client for re-ordering, against "e.g., 1000" on the server side. The client side "may deprive a user access to those documents having relatively low generic ranks, but significantly high personalized ranks."

How does the confidence score limit personalization?

The confidence score limits personalization by giving the profile less weight when the system knows little about the user. The confidence level "takes into account factors such as how much information has been acquired about the user, how close the current search query matches the user's profile, how old the user profile is." With "only a very short history," the profile gets a low confidence. The final score is:

  • FinalScore = PersonalizedScore × ProfileConfidence + GenericScore × (1 - ProfileConfidence)

Another option interleaves the two lists: the odd positions (1, 3, 5) go to generic results and the even positions (2, 4, 6) to personalized results, or the reverse, without duplicates. The share of personalized results can follow the confidence, "for example using only one personalized result when the confidence is low."

This is the core of the claims. The 3 independent claims (1, 9 and 17) require a final score computed from the personalized score, the generic score and a confidence score, results partly ordered by the personalized score and partly by the generic score, with a ratio "determined based on the confidence score," and a profile updated from the user's queries and selected documents. The dependent claims add the terms, categories and links with weights, and context patterns whose weights "can be recalibrated."

What limits does the patent acknowledge?

The patent acknowledges 2 weaknesses of personalization:

  1. Changing interests: when a user's new interests "bear little resemblance to his user profile," or when the interest is temporary, personalized results "may be less favorable" than generic ones.
  2. New websites: results "may not include new websites among the top listed documents because the user's profile tends to increase the weight of older websites which the user has visited."

Merging personalized and generic results is the patent's answer to these weaknesses. The patent also handles shared computers: a family using one machine can share a group profile, and in a public library users can log in or be recognized by their access patterns, such as the way they "move the mouse" or "type."

How does this patent relate to other user signal patents?

This patent personalizes results for one user, while Navboost and the presentation bias patent aggregate the clicks of all users for a query. The generative summaries patent uses user-dependent measures as well when it selects the sources of an AI summary.

What does search personalization change for your SEO?

Search personalization means that users who already engage with your content can see you higher than the generic ranking suggests. 6 consequences follow:

  1. Build returning readers. Reading time, scrolling, printing, saving and bookmarking feed the profile, and frequent visits make your URL, host and domain preferred links. Pages viewed too briefly can be left out of the profile.
  2. Make your topics obvious. Paragraph sampling reads the first 100 words (or 5 sentences) of your longest paragraphs: state your subject early in each long paragraph so the terms that define your page are extracted, and keep boilerplate away from them.
  3. Fill the title, ALT text and meta tags. They complete the sample when the long paragraphs do not reach the word limit.
  4. Stay coherent with a category. The category profile matches documents to the user's interests without exact terms: a site clearly placed in a topic benefits from users interested in it.
  5. Keep working on the generic ranking. The patent admits that profiles favor older sites the user already visited: for a new site, generic results interleaved with personalized ones are the way in.
  6. Do not trust your own rankings blindly. A personalized engine would rank the site you visit every day higher for you: check rankings with neutral tools or signed-out sessions.

The patent describes what Google's system can do. It does not confirm how Google personalizes results today.

Quick quiz

Did you get it?

Test what you just read.

Question 1 of 4

What are the 3 sub-profiles of the user profile?

Related articles

We read the patents so you don't have to.

Every week: 3 data-backed SEO insights, 1 myth busted, 1 pattern to steal. No fluff. No guru advice.

Free forever. Unsubscribe anytime. We respect your inbox. Privacy.