The present disclosure relates to using data that represents previously submitted user queries to adjust search results.
Internet search engines aim to identify documents or other items that are relevant to a user's needs and to present the documents or items in a manner that is most useful to the user. Such activity often involves a fair amount of mind-reading—inferring from various clues what the user wants. Certain clues may be user specific. For example, knowledge that a user is making a request from a mobile device, and knowledge of the location of the device, can result in much better search results for such a user.
Clues about a user's needs may also be more general. For example, search results can have an elevated importance, or inferred relevance, if a number of other search results link to them. Such an approach to determining relevance may be premised on the assumption that, if authors of web pages felt that another web site was relevant enough to be linked to, then web searchers would also find the site to be particularly relevant. In short, the web authors “vote up” the relevance of the sites.
Other various inputs may be used instead of, or in addition to, such techniques for determining and ranking search results. For example, user reactions to particular search results or search result lists may be gauged, so that results on which users often click will receive a higher ranking. The general assumption under such an approach is that searching users are often the best judges of relevance, so that if they select a particular search result, it is likely to be relevant, or at least more relevant than the presented alternatives.
This disclosure describes systems, methods and apparatus including computer program products for refining search results. In general, one or more aspects of the subject matter described in this specification can be embodied in one or more methods for processing query information. The methods include receiving data representative of a search query from a user search session. The methods also include identifying a plurality of search results based upon the search query. Each search result is associated with a plurality of user characteristics and data that represents requestor behavior relative to previously submitted queries associated with the respective search result. The methods also include ordering the plurality of user characteristics based upon the data that represents requestor behavior relative to previously submitted queries and the respective search result. The methods also include adjusting the ordered plurality of user characteristics based upon at least one predefined compatibility associated with the user characteristics. The methods also include ranking the search results based upon the adjusted plurality of user characteristics.
These and other embodiments can optionally include one or more of the following features. One or more of the predefined compatibilities may define two or more user languages as being compatible. Predefined compatibilities may also define two or more user locations as being compatible. Ordering the plurality of user characteristics may include computing, for each user characteristic, a fraction based upon the data that represents requestor behavior relative to previously submitted queries and the respective search result. Adjusting the ordered plurality of user characteristics may include reordering the plurality of user characteristics based upon a fraction that is based upon the data that represents requestor behavior relative to previously submitted queries and the respective search result. Adjusting the ordered plurality of user characteristics may include removing data associated with a user characteristic. Ranking the search results may include computing a score for each search result based upon the adjusted plurality of user characteristics. Adjusting the ordered plurality of user characteristics may include applying a weight to data that represents requestor behavior relative to previously submitted queries and the respective search result.
In general, one or more other aspects of the subject matter described in this specification can be embodied in one or more methods for processing query information. The methods include receiving data representative of a search query from a user search session. The methods also include identifying a plurality of search results based upon the search query. Each search result is associated with data that represents requestor behavior relative to previously submitted queries. The requestor behavior is associated with a plurality of languages used at a location of the user. For each search result, the methods include combining the data that represents requestor behavior that is associated the plurality of languages used at user location. The methods also include ranking the search results based upon the combined data that represents requestor behavior.
These and other embodiments can optionally include one or more of the following features. Combining the data that represents requestor behavior may include applying a weight to the data that represents requestor behavior relative to previously submitted queries for the plurality of languages. The location of the user may be associated with a country.
Particular embodiments of the described subject matter can be implemented to realize one or more of the following advantages. By defining particular user characteristics (e.g., user languages, user locations, etc.) as being compatible, information associated with previous searches may be exploited to accentuate or downplay the rankings of search results.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims.
Like reference numbers and designations in the various drawings indicate like elements.
A user 1002 (1002a, 1002b, 1002c) can interact with the system 1000 through a client device 1004 (1004a, 1004b, 1004c) or other device. For example, the client device 1004 can be a computer terminal within a local area network (LAN) or wide area network (WAN). The client device 1004 can include a random access memory (RAM) 1006 (or other memory and/or a storage device) and a processor 1008. The processor 1008 is structured to process instructions within the system 1000. In some implementations, the processor 1008 is a single-threaded processor. In other implementations, the processor 1008 is a multi-threaded processor. The processor 1008 can include multiple processing cores and is structured to process instructions stored in the RAM 1006 (or other memory and/or a storage device included with the client device 1004) to display graphical information for a user interface.
A user 1002a can connect to a search engine 1030 within a server system 1014 to submit a query 1015. When the user 1002a submits the query 1015 through an input device attached to a client device 1004a, a client-side query signal 1010a is sent into a network 1012 and is forwarded to the server system 1014 as a server-side query signal 1010b. Server system 1014 can be one or more server devices in one or more locations. The server system 1014 includes a memory device 1016, which can include the search engine 1030 loaded therein. A processor 1018 is structured to process instructions within the system 1014. These instructions can implement one or more components of the search engine 1030. The processor 1018 can be a single-threaded processor or a multi-threaded processor, and can include multiple processing cores. The processor 1018 can process instructions stored in the memory 1016 related to the search engine 1030 and can send information to the client device 1004, through the network 1012, to create a graphical presentation in a user interface of the client device 1004 (e.g., a search results web page displayed in a web browser).
The server-side query signal 1010b is received by the search engine 1030. The search engine 1030 uses the information within the user query 1015 (e.g. query terms) to find relevant documents. The search engine 1030 can include an indexing engine 1020 that actively searches a corpus (e.g., web pages on the Internet) to index the documents found in that corpus, and the index information for the documents in the corpus can be stored in an index database 1022. This index database 1022 can be accessed to identify documents related to the user query 1015. Note that, an electronic document (which for brevity will simply be referred to as a document) does not necessarily correspond to a file. A document can be stored in a portion of a file that holds other documents, in a single file dedicated to the document in question, or in multiple coordinated files.
The search engine 1030 can include a ranking engine 1052 to rank the documents related to the user query 1015. The ranking of the documents can be performed using traditional techniques for determining an information retrieval (IR) score for indexed documents in view of a given query. The relevance of a particular document with respect to a particular search term or to other provided information may be determined by any appropriate technique. For example, the general level of back-links to a document that contains matches for a search term may be used to infer a document's relevance. In particular, if a document is linked to (e.g., is the target of a hyperlink) by many other relevant documents (e.g., documents that also contain matches for the search terms), it can be inferred that the target document is particularly relevant. This inference can be made because the authors of the pointing documents presumably point, for the most part, to other documents that are relevant to their audience.
If the pointing documents are in turn the targets of links from other relevant documents, they can be considered more relevant, and the first document can be considered particularly relevant because it is the target of relevant (or even highly relevant) documents. Such a technique may be the determinant of a document's relevance or one of multiple determinants. The technique is exemplified in some systems that treat a link from one web page to another as an indication of quality for the latter page, so that the page with the most such quality indicators is rated higher than others. Appropriate techniques can also be used to identify and eliminate attempts to cast false votes so as to artificially drive up the relevance of a page.
To further improve such traditional document ranking techniques, the ranking engine 1052 can receive an additional signal from a rank modifier engine 1056 to assist in determining an appropriate ranking for the documents. The rank modifier engine 1056 provides one or more prior models, or one or more measures of relevance for the documents based on one or more prior models, which can be used by the ranking engine 1052 to improve the search results' ranking provided to the user 1002. In general, a prior model represents a background probability of document result selection given the values of multiple selected features, as described further below. The rank modifier engine 1056 can perform one or more of the operations to generate the one or more prior models, or the one or more measures of relevance based on one or more prior models.
Various types of information may be provided to the rank modifier engine 1056 for improving the ranking of documents. For example, information associated the search requester may be identified and used to adjust rankings of search results. Such information may include the language used by the search requester, the geographic location of the search requester, etc. Similar information associated with previous search requesters may also be used to adjust rankings. To identify such search requester information, and accordingly adjust rankings based on the information, the search engine 1030 can include a rank refiner engine 1058 that may implement one or more adjustment techniques. In one arrangement the rank modifier engine 1056 may modify rankings based on one of three distinct levels. At the first level, the rank modifier engine 1056 may rely upon information from similar queries previously initiated by search requesters using the same language and from the same general location (e.g., country) as the current search requester. If such information is lacking, the rank modifier 1056 may attempt to modify rankings at a second level. In one arrangement, the second level may allow additional information from previous searches to be used. For example, the second level may use information from similar queries previously initiated by search requesters that use the same language as the current search requester, but independent of the location of the previous search requesters. As such, additional useful information may become available by expanding the pool of previous search information. If a statistically significant amount of information is still absent, the rank modifier engine 1056 may further expand the pool to include data from all previous searches that were similar to the current search. As such, search information independent of search requester language and location may be used.
In some respects, such a three-level arrangement allows the rank modifier 1056 to exploit information shared by search requesters for ranking search results. However, by moving from one level to the next in such abrupt steps, other types of similarities among search requests may not be exploited. For example, similarities associated with user languages (e.g., Russian and Ukrainian) may be used for ranking search results. By recognizing the similarities in particular languages, information associated from previous searches for both languages may be exploited. For example, the rank modifier 1056 may be unable to identify previous search requests provided in Russian that are similar to a current Russian search request. As such, the rank modifier 1056 may elect to open the search pool to include previous searches independent of language. As such, some previous search requests in Ukrainian, which is similar to Russian, may be applied a similar weight (even if highly relevant) to another language (e.g., Chinese) that is very different from Russian, but for which a significant amount of search requests may exist. By taking language similarities into account, the rank refiner engine 1058 may allow previous search information to be exploited, which may provide more relevant result rankings for the search requester. Similar to accounting for language similarities such as compatibility, the rank refiner engine 1058 may also exploit other similarities associated with searchers. For example, similarities associated with searcher locations (e.g., country of the searcher) may be considered. In one some arrangements, similar geographical locations (e.g., bordering countries such as Mexico, Canada, the United States, etc.), locations with common culture and climate (e.g., northern African countries), or other types of similarities may be used for adjusting the rankings of search results. Further, such language and location similarities may be used to define additional levels that may be inserted between somewhat abrupt levels (e.g., between a common language level and a language independent level). To identify such similarities (e.g., compatible languages, similar locations), various types of information may be used. For example, search requester characteristics (e.g., language, location, etc.) may be provided by the search requestor (e.g., language used to provide a search request), or may be inferred by analyzing data related to the search request or a series of search requests, or determined in some other manner. Additionally, information related to interactions between the search requestor and search results (e.g., click data, refining queries, etc.) may be used. Data representing the similarities may be cataloged in a database (e.g., the index db 1022). From the information, search result scoring and ranking (e.g., as performed by the ranking engine 1052 and the rank modifier engine 1056) can be adjusted to account for such language, location and other types of similarities.
The search engine 1030 can forward the final, ranked result list within a server-side search results signal 1028a through the network 1012. Exiting the network 1012, a client-side search results signal 1028b can be received by the client device 1004a where the results can be stored within the RAM 1006 and/or used by the processor 1008 to display the results on an output device for the user 1002a.
The ranking engine 2030 can produce a ranking of document results 2040 for display to a user based on IR scores received from the scoring engine 2020 and one or more signals from the rank modifier engine 2070. The rank modifier engine 2070 can adjust rankings at least in part based on data received from the rank refiner engine 2080. Along with being provided data from the result selection logs 2060, other sources may provide information to the rank refiner engine 2080. For example, queries entered into a user interface may be provided to the rank refiner engine 2080. In this particular example, the rank refiner engine 2080 provides information to the rank modifier engine 2070 for ranking adjustments, however other architectures may be implemented. For example, information may be provided by the rank refiner engine 2080 to the indexing engine 2010 or one or more other components of the information retrieval system. A tracking component 2050 can be used to record information regarding individual user selections of the results presented in the ranking 2040. For example, the tracking component 2050 can be embedded JavaScript code included in a web page ranking 2040 that identifies user selections (clicks) of individual document results and also identifies when the user returns to the results page, thus indicating the amount of time the user spent viewing the selected document result. In other implementations, the tracking component 2050 can be a proxy system through which user selections of the document results are routed, or the tracking component can include pre-installed software at the client (e.g., a toolbar plug-in to the client's operating system). Other implementations are also possible, such as by using a feature of a web browser that allows a tag/directive to be included in a page, which requests the browser to connect back to the server with message(s) regarding link(s) clicked by the user.
The recorded information can be stored in the result selection log(s) 2060. The recorded information can include log entries that indicate, for each user selection, the query (Q), the document (D), the time (T) on the document, the language (L) employed by the user, and the country (C) where the user is likely located (e.g., based on the server used to access the IR system). Other information can also be recorded regarding user interactions with a presented ranking, including negative information, such as the fact that a document result was presented to a user, but was not clicked, position(s) of click(s) in the user interface, IR scores of clicked results, IR scores of all results shown before the clicked result, the titles and snippets shown to the user before the clicked result, the user's cookie, cookie age, IP (Internet Protocol) address, user agent of the browser, etc. Still further information can be recorded, such as described below during discussion of the various features that can be used to build a prior model. Moreover, similar information (e.g., IR scores, position, etc.) can be recorded for an entire session, or multiple sessions of a user, including potentially recording such information for every click that occurs both before and after a current click.
The information stored in the result selection log(s) 2060 can be used by one or more components of the information retrieval system. For example, information could be provided to the rank refiner engine 2080 and the rank modifier engine 2070 in generating the one or more signals to the ranking engine 2030. In general, a wide range of information can be collected and used to modify or tune the click signal from the user to make the signal, and the future search results provided, a better fit for the user's needs. Thus, user interactions with the rankings presented to the users of the information retrieval system can be used to improve future rankings. Additionally, language and location similarities associated with the search requester can be used to adjust rankings. In some arrangements, the user interaction and the data representing language and location similarities may be provided to one or more server systems (e.g., server system 1014) for use and storage (e.g., database 1022) for later retrieval.
The components shown in
Referring to
Once the collection of click fractions 410 are calculated for each language, the rank refiner engine 1058 orders the languages included in the collection 410 based upon the values of the click fractions. In this example, the click fractions are ordered in a descending manner and are presented by language collection 420 and corresponding click fraction collection 422. As indicated by the collections 420, 422, the click fraction associated with the Chinese language is the largest followed by the English, German and Spanish languages. The click data demonstrates a strong relationship between this query/document pair and the Chinese language, however, the Chinese language and the language of the query requestor (i.e., the English language) may be considered dissimilar, and some may even consider the two languages as being incompatible. As such, the click data associated with the Chinese language (from the query/document pair) may skew ranking results.
To account for language differences, the rank refiner engine 1058 may adjust the language collection 420 and the corresponding click data collection 422 to separate languages considered incompatible (with the language of the requester) and languages considered compatible (with the language of the requester). In this example, the rank refiner engine 1058 produces language collection 424 and corresponding click fraction collection 426. As illustrated, languages considered incompatible (e.g., Chinese language 408) by the rank refiner engine 1058 are placed at the head of the language collection 424 and languages considered compatible (e.g., English 402, German 404 and Spanish 406) are positioned toward the tail of the language collection 424. The rank refiner engine 1058 correspondingly adjusts the click fraction information to produce click fraction collection 426.
Along with re-arranging the language data based upon compatibility, the rank refiner engine 1058 also adjusts the language data. In this example, the rank refiner engine 1058 has identified an incompatible language (e.g., Chinese) with a considerable click fraction. To reduce the effects of this incompatible language click fraction (e.g., on document scoring and ranking), the rank refiner engine 1058 may adjust the click fraction or remove the language entry in its entirety. For example, one or more weights may be applied to the click fractions such that the significance of incompatible languages is noticeably reduced. References to incompatible languages (and associated data), as defined by the rank refiner engine 1058, may also be removed from the collections. In this particular example, the rank refiner engine 1058 identifies the incompatible languages at the head of the language collection 424 and removes the identified languages from the collection along with the corresponding click fraction information from the click fraction collection 426. As indicated by brackets 428, for this example, the information associated with the incompatible language (Chinese) is removed from both collections 424 and 426. In some arrangements, other techniques may be used to identify information for removal. For example, click fractions for one or a few languages may be significantly statistically different (e.g., larger) from click fractions associated with the majority of other languages. Based upon this significant difference in click fraction, the language (or languages) associated with the outlier click fractions may be removed from the language collection 424.
Once the incompatible language information has been removed, collection information of a reduced size remains. In this example, a language collection 430 and a corresponding click fraction collection 432 with three entries each remain. Similar to the previous collections, for this query/document pair, the number of instances that the document has been selected (or another type of click data) for each language and the total number of instances that the document has been selected is determined by the rank refiner engine 1058. From the data associated with remaining languages, the rank refiner engine 1058 re-orders the languages for this query/document pair. For example, click fractions may be re-calculated for each of the remaining languages, and the languages may be re-ordered based on the re-calculated click fractions. In this particular example, a language collection 434 and a click fraction collection 436 illustrate the re-calculated click fractions (e.g., click fraction 438, click fraction 440 and click fraction 442) for the remaining languages (e.g., English, German and Spanish).
For each document associated with the query, similar operations may be executed by the rank refiner engine 1058. By computing similar data for each document, quantities may be calculated for scoring and ranking the documents. For example, the click data associated with the remaining languages for this query/document pair may be summed to provide the click count for the document. Similar quantities may be calculated for each document. By summing the click counts for each document (for the remaining languages) a click count may be determined for the query (for the remaining languages). Similarly, a fraction can be computed for each document, for example, from the ratio of the two sums (e.g., a ratio of the sum of click count for the document for the remaining languages and the sum of the click counts for the query).
One or more techniques may be used to exploit the language compatibility to define a level. In one arrangement, a level may be defined from the quantity:
LD*B+(1−LD)*L+;
where B represents the total number amount of click data (e.g., selections) independent of language and L+ represents the amount of click data (e.g., selections) for a specific language or languages after accounting for possible languages incompatibilities (e.g., as represented in the language collection 434 and the click fraction collection 436). The quantity LD (referring to as language demotion score) is a measure of a user's ability to understand the corresponding document. For example, LD may have a range from 0 (e.g., represents a low probability that the language of the user is compatible with the language of the document) to 1.0 (e.g., represents a high probability that the language of the user is compatible with the language of the document). Once computed, the quantity may be provided to one or more components (e.g., rank modifier engine 1056, ranking engine 1052, indexing engine 1020) and used as a factor in ranking the documents associated with the query. One or more weights may also be used with the computed quantity for scoring and ranking. For example, click data associated with particular countries and country independent click data may be utilized. Click data associated with particular languages and language independent click data may also be provided to one or more components (individually or in combination with the click data associated with one or more countries) for use in determining document scores and rankings.
While the previous example illustrated in
L*CD+(1−CD)*C+;
where the quantity CD (referring to as country demotion score) is a measure of a user's ability to understand a document based upon the country of the user and the country of the document. Similar to L+, C+ is determined by producing and ordered list that includes, for example, click data (e.g., click fractions) of countries that are compatible to the country of the user. For example, countries in the same general proximity (e.g., bordering countries such as Mexico and the United States) may be considered by the rank refiner engine 1058 to be compatible. Countries that share similar cultures, climates, and other characteristics may also be considered to be compatible. In this quantity, L represents the click data associated with the language of the user.
In the illustrated example, levels are defined to account for compatibilities among user languages and locations. As such, these additional levels may be used to exploit user interactions (e.g., click data) so the ranking of particular search results may be enhanced. Additional types of levels may also be defined for enhancing search result ranking, for example, user locations such as regions of a country, individual cities and metropolitan regions may be used for defining compatibilities. In one instance, a level may be defined to account for the different languages that are used in a single country (associated with a user). For example, a query is identified as being provided from an English speaking individual from Germany. Operating with a level that is associated with both the language and the country of the user, a relatively small amount of previous queries (that are similar to the current query) may be detected, for this example. As such, another level may be activated for identifying similar queries. For example, the level that uses queries from all English speaking individuals (including individuals from other countries) may be used. However, such an abrupt change in level types may discount query information associated with different user languages (e.g., German) but from the same location (e.g., Germany), and which may be pertinent to the subject query. As such, a level may be defined that uses queries and user information associated with multiple languages used at a particular country. In this example, along with information associated with English speaking users, information (e.g., queries, click data) associated with German speaking individuals, French speaking individuals (and other languages used in Germany) are exploited.
One or more techniques and methodologies may be implemented to account for user information associated with various languages from a single country. For example, for each document (from a query), the rank refiner engine 1058 may collect click data for each language associated with the user's country (e.g., for an English speaking user in Germany, click data is also collected from Germany speaking individuals, French speaking individuals, etc.). Once collected, the rank refiner engine 1058 may process the click data, for example, one or more weights may be applied to the click data associated with each language. Constraints may also be applied to the weighted or un-weighted click data, for example, the click data may be constrained to one or more limits (e.g., an upper limit, a lower limit, etc.). The rank refiner engine 1058 may use the processed click data to define one or more levels. For example, the processed click data may be used in combination with click data associated with the language and country of the user to define a level. In one instance, the level may be defined with the quantity:
C+LD*C*;
where C represents the click data associated with the language and country of the user. As used above, the quantity LD refers to language demotion score and is a measure of a user's ability to understand the corresponding document. For example, LD may have a range from 0 (e.g., representative of a low probability that the language of the user is compatible with the language of the document) to 1.0 (e.g., representative of a high probability that the language of the user is compatible with the language of the document). The quantity C* represents the processed click data for each of the languages associated with the country of the user. By applying the language demotion score to the quantity C*, local documents (e.g., German documents in this example) that are relevant may be promoted.
Referring to
Among other capabilities, the rank refiner engine 1058 may use predefined compatibilities associated with characteristics of a search requester (e.g., location of the search requester, language used, etc.) to refine search results. To provide this functionality, the rank refiner engine 1058 may execute operations such as receiving 502 search results based upon a search query. In one example, for each document provided from a search query, click data may be provided to the rank refiner engine 1058 that is associated with previous queries from users with similar characteristics (e.g., language used, location, etc.). Operations of the rank refiner engine 1058 may also include ordering 504 the characteristics associated with the search results. For example, the languages or countries associated with a search results may be ordered based upon the click data associated with each corresponding characteristic. Once ordered, the rank refiner engine 1058 may adjust 506 the ordered characteristics based upon one or more predefined compatibilities associated with the characteristics. For example, two or more particular languages may be considered compatible based upon similarities of the languages. Similarly, two or more countries may be considered compatible based upon similarities (e.g., similar geographic location, culture, climate, etc.). In some arrangements, some data associated a particular search results (e.g., click data associated with languages considered incompatible) may be removed or weighted to decrease its significance. Operations of the rank refiner engine 1058 may also include providing 508 the adjusted characteristic information for further processing of the search results (e.g., scoring, ranking, etc.). For example, the information may be used to define one or more levels for processing results such that certain types of search results are promoted.
Referring to
The rank refiner engine 1058 may define a level for ranking search results that assists promoting local documents identified from the search results. For example, click data associated with multiple (or all) languages used at the location of the search requester may be exploited. To provide this functionality, the rank refiner engine 1058 may execute operations such as receiving 602 search results that are based upon a query from a search requestor at a particular location. Operations of the rank refiner engine 1058 may also include identifying information associated with similar queries (e.g., click data) that is associated with multiple languages used at the location of the search requester. Once identified, the rank refiner engine 1058 may process this information for promoting search results (e.g., documents) that are local to the search requester based upon the languages associated with the location. For example, the rank refiner engine 1058 may combine 606 appropriate information (e.g., click data) associated with the multiple languages for each search result and provide 608 the information for ranking the search results. By using this combination of information, the rank refiner engine 1058 may assist in defining a level of ranking search results to promote local search results (e.g., documents) that may be more relevant to a search requester than foreign search results.
The memory 720 is a computer readable medium such as volatile or non volatile that stores information within the system 700. The memory 720 can store processes related to the functionality of the search engine 1030 (shown in
The computer system shown in
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio player, a Global Positioning System (GPS) receiver, to name just a few. Computer readable media suitable for storing computer program instructions and data include all forms of non volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
Embodiments of the invention can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the invention, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
While this specification contains many specifics, these should not be construed as limitations on the scope of the invention or of what may be claimed, but rather as descriptions of features specific to particular embodiments of the invention. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
Thus, particular embodiments of the invention have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. Moreover, the server environment, which is configured to provide electronic search service and employ the ranking systems and techniques described, need not be implemented using traditional back-end or middleware components. The server environment can be implemented using a program installed on a personal computing apparatus and used for electronic search of local files, or the server environment can be implemented using a search appliance installed in an enterprise network.
Other implicit user feedback models can be used in place of the traditional click fraction model described. For example, an implicit user feedback model employing a large-scale logistic regression model that uses the actual query and url as features can be used. The new prior models can be used to denormalize any query-specific click model.
In addition, the prior model(s) can be applied in varying manners. For example, a prior model can be applied at run time as an adjustment to the ranking boost given to a document in accordance with the implicit user feedback model since the set of features used for the prior model can be available for direct input at run time. Alternatively, the prior model can be applied at model building time, where features are fetched from the log(s), which can result in improved response time during searches. In addition, when the model is applied at building time, the implicit feedback can be adjusted per each click record before aggregating the feedback from multiple clicks into a signal. This adjustment can be for instance a weighting of the clicks according to how much they were affected by display bias before the clicks are aggregated. At run time, the signal is typically only adjusted after the clicks were already aggregated, which can result in some loss of precision.
This application is a continuation of U.S. application Ser. No. 12/551,052, filed Aug. 31, 2009, the entirety of which is hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
5265065 | Turtle | Nov 1993 | A |
5488725 | Turtle | Jan 1996 | A |
5696962 | Kupiec | Dec 1997 | A |
5920854 | Kirsch et al. | Jul 1999 | A |
5963940 | Liddy et al. | Oct 1999 | A |
6006222 | Culliss | Dec 1999 | A |
6006225 | Bowman et al. | Dec 1999 | A |
6026388 | Liddy et al. | Feb 2000 | A |
6067565 | Horvitz | May 2000 | A |
6076051 | Messerly et al. | Jun 2000 | A |
6078917 | Paulsen et al. | Jun 2000 | A |
6088692 | Driscoll | Jul 2000 | A |
6134532 | Lazarus et al. | Oct 2000 | A |
6182066 | Marques et al. | Jan 2001 | B1 |
6185559 | Brin et al. | Feb 2001 | B1 |
6249252 | Dupray | Jun 2001 | B1 |
6269368 | Diamond | Jul 2001 | B1 |
6285999 | Page | Sep 2001 | B1 |
6321228 | Crandall et al. | Nov 2001 | B1 |
6327590 | Chidlovskii et al. | Dec 2001 | B1 |
6334132 | Weeks et al. | Dec 2001 | B1 |
6341283 | Yamakawa et al. | Jan 2002 | B1 |
6353849 | Linsk | Mar 2002 | B1 |
6363378 | Conklin et al. | Mar 2002 | B1 |
6370526 | Agrawal et al. | Apr 2002 | B1 |
6421675 | Ryan et al. | Jul 2002 | B1 |
6473752 | Fleming, III | Oct 2002 | B1 |
6480843 | Li | Nov 2002 | B2 |
6490575 | Berstis | Dec 2002 | B1 |
6526440 | Bharat | Feb 2003 | B1 |
6529903 | Smith et al. | Mar 2003 | B2 |
6560590 | Shwe et al. | May 2003 | B1 |
6567103 | Chaudhry | May 2003 | B1 |
6587848 | Aggarwal et al. | Jul 2003 | B1 |
6615209 | Gomes | Sep 2003 | B1 |
6623529 | Lakritz | Sep 2003 | B1 |
6640218 | Golding et al. | Oct 2003 | B1 |
6658423 | Pugh et al. | Dec 2003 | B1 |
6671681 | Emens et al. | Dec 2003 | B1 |
6678681 | Brin et al. | Jan 2004 | B1 |
6701309 | Beeferman et al. | Mar 2004 | B1 |
6725259 | Bharat | Apr 2004 | B1 |
6738764 | Mao et al. | May 2004 | B2 |
6754873 | Law et al. | Jun 2004 | B1 |
6792416 | Soetarman et al. | Sep 2004 | B2 |
6795820 | Barnett | Sep 2004 | B2 |
6853993 | Ortega et al. | Feb 2005 | B2 |
6873982 | Bates et al. | Mar 2005 | B1 |
6877002 | Prince | Apr 2005 | B2 |
6882999 | Cohen et al. | Apr 2005 | B2 |
6901402 | Corston-Oliver et al. | May 2005 | B1 |
6912505 | Linden et al. | Jun 2005 | B2 |
6944611 | Flank et al. | Sep 2005 | B2 |
6944612 | Roustant et al. | Sep 2005 | B2 |
6954750 | Bradford | Oct 2005 | B2 |
6963867 | Ford et al. | Nov 2005 | B2 |
6990453 | Wang et al. | Jan 2006 | B2 |
7016939 | Rothwell et al. | Mar 2006 | B1 |
7028027 | Zha et al. | Apr 2006 | B1 |
7072886 | Salmenkaita et al. | Jul 2006 | B2 |
7085761 | Shibata | Aug 2006 | B2 |
7113939 | Chou et al. | Sep 2006 | B2 |
7117206 | Bharat et al. | Oct 2006 | B1 |
7136849 | Patrick | Nov 2006 | B2 |
7146361 | Broder et al. | Dec 2006 | B2 |
7222127 | Bem et al. | May 2007 | B1 |
7231399 | Bem et al. | Jun 2007 | B1 |
7243102 | Naam et al. | Jul 2007 | B1 |
7249126 | Ginsburg et al. | Jul 2007 | B1 |
7266765 | Golovchinsky et al. | Sep 2007 | B2 |
7293016 | Shakib et al. | Nov 2007 | B1 |
7379951 | Chkodrov et al. | May 2008 | B2 |
7382358 | Kushler et al. | Jun 2008 | B2 |
7395222 | Sotos | Jul 2008 | B1 |
7426507 | Patterson | Sep 2008 | B1 |
7451487 | Oliver et al. | Nov 2008 | B2 |
7499919 | Meyerzon et al. | Mar 2009 | B2 |
7505964 | Tong et al. | Mar 2009 | B2 |
7516146 | Robertson et al. | Apr 2009 | B2 |
7526470 | Karnawat et al. | Apr 2009 | B1 |
7533092 | Berkhin et al. | May 2009 | B2 |
7533130 | Narayana et al. | May 2009 | B2 |
7552112 | Jhala et al. | Jun 2009 | B2 |
7565363 | Anwar | Jul 2009 | B2 |
7565367 | Barrett et al. | Jul 2009 | B2 |
7566363 | Starling et al. | Jul 2009 | B2 |
7574530 | Wang et al. | Aug 2009 | B2 |
7584181 | Zeng et al. | Sep 2009 | B2 |
7603350 | Guha | Oct 2009 | B1 |
7610282 | Datar et al. | Oct 2009 | B1 |
7636714 | Lamping et al. | Dec 2009 | B1 |
7657626 | Zwicky | Feb 2010 | B1 |
7676507 | Maim | Mar 2010 | B2 |
7680775 | Levin et al. | Mar 2010 | B2 |
7693818 | Majumder | Apr 2010 | B2 |
7716225 | Dean et al. | May 2010 | B1 |
7747612 | Thun et al. | Jun 2010 | B2 |
7756887 | Haveliwala | Jul 2010 | B1 |
7769740 | Martinez et al. | Aug 2010 | B2 |
7783632 | Richardson et al. | Aug 2010 | B2 |
7792833 | Meyerzon | Sep 2010 | B2 |
7801885 | Verma | Sep 2010 | B1 |
7809716 | Wang et al. | Oct 2010 | B2 |
7818315 | Cucerzan et al. | Oct 2010 | B2 |
7818320 | Makeev | Oct 2010 | B2 |
7836058 | Chellapilla | Nov 2010 | B2 |
7844589 | Wang et al. | Nov 2010 | B2 |
7849089 | Zhang et al. | Dec 2010 | B2 |
7853557 | Schneider et al. | Dec 2010 | B2 |
7856446 | Brave et al. | Dec 2010 | B2 |
7860886 | Loftesness | Dec 2010 | B2 |
7877404 | Achan et al. | Jan 2011 | B2 |
7895177 | Wu | Feb 2011 | B2 |
7925498 | Baker et al. | Apr 2011 | B1 |
7925649 | Jeh et al. | Apr 2011 | B2 |
7953740 | Vadon et al. | May 2011 | B1 |
7974974 | Tankovich et al. | Jul 2011 | B2 |
7987185 | Mysen et al. | Jul 2011 | B1 |
8001136 | Papachristou et al. | Aug 2011 | B1 |
8019650 | Donsbach et al. | Sep 2011 | B2 |
8024326 | Tong et al. | Sep 2011 | B2 |
8024330 | Franco et al. | Sep 2011 | B1 |
8027439 | Zoldi et al. | Sep 2011 | B2 |
8037042 | Anderson et al. | Oct 2011 | B2 |
8037043 | Zoeter et al. | Oct 2011 | B2 |
8037086 | Upstill et al. | Oct 2011 | B1 |
8051061 | Niu et al. | Nov 2011 | B2 |
8060456 | Gao et al. | Nov 2011 | B2 |
8060497 | Zatsman et al. | Nov 2011 | B1 |
8065296 | Franz et al. | Nov 2011 | B1 |
8069182 | Pieper | Nov 2011 | B2 |
8073263 | Hull et al. | Dec 2011 | B2 |
8073772 | Bishop et al. | Dec 2011 | B2 |
8073867 | Chowdhury | Dec 2011 | B2 |
8082242 | Mysen et al. | Dec 2011 | B1 |
8086282 | Hellberg | Dec 2011 | B2 |
8086599 | Heymans | Dec 2011 | B1 |
8090717 | Bharat et al. | Jan 2012 | B1 |
8126839 | Chen et al. | Feb 2012 | B2 |
8156111 | Jones et al. | Apr 2012 | B2 |
8171041 | Bennett | May 2012 | B2 |
8224827 | Dean et al. | Jul 2012 | B2 |
8239370 | Wong et al. | Aug 2012 | B2 |
8352466 | Jones | Jan 2013 | B2 |
8412699 | Mukherjee et al. | Apr 2013 | B1 |
8458165 | Liao et al. | Jun 2013 | B2 |
8498974 | Kim et al. | Jul 2013 | B1 |
8521725 | Pearson et al. | Aug 2013 | B1 |
20010000356 | Woods | Apr 2001 | A1 |
20020034292 | Tuoriniemi et al. | Mar 2002 | A1 |
20020042791 | Smith et al. | Apr 2002 | A1 |
20020049752 | Bowman et al. | Apr 2002 | A1 |
20020103790 | Wang et al. | Aug 2002 | A1 |
20020123988 | Dean et al. | Sep 2002 | A1 |
20020133481 | Smith et al. | Sep 2002 | A1 |
20020165849 | Singh et al. | Nov 2002 | A1 |
20030009399 | Boerner | Jan 2003 | A1 |
20030018707 | Flocken | Jan 2003 | A1 |
20030028529 | Cheung et al. | Feb 2003 | A1 |
20030037074 | Dwork et al. | Feb 2003 | A1 |
20030078914 | Witbrock | Apr 2003 | A1 |
20030120654 | Edlund et al. | Jun 2003 | A1 |
20030135490 | Barrett et al. | Jul 2003 | A1 |
20030149704 | Yayoi et al. | Aug 2003 | A1 |
20030167252 | Odom et al. | Sep 2003 | A1 |
20030187837 | Culliss | Oct 2003 | A1 |
20030195877 | Ford et al. | Oct 2003 | A1 |
20030204495 | Lehnert | Oct 2003 | A1 |
20030220913 | Doganata et al. | Nov 2003 | A1 |
20030229640 | Carlson et al. | Dec 2003 | A1 |
20040006456 | Loofbourrow | Jan 2004 | A1 |
20040006740 | Krohn et al. | Jan 2004 | A1 |
20040034632 | Carmel et al. | Feb 2004 | A1 |
20040049486 | Scanlon et al. | Mar 2004 | A1 |
20040059708 | Dean et al. | Mar 2004 | A1 |
20040083205 | Yeager | Apr 2004 | A1 |
20040093325 | Banerjee et al. | May 2004 | A1 |
20040119740 | Chang et al. | Jun 2004 | A1 |
20040122811 | Page | Jun 2004 | A1 |
20040153472 | Rieffanaugh, Jr. | Aug 2004 | A1 |
20040158560 | Wen et al. | Aug 2004 | A1 |
20040186828 | Yadav | Sep 2004 | A1 |
20040186996 | Gibbs et al. | Sep 2004 | A1 |
20040199419 | Kim et al. | Oct 2004 | A1 |
20040215607 | Travis, Jr. | Oct 2004 | A1 |
20050015366 | Carrasco et al. | Jan 2005 | A1 |
20050021397 | Cui et al. | Jan 2005 | A1 |
20050027691 | Brin et al. | Feb 2005 | A1 |
20050033803 | Vleet et al. | Feb 2005 | A1 |
20050050014 | Gosse et al. | Mar 2005 | A1 |
20050050027 | Yeh | Mar 2005 | A1 |
20050055342 | Bharat et al. | Mar 2005 | A1 |
20050055345 | Ripley | Mar 2005 | A1 |
20050060290 | Herscovici et al. | Mar 2005 | A1 |
20050060310 | Tong et al. | Mar 2005 | A1 |
20050060311 | Tong et al. | Mar 2005 | A1 |
20050071741 | Acharya et al. | Mar 2005 | A1 |
20050102282 | Linden | May 2005 | A1 |
20050125376 | Curtis et al. | Jun 2005 | A1 |
20050160083 | Robinson | Jul 2005 | A1 |
20050192946 | Lu et al. | Sep 2005 | A1 |
20050198026 | Dehlinger et al. | Sep 2005 | A1 |
20050222987 | Vadon | Oct 2005 | A1 |
20050222998 | Driessen et al. | Oct 2005 | A1 |
20050240576 | Piscitello et al. | Oct 2005 | A1 |
20050240580 | Zamir et al. | Oct 2005 | A1 |
20050256848 | Alpert et al. | Nov 2005 | A1 |
20060036593 | Dean et al. | Feb 2006 | A1 |
20060047643 | Chaman | Mar 2006 | A1 |
20060069667 | Manasse et al. | Mar 2006 | A1 |
20060074903 | Meyerzon et al. | Apr 2006 | A1 |
20060089926 | Knepper et al. | Apr 2006 | A1 |
20060095421 | Nagai et al. | May 2006 | A1 |
20060106793 | Liang | May 2006 | A1 |
20060123014 | Ng | Jun 2006 | A1 |
20060173830 | Smyth et al. | Aug 2006 | A1 |
20060195443 | Franklin et al. | Aug 2006 | A1 |
20060200476 | Gottumukkala et al. | Sep 2006 | A1 |
20060200556 | Brave et al. | Sep 2006 | A1 |
20060227992 | Rathus et al. | Oct 2006 | A1 |
20060230040 | Curtis et al. | Oct 2006 | A1 |
20060259476 | Kadayam et al. | Nov 2006 | A1 |
20060293950 | Meek et al. | Dec 2006 | A1 |
20060294060 | Masuyama | Dec 2006 | A1 |
20070005575 | Dai et al. | Jan 2007 | A1 |
20070005588 | Zhang et al. | Jan 2007 | A1 |
20070016553 | Dumais | Jan 2007 | A1 |
20070038659 | Datar et al. | Feb 2007 | A1 |
20070050339 | Kasperski et al. | Mar 2007 | A1 |
20070061195 | Liu et al. | Mar 2007 | A1 |
20070061211 | Ramer et al. | Mar 2007 | A1 |
20070081197 | Omoigui | Apr 2007 | A1 |
20070106659 | Lu et al. | May 2007 | A1 |
20070112730 | Gulli et al. | May 2007 | A1 |
20070130370 | Akaezuwa | Jun 2007 | A1 |
20070156677 | Szabo | Jul 2007 | A1 |
20070172155 | Guckenberger | Jul 2007 | A1 |
20070180355 | McCall et al. | Aug 2007 | A1 |
20070192190 | Granville | Aug 2007 | A1 |
20070208730 | Agichtein et al. | Sep 2007 | A1 |
20070214131 | Cucerzan et al. | Sep 2007 | A1 |
20070233653 | Biggs et al. | Oct 2007 | A1 |
20070233671 | Oztekin et al. | Oct 2007 | A1 |
20070255689 | Sun et al. | Nov 2007 | A1 |
20070260596 | Koran et al. | Nov 2007 | A1 |
20070260597 | Cramer et al. | Nov 2007 | A1 |
20070260624 | Chung | Nov 2007 | A1 |
20070266021 | Aravamudan et al. | Nov 2007 | A1 |
20070266439 | Kraft | Nov 2007 | A1 |
20070288450 | Datta et al. | Dec 2007 | A1 |
20080010143 | Kniaz et al. | Jan 2008 | A1 |
20080027913 | Chang et al. | Jan 2008 | A1 |
20080052219 | Sandholm et al. | Feb 2008 | A1 |
20080052273 | Pickens | Feb 2008 | A1 |
20080059453 | Laderman | Mar 2008 | A1 |
20080077570 | Tang et al. | Mar 2008 | A1 |
20080082518 | Loftesness | Apr 2008 | A1 |
20080091650 | Fontoura et al. | Apr 2008 | A1 |
20080104043 | Garg et al. | May 2008 | A1 |
20080114624 | Kitts | May 2008 | A1 |
20080114729 | Raman et al. | May 2008 | A1 |
20080114750 | Saxena et al. | May 2008 | A1 |
20080140699 | Jones et al. | Jun 2008 | A1 |
20080162475 | Meggs et al. | Jul 2008 | A1 |
20080183660 | Szulczewski | Jul 2008 | A1 |
20080189269 | Olsen | Aug 2008 | A1 |
20080208825 | Curtis et al. | Aug 2008 | A1 |
20080228442 | Lippincott et al. | Sep 2008 | A1 |
20080256050 | Zhang et al. | Oct 2008 | A1 |
20080313168 | Liu et al. | Dec 2008 | A1 |
20080313247 | Galvin | Dec 2008 | A1 |
20090006438 | Tunkelang et al. | Jan 2009 | A1 |
20090012969 | Rail et al. | Jan 2009 | A1 |
20090055392 | Gupta et al. | Feb 2009 | A1 |
20090070194 | Song | Mar 2009 | A1 |
20090089657 | Davis et al. | Apr 2009 | A1 |
20090094073 | Cheung et al. | Apr 2009 | A1 |
20090157643 | Gollapudi et al. | Jun 2009 | A1 |
20090171943 | Majumder et al. | Jul 2009 | A1 |
20090182723 | Shnitko et al. | Jul 2009 | A1 |
20090187557 | Hansen et al. | Jul 2009 | A1 |
20090228442 | Adams et al. | Sep 2009 | A1 |
20090287656 | Bennett | Nov 2009 | A1 |
20090313242 | Kodama | Dec 2009 | A1 |
20100106706 | Rorex et al. | Apr 2010 | A1 |
20100131563 | Yin | May 2010 | A1 |
20100161591 | Jones et al. | Jun 2010 | A1 |
20100205541 | Rapaport et al. | Aug 2010 | A1 |
20100228738 | Mehta et al. | Sep 2010 | A1 |
20100241472 | Hernandez | Sep 2010 | A1 |
20100299317 | Uy | Nov 2010 | A1 |
20100325131 | Dumais et al. | Dec 2010 | A1 |
20110029517 | Ji et al. | Feb 2011 | A1 |
20110064795 | Tosi et al. | Mar 2011 | A1 |
20110087656 | Oh et al. | Apr 2011 | A1 |
20110087966 | Leviathan et al. | Apr 2011 | A1 |
20110179093 | Pike et al. | Jul 2011 | A1 |
20110219025 | Lipson et al. | Sep 2011 | A1 |
20110264670 | Banerjee et al. | Oct 2011 | A1 |
20110282906 | Wong | Nov 2011 | A1 |
20110295844 | Sun et al. | Dec 2011 | A1 |
20110295879 | Logis et al. | Dec 2011 | A1 |
20120011148 | Rathus et al. | Jan 2012 | A1 |
20120191705 | Tong et al. | Jul 2012 | A1 |
Number | Date | Country |
---|---|---|
WO 0077689 | Dec 2000 | WO |
WO 0116807 | Mar 2001 | WO |
WO 0167297 | Sep 2001 | WO |
WO 2004059514 | Jul 2004 | WO |
Entry |
---|
Soumen Chakrabarti, et al. “Enhanced Topic Distillation using Text, Markup tags, and Hyperlinks” ACM, Sep. 9-12, 2001, pp. 208-216. |
Agichtein, et al; Improving Web Search Ranking by Incorporating User Behavior Information; Aug. 2006; Proceedings of the Twenty-Ninth Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, p. 19-26. |
Agichtein, et al; Learning User Interaction Models for Predicting Web Search Result Performances; Aug. 2006; Proceedings of the Twenty-Ninth Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, p. 3-10. |
Gabriel Somlo et al., “Using Web Hepler Agent Profiles in Query Generation”, ACM, Jul. 2003, pp. 812-818. |
Bar-Llan et al., “Presentation Bias is Significant in Determining User Preference for Search Results—A User Study”; Journal of the American Society for Information Science and Technology, vol. 60, Issue 1 (p. 135-149), Sep. 2008, 15 pages. |
Bar-Llan et al.; “Methods for comparing rankings of search engine results”; Computer Networks: The International Journal of Computer and Telecommunications Networking, Jul. 2006, vol. 50, Issue 10 , 19 pages. |
Boldi, et al.; The Query-flow Graph: Model and Applications; CKIM '08, Oct. 26-30, Napa Valley, California, USA, pp. 609-617. |
Boyan et al.; A Machine Learning Architecture for Optimizing Web Search Engines; Aug. 1996; Internet-based information systems—Workshop Technical Report—American Association for Artificial Intelligence, p. 1-8. |
Burke, Robin, Integrating Knowledge-based and Collaborative-filtering Recommender Systems, AAAI Technical Report WS-99-01. Compilation copyright © 1999, AAAI (www.aaai.org), pp. 69-72. |
Craswell, et al.; Random Walks on the Click Graph; Jul. 2007; SIGIR '07, Amsterdam, the Netherlands, 8 pages. |
Cutrell, et al.; Eye tracking in MSN Search: Investigating snippet length, target position and task types; 2007; Conference on Human Factors in Computing Systems—Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. |
Diligenti, et al., Users, Queries and Documents: A Unified Representation for Web Mining, wi-iat, vol. 1, 2009 IEEE/WIC/ACM International Joint Conference on Web Intelligence and Intelligent Agent Technology, 2009, pp. 238-244. |
Google News archive, Jul. 8, 2003, Webmasterworld.com, [online] Retrieved from the Internet http://www.webmasterwolrd.com/forum3/15085.htm [retrieved on Nov. 20, 2009] 3 pages. |
Gre{hacek over (c)}ar, Miha, User Profiling: Collaborative Filtering, SIKDD 2004, Oct. 12-15, 2004, Ljubljana, Slovenia, 4 pages. |
Hofmann, Thomas, Latent Semantic Models for Collaborative Filtering, ACM Transactions on Information Systems, vol. 22, No. 1, Jan. 2004, pp. 89-115. |
Joachims et al., “Search Engines that Learn from Implicit Feedback”; Aug. 2007, IEEE Computer Society. |
Joachims, T., Evaluating retrieval performance using clickthrough data. Proceedings of the SIGIR Workshop on Mathematical/Formal Methods in Information Retrieval; 2002, Aug. 12-15; Tampere, Finland, 18 pages. |
Joachims; Optimizing search engines using clickthrough data; 2002; Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, p. 133-142. |
Kelly, et al.; Implicit Feedback for Inferring User Preference: A Bibliography; SIGIR Forum, vol. 37, No. 2 (2003), pp. 18-28. |
Lemire, Daniel, Scale and Translation Invariant Collaborative Filtering Systems, Published in Information Retrieval, 8(1), pp. 129-150, 2005. |
Linden, Greg et al., Amazon.com Recommendations: Item-to-Item Collaborative Filtering, [online], http://computer.org/internet/, IEEE Internet Computing, Jan.-Feb. 2003, IEEE Computer Society, pp. 76-80. |
U.S. Appl. No. 11/685,095, filed Mar. 12, 2007, in Office Action mailed Apr. 13, 2011, 31 pages. |
Nicole, Kristen, Heeii is StumbleUpon Plus Google Suggestions, [online], Retrieved from the Internet http://mashable.com/2007/05/15/heii/, 11 pages. |
Radlinski, et al., Query Chains: Learning to Rank from Implicit Feedback, KDD '05, Aug. 21-24, 2005, Chicago, Illinois, USA, 10 pages. |
Schwab, et al., Adaptivity through Unobstrusive Learning, 2002, 16(3), pp. 5-9. |
Stoilova, Lubomira et al., GiveALink: Mining a Semantic Network of Bookmarks for Web Search and Recommendation, LinkKDD '05, Aug. 21, 2005, Chicago, IL, USA, 8 pages. |
W3C, URIs, URLs and URNs: Classification and Recommendations 1.0, Report from the joint W3C/IETF URI Planning Interest Group, Sep. 21, 2001, 8 pages. |
Xiao, et al., Measuring Similarity of Interests for Clustering Web-Users, ADC, 2001, pp. 107-114. |
Xie et al., Web User Clustering from Access Log Using Belief Function, K-CAP '01, Oct. 22-23, 2001, Victoria, British Columbia, Canada, pp. 202-208. |
Yu et al., Selecting Relevant Instances for Efficient and Accurate Collaborative Filtering, CIKM '01, Nov. 5-10, 2001, Atlanta, Georgia, pp. 239-246. |
Zeng et al., Similarity Measure and Instance Selection for Collaborative Filtering, WWW '03, May 20-24, 2003, Budapest, Hungary, pp. 652-658. |
Zeng, et al., “Learning to Cluster Web Search Results”, SIGIR '04, Proceedings of the 27th Annual International ACM SIGIR conference on research and development in information retrieval, 2004. |
Dan Olsen et al., “Query-by-critique: Spoken Language Access to Large Lists”, ACM, Oct. 2002, pp. 131-140. |
Susan Gauch et al., “A Corpus Analysis Approach for Automatic Query Expansion and its Extension to Multiple Databases”, ACM, Jul. 1999, pp. 250-269. |
Nicolas Bruno et al., “Top-K Selection Queries over Relational Databases: Mapping Strategies and Performance Evaluation”, ACM, Jun. 2002, pp. 153-187. |
Ji-Rong Wen et al., “Query Clustering using User Logs”, ACM, Jan. 2002, pp. 59-81. |
Brin, S. and L. Page, The Anatomy of a Large-Scale Hypertextual Web Search Engine, Computer Science Department, Apr. 1998. |
Jones et al., “Pictures of Relevance: A Geometric Analysis of Similarity Measures”, Journal of the American Society for Information Science, Nov. 1987, 23 pages. |
Kaplan et al., “Adaptive Hypertext Navigation Based on User Goals and Context”, User Modeling and User-Adapted Interaction 2, Sep. 1, 1993; pp. 193-220, 28 pages. |
Liddy et al., “A Natural Language Text Retrieval System With Relevance Feedback”, 16th National Online, May 2-6, 1995, 3 pages. |
Joachims, “Evaluating Search Engines Using Clickthrough Data”, Cornell University, Department of Computer Science, Draft, Feb. 19, 2002, 13 pages. |
Joachims; Optimizing search engines using clickthrough data; 2002; Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, p. 133-142, 10 pages. |
Jansen et al., “An Analysis of Web Documents Retrieved and Viewed”, School of Information Sciences and Technology, The Pennsylvania State University, the 4th International Conference on Internet Computing, Las Vegas, Nevada, pp. 65-69, Jun. 23-26, 2003, 5 pages. |
Australian Patent Office Non-Final Office Action in AU App. Ser. No. 2004275274, mailed Feb. 3, 2010, 2 pages. |
U.S. Appl. No. 12/825,461, filed Jun. 29, 2010, Kim et al. |
U.S. Appl. No. 13/617,019, filed Sep. 14, 2012, Tong et al. |
U.S. Appl. No. 13/898,363, filed May 20, 2013, Tong et al. |
“Personalizing Search via Automated Analysis of Interests and Activities,” by Teevan et al. IN: SIGIR'05 (2005), 8 pages. |
Baeza-Yates, Ricardo, Carlos Hurtado, and Marcelo Mendoza. “Query recommendation using query logs in search engines.” Current Trends in Database Technology—EDBT 2004 Workshops. Springer Berlin Heidelberg, 2005. |
Velez, Bienvenido, et al. “Fast and effective query refinement.” ACM SIGIR Forum. vol. 31. No. SI. ACM, 1997. |
Mandala, Rila, Takenobu Tokunaga, and Hozumi Tanaka. “Combining multiple evidence from different types of thesaurus for query expansion.” Proceedings of the 22nd annual international ACM SIGIR conference on Research and development in information retrieval. ACM, 1999. |
“Dynamic Adaptation Strategies for Long-Term and Short-Term User Profile,” by Li et al. IN: LNCS 4505 pp. 228-240 (2007). Available at: Springer. |
“An Adaptive Algorithm for Learning Changes in User Interests,” by Widyantoro et al. IN: CIKM'99 (1999). Available at: ACM. |
Number | Date | Country | |
---|---|---|---|
Parent | 12551052 | Aug 2009 | US |
Child | 13620528 | US |