Socially-derived relevance in search engine results

A method and apparatus for ranking results from a search engine query is described. In one embodiment, a search engine generates a list of search results in response to a query for a search term to the search engine. A statistical computation engine determines an average frequency of first selection of each hyperlink with respect to its position in a list of hyperlinks, and determines an average frequency of first selection of each search result from the list of search results. A relevance engine compares the average frequency of first selection of a search result from the list of search results with the average frequency of first selection of a corresponding hyperlink in the respective position in the list of hyperlinks, and adjusts the position of the search result in the list of search results based on the comparison.

TECHNICAL FIELD

Embodiments of the present invention relate to a search engine, and more particularly, to improving search engine results.

BACKGROUND

Search engines that use link popularity to rank web sites tend to skew their results in favor of web sites that are more popular. Google uses an algorithm called PageRank that assigns a numerical weighting to each element of a hyperlinked set of documents to measure its relative importance within the set. PageRank results from voting among all other web pages about how important a web page is. A hyperlink to a page counts as a vote of support. Similarly, a web page that is linked to by many pages with high PageRank receives a high rank itself. If there are no links to a web page, there is no support for that web page.

Further, search engine rankings also influence consumer behavior. For instance, most users only click on the first result in a list of search results generaged by a search engine. Most users do not look past the first result in the list. As such, search engines that rank results with click-through popularity very soon wind up with links that are effectively permanent in the first few positions.

DETAILED DESCRIPTION

Described herein is a method and apparatus for ranking results from a search engine query is described. In one embodiment, a search engine generates a list of search results in response to a query for a search term to the search engine. A statistical computation engine determines an average frequency of first selection of each hyperlink with respect to its position in a list of hyperlinks, and determines an average frequency of first selection of each search result from the list of search results. A relevance engine compares the average frequency of first selection of a search result from the list of search results with the average frequency of first selection of a corresponding hyperlink in the respective position in the list of hyperlinks, and adjusts the position of the search result in the list of search results based on the comparison.

FIG. 1is a block diagram illustrating an example of a list100of search results with an average click-throughs at each list position calculated globally. The list100may be the results of any search query in a search engine. Typically, the list100includes several links102,104,106,108, and110ordered from the most relevant to the least relevant.

For example, the first link102may be the most relevant link in the list100. Most users click on the first result in the list of search results. A global click-through average for the first link may be for example 90%. The second most relevant result, link104may have a global click-through average of about 7%. The third most relevant result, link106may have a global click-through average of about 1%. The fourth most relevant result, link108may have a global click-through average of about 0.8%. The fifth most relevant result, link110may have a global click-through average of about 0.2%. In other words, a link located in the fifth position of a list of search results from a search engine has a 0.2% probability of being the first one to be clicked on in the list.

In one embodiment, these statistical data may be the result of some prior or concurrent analysis of global click-throughs from lists of search results with respect to any search term.

FIG. 2is a block diagram illustrating an example of a list200of search results for a search term. The list200is generated as a result from a search query on a search engine. For example, a user may search the term such as “bicycle”. The search engine generates the list200with the following search results in order of relevancy (most relevant to least relevant): “casino”202, “abc bicycle inc.”204, “definition of bicycle”206, “shop for bicycle”208.

The first click-through average for each search result is computed based on statistical analysis. For example, “casino”202may have a first click-through average of 1% from the list200. In other words, the search result “casino”202has a 1% probability of being the first link to be clicked on after being presented to a user in the list200regardless of its order. Similarly, “abc bicycle inc.”204may have a first click-through average of 2% from the list200. The search result “definition of bicycle”206may have a first click-through average of 90% from the list200. The search result “shop for bicycle”208may have a first click-through average of 7% from the list200.

By comparing the global average frequency of click-throughs at each list position with the average frequency of first click-throughs of each search result in the list200, the search results may be adjusted to enhance relevancy based on the statistics from user interactions. Any search result with significant deviations from the norm can be identified, the results can be re-ordered. For example, the search result “casino”202with a first click-through average of 1% is ranked too high to be listed in the first position since the first position has a click-through of, for example, 90% as illustrated inFIG. 1. As such the search result “casino”202needs to be re-ordered accordingly and be listed further down on the list200.

FIG. 3is a block diagram illustrating one embodiment of a socially-derived search engine300. The socially-derived search engine300has at least three components: a search engine302, a statistical computation engine304, a database306, and a relevance engine308.

