Those who have interacted with an online search engine will recognize that it can be difficult to enter a search query specific enough to properly identify the subject matter sought. Because of this, people must often subsequently refine the search query one or more times before the desired results are shown. When the person must refine and resubmit a search query, the frustration level of the person with regard to the search engine can increase substantially.
One of the reasons why the person must often re-enter a search query is that the query terms that a person enters are frequently indefinite and/or ambiguous. Quite often, the person entering the search query is unaware of the indefinite and/or ambiguous nature of any given term that is entered.
The following Summary is provided to introduce a selection of concepts in a simplified form. These concepts will be further described below in the Detailed Description. The Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
A method for clarifying a computer user's intent with regard to one or more query terms of a search query is presented. Often, one or more query terms of a search query are ambiguous and/or unclear. As presented herein, upon identifying a query term in the search query that is unclear, clarification data is obtained and presented to the computer user by way of a clarification user interface. The computer user is able to identify one or more aspects of the computer user's intent, each aspect being an intent clarification, with regard to the query term through the clarification user interface. Upon instruction by the computer user, the search query, along with the intent clarifications, is submitted to a search engine.
Computer-readable media bearing computer-executable instructions is presented. The execution of the instructions by a processor on a computing system carries out a method for clarifying a computer user's intent with regard to one or more query terms of search query. Upon identifying a query term in the search query that is unclear, clarification data is obtained and presented to the computer user by way of a clarification user interface. The computer user is able to identify one or more aspects of the computer user's intent, intent clarifications, with regard to the query term through the clarification user interface. After instruction by the computer user, the search query, along with the intent clarifications, is submitted to a search engine.
A computer system configured to clarify a computer user's intent with regard to one or more query terms of search query is presented. The computer system includes a search component that obtains a search query from a computer user. A query term analyzer identifies an unclear query term of the search query as a first query term to be clarified. The search component that obtains clarification data corresponding to the first query term and presents the clarification data to the computer user for selection by way of a clarification user interface. Clarification data selected by the computer user is associated with the first query term as intent clarifications. The search query, along with the intent clarifications, is submitted to the search engine and the search results obtained from the search engine are presented to the computer user.
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:
For purposes of clarity, the use of the term “exemplary” in this document should be interpreted as serving as an illustration or example of something, and it should not be interpreted as an ideal and/or a leading illustration of that thing.
A search query should be interpreted as a set of words, numbers and/or query terms that correspond to one or more topics or entities. Query terms may be comprised of one or more words (including abbreviations), numbers or symbols that correspond to a particular topic. A search query may include multiple query terms such that the search query is directed to a plurality of entities and/or topics but a query term, once the computer user's intent is properly established, corresponds to one specific topic or entity. Each query term may have one or more aspects which, when clarified, narrow the scope of the corresponding topic/entity. Each clarified aspect of a query term is referred to as an intent clarification. To say that a query term is unclear implies that the user's intent with regard to the query term is unclear, i.e., without more clarification the query term can be interpreted as corresponding one more than one topic or entity. A query term is unclear when the term is ambiguous, indefinite, incomplete, misspelled, and the like. A query term is ambiguous when the query term corresponds to more than one specific topic or entity. For example, a query term “ravens” may correspond to a particular type of bird or a professional football team. A query term is indefinite when, without more (such as an intent clarification) the meaning of the query term can't be defined/determined. For example, the query term “the former President” is indefinite because there are many former presidents and, without more, the query term cannot be related to a specific entity. To say that a query term is clarified implies that the computer user has explicitly indicated the computer user's intent with respect to at least one aspect of the query term.
Turning to the figures,
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 computer user 101 using user computer 102 over the network 108. 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, e.g., references (typically in the form of hyperlinks) to relevant and/or related content available at various network locations located throughout the network 108, such content sites 112-116. The content sites may include (by way of illustration and not limitation): news outlets/portals/sources, such as news content site 112; online shopping sites, such as online shopping site 114; social media and networking sites, such as social site 116; educational and research sites (not shown); and the like. As will be described in more detail below, the search engine 110 also responds to requests from various computers, including user computers 102-106, for data used by the various computers to clarify a computer user's query intent during query formulation.
According to aspects of the disclosed subject matter, in conjunction with a computer user entering a search query, one or more of the query terms of the search query are analyzed and a determination is made as to whether the computer user's intent with respect to a particular query term should be clarified. When the determination is made to clarify an “unclear” query term (i.e., a query term that is ambiguous, indefinite, potentially misspelled, and the like) a user interface is presented to the computer user through which the computer user can clarify the user's intent with regard to the particular query term. Clarifying a query term of a search query does not cause the search query to be submitted. However, once a search query is sufficiently clarified (i.e., a predetermined threshold number of query terms in the search query have been clarified as to the user's intent) the search query could be submitted without further user interaction. Further still, generally speaking the search query does not modify the search query as presented to the computer user. To more fully illustrate the presentation of one or more user interfaces to clarify query terms of a search query, reference is now made to an example.
Continuing with the example set forth in regard to
After the computer user has provided explicit feedback regarding the intent of an aspect for a query term through a clarification user interface, such as in regard to the query term “springf” in clarification view 206, the search query may be optionally updated to reflect this clarification. Updating the search query occurs primarily for incomplete or misspelled query terms. For example, after the computer user selects clarification option 212, corresponding to “Springfield, Ma,” the partial query term may be automatically completed.
In regard to analyzing the search query to identify a query term that could be clarified through the use of one or more clarification user interfaces (such as clarification views 206 and 222), the process is not limited to a single query term. Moreover, the analysis is not constrained to process the query terms of the search query in any particular order. According to one embodiment, the order in which multiple query terms in a search query are clarified is based on a confidence value that the intent of a given query term can be successfully determined through interaction with the computer user via a clarification user interface. Thus, the query terms having the highest corresponding confidence values would be clarified first. Further still, in one embodiment, no effort is made to clarify query terms having a corresponding confidence value that falls below a particular, predetermined threshold.
Continuing the example above and as shown in
As part of the analysis of the particular query term, various facets or aspects of a particular category may be pre-generated and/or predetermined in order to facilitate rapid presentation of clarification user interfaces. Similarly, the type of clarification user interfaces that may be presented to the computer user may be predetermined/pre-generated. For example, upon determining that the computer user's intent for the query term “Restaurants” could be clarified, a predetermined set of aspects generally corresponding to restaurants could be used to determine the various clarification options presented in a given clarification user interface, such as clarification view 222. Further still, contextual information corresponding to the computer user, whether it is explicitly identified or implicitly identified, may be used to determine values, ranges and/or other clarification options for a given query term. Thus, the combination of predetermined query options associated with a particular query term as well as contextual information corresponding to the computer user may be combined to populate the clarification options for a given clarification user interface, such as clarification view 222. The contextual information corresponding to the computer user may include, by way of illustration and not limitation: the computer user's search query, click and/or browsing history; the geographical location of the computer user; the computer user's demographical information; interests (both explicitly obtained and implicitly derived); education; and the like.
In addition to providing discrete, selectable options (such as buttons or menu items) to identify aspects of the computer user's intent with regard to a query term, other types of interactive clarification user interfaces may be presented. For example and in regard to
As suggested above, rather than simply selecting an alternative search query as one would do in selecting an alternative query during query auto-completion (where a process attempts to “guess” what the completed search query will be), according to various embodiments of the disclosed subject matter the computer user is directed towards clarifying the computer user's intent with regard to one or more query terms (including partial and misspelled query terms) of a search query. The search query is not necessarily modified except in regard to completing partial query or replacing misspelled query terms (based on explicit computer user clarification). Indeed, one focus of the disclosed subject matter is to clarify the computer user's intent with regard to one or more of the query terms of the search query. Thus, in contrast to selecting a “completed search query” as one would in an auto-completion mode, according to the disclosed subject matter the computer user submits the search query to a search engine 110, such as through execution button 242. In submitting the search query to the search engine, both the search query as well as any intent clarifications obtained from the computer user are provided to the search engine 110. Also, while the query terms discussed in regard to the example of
According to additional aspects of the disclosed subject matter, the information provided by the computer user to clarify a query term may be used as feedback (positive and/or negative) to update preferences for the computer user. Those skilled in the art will appreciate that a search engine 110 will often maintain a user profile for a plurality of computer users in order to provide more relevant search results to a given computer user.
Turning now to
In yet another embodiment, the query term analyzer 718 accesses the clarification data cache 720 to obtain clarification data 304 stored there as well as obtain additional clarification data from the search engine 110. The clarification data 304 (combined from both sources) is presented to the computer user 101 by way of one or more clarification user interfaces (such as clarification views 206, 222, and 234) and the user is able to clarify computer user intent corresponding to a particular query term. Upon activation by the computer user 101, the search query 306, along with any intent clarifications obtained from the computer user via one or more clarification user interfaces, is submitted to the search engine 110 which, in response to the search query, identifies appropriate search results (improved according to the identified intent clarifications) and returns the search results 308 to the user computer 102 for presentation to the computer user 101 on the user computer 102.
Turning now to
In the alternative, at decision block 408, if the confidence value exceeds the predetermined threshold value, the routine proceeds to block 410. At block 410, clarification data is obtained corresponding to the identified query term of the search query. As previously discussed, clarification data 304 may be obtained from a local clarification data cache 724 on the user computer 102, from the search engine 110, or a combination of the two. At block 412, the clarification data is presented to the computer user by way of one or more clarification user interfaces. At block 414, the computer user's selection of the presented clarification data is obtained. At block 416, the selected clarification data is associated with the identified query term as one or more intent clarifications. Thereafter, the routine 400 returns again to block 402 and repeats as discussed above.
From block 402, the routine 400 proceeds to block 418 upon receiving indication from the computer user to submit the search query to the search engine 110. Accordingly, at block 418, the search query with the associated intent clarifications (as well as user identification and contextual information) is submitted to the search engine 110. In response to submitting the search query, at block 420, the search results 308 from the search engine 110 are obtained/received. At block 422, the search results 308 obtained from the search engine 110 are presented to the computer user 101 on the user computer 102. Thereafter, the routine 400 terminates.
In addition to responding to query term clarification requests, a search engine 110 may also be configured to field search queries that include intent clarifications.
Regarding routines 400, 500 and 600, while these routines are expressed in regard to discrete steps, these steps should be viewed as being logical in nature and may or may not correspond to any actual and/or discrete steps of a particular implementation. Nor should the order in which these steps are presented in the various routines be construed as the only order in which the steps may be carried out. Moreover, while these routines include various novel features of the disclosed subject matter, other steps (not listed) may also be carried out in the execution of the routines. Further, those skilled in the art will appreciate that logical steps of these routines may be combined together or be comprised of multiple steps. Steps of routines 400, 500 and 600 may be carried out in parallel or in series. Often, but not exclusively, the functionality of the various routines is embodied in software (e.g., applications, system services, libraries, and the like) that is executed on computer hardware and/or systems as described below in regard to
While many novel aspects of the disclosed subject matter are expressed in routines embodied in applications (also referred to as computer programs), apps (small, generally single or narrow purposed, applications), and/or methods, these aspects may also be embodied as computer-executable instructions stored by computer-readable media, also referred to as computer-readable storage media. As those skilled in the art will recognize, 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, methods and/or functionality, including those steps, methods, and routines described above in regard to routines 400, 500 and 600. Examples of computer-readable media include, but are not limited to: optical storage media such as Blu-ray discs, digital video discs (DVDs), compact discs (CDs), optical disc cartridges, and the like; 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 disclosure, however, computer-readable media expressly excludes carrier waves and propagated signals.
The processor 702 executes instructions retrieved from the memory 704 in carrying out various functions, particularly in clarifying user intent with regard to one or more query terms of a search query. The processor 702 may be comprised of any of various commercially available processors such as single-processor, multi-processor, single-core units, and multi-core units. Moreover, those skilled in the art will appreciate that the novel aspects of the disclosed subject matter may be practiced with other computer system configurations, including but not limited to: mini-computers; mainframe computers, personal computers (e.g., desktop computers, laptop computers, tablet computers, etc.); handheld computing devices such as smartphones, personal digital assistants, and the like; microprocessor-based or programmable consumer electronics; and the like.
The system bus 710 provides an interface for search engine's components to inter-communicate. The system bus 710 can be of any of several types of bus structures that can interconnect the various components (including both internal and external components). The user computer 102 further includes a network communication component 712 for interconnecting the user computer with other computers (including, but not limited to, a search engine 110) as well as other devices on a computer network 108. The network communication component 712 may be configured to communicate with an external network, such as network 108, via a wired connection, a wireless connection, or both.
Also included in the user computer 102 is a search component 714. The search component 714 is responsible for interacting with the computer user 101 in obtaining the search query from the computer user, presenting clarification user interfaces to the computer user, submitting a search query with corresponding intent clarifications and other information as described above to the search engine 110, and presenting the search results received from the search engine in response to the search query. In one embodiment, the search component is a web browser executing on the user computer displaying a search interface with the search engine 110. The search window 200 of
The search query parser 716 operates in conjunction with the search component 714 to identify one or more query terms in the search query, including query terms that are unclear as to the user's intent and may benefit from clarification. The search query parser 716 provides information regarding the identified query terms to the query term analyzer 718. For its part, the query term analyzer 718, as suggested above, determines which of the identified query terms are unclear as to the user intent and should be clarified through use of clarification user interfaces. The clarification data cache 720, being an optional component, may include cached clarification data corresponding to a plurality of query terms. As mentioned above, the query term analyzer 718 may obtain clarification data 304 from both the clarification data cache 720, from the search engine 110 via a clarification data request, or combination of the two.
The processor 802 executes instructions retrieved from the memory 804 in carrying out various functions, particularly in responding to data clarification requests and search results queries from computer users on one or more user computers, such as user computer 102. The processor 802 may be comprised of any of various commercially available processors such as single-processor, multi-processor, single-core units, and multi-core units. Moreover, those skilled in the art will appreciate that the novel aspects of the disclosed subject matter may be practiced with other computer system configurations, including but not limited to: mini-computers; mainframe computers, personal computers (e.g., desktop computers, laptop computers, tablet computers, etc.); handheld computing devices such as smartphones, personal digital assistants, and the like; microprocessor-based or programmable consumer electronics; and the like.
The system bus 810 provides an interface for search engine's components to inter-communicate. The system bus 810 can be of any of several types of bus structures that can interconnect the various components (including both internal and external components). The search engine 110 further includes a network communication component 812 for interconnecting the user computer with other computers (including, but not limited to, user computers 102-106) as well as other devices on a computer network 108. The network communication component 812 may be configured to communicate with an external network, such as network 108, via a wired connection, a wireless connection, or both.
The search engine 110 includes a query term clarification component 814 which is configured to identify clarification data corresponding to a query term from a clarification data store 820 in response to a data clarification request from a computer user 101 operating via a user computer 102. The query term clarification component 814 obtains clarification data from the clarification data store 820 based on the received query term in a clarification data request, user profile information stored in a user profile store 822 according to user information that may be supplied with a clarification data request, contextual data corresponding to the computer user 10, as well as any other intent clarifications that may already be known.
The search results retrieval component 816 identifies and/or retrieves content in the content store 824 that satisfies the search query. The search results retrieval component 816 identifies relevant content in a content store 824 according to the query terms of the search query, intent clarifications associated with the query terms of the search query, user profile information corresponding to the computer user 101 (obtained from the user profile store 822), contextual information corresponding to the computer user, and other information that may be useful in providing the most relevant content to the computer user. A search results page generator 818 uses the search results identified by the search results retrieval component 816 to generate one or more search results pages responsive to the search query from the computer user 101. At least one of the generated search results pages is then returned to the computer user 101 at the user computer 102 in response to receiving the search query.
In addition to using the intent clarifications to identify search results, the search page generator 818 may use the intent clarifications to personalize the search results page. For example, based on the intent clarifications, advertisements may be selected that are more accurately tailored to the computer user. Similarly, contextual information corresponding to the computer user may also be used in conjunction with the intent clarifications to enhance the generated search results page. Further still, in addition to applying the intent clarifications to the query (that the computer user enters) and to the generation of one or more search results pages, the intent clarifications may also be applied to the “auto-completion” search queries suggested to the computer user as the computer user enters the search query. Auto-completion search queries are known in the art and presented as selectable queries that are frequent and/or likely completions of the as the computer user types the search query. Auto-completion of search queries takes the position that the computer user has not finished entering the entire search query and the auto-completion process is attempting to assist the computer user in suggesting frequent and/or likely search queries.
Those skilled in the art will appreciate that the various components of
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.