Search engines and interfaces allow users to retrieve information by inputting search queries, for instance, into a search input region. While a user is inputting a search prefix associated with a search query, automatic systems provide likely completions or suggestions to the search prefix being input. When the user executes the search query, either by manually inputting the desired search query or by selecting a suggestion, the search engine directs the user to a search engine results page (“SERP”).
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
In various embodiments, systems, methods, computer storage media, and user interfaces are provided for query intent expression for search in an embedded application context. are provided for intent expression for search in an embedded application context. A search interaction is received from a user. The search interaction may comprise an interaction with a device or application or a learned intent based on a previous interaction. Remote data from a remote data source is received. Local data is received from each available device or embedded application. The remote data and/or local data may provide one or more intent suggestions based on the search interaction. The remote data is merged with the local data to personalize a result set comprising one or more entity identifications associated with the one or more intent suggestions. The result set may be prioritized based on a set of rules associated with each available device or embedded application. The result set is provided to the user and includes an aggregated intent preview comprising metadata corresponding to one or more entities associated with at least one of the one or more entity identifications.
The present invention is illustrated by way of example and not limitation in the accompanying figures in which like reference numerals indicate similar elements and in which:
The subject matter of the present invention is described with specificity herein to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the terms “step” and/or “block” may be used herein to connote different elements of methods employed, the terms should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
Users are often searching for a particular entity. Entities are instances of abstract concepts and objects, including people, places, things, events, locations, businesses, movies, and the like. Depending on the search query a user inputs or selects, the SERP may or may not include information about the particular entity the user is searching for.
Existing autosuggestion systems do not address tail queries (i.e., infrequent or unseen queries) or intent the system has not encountered or otherwise ambiguous during the query formulation process. Intent refers to the target of the search, which may be an entity. Further, existing autosuggestion systems do not allow disambiguation of intent or allow users to express intent prior to retrieving the SERP. Any changes to the search query, such as selection of suggestions or input of additional characters, causes the SERP to refresh which can be distracting to the user and inefficient from a resource perspective. Still further, summarized data, such as in a search history or search session, is limited to presenting individual queries of a set. This can make it difficult for a user to ascertain the appropriate context or intent of a given session which effectively limits the ability to share the data in a meaningful way.
Various aspects of the technology described herein are generally directed to systems, methods, and computer-readable storage media for query intent expression non-committal intent preview, disambiguation, and refinement of a search. A search prefix comprising one or more characters associated with an unexecuted search query is received. One or more intent suggestions are suggested to a user. For each of the one or more intent suggestions, one or more entity identifications associated with each of the one or more intent suggestions are received. Metadata corresponding to at least one entity associated with the one or more entity identifications is retrieved from an entity data store. Without retrieving search results for the unexecuted search query, an aggregated intent preview based on the retrieved metadata corresponding to the at least one entity is provided. In embodiments, the one or more entities are ranked based on entity-intrinsic signals (i.e., number of attributes associated with an entity, entity type, number of information sources associated with an entity), query-entity interactions by users (i.e., explicit interactions or clicks on an entity in a search window or third party entity repository, interactions attributed to an entity via a query-url-entity tripartite graph), and query pattern likelihood scores, populating the intent suggestions or aggregated intent preview in order of relevance or likelihood of query intent. In embodiments, a refined intent preview associated with metadata corresponding to one or more subentities based on a selected item of metadata associated with the one or more entities is provided, conserving time and resources by allowing the user to further refine intent without executing the unexecuted search query. In embodiments, task completion for a selected entity or subentity is enabled allowing the user to easily and quickly take a particular action or complete a task associated with the entity or subentity without having to execute the unexecuted search query. In other words, task completion refers to the opening and execution or completion of a task within an application, independent window, link, or process with or without affecting the search or search window. In embodiments, a set of queries issued by the user and entities corresponding to the set of queries may be provided, enabling the user to easily and quickly interact with a search history via the provided entities.
Accordingly, one embodiment of the present invention is directed to one or more computer storage media storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform a method of non-committal intent preview, disambiguation, and refinement of a search. The method includes receiving a search prefix from a user, the search prefix comprising one or more characters associated with a search query. One or more intent suggestions are provided to the user based on a comparison of the search prefix with an autosuggest data store. One or more entity identifications associated with the intent suggestions are identified based on an entity ranking. An aggregated intent preview comprising metadata corresponding to one or more entities associated with at least one of the one or more entity identifications is provided. A refinement request is received from the user. The refinement request comprises an indication that the user has selected an item of metadata corresponding to a subentity and associated with the one or more entities. A refined intent preview comprising metadata corresponding to the subentity is provided.
Another embodiment of the present invention is directed to computer storage media having computer-executable instructions embodied thereon that, when executed by one or more computing devices, cause the one or more computing devices to produce a graphical user interface (GUI) for non-committal intent preview, disambiguation, and refinement of a search The GUI includes a search display area that displays a search bar for receiving a search prefix corresponding to an unexecuted search from a user. An autosuggest display area displays, without executing the search, one or more intent suggestions to the user. An entity display area displays, without executing the search, an aggregated intent preview comprising metadata associated with at least one entity corresponding to entity identifications associated with the one or more intent suggestions. A refinement display area displays, without executing the search, a refined intent preview comprising metadata associated with a subentity corresponding to an item of metadata selected by the user and associated with the at least one entity.
Yet another embodiment of the present invention includes a system for providing non-committal intent preview, disambiguation, and refinement of a search. The system includes one or more processors coupled to a computer storage medium, the computer storage medium having stored thereon a plurality of computer software components executable by the processor. The computer software components include an autosuggest component that receives a search prefix comprising one or more characters associated with an unexecuted search query and suggests one or more intent suggestions to a user. An entity identification component receives, for each of the one or more intent suggestions, one or more associated entity identifications. A metadata component retrieves metadata from an entity data store. The metadata corresponds to at least one entity associated with the one or more entity identifications. A preview component provides, without retrieving search results for the unexecuted search query, an aggregated intent preview based on the retrieved metadata corresponding to the at least one entity.
Further embodiments are directed to query intent expression for search in an embedded application context discussed herein. Traditionally, search is thought of as a query based action taken by a user specifically to identify a piece of information. However, as described herein, search can be extended to any user interaction, such as with an application, user interface, operating system, device, or even extended to a learned intent based on previous user interactions. Thus, the entry point for a search can be anywhere the user is able to interact with the application, user interface, operating system, or device. A flyout surface area enables the user to interact with the aggregated intent preview within any application, user interface, operating system, or device to provide the user with rich suggestions, concrete, instant answers to questions (based on local and remote context), enable tasks or actions, and generally assist the user in refining an intent associated with the search. The flyout surface may be any secondary canvas or surface area for receiving a search interaction or providing search intent preview, disambiguation, and refinement of search.
Accordingly, one embodiment of the present invention is directed to computer storage media having computer-executable instructions embodied thereon that, when executed by one or more computing devices, cause the one or more computing devices to perform a method of query intent expression for search in an embedded application context. The method includes receiving a search interaction from a user, the search interaction comprising an interaction with a device or application or a learned intent based on a previous interaction. Remote data is received from a remote data source, the remote data providing one or more intent suggestions based on the search interaction. Local data from each available device or embedded application is received, the local data providing one or more intent suggestions based on the search interaction. The remote data is merged with the local data to personalize a result set comprising one or more entity identifications associated with the one or more intent suggestions. The result set is prioritized based on a set of rules associated with each available device embedded application. The result set is provided to the user, the result set including an aggregated intent preview comprising metadata corresponding to one or more entities associated with at least one of the one or more entity identifications.
Another embodiment of the present invention is directed to computer storage media having computer-executable instructions embodied thereon that, when executed by one or more computing devices, cause the one or more computing devices to produce a graphical user interface (GUI) for intent expression for search in an embedded application context. The GUI includes an interaction display area for receiving, from a user, a search interaction corresponding to a search. An autosuggest display area displays, without executing the search, one or more intent suggestions to the user, the one or more intent suggestions comprising remote data and local data based on the search interaction. An entity display area displays, without executing the search, an aggregated intent preview comprising metadata associated with at least one entity corresponding to entity identifications associated with the one or more intent suggestions, the aggregated intent preview being prioritized in accordance with a set of rules associated with each available device or embedded application.
Yet another embodiment of the present invention includes a system for providing intent expression for search in an embedded application context. The system includes one or more processors coupled to a computer storage medium, the computer storage medium having stored thereon a plurality of computer software components executable by the processor. The computer software components include an interaction component that receives a search interaction from a user, the search interaction comprising an interaction with a device or application or a learned intent based on a previous interaction. A merge component merges remote data with local data to personalize a result set comprising one or more entity identifications associated with the one or more intent suggestions. A priority component prioritizes the result set based on a set of rules associated with each available device or embedded application. A preview component provides the result set to the user, the result set including an aggregated intent preview comprising metadata corresponding to one or more entities associated with at least one of the one or more entity identifications.
Having briefly described an overview of embodiments of the present invention, an exemplary operating environment in which embodiments of the present invention may be implemented is described below in order to provide a general context for various aspects of the present invention. Referring to the figures in general and initially to
Embodiments of the invention may be described in the general context of computer code or machine-useable instructions, including computer-useable or computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program modules include routines, programs, objects, components, data structures, and the like, and/or refer to code that performs particular tasks or implements particular abstract data types. Embodiments of the invention may be practiced in a variety of system configurations, including hand-held devices, consumer electronics, general-purpose computers, more specialty computing devices, and the like. Embodiments of the invention may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
With continued reference to
The computing device 100 typically includes a variety of computer-readable media. Computer-readable media may be any available media that is accessible by the computing device 100 and includes both volatile and nonvolatile media, removable and non-removable media. Computer-readable media comprises computer storage media and communication media; computer storage media excluding signals per se. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 100.
Communication media, on the other hand, embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
The memory 112 includes computer-storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical-disc drives, and the like. The computing device 100 includes one or more processors that read data from various entities such as the memory 112 or the I/O components 120. The presentation component(s) 116 present data indications to a user or other device. Exemplary presentation components include a display device, speaker, printing component, vibrating component, and the like.
The I/O ports 118 allow the computing device 100 to be logically coupled to other devices including the I/O components 120, some of which may be built in. Illustrative I/O components include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, a controller, such as a stylus, a keyboard and a mouse, a natural user interface (NUI), and the like.
A NUI processes air gestures (i.e., motion or movements associated with a user's hand or hands or other parts of the user's body), voice, or other physiological inputs generated by a user. These inputs may be interpreted as search prefixes, search requests, requests for interacting with intent suggestions, requests for interacting with entities or subentities, or requests for interacting with advertisements, entity or disambiguation tiles, actions, search histories, and the like provided by the computing device 100. These requests may be transmitted to the appropriate network element for further processing. A NUI implements any combination of speech recognition, touch and stylus recognition, facial recognition, biometric recognition, gesture recognition both on screen and adjacent to the screen, air gestures, head and eye tracking, and touch recognition associated with displays on the computing device 100. The computing device 100 may be equipped with depth cameras, such as, stereoscopic camera systems, infrared camera systems, RGB camera systems, and combinations of these for gesture detection and recognition. Additionally, the computing device 100 may be equipped with accelerometers or gyroscopes that enable detection of motion. The output of the accelerometers or gyroscopes is provided to the display of the computing device 100 to render immersive augmented reality or virtual reality.
Aspects of the subject matter described herein may be described in the general context of computer-executable instructions, such as program modules, being executed by a computing device. Generally, program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types. Aspects of the subject matter described herein may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
Furthermore, although the term “intent disambiguation engine” is used herein, it will be recognized that this term may also encompass a server, a Web browser, a set of one or more processes distributed on one or more computers, one or more stand-alone storage devices, a set of one or more other computing or storage devices, any application, process, or device capable of providing search functionality; search intent preview, disambiguation, and refinement as described herein; a combination of one or more of the above; and the like.
As previously mentioned, embodiments of the present invention are generally directed to systems, methods, and computer-readable storage media for non-committal intent preview, disambiguation, and refinement of a search. A search prefix comprising one or more characters associated with an unexecuted search query is received. One or more intent suggestions are suggested to a user. For each of the one or more intent suggestions, one or more associated entity identifications are received. Metadata corresponding to at least one entity associated with the one or more entity identifications is retrieved from an entity data store. Without retrieving search results for the unexecuted search query, an aggregated intent preview based on the retrieved metadata corresponding to the at least one entity is provided. The one or more entities may be ranked based on entity-intrinsic signals, query-entity interactions by users, and query pattern likelihood scores. A refined intent preview associated with metadata corresponding to one or more subentities based on a selected item of metadata associated with the one or more entities may be provided. Task completion for a selected entity or subentity may be enabled. A set of queries issued by the user and entities corresponding to the set of queries may be provided. In embodiments, the entities enable the user to interact with a search history.
Referring to
At the concept stage 210, an initial essence of the query is expressed. For example, the user may begin inputting a search prefix associated with the search query “Harry Potter.” The user may actually type “Harry Potter” or an intent suggestion for “Harry Potter” may be provided and selected based on the search prefix. Because a search term like “Harry Potter” may map onto a large set of entities varying in type (e.g., books, characters, movies, actors, costumes, toys, and the like), the search term by itself may be ambiguous. In order to identify the intent or target of the search, intent suggestions identifying basic groups of entities or a few of the top-most ranked entity groups can be provided to the user.
At the segment disambiguation stage 220, a type of entity may be expressed. For example, the user may type “Harry Potter movie” or select an intent suggestion “Harry Potter movie.” Similarly, at the entity disambiguation stage 230, more specific information regarding the type of entity may be expressed. For example, the user may desire information about a particular Harry Potter movie. The user may type “Harry Potter movie prisoner of Azkaban” or selected an intent suggestion “Harry Potter movie prisoner of Azkaban.” Each token or word added to the unexecuted query string provides a deeper understanding of the intent.
At the intent refinement stage 240, the user may focus the search on a particular aspect of the previewed entity. In the present example, the user may desire to locate information about the cast of the selected movie. For instance, the user may type or select “Harry Potter movie prisoner of Azkaban cast.” As previously mentioned, once the user is satisfied the intent or target of the unexecuted search query has been properly identified, the user can execute the unexecuted search query, at the consume stage 250, and the SERP 252 is provided. The user may desire to narrow the focus of the search and may refine the search further at the react stage 260.
Referring now to
It should be understood that any number of user computing devices 310 and/or intent disambiguation engines 320 may be employed in the computing system 300 within the scope of embodiments of the present invention. Each may comprise a single device/interface or multiple devices/interfaces cooperating in a distributed environment. For instance, the intent disambiguation engine 320 may comprise multiple devices and/or modules arranged in a distributed environment that collectively provide the functionality of the intent disambiguation engine 320 described herein. Additionally, other components or modules not shown also may be included within the computing system 300.
In some embodiments, one or more of the illustrated components/modules may be implemented as stand-alone applications. In other embodiments, one or more of the illustrated components/modules may be implemented via a user computing device 310, the intent disambiguation engine 320, or as an Internet-based service. It will be understood by those of ordinary skill in the art that the components/modules illustrated in
It should be understood that this and other arrangements described herein are set forth only as examples. Other arrangements and elements (e.g., machines, interfaces, functions, orders, and groupings of functions, etc.) can be used in addition to or instead of those shown, and some elements may be omitted altogether. Further, many of the elements described herein are functional entities that may be implemented as discrete or distributed components or in conjunction with other components, and in any suitable combination and location. Various functions described herein as being performed by one or more entities may be carried out by hardware, firmware, and/or software. For instance, various functions may be carried out by a processor executing instructions stored in memory.
The user computing device 310 may include any type of computing device, such as the computing device 100 described with reference to
The intent disambiguation engine 320 of
The search prefix component 322 of the intent disambiguation engine 320 is configured to receive a search prefix, for instance, utilizing search functionality associated with the user computing device 310. The search prefix comprises one or more characters associated with an unexecuted search query. Upon receiving the one or more characters associated with the unexecuted search query, the search prefix component 322 communicates the search prefix to the autosuggest component 324.
The autosuggest component 324 of the intent disambiguation engine 320 is configured to receive the search prefix comprising one or more characters associated with an unexecuted search query. Upon receiving the search prefix, the autosuggest component 324 retrieves one or more intent suggestions associated with the search prefix. In one embodiment, the one or more intent suggestions are retrieved from the completion trie 340. The intent suggestions represent the most likely intent of the user and/or target(s) of the unexecuted search query. The most likely intent of the user and/or target of the unexecuted search query may be determined by determining the type of query and possible types of entities associated with that type of query. Each of the intent suggestions may also be associated with one or more entity IDs. An entity ID indicates the intent suggestion is associated with one or more entities and may assist the user in distinguishing one intent suggestion from another.
If the intent suggestion is associated with an entity ID, the entity identification component (“entity ID component”) 326 of the intent disambiguation engine 320 is configured to retrieve the entity ID. The entity ID may be used to look up metadata associated with one or more entities that is stored, in one embodiment, in the entity data store 350. The entity ID may further describe or indicate the type of entity associated with the entity ID. Such indication may help the user readily locate or identify a particular search within a search history or share a particular search with others.
The metadata component 328 of the intent disambiguation engine 320 is configured to retrieve metadata from the entity data store 350. The metadata corresponds to at least one entity associated with the one or more entity identifications. The metadata may include content associated with the entity such as data or snippets of data that may be returned by or be available via links in search results for that entity. Metadata for multiple entities may be retrieved allowing the user to narrow or refine a search. For example, a primary intent suggestion representing the likely primary focus of the search as well as one or more secondary intent suggestions representing subcategories or subentities of the primary intent suggestion can be retrieved. Similarly, a primary intent suggestion representing the most likely target of the search as well as secondary intent suggestions representing less likely targets of the search can be retrieved. A request to retrieve metadata, in one embodiment, is initiated when the user hovers over or selects an intent suggestion. In another embodiment, metadata for the first intent suggestion or most likely intent suggestion is automatically selected or retrieved.
The preview component 330 of the intent disambiguation engine 320 is configured to provide an aggregated intent preview based on the retrieved metadata corresponding to the at least one entity (or a category of entities, e.g., “Seattle restaurants” or “Jackie Chan movies” and the like). The aggregated intent preview is provided without retrieving search results for the unexecuted search query. This allows the user to preview metadata associated with the intent suggestions without consuming the resources necessary to execute the full unexecuted search query. Rather than updating the SERP each time the user selects one of the intent suggestions, the aggregated intent preview provides the user with enough information about a particular entity to narrow the focus of the search. In other words, the aggregated intent preview provides a non-committal preview of one or more entities or subentities to help the user to refine an intent associated with the search without committing to the search until the user is actually ready to execute the search. More simply, the aggregated intent preview does not distract the user by constantly refreshing a SERP associated with a search because the search query is not executed until the user is satisfied the intent of the search is properly identified and adequately focused.
For example, a user may be searching for a particular person or thing. After receiving a search prefix associated with a search query input by the user seeking information regarding that person or thing, the autosuggest component 334 may retrieve several intent suggestions associated with the search prefix. Each of the intent suggestions may be associated with an entity ID that is associated with an intent suggestion that completes the search prefix (e.g., completes the spelling of one or more persons or things associated with the search prefix). The one or more entities or subentities identified in the aggregated intent preview is associated with the intent suggestion and may further identify one or more subcategories or subentities associated with the intent suggestion to help the user refine the search accordingly.
In one embodiment, the ranking component 332 of the intent disambiguation engine 320 is configured to rank the one or more entities. The ranking may be utilized to automatically determine the intent or target of the unexecuted search query. The ranking may be based on entity-intrinsic signals, query-entity interactions by users, and/or query pattern likelihood scores. The entity-intrinsic signals may comprise a number of attributes or a number of information sources. For example, one intent suggestion may be ranked higher than another if it includes more attributes associated with a particular entity. Similarly, one intent suggestion may be associated with a particular entity that has a higher number of information sources than another intent suggestion associated with a different entity. Each of these entity-intrinsic signals may be utilized to assign a static ranking score to the intent suggestion, independent of the unexecuted search query. The same methodology can be utilized to rank and influence the display of entities or subentities provided in the aggregated intent preview.
The query pattern likelihood scores may be based on expected patterns. The expected patterns may be based on entity type, quality standards independent of an individual entity, quality standards independent of associated queries, dominance of one particular entity over another, non-entity associations of the query, and the like.
Expected patterns represent the identification by the system of one or more expected terms, based on the entity type, associated with the intent suggestion. Expected patterns generally are based on data that is typically associated with an entity and which users have come to expect having associated with the particular entity type. For example, each intent suggestion associated with an entity can be examined to identify expected patterns based on the entity type. If the entity type is a business, expected patterns of the intent suggestions may include business names, locations, type of businesses, and the like. On the other hand, if the entity type is a person, expected patterns of the intent suggestions may include first names, middle initials, locations, last names, occupations, and the like.
The quality standards may be independent of the individual entity but may be based on the entity type. For example, a determination can be made to make sure the query includes at least one well known business name or person name. The quality standards may also be independent of the intent suggestions or unexecuted search query. For example, entities may only be included in the aggregate intent preview if they contain a minimum number of attributes or have been updated recently (e.g., within a predetermined or configurable amount of time). Thus, the quality standards ensure that items associated with the query or the entities included in the aggregate intent preview are expected or known (e.g., one or more known terms), meet minimum requirements (e.g., minimum number of entity-intrinsic signals), and up-to-date.
In the instance where one particular entity (e) dominates intent suggestions for an unexecuted search query, it may be determined that intent suggestions associated with a less dominant entity (e′, e″, e′″, etc.) should not be provided for the unexecuted search query. When one entity (e) exceeds a particular configurable, predetermined, or automatically determined threshold (e.g., given a set of intent suggestions for an unexecuted search query, a percentage of those intent suggestions that corresponds to/is directed to the entity (e) meets or exceeds a threshold), entity (e) may be considered to dominate the intent suggestions for the unexecuted search query. For example, if over fifty percent of the intent suggestions for an unexecuted search query are associated with an entity (e), entity (e) dominates the intent suggestions for the unexecuted search query. As a result, it may be determined that intent suggestions associated with other entities (e′, e″, e′″, etc.) should not be provided for the unexecuted search query.
However, in situations where multiple entity types may be identified as the possible or likely target or intent of the search, less dominant entities may be associated with the selected intent suggestion even when another more dominant query-entity pair exceeds the particular configurable or automatically determined threshold. For example, a business entity may be dominant to all other entities for the intent suggestion “hotel California.” However, song entities associated with the intent suggestion “hotel California” may actually be the target or intent of the user. Even if the business entity exceeds the threshold to be determined a dominant entity for that particular intent suggestion, the song entities are still associated with the intent suggestion until the actual intent or target of the unexecuted search query is determined.
Similarly, non-entity associations of an intent suggestion may also be considered to determine whether a particular entity is dominant. For example, an intent suggestion or unexecuted search query may not have an entity intent (an entity intent suggests the intent or target of the search is an entity). In other words, the intent suggestion or target of the unexecuted search query is not an entity. The intent suggestion or the target of the unexecuted search query may instead target a web resource. In this instance, even when an entity (e.g., business or person entity) exists, the primary intent is the web resource and the query-entity associated is dropped. The primary intent may be determined based on user signals at the time the search prefix is input, how the user interacts with the intent suggestions or aggregated intent preview (e.g., query-entity interactions, entity clicks or clicks on an entity in a search window or third party entity repository, etc.), a search history associated with the user (e.g., search logs, previous query-entity interactions, previous entity clicks or clicks on an entity in a search window or third party entity repository, etc.), third party search history (e.g., search logs, previous third party query-entity interactions, previous third party entity clicks or clicks on an entity in a search window or third party entity repository, etc.).
The refinement component 334 of the intent disambiguation engine 320 is configured to, without retrieving search results for the unexecuted search query, provide a refined intent preview. The refined intent preview is associated with metadata corresponding to one or more subentities. The one or more subentities are based on a selected item of metadata associated with the one or more entities. For example, a user may select or interact with an item from the aggregated intent preview. The selected item may be based on metadata corresponding to the one or more entities associated with an intent suggestion. The selected item may be associated with one or more subentities related to the entity. Such a selection allows the user to further refine the search by narrowing the focus or intent of the search without actually executing the unexecuted search query.
The action component 336 of the intent disambiguation engine 320 is configured to enable task completion for a selected entity or subentity in association with the aggregated intent preview. This allows the aggregated intent preview to not only identify an intent of the search but actually allows the user to complete a task or action associated with the unexecuted search query. For example, a user may desire information about a particular movie. The action component allows the user to actually view or download the movie, such as on Netflix®. The action component may provide a link or tile that, upon selection, opens an application, independent window, link, or process to execute the task. In one embodiment, upon selection of the link or tile, the action component opens an application, independent window, link, or process without affecting the search window. In one embodiment, upon selection of the link or tile, the action component opens an application, independent window, link, or process and the search is refined or updated. In one embodiment, upon selection of the link or tile, the action component opens an application, independent window, link, or process and the search window is closed. As can be appreciated, any number of actions or tasks may be enabled by the action component 336. For example, an application may be available that relates to a particular entity or subentity. Upon selection, the application is installed on the user device. Similarly, tickets or reservations to a particular event or place can be purchased or made by the action component 336. The action component 336 may further enable third party components to execute external actions (e.g., reservations, purchases, and the like). In one embodiment, the action component 336 is configured to include paid placement text or display advertisements in association with the aggregated intent preview.
With reference to
Referring now to
In
Turning now to
As illustrated in
With reference now to
In
Turning now to
With reference now to
In
Turning now to
Similarly, and with reference now to
In
Turning now to
With reference now to
In
Turning now to
In
Referring now to
One or more entity IDs associated with the intent suggestions are identified as indicated at block 2114 (e.g., utilizing the entity identification component 326 of the intent disambiguation engine 320 of
An aggregated intent preview is provided as indicated at block 2116 (e.g., utilizing the preview component 330 of the intent disambiguation engine 320 of
As indicated at block 2118, a refinement request is received from the user. The refinement request comprises an indication the user has selected an item associated with the one or more entities. More simply, the refinement request is an indication the user determined to refine or narrow the focus or intent of the search. The item of metadata may correspond to a subentity (i.e., a subset of metadata associated with the entity that may focus on one aspect associated with or further define or distinguish the entity). Metadata associated with the selected subentity is retrieved, for example, by the metadata component 328 of the intent disambiguation engine 320 of
A refined intent preview is provided as indicated at block 2120 (e.g., utilizing the refinement component 334 of the intent disambiguation engine 320 of
As indicated previously, further embodiments are directed to intent expression for search in an embedded application context. Referring now to
It should be understood that any number of intent expression engines 2210, user computing devices 2270, and/or intent disambiguation engines 2280 may be employed in the computing system 2200 within the scope of embodiments of the present invention. Each may comprise a single device/interface or multiple devices/interfaces cooperating in a distributed environment. For instance, the intent disambiguation engine 2280 may comprise multiple devices and/or modules arranged in a distributed environment that collectively provide the functionality of the intent disambiguation engine 2280 described herein. Additionally, other components or modules not shown also may be included within the computing system 2200.
In some embodiments, one or more of the illustrated components/modules may be implemented as stand-alone applications. In other embodiments, one or more of the illustrated components/modules may be implemented via the intent expression engine 2210, a user computing device 2270, the intent disambiguation engine 2280, or as an Internet-based service. It will be understood by those of ordinary skill in the art that the components/modules illustrated in
Each of the user computing devices 2270 and the intent disambiguation engine 2280 may be similar to the user devices 310 and intent disambiguation engine 320, respectively, discussed above with reference to
The intent expression engine 2210 generally operates to merge signals from remote and local data sources to identify one or more intent suggestions that are provided to users on user computing devices 2270. As shown in
Interaction component 2212 receives a search interaction from a user, the search interaction comprising an interaction with a device or application or a learned intent based on a previous interaction. The search interaction comprises an interaction with a device or application or a learned intent based on a previous interaction. For example, the user may have searched on multiple occasions for a particular item or information (e.g., a weather forecast or stock prices). The search interaction may become a learned intent based on these previous interactions. The interaction may include a search prefix comprising one or more characters associated with a search query. The interaction may include a gesture or voice command. The interaction may include a navigation within an application, a user interface, or on a device such as a movement of a cursor, mouse, or a touch on a display.
In one embodiment, remote data component 2214 receives the remote data from a remote data source. The remote data provides one or more intent suggestions based on the search interaction. The remote data source may include remote data provided by intent disambiguation engine as described above with respect to
In one embodiment, local data component 2216 receives the local data from each available device or embedded application. The local data provides one or more intent suggestions based on the search interaction. The local data may be favorites or preferences associated with the device or application from which the search interaction is received or initiated. The local data may be capabilities, functionalities, tasks, or actions provided by the device or application. The local data may be local device information. The local data may be local data associated with an application or residing on or accessible by the application or device.
Merge component 2218 merges remote data with local data to personalize a result set comprising one or more entity identifications associated with the one or more intent suggestions. In one embodiment, rule component 2220 generates a set of rules based on an identification of a host application or device and a nature of the host application or device. Priority component 2222 prioritizes the result set based on the set of rules associated with each available device or embedded application.
For example, if the host application is a web browser, the nature of the host application is to browse websites. Accordingly, the set of rules may be generated ranking the result set with websites higher than an entity identification that launches an application. Similarly, the local data may include favorites, pinned websites, and the like that are identified within local data of the browser application. In another example, the host device may be an XBOX. Because the nature of the XBOX is tailored to games, movies, and music, the set of rules may be generated ranking the result set to launch games, movies, and music higher than other results. Or the set of rules may be generated ranking the result set to launch already installed items higher than finding items that are not currently identified within the local data (i.e., local data items are ranked higher than remote data items).
Preview component 2224 provides the result set to the user, the result set including an aggregated intent preview comprising metadata corresponding to one or more entities associated with at least one of the one or more entity identifications. The user may interact with the aggregated intent preview by selecting the desired metadata to refine the search (prior to actually executing the search) or to execute the search. The user may also interact with the aggregated intent preview by selecting the desired metadata to accomplish a task or launch an application.
With reference to
Referring initially to
Autosuggest display area 2320 displays, without executing the search, one or more intent suggestions to the user. The one or more intent suggestions comprise remote data and local data based on the search interaction. In one embodiment, the local data is received from each available device (e.g., the device the search interaction was initiated by or received from) or embedded application. In one embodiment, the remote data is received from a remote data source. Entity display area 2330 displays, without executing the search, an aggregated intent preview. The aggregated intent preview comprises metadata associated with at least one entity corresponding to entity identifications associated with the one or more intent suggestion. The aggregated intent preview is prioritized in accordance with a set of rules associated with each available device or embedded application. The set of rules may be generated based on a host application and/or a nature of the host application. The aggregated intent preview may comprise user-selectable tiles 2332, 2334, 2336, 2338, 2340, 2342 associated with at least one entity corresponding to entity identifications associated with the one or more intent suggestions. Each of the tiles 2332, 2334, 2336, 2338, 2340, 2342 may be selectable, such as to further refine the intent of the search, but without executing the search, or enable action or completion of a particular task, such as those actions and tasks described herein. Each of the autosuggest display area 2320 and entity display area 2330 may be provided in a flyout surface area 2350 on the device or inside a browser chrome to provide small targeted intents with a rich display of structured content. The flyout surface area 2350 displays a flyout surface in response to the user interaction. In one embodiment, the flyout surface is an entry point for intent expression inside an application.
Entity display area may further include non-navigational tiles 2422, 2424, 2426, such as related entities corresponding to a category associated with the primary entity. In this example, the category associated with Amazon.com may be ecommerce. Thus, other ecommerce sites may be suggested (e.g., Ebay). Further, local data may be received indication that a particular application (e.g., an Ebay application) is installed on the device. A non-navigational tile may be provided that allows the user to launch that application (e.g., the Ebay application).
By way of example,
Referring now to
As shown at block 2912, remote data is received from a remote data source. The remote data provides one or more intent suggestions based on the search interaction. The remote data source may include remote data provided by intent disambiguation engine as described above with respect to
The remote data is merged with the local data, at block 2914, to personalize a result set. The result set comprises one or more entity identifications associated with one or more intent suggestions. The result set is prioritized, at block 2916, based on a set of rules associated with each available device or embedded application. In one embodiment, a host application is identified. A nature of the host application may be determined. The set of rules may be generated based on the host application and/or the nature of the host application. In one embodiment, a host device is identified. The set of rules may be generated based on the host device and/or the nature of the host device.
For example, if the entry point of the search interaction is identified as INTERNET EXPLORER, the nature of the host application may be determined as browsing websites. A set of rules may prioritize the result set according to items specified by the user within the application such as typed URL, favorites (e.g., INTERNET EXPLORER favorites), browser history, domain suggestion, and search suggestion (i.e., as provided by remote data source). Thus, rather than merely providing an unpersonalized set of entity identifications as provided by a remote service, the result set can be tailored to the user taking into account personalized settings and preferences within the application and/or device itself. As can be appreciated, the rules may also identify and prioritize tasks related to applications installed on or functionalities provided by the device.
At block 2920, the result set is provided to the user. The result set includes an aggregated intent preview comprising metadata corresponding to one or more entities associated with at least one of the one or more entity identifications. The result set allows the user to further refine the search without actually executing the search by interacting further with the entity identifications provided in the result set. In one embodiment, a refinement request is received from the user. The refinement request comprises an indication that the user has selected an item of metadata associated with the one or more entities. The item of metadata corresponds to a subentity. In one embodiment, a refined intent preview comprises metadata corresponding to the subentity, allowing the user to further refine or execute the search.
As can be understood, embodiments of the present invention provide systems, methods, and computer-readable storage media for, among other things, non-committal intent preview, disambiguation, and refinement of a search. A search prefix comprising one or more characters associated with an unexecuted search query may be received. One or more intent suggestions may be suggested to a user. For each of the one or more intent suggestions, one or more entity identifications associated with each of the one or more intent suggestions may be received. Metadata corresponding to at least one entity associated with the one or more entity identifications may be retrieved from an entity data store. Without retrieving search results for the unexecuted search query, an aggregated intent preview based on the retrieved metadata corresponding to the at least one entity may be provided.
The present invention has been described in relation to particular embodiments, which are intended in all respects to be illustrative rather than restrictive. Alternative embodiments will become apparent to those of ordinary skill in the art to which the present invention pertains without departing from its scope.
While the invention is susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the invention to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of the invention.
It will be understood by those of ordinary skill in the art that the order of steps shown in methods 200 of
Number | Date | Country | Kind |
---|---|---|---|
PCT/CN2013/072599 | Mar 2013 | CN | national |
This patent application is a continuation-in-part of and claims priority to International Application No. PCT/CN2013/072599 (Attorney Docket No. 338258.01/MFCP.179914), filed Mar. 14, 2013, which is incorporated herein by reference in the entirety.