The search engine302generates a list of search results in response to a query for a search term to the search engine302. Those of ordinary skills in the art will recognize that search engine may include a variety of searching algorithm that includes “popularity” of web sites to generate search results. The search results may include a list of brief description or quotation of the websites and a corresponding hyperlink for the user to click to. The list may be ordered from most relevant to least relevant according to the search engine.

A statistical computation engine304determines the average frequency of first selection of a hyperlink with respect to its position in a list of hyperlinks. Statistical computation engine304also determines the average frequency of first selection of the search result from the list of search results. Statistical computation engine304performs these statistical analysis based on the collected statistical data in database306. The collected statistical data may include but is not limited to the ordered listing of presented links, which links were clicked on, in which order, and time between clicks.

The relevance engine308compares the average frequency of first selection of the search result from the list of search results with the average frequency of first selection of a corresponding hyperlink in the respective position in the list of hyperlinks. Relevance engine308then adjusts the position of the search result in the list of search results based on the comparison.

In one embodiment, the average frequency of first selection of a hyperlink with respect to its position in the list of hyperlinks includes a global average frequency of the hyperlink to be selected first from the list of hyperlinks generated in response to any search query. The average frequency of first selection of a search result includes the average frequency of the search result to be selected first from the list of search results after generating the list of search results.

In one embodiment, statistical computation engine304collects statistical data on search results associated with the search term, and to compute the average frequency of first selection for each search result based on the collected statistical data. The statistical data can also include an order of the list of search results, an identification of which search results are selected, an order of a selection of search results, a time difference between each selection, the last search result to be selected from the list of search results, whether another query for another search term related to the original search term is subsequently performed within a relatively short time period after the original search.

In another embodiment, search engine302occasionally generates a list of search results in a random order so that statistical computation engine304updates the average frequency of first selection of each hyperlink with respect to its position in the list of hyperlinks based on a first selection of a search result from the other list. The statistical computation engine304also updates the average frequency of first selection of each search result from the list of search results based on the first selection of the search result from the random ordered list.

FIG. 4is a flow diagram illustrating of one embodiment of a method for ranking search results. At402, a statistical computation engine determines an average frequency of first selection of a hyperlink with respect to its position in a list of hyperlinks based on statistics from data accumulated in a database. At404, a search engine generates a list of search results in response to a query for a search term to the search engine.

At406, the statistical computation engine determines an average frequency of first selection of a search result from the list of search results. In one embodiment, the statistical computation engine collects statistical data on search results associated with the search term, and computes the average frequency of first selection for each search result based on the collected statistical data. For example, the statistical data may include an order of the list of search results, an identification of which search results are selected, an order of a selection of search results, and a time difference between each selection. The statistical data may also include the last search result to be selected from the list of search results. Where multiple links were clicked, the last link clicked may be likely the most relevant. In accordance with another embodiment, the statistical data may also include whether another query for another search term related to the search term is subsequently performed after the original search.

At408, a relevance engine compares the average frequency of first selection of the search result from the list of search results with the average frequency of first selection of a corresponding hyperlink in the respective position in the list of hyperlinks. At410, the relevance engine adjusts the position of the search result in the list of search results based on the comparison.

In one embodiment, the average frequency of first selection of a hyperlink with respect to its position in the list of hyperlinks includes a global average frequency of the hyperlink to be selected first from the list of hyperlinks generated in response to any search query. The average frequency of first selection of a search result can include the average frequency of the search result to be selected first from the list of search results after generating the list of search results.

In another embodiment, the search engine may periodically generate another list of search results in a random order to both validate the relevance calculations and to collect statistics on very low ranked pages. As such, the average frequency of selection of each hyperlink with respect to its position in the list of hyperlinks can be updated based on selections or click-through in the list with random order.

The data storage device518may include a machine-accessible storage medium530on which is stored one or more sets of instructions (e.g., software522) embodying any one or more of the methodologies or functions described herein. The software522may also reside, completely or at least partially, within the main memory504and/or within the processing device502during execution thereof by the computer system500, the main memory504and the processing device502also constituting machine-accessible storage media. The software522may further be transmitted or received over a network520via the network interface device508.

The machine-accessible storage medium530may also be used to store a search engine module524for ranking web pages based on the socially-derived statistical analysis as described above. The search engine module524may also be stored in other sections of computer system500, such as static memory506.