Quite often an online search services provider (referred to as a search engine) will receive a search query from a computer user where the intent of the search query is ambiguous. For example, the search query “fast jaguar” may refer to a brand of car (Jaguar), a feline native to the Americas, or even to a speedy American football player. Of course, the computer user that submits the search query will have a specific topic or intent in mind. However, since the search engine cannot know the computer user's intent of an ambiguous search query simply from the search query itself, the search engine will retrieve search results that are directed to each of the potential topics. As those skilled in the art will appreciate, the retrieved search results are scored (based on a variety of factors) and one or more search results pages are generated based on the scored search results. Search results having the highest scores are placed in the first search results page. Not surprisingly, for a search query with an ambiguous intent the search results included on any given search results page are mixed, i.e., search results covering multiple potential topics/intents.
According to embodiments of the disclosed subject matter, a computer-implemented method configured to respond to a search query from a computer user is presented. In response to receiving a search query from the computer user, search results are obtained. A plurality of user intents are identified according to the obtained search results. The obtained search results are then grouped according to the subject matter of the search results, where each group corresponds to one of the plurality of user intents. A first user intent (with the corresponding group of search results) is selected. A search results page is generated from the search results of the group the search results corresponding to the selected first user intent and the generated search results page is returned to the computer user in response to the search query.
According to further embodiments of the disclosed subject matter, a computer-readable medium bearing computer-executable instructions is presented. The instructions stored by the computer-readable medium, when executed a computing system comprising at least a processor, carry out a method for responding to a search query from a user. The method includes obtaining search results upon receiving a search query from a computer user. The obtained search results are grouped according to the subject matter of the search results, where each group corresponds to one of the plurality of user intents. A first user intent (with the corresponding group of search results) is selected. A search results page is generated from the search results of the group the search results corresponding to the selected first user intent and the generated search results page is returned to the computer user in response to the search query.
According to still further embodiments and aspects of the disclosed subject matter, a computer system for providing online search services is presented. The computer system includes a processor and a memory, wherein the processor executes instructions stored in the memory as part of or in conjunction with additional components to respond to a search query received from a computer user. The additional components comprise a search results retrieval component that obtains search results responsive to the search query. Also included in the computer system is an intent identification component. The intent identification component identifies a plurality of user intents from the search results obtained by the search results retrieval component. A search results grouping component that groups the search results obtained by obtained by the search results retrieval component into a plurality of groups of search results. An intent selection component selects a first user intent from the plurality of user intents as the primary intent of the search query, and a search results page generator generates a search results page from the group of search results corresponding to the selected first user intent. The search results page is returned to the user via a network communication component.
The foregoing aspects and many of the attendant advantages of the disclosed subject matter will become more readily appreciated as they are better understood by reference to the following description when taken in conjunction with the following drawings, wherein:
Turning to
Those skilled in the art will appreciate that, generally speaking, a search engine 110 corresponds to an online service hosted on one or more computers, or computing systems, located and/or distributed throughout the network 108. The search engine 110 receives and responds to search queries submitted over the network 108 from various computer users, such as the computer users that may be connected to user computers 102-106. In particular, responsive to receiving a search query from a computer user, the search engine 110 obtains search results information related and/or relevant to the received search query (as defined by the terms of search query.) The search results information includes search results, i.e., references (typically in the form of hyperlinks) to relevant and/or related content available from various network locations, including content-hosting sites, such as content-hosting sites 112-116, located throughout the network 108.
As those skilled in the art will appreciate, content-hosting sites 112-116 host or store content that is available and/or accessible to computer users (via user computers) over the network 108. Through the user of processes that crawl the network scanning for content, the search engine 110 will be aware of at least some of the content hosted on the many content-hosting sites 112-116 located throughout the network 108. Once content is located, the search engine 110 will store information regarding the hosted content in a content store (e.g., content store 616 of
The search results information obtained by the search engine 110 in response to a search query may further include (by illustration and not limitation) related and/or recommended alternative search queries, data and facts regarding the subject matter of the search query, images pertaining to the subject matter of the search query, products and/or services related/relevant to the search query, advertisements, and the like. As those skilled in the art will appreciate, quite frequently the search services offered by a search engine 110 will appear as a free service, i.e., a computer user is not charged a pecuniary amount for the search results provided in response to a search query (also synonymously referred to as a search request). Instead, the search results (generated in one or more a search results pages) are combined with advertisements such that the search service is “ad supported,” i.e., financed by advertisements paid for by advertisers.
While the goal of a search engine 110 is to provide a computer user who submits a search query with exactly the information that the computer user is seeking, the reality is that the computer user (via a search query) often fails to identify what exactly is sought (i.e., the user's intent). Instead, a search query can be interpreted as having any one of several user intents. Correspondingly, the search engine 110 retrieves search results that satisfy all of the various potential user intents. For example,
According to aspects of the disclosed subject matter, instead of providing mixed search results without regard to any user intent, after obtaining search results responsive to a search query, if the search query corresponds to multiple intents the search engine 110 groups the search results according to intents and presents the search results (by way of search results pages) according to the groups. For example,
In addition to grouping search results and presenting the grouped search results on a search results page, the search engine 110 can further homogenize the content of the search results page by including advertisements that correspond to the same intent as the primary/principal group of search results displayed on the search results page. For example, the advertisement 306 included in the search results page shown by the browser view 300 corresponds to (or is aligned with) the jaguars (American felines) that have been selected as the principle group of search results displayed on this search results page.
In regard to selecting a first (principle or primary) user intent and displaying search results from that group, the search engine 110 can be configured to rely on any number of factors, criteria, and/or heuristics. As those skilled in the art will appreciate, when a search engine obtains search results responsive to a search query, each search result has a score that indicates the relevance or importance of the search result to the search query, reputation and/or popularity of the search result, as well as information corresponding to the user (including implicit and explicit profile information, user context, and preferences.) Spelling corrections, too, may be a source of user intent. For example, a search query “born ultimatum” may yield results that less popular and/or unimportant (and, correspondingly would not be considered as a principal/primary user intent.) However, through spelling correction (even though the query terms may be spelled correctly), making the search query “Bourne Ultimatum” would likely substantially change the user intent of the search query and provide search results with high scores such that the group would be considered as a primary search group. Thus, in at least one embodiment, the search engine identifies the various groups corresponding to the various potential user intents, identifies the group that has the highest scores, and selects the best search results from that highest-scoring group in generating a particular search results page.
Those skilled in the art will appreciate position in the search results pages is important, as well as position of search results within a specific search results page. As has already been mentioned above, it is very important for a search engine 110 to provide a computer user with the answers that the computer user is seeking just as quickly as possible. Computer users often disengage with a search engine 110 if the computer user is unable to locate the sought-for information quickly. The top few, initially visible search results (i.e., those results on the search results page that are initially visible, also referred to as being above the fold) are far more likely to be viewed and/or selected that those results on the first search results page that are not initially displayed (i.e., those results that are below the fold.) Further still, search results on the first search results page (in response to a search query) are far more likely to be viewed and selected than search results on subsequent pages. With this in mind, the search engine 110 should not only select the best group but also the best search results from that group when generating the search results pages, especially the initial search results page.
While the search engine 110 will try to make the best choice as to which intent will be selected as the initial, primary intent of a search query and, correspondingly, which group of search results will be initially, primarily displayed on the first search results page, the search engine may choose the wrong intent. Thus, while search results from the initial, primary group of search results will be displayed on the first search results page, according to aspects of the disclosed subject matter, a small number of search results from a second group (not the initial group) of search results may be incorporated in less prominent positions on a search results page, such as the last few search results below the fold on a search results page. For example,
Also indicated in
In addition to including a few search results 404 from a second group of search results on a search results page, according to embodiments of the disclosed subject matter the search engine 110 may also include one or more related search links to target a second, unselected group of search results 404. Turning again to
While not shown, according to embodiments of the disclosed subject matter, once the results of the first selected group of search results have been incorporated into one or more search results pages, then the second group of search results (corresponding to a second computer user intent) may be incorporated into subsequent search results pages. This pattern may continue through any number of groups of search results depending on the number of likely intents of a given search query. Further, according to alternative aspects of the disclosed subject matter, groups of search results are aligned with search results pages such that each search results page is generally targeted to a single intent (with the exception that there may be a few search results corresponding to another query intent placed in less prominent positions as discussed above.) According to alternative embodiments of the disclosed subject matter, each set of search results may be presented on a search results page as a tabbed view of search results (not shown.)
At block 506, the search engine 110 obtains search results for the expanded search query. As previously mentioned, each of the search results obtained in response to a search query (including an expanded search query) is associated a score. This score indicates the relevance/importance of the search result to the search query (expanded search query). At block 508, the search engine 110 identifies a plurality of intents from the obtained search results. At block 510, the search engine 110 groups the obtained search results according to the intent of the result, i.e., matching a search result to one of the identified intents.
After having grouped the search results according to the intents, at block 512, the search engine identifies the first selected group of search results. As discussed above, this first group of search results is selected according to its importance/prominence to the search query. In at least one embodiment, the selection is based according to the scores of the search results in the various search results groups.
At block 514, the search engine 110 generates a first search results page based on the search results of the first selected search results group. As mentioned above, this first search results page may include a small number of search results from a second group of search results and or related searches corresponding to one or more groups of search results that were not initially selected/displayed. At block 516, the search engine 110 returns the first generated search results page to the computer user in response to receiving the search query. Thereafter, routine 500 terminates.
Regarding routine 500 of
While novel aspects of the disclosed subject matter are expressed in routines and/or methods, these aspects may also be embodied in computer-readable media. As those skilled in the art will appreciate, computer-readable media can host computer-executable instructions for later retrieval and execution. When executed on a computing device, the computer-executable instructions stored on one or more computer-readable storage devices carry out various steps or methods, including those steps, methods, and routines described above. Examples of computer-readable media include, but are not limited to: optical storage media such as digital video discs (DVDs) and compact discs (CDs); magnetic storage media including hard disk drives, floppy disks, magnetic tape, and the like; memory storage devices such as random access memory (RAM), read-only memory (ROM), memory cards, thumb drives, and the like; cloud storage (i.e., an online storage service); and the like. For purposes of this document, however, computer-readable media expressly excludes carrier waves and propagated signals.
Turning now to
The search engine 110 also includes a network communications component 606 through which the search engine sends and receives communications over the network 108. For example, it is through the communication component 606 that the search engine 110 receives search queries from computer users and response to the search query with one or more generated search results pages for presentation to the computer users.
The search engine 110 further includes a search results retrieval component 608 and a search results page generator 610. Regarding the search results retrieval component 608, this logical component is responsible for retrieving, or obtaining, search results information (including search results) relevant to a computer user's search query from a content store 616 associated with the search engine 110. The search results page generator 610 generates one or more search results pages from the search results obtained by the search results retrieval component 608 as discussed above.
As illustrated in
Further, while the intent identification component 612, the search results grouping component 614, and the intent selection component 618 are identified as separate components, these components should be viewed as logical components and, according to various embodiments, may be included as a single component of a suitably configured search engine 110. Indeed, many (if not all) of the components of the search engine 110 should be viewed as logical components for carrying out various functions of a suitably configured search engine 110 in responding to a search query from a computer user as described above. These logical components may or may not correspond directly to actual components. Moreover, in an actual embodiment, these components may be combined together or broke up across multiple actual components. Further still, these components (both logical and actual) may be distributed across one or more cooperative computer systems.
While various novel aspects of the disclosed subject matter have been described, it should be appreciated that these aspects are exemplary and should not be construed as limiting. Variations and alterations to the various aspects may be made without departing from the scope of the disclosed subject matter.
Number | Name | Date | Kind |
---|---|---|---|
7630972 | Ott et al. | Dec 2009 | B2 |
8484208 | Raghavan | Jul 2013 | B1 |
20060204142 | West | Sep 2006 | A1 |
20090012841 | Saft et al. | Jan 2009 | A1 |
20100185644 | Gutt et al. | Jul 2010 | A1 |
20100299343 | Ahari et al. | Nov 2010 | A1 |
20110072033 | White et al. | Mar 2011 | A1 |
20110320440 | McDonald et al. | Dec 2011 | A1 |
20120310926 | Gannu et al. | Dec 2012 | A1 |
Entry |
---|
“International Search Report & Written Opinion for PCT Patent Application No. PCT/US2013/069709”, Mailed Date: Jan. 15, 2014, Filed Date: Nov. 12, 2013, 11 Pages. |
Zeng, et al., “Learning to Cluster Web Search Results”, In Proceedings of the 27th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, Jul. 25, 2004, pp. 210-217. |
Ma, et al., “New Assessment Criteria for Query Suggestion”, Retrieved at <<http://datasearch.ruc.edu.cn/˜zhongruimai/doc/sigir2012.pdf>>, SIGIR'12, Aug. 12, 2012, pp. 2. |
“Twitter beefs up search function”, Retrieved at <<http://phys.org/news/2012-07-twitter-beefs-function.html>>, Jul. 6, 2012, pp. 9. |
Slawski, Bill, “Predictive Search Query Suggestions”, Retrieved at <<http://www.seobythesea.com/2009/05/predictive-search-query-suggestions/>>, May 8, 2009, pp. 15. |
Broccolo, et al., “Generating suggestions for queries in the long tail with an inverted index”, Retrieved at <<http://miles.isti.cnr.it/˜nardini/wp-content/uploads/2011/09/ipm-shortcuts.pdf>>, In Inf. Process. Manage., vol. 48, Nr. 2 (2012), Retrieved Date: Aug. 28, 2012, pp. 14. |
Preston, Adam, “Create Query Suggestions and Related Searches in SharePoint Server 2010”, Retrieved at <<http://www.tcscblog.com/2011/05/11/create-query-suggestions-and-related-searches-in-sharepoint-server-2010/>>, May 11, 2011, pp. 3. |
Song, et al., “Post-Ranking Query Suggestion by Diversifying Search Results”, Retrieved at <<http://research.microsoft.com/pubs/147464/sigirfp546-song.pdf>>, SIGIR'11, Jul. 24, 2011, pp. 10. |
Kato, et al., “Structured Query Suggestion for Specialization and Parallel Movement: Effect on Search Behaviors”, Retrieved at <<http://www2012.wwwconference.org/proceedings/proceedings/p389.pdf>>, WWW 2012, Apr. 16, 2012, pp. 10. |
“International Preliminary Report on Patentability Issued in PCT Application No. PCT/US2013/069709”, Mailed Date: May 28, 2015, 8 Pages. |
Office Action Issued in Mexican Patent Application No. MX/a/2015/006043, Mailed Date: Aug. 31, 2016, 3 Pages. |
Number | Date | Country | |
---|---|---|---|
20140136536 A1 | May 2014 | US |