US20120265784A1 - Ordering semantic query formulation suggestions - Google Patents
Ordering semantic query formulation suggestions Download PDFInfo
- Publication number
- US20120265784A1 US20120265784A1 US13/167,007 US201113167007A US2012265784A1 US 20120265784 A1 US20120265784 A1 US 20120265784A1 US 201113167007 A US201113167007 A US 201113167007A US 2012265784 A1 US2012265784 A1 US 2012265784A1
- Authority
- US
- United States
- Prior art keywords
- attribute
- semantic
- query
- suggestions
- identifying
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
Definitions
- search engines provide the user with an empty search box into which a user may input a search query and interact with the search system.
- search queries provided by users do not always accurately reflect the user's actual intent.
- search engines are capable of assisting users in completing search queries, e.g., by providing query completion suggestions, such query completion suggestions are typically generated based solely upon search queries that have been submitted in the past, such as the most popular search queries that begin with the alphanumeric characters with which the user begins their query. As such, if a user begins entering the search query “wate,” query completion suggestions may include “water for elephants,” “water fountain,” “water cycle,” “watergate,” etc.
- the suggestions provided to the user may not reflect what the user is actually intending to search for as they are based solely on prior queries input by a collective group of users, and do not include unseen queries or queries that are seldom entered, but that may be what the user is intending to search for.
- users have little, if any, knowledge about what information the search system may have available with regard to answering the task they have in mind. As such, the search system may not return satisfactory results to the user due, at least in part, to the system's failure to understand or disambiguate the user's actual intent, and to match the user's intent with useful information.
- Embodiments of the present invention relate to ordering or ranking semantically-identified query formulation suggestions.
- Semantic query patterns are identified for a plurality of search queries and a weight is identified for each. Also identified are a plurality of semantic categories, and each also has a weight identified therefore. Additionally, terms or phrases commonly associated with the semantic categories are identified, as are semantic attributes as they pertain to the semantic categories. Semantic attribute patterns and respective weights therefore are then identified.
- a text-parser is then generated or customized from the semantic query patterns and respective weights, the semantic category terms, and the semantic attribute patterns and respective weights, the text-parser for use in parsing input user queries or portions thereof.
- the text-parser When a user search query is received, the text-parser is applied to determine at least one likely attribute, attribute value, term commonly associated with a semantic category, or a combination thereof and the determined attribute/attribute value/term is transmitted for presentation with an order or ranking representative of the respective calculated weights.
- FIG. 1 is a block diagram of an exemplary computing environment suitable for use in implementing embodiments of the present invention
- FIG. 2 is a block diagram of an exemplary system in which embodiments of the invention may be employed
- FIGS. 3-26 depict exemplary screen displays of graphical user interfaces, in accordance with various embodiments of the present invention.
- FIGS. 27-31 illustrate flow diagrams of methods for identifying query formulation suggestions in response to receiving search queries, in accordance with embodiments of the present invention.
- FIG. 32 illustrates a block diagram of an exemplary system in which embodiments of the invention may be employed.
- Embodiments of the present invention provide for systems, methods and computer-storage media having computer-usable instructions embodied thereon, for building, linking, and exposing semantic knowledge of a search system or systems (e.g., query logs, facets, relationships of entities from structured and unstructured data, contextual signals, and the like) to assist users in query formulation and intent disambiguation.
- a search system or systems e.g., query logs, facets, relationships of entities from structured and unstructured data, contextual signals, and the like
- Embodiments of the invention may expose never-seen queries and provide better user-intent signals to the system. Such signals lead to selection and presentation of better and more relevant search results.
- the present invention is directed to a method performed by a computing device having a processor and a memory for identifying query formulation suggestions in response to receiving a search query.
- the method includes receiving at least a portion of the search query and identifying one or more query formulation suggestions by semantically analyzing the at least the portion of the search query.
- the one or more query formulation suggestions comprise semantic-pattern-based query suggestions that are derived from semantic query patterns and at least one of one or more entities or information associated with the one or more entities.
- the method further includes transmitting the one or more query formulation suggestions for presentation.
- the invention is directed to a system comprising a processor and a memory for identifying query formulation suggestions in response to receiving a search query.
- the system includes a receiving component, a semantic analyzing component and a transmitting component.
- the receiving component receives at least a portion of a search query.
- the semantic analyzing component semantically analyzes the at least the portion of the search query to identify one or more query formulation suggestions that comprise semantic-pattern-based query suggestions that are derived from semantic query patterns and at least one of one or more entities or information associated with the one or more entities.
- the transmitting component transmits the one or more query formulation suggestions for presentation.
- a further embodiment of the invention is directed to one or more computer-storage media storing computer-useable instructions that, when used by a computing device, cause the computing device to perform a method for identifying query formulation suggestions in response to receiving a search query.
- the method includes receiving at least a portion of the search query and, contemporaneous to a formulation of the at least the portion of the search query, identifying one or more query formulation suggestions by semantically analyzing the at least the portion of the search query.
- the one or more query formulation suggestions comprise query-log-based query suggestions and semantic-pattern-based query suggestions that are derived from semantic query patterns and at least one of one or more entities or information associated with the one or more entities.
- the information comprises one or more attributes and one or more attribute values.
- the method further includes transmitting the query formulation suggestions for presentation, wherein the query formulation suggestions are configured to be selectable by a user to formulate the search query. Still further, the method includes receiving a user selection of one of the query formulation suggestions, and modifying the at least the portion of the search query according to the selected query formulation suggestion.
- Yet another embodiment of the invention is directed to a method performed by a computing device having a processor and memory for identifying query formulation suggestions.
- the method includes receiving at least a portion of a search query and identifying one or more semantic-pattern-based query suggestions by semantically analyzing the at least the portion of the search query.
- the one or more semantic-pattern-based query suggestions are derived from semantic query patterns, one or more entities, and information associated with the one or more entities, and the information includes attributes and attribute values such that the one or more entities are used to identify the one or more semantic-pattern-based query suggestions.
- the method further includes identifying a set of the query formulation suggestions to transmit for presentation, and transmitting the set of query formulation suggestions for presentation.
- the one or more query formulation suggestions are configured to be selectable by a user to formulate the search query.
- the invention is directed to one or more computer-storage media storing computer-useable instructions that, when used by a computing device, cause the computing device to perform a method for identifying query formulation suggestions.
- the method includes receiving at least a portion of a search query and semantically analyzing the at least the portion of the search query to identify one or more semantic-pattern-based query suggestions that are generated by at least one of semantic query patterns, one or more entities, and information associated with the one or more entities.
- the method further includes transmitting the one or more semantic-pattern-based query suggestions for presentation.
- the one or more semantic-pattern-based query suggestions being configured to be selectable by a user to formulate the search query.
- the method includes receiving a user selection of one of the one or more semantic-pattern-based query suggestions.
- the method additionally includes modifying the at least the portion of the search query based on the selected semantic-pattern-based query suggestion. Further, the method includes updating a set of search results based on the modified search query.
- the invention is directed to a user interface embodied on one or more computer-storage media, the user interface for presenting query formulation suggestions.
- the user interface includes a query display area, an attribute suggestion presenting area and an attribute value suggestion presenting area.
- the query display area is configured for displaying at least a portion of a search query received from a user, wherein the at least the portion of the search query is semantically analyzed to identify one or more semantic-pattern-based query suggestions by semantically analyzing the at least the portion of the search query, and wherein the one or more semantic-pattern-based query suggestions includes at least one of one or more entities, one or more attributes, or one or more attribute values.
- the attribute suggestion presenting area is configured for presenting a list of attributes as query formulation suggestions, each attribute in the list of attributes being associated with at least one of the one or more entities.
- the attribute value suggestion presenting area is configured for presenting a list of attribute values as the query formulation suggestions upon receiving a user selection of one of the attributes, each attribute value in the list of attribute values being associated with the selected attribute.
- the attribute value suggestion presenting area is arranged relative to the attribute suggestion presenting area such that the attribute values associated with a particular one of the attributes are presented in proximal association with their respective corresponding attributes.
- the invention is directed to one or more computer-storage media storing computer-useable instructions that, when used by a computing device, cause the computing device to perform a method for generating query formulation suggestions.
- the method includes receiving a plurality of search queries from a query log, each of the plurality of search queries being associated with a respective set of matching entities, and identifying at least one semantic query pattern from the plurality of search queries.
- the method further includes identifying a weight for each identified semantic query pattern; identifying a plurality of semantic categories from an entity database, each of the plurality of semantic categories being associated with a respective set of entities; identifying at least one term or phrase (e.g, an n-gram) commonly associated with at least one of the semantic categories; identifying a plurality of semantic attributes as they pertain to the plurality of semantic categories; identifying at least one semantic attribute pattern from the plurality of semantic attributes; identifying a weight for each identified semantic attribute pattern; and generating a text-parser from the at least one semantic query pattern and respective weights, the at least one semantic category term or phrase and respective weights, and the at least one semantic attribute patterns and respective weights.
- the text parser is configured for use in parsing input user queries or portions thereof.
- FIG. 1 an exemplary operating environment for implementing embodiments of the present invention is shown and designated generally as computing device 100 .
- the computing device 100 is but one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing device 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated.
- Embodiments of the invention may be described in the general context of computer code or machine-useable instructions, including 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.
- program modules including routines, programs, objects, components, data structures, etc., refer to code that performs particular tasks or implement particular abstract data types.
- Embodiments of the invention may be practiced in a variety of system configurations, including handheld 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.
- the computing device 100 includes a bus 110 that directly or indirectly couples the following devices: memory 112 , one or more processors 114 , one or more presentation components 116 , input/output (I/O) ports 118 , I/O components 120 , and an illustrative power supply 122 .
- the bus 110 represents what may be one or more busses (such as an address bus, data bus, or combination thereof).
- busses such as an address bus, data bus, or combination thereof.
- FIG. 1 is merely illustrative of an exemplary computing device that can be used in connection with one or more embodiments of the present invention. Distinction is not made between such categories as “workstation,” “server,” “laptop,” “handheld device,” etc., as all are contemplated within the scope of FIG. 1 and reference to “computing device.”
- the computing device 100 typically includes a variety of computer-readable media.
- Computer-readable media can be any available media that can be accessed by the computing device 100 and includes both volatile and nonvolatile media, removable and non-removable media.
- Computer-readable media may comprise computer-storage media and communication media.
- Computer-storage media includes both 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 the computing device 100 .
- Communication media typically 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.
- 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.
- 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 I/O components 120 .
- 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, etc.
- the I/O ports 118 allow the computing device 100 to be logically coupled to other devices including I/O components 120 , some of which may be built in.
- I/O components 120 include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, and the like.
- FIG. 2 a block diagram is provided illustrating an exemplary computing system environment 200 suitable for use in implementing embodiments of the present invention.
- the computing system environment 200 shown in FIG. 2 is merely an example of one suitable computing system environment and is not intended to suggest any limitation as to the scope of use or functionality of embodiments of the present invention. Neither should the computing system environment 200 be interpreted as having any dependency or requirement related to any single module/component or combination of modules/components illustrated therein.
- the system 200 includes a user device 202 , a search engine 204 , an entity store 206 and a semantic suggestion generator 208 , all in communication with one another through a network 210 .
- the network 210 may include, without limitation, one or more local area networks (LANs) and/or wide area networks (WANs). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet. Accordingly, the network 210 is not further described herein.
- LANs local area networks
- WANs wide area networks
- 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 integrated directly into other components. It will be understood by those of ordinary skill in the art that the components/modules illustrated in FIG. 2 are exemplary in nature and in number and should not be construed as limiting. Any number of components/modules may be employed to achieve the desired functionality within the scope of embodiments hereof. Further, components/modules may be located on any number of servers, search engine computing devices, or the like. By way of example only, the semantic suggestion generator 208 might reside on a server, cluster of servers, or a computing device remote from one or more of the remaining components.
- the entity store 206 is configured to store various types of information used by the semantic suggestion generator 208 to identify query formulation suggestions based on a semantic analysis of at least the portion of the search query entered by the user.
- the type of information stored in the entity store 206 may include, for example, entities, categories, attributes, and attribute values, as more fully described below. More specifically, in various embodiments, the information stored in the entity store 206 may include, without limitation, entities or items (e.g., products available for commerce, locations, people, companies, organizations, and the like), categories to which such entities may correspond, attributes associated with the entities, and attribute values associated with the entities as they pertain to particular attributes thereof.
- the information in the entity store 206 may also include common queries that previously have been issued or submitted to the search engine 204 , in addition to popular or frequently selected interpretations.
- common queries may be stored in a query log such that the query log may be accessed to identify common queries.
- the information stored in the entity store 206 may be used as query formulation suggestions.
- Query formulation suggestions refer to information that can be used to discover a user's true intent by assisting the user to formulate a query, for instance, by expanding upon or clarifying a partial query that has been entered by the user.
- query formulation suggestions are first presented prior to the determination and/or presentation of any search results determined to satisfy the query (or partial query).
- search results may be determined and presented when an input search query, or portion thereof, reaches a semantic boundary. As such, if a partial search query is entered, query formulation suggestions may be presented before search results are even identified.
- query formulation suggestions may be determined and presented.
- One or more different or updated query formulation suggestions may then be presented based on the modified search query.
- query formulation suggestions differ from search results not only in content (although in some instances the content may be substantially similar), but also in their use upon user selection thereof. Selection and use of query formulation suggestions is more fully described below.
- Query formulation suggestions may include various types of suggestions for formulating queries including, by way of example and not limitation, query-log-based query suggestions, semantic-pattern-based query suggestions (e.g., template-based query suggestions), categories associated with a search query, attributes associated with one or more identified entities, and attribute values associated with one or more identified entities. It should be noted that query formulation suggestions are generally identified, presented, and selected contemporaneously with query formulation, not post-query submission.
- “Query-log-based query suggestions” are suggestions that attempt to aid the user in formulation of a search query by providing the user with the most popular previously-submitted search queries identified from a query log that correspond to the character sequence entered into the search box at a particular instance.
- “Semantic-pattern-based query suggestions,” on the other hand, refer to query formulation suggestions that are generated from semantic query patterns (e.g., templates).
- a database of semantic query patterns such as “ ⁇ brand>camera,” as more fully described below
- a database or entity store 206 may be used.
- semantic-pattern-based query suggestions are compared to entities stored in the entity store 206 .
- a particular semantic-pattern-based query suggestion is not found in the entity store 206 , it is not returned to the user as a query suggestion, as it may not exist (e.g., such as a particular product that does not exist), or at least it does not match with the known information in the entity store 206 . But if it is found, it may be returned to the user, as further discussed herein.
- Semantic-pattern-based query suggestions may be presented to the user in much the same way as query-log-based query suggestions.
- Entities are items having known information (e.g., categories, attributes, and attribute values) associated therewith that is organized and stored in the entity store 206 . In some instances, entities have associated categories, but in another instances they do not. “Categories,” “attributes” and “attribute values,” as these terms are utilized herein, represent various hierarchical characteristics of entities and are useful in filtering or formulating received search queries (or portions thereof) for providing a user with as accurate an answer to a particular query as possible.
- entities may also include other items that are not considered “products.”
- entities may include a particular product, a business, an organization, a person, or the like.
- an entity may be a specific location that has associated categories, attributes, and attribute values from which the user may select to formulate the search query.
- the definition of an entity, as used herein, is not meant to be limiting, but may apply to many things that are potentially capable of having associated hierarchical characteristics.
- “rolex” may be identified as a potential query formulation suggestion by either identifying it as a query-log-based query suggestion or as a semantic-pattern-based query suggestion.
- “rolex” may be identified as a brand of watches, or may be a popular query, and may also correspond to one or more entities found in the entity index 206 .
- the entity “rolex” may be associated with the category “watches,” and such category may be returned to the user as a suggested category that may then be utilized to further formulate the user's search.
- the search query formulation suggestion “facebook” may correspond to one or more entities in the entity store 206 .
- the entities may include associated categories, such as “Web,” such that an entered search query for “facebo” may return “Web” as a suggested category. This provides the user with an indication as to how the portion of the entered search query has been interpreted.
- a received search query may be identical or substantially similar to an identified category.
- the search query “digital cameras” may result in a plurality of entities having a category “digital cameras.” While this would not in and of itself necessarily help in refining the user's search, armed with the knowledge that the category matches the intent of the user's search, various lower level hierarchical characteristics, e.g., attributes and attribute values, associated with the identified entity may be suggested to the user as possible query formulation suggestions.
- attributes and attribute values associated with the identified entity may be suggested to the user as possible query formulation suggestions.
- the alphanumeric characters “digital slr” as a portion of a search query into the search query input area.
- the system of embodiments of the present invention may access the entity store 206 to determine one or more entities corresponding to the query “digital slr.” Since there are several models of cameras that are SLR, there are likely several entities, if not hundreds of entities, that may be identified. The category in this instance may be “digital cameras.” The previous description of categories may apply to even those situations where the query is not substantially similar to a stored category.
- the entity store 206 is configured to be searchable for one or more of the items stored in association therewith. It will be understood and appreciated by those of ordinary skill in the art that the information stored in association with the entity store 206 may be configurable and may include any information relevant to entities, categorizations of entities, characteristics of entities, and the like. The content and volume of such information are not intended to limit the scope of embodiments of the present invention in any way. Further, though illustrated as a single, independent component, the entity store 206 may, in fact, be a plurality of storage devices, for instance, a database cluster, portions of which may reside on the semantic suggestion generator 208 , another external computing device (not shown), and/or any combination thereof.
- the entity store 206 is configured to store attributes for entities as they pertain to particular categories. Attributes are characteristics of the entities belonging to a particular category that may be suggested to a user to further describe or refine the user's intent upon entering a search query. For example, attributes for the entity “Canon PowerShot SX30” may be associated with the category “digital cameras.” The entity “Canon PowerShot SX30,” by way of example only, may be associated with the attributes “megapixels,” “color,” “zoom,” “lens,” “viewfinder type,” “image stabilization,” “brand,” “type,” “model,” and the like. These attributes may be used to further refine a search query for “Canon cameras,” for example, to aid in discovering the user's true intent.
- the entity store 206 also is configured to store attribute values as they pertain to particular entities and associated attributes. For instance, for the attribute “color” associated with the entity “Canon PowerShot SX30,” attribute values may include, for instance, “black,” “blue,” “red,” “silver,” etc.
- Attribute values may be suggested to the user as query formulation suggestions to aid in further describing or refining the user's intent upon receiving a search query. This effectively blends browsing and searching experiences of web scale databases.
- attributes and attribute values are dependent upon the particular entity with which they are associated, and also are dependent upon the current state of the search query. For instance, if the search query already has a color specified, the attribute “color” may not even be presented to the user. Similarly, if the user has specified in the search query or has already selected an attribute value of “Canon,” the system may not present the attribute of “brand” to the user.
- embodiments of the present invention may also be used in the context of related search, related categories, related concepts, etc.
- alternative categories may be displayed for the user in addition to the best category associated with the entities that correspond to the search query. These alternative categories can be selected by the user if the user is not satisfied with the category chosen by the system. This functionality is further described below.
- each of the user device 202 , the search engine 204 and the semantic suggestion generator 208 may be any type of computing device, such as computing device 100 described with reference to FIG. 1 , for example.
- the components may communicate with each other via a network 210 , which may include, without limitation, one or more local area networks (LANs) and/or wide area networks (WANs).
- LANs local area networks
- WANs wide area networks
- Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.
- any number of user devices, segments, and hybrid-distribution system servers may be employed within the system 200 within the scope of the present invention.
- Each may comprise a single device or multiple devices cooperating in a distributed environment.
- the search engine 204 may comprise multiple devices arranged in a distributed environment that collectively provide the functionality of the search engine 204 described herein. Additionally, other components not shown may also be included within the system 200 , while components shown in FIG. 2 may be omitted in some embodiments.
- the user device 202 may be any type of computing device owned and/or operated by an end user that can access the network 210 .
- the user device 202 may be a desktop computer, a laptop computer, a tablet computer, a mobile device, or any other device having network access.
- an end user may employ the user device 202 to, among other things, access electronic documents by submitting a search query to the search engine 204 .
- the end user may employ a web browser on the user device 202 to access and view electronic documents stored in the system 200 .
- the user additionally may be able to interact with the user device 202 by selecting an attribute and an attribute value, which further refines an input search query, as more fully described below.
- While the user device 202 has been described as communicating by way of the network 210 , embodiments of the present invention may also be used locally on a device, such as to improve desktop search, email search, or application search on Smartphone, and as such a network, such as the network 210 , may not be required.
- the search engine 204 may comprise multiple components that are responsible for receiving an entered search query and identifying one or more documents that are relevant to that particular search query.
- multiple sets of relevant documents may be presented to the user over the course of time from when the search query is first entered, to when a satisfactory response is received by the user through search query formulations utilizing attributes, attribute values, and the like.
- the search engine 204 and the semantic suggestion generator 208 in one embodiment, are generally in communication with one in another while a particular search query is being developed or completed. In an alternative embodiment, the search engine 204 and the semantic suggestion generator 208 are not associated with each other.
- the search results are updated in one embodiment.
- the search engine 204 may utilize one or more search indexes that have indexed documents from the web so that the most relevant search results can be identified in an efficient manner.
- the search engine may provide results from semi-structured databases based on the semantic constraints specified in the query.
- search results are updated when a semantic boundary is reached, such as when a term in the search box has been completed. This may occur when a new term has been added to the search query by either user input or by a user selection of a query formulation suggestion, which causes the search query to be modified according to the selected query formulation suggestion.
- the semantic suggestion generator 208 includes a receiving component 212 , a semantic pattern identifying component 214 , a constraint index 216 , a category identifying component 218 , an attribute identifying component 220 , an attribute value identifying component 222 , a query formulation suggestion generating component 224 , a transmitting component 226 , and a semantic analyzing component 228 .
- the components 212 , 214 , 216 , 218 , 220 , 222 , 224 , 226 , and 228 may be implemented as stand-alone applications.
- one or more of the components 212 , 214 , 216 , 218 , 220 , 222 , 224 , 226 , and 228 may be integrated directly into the operating system of a computing device such as the computing device 100 of FIG. 1 .
- a computing device such as the computing device 100 of FIG. 1 .
- the components 212 , 214 , 216 , 218 , 220 , 222 , 224 , 226 , and 228 illustrated in FIG. 2 are exemplary in nature and in number and should not be construed as limiting. Any number of components may be employed to achieve the desired functionality within the scope of embodiments hereof.
- Additional components of the semantic suggestion generator 208 may include, without limitation, a processing unit, internal system memory, and a suitable system bus for coupling various system components, including one or more data stores for storing information (e.g., files and metadata associated therewith).
- the semantic suggestion generator 208 typically includes, or has access to, a variety of computer-readable media.
- computer-readable media may include computer-storage media and communication media.
- communication media enables each computing device to exchange data via a network, e.g., network 210 . More specifically, communication media may embody 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 may include any information-delivery media.
- modulated data signal refers to a signal that has one or more of its attributes set or changed in such a manner as to encode information in the signal.
- 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 also may be included within the scope of computer-readable media.
- computing system environment 200 is merely exemplary. While the semantic suggestion generator 208 is illustrated as a single unit, one skilled in the art will appreciate that the semantic suggestion generator 208 is scalable. For example, the semantic suggestion generator 208 may in actuality include a plurality of computing devices in communication with one another. Moreover, the entity store 206 , or portions thereof, may be included within, for instance, the semantic suggestion generator 208 , a Website source, or a third-party service as a computer-storage medium.
- the single unit depictions are meant for clarity, not to limit the scope of embodiments in any form.
- the receiving component 212 is configured to receive search queries, or portions thereof, input by users (e.g., users of user device 202 ). Such information may be received in real-time upon entry by a user. Search queries may also be received by the receiving component 212 from one or more query logs having historical query information included therein for one or both of a particular user and a group of users as a whole. Received search queries, or portions thereof, may be semantically analyzed, as further described herein, to identify one or more query formulation suggestions to present to the user as suggestions for formulating the current search query. Semantically analyzing at least a portion of a search query comprises hypothesizing the user intended task or category and extracting specified attribute values by tagging words in the query with their attributes.
- Query formulation suggestions may be generated, in one instance, using templates associated with queries, attributes, categories, attribute values, etc.
- the receiving component 212 is additionally configured to receive information from the entity store 206 .
- the receiving component 212 is further configured to receive indications of user selections of query formulation suggestions. Such indications may be received, by way of example only, from user device 202 .
- the semantic pattern identifying component 214 is configured to identify semantic patterns associated with queries, categories, attributes and attribute values. In embodiments, the semantic pattern identifying component 214 identifies key terms/phrases commonly associated with categories corresponding to particular entities. As mentioned, semantic patterns are similar to templates, in that at least a portion of a semantic query pattern identifies a particular category or attribute that is filled in based on the received search query. Templates may be stored in a semantic grammar index, for instance, as shown herein in FIG. 32 .
- semantic query patterns may be identified algorithmically from information stored in query logs and/or the entity store 206 .
- Semantic query patterns that is, linguistic patterns contained in received queries, will vary among languages and are determined based upon knowledge of how particular entities are commonly phrased in the language in which a search query is received.
- semantic query patterns of interest may be identified manually via editorial intervention.
- weights or probabilities also may be determined by the semantic pattern identifying component 214 . In embodiments, such weights may be determined based upon one or both of availability and interest. In terms of availability, the semantic pattern identifying component 214 may examine the data contained in the entity store 206 and estimate how frequently particular items or entities are likely to occur. For instance, in a commerce setting, the semantic pattern identifying component 214 may examine the data on product availability that is contained in the entity store 206 and estimate how frequently each entity is likely to be offered or available. The more frequently a particular entity will be offered or available, the higher the probability or weight assigned to that entity will be.
- the semantic pattern identifying component 214 may examine input user queries and/or user-behavior with respect to the entities stored in association with the entity store 206 , and generate a weight that represents relative user interest in a particular entity. For instance, in the commerce setting, the semantic pattern identifying component 214 may examine user queries and/or behavior with respect to a particular product and estimate the relative interest of users in that product. Products with higher user interest will then be assigned a higher probability or weight. In embodiments wherein both availability and interest are utilized to determine weights or probabilities of given entities/items, a single weight representing some combination of the availability weight and the user interest weight may be determined.
- semantic attribute value patterns may be identified algorithmically from information stored in query logs and/or the entity store 206 .
- Semantic attribute value patterns that is, linguistic patterns contained in attribute values, will vary among languages and are determined based upon knowledge of how particular entities are commonly phrased in the language in which an attribute value is identified. Alternatively or additionally, for instance in situations where standard language-specific linguistic patterns are unable to be identified or clearly are not followed, semantic attribute value patterns of interest may be identified manually via editorial intervention.
- the constraint index 216 is configured to extract entities from the entity store 206 with their respective categories, attributes, attribute values and corresponding weights and to determine unreasonable semantic patterns for each entity—that is, to determine semantic patterns that are illogical or are highly unlikely. Thus, if a particular category is rarely in the entity store 206 associated with an entity having a particular attribute, that category/attribute pair would be determined to be illogical for the particular entity. More commonly, constraints among attributes within a particular category may be applied such that the term “Microsoft PlayStation” is not suggested because the brand “Microsoft” and the product “PlayStation” are incompatible. The constraint index 216 may be utilized to filter query formulation suggestions, which will be discussed further herein.
- the constraint index 216 also filters semantic patterns identified by the semantic pattern identifying component 214 if an attribute is inconsistent with currently specified constraints. This functionality is more fully described below.
- the constraint index 216 is further configured to build a compressed binary representation of the extracted data.
- the constraint index 216 is configured to build a compressed binary entity index that allows the semantic suggestion generator 208 to efficiently determine the top attributes and attribute values matching a given set of constraints in a particular category and an optional prefix, along with their weights. In this way, hypotheses that cannot be true can be quickly eliminated leading to increased efficiency in arriving at suggestions to aid in determining user intent. For instance, if the user is searching a directory that is organized alphabetically and the user inputs the character “a,” the compressed binary entity index can quickly filter the directory and eliminate all items not beginning with the character “a.”
- the category identifying component 218 is configured to identify the top category associated with a query. In embodiments, the category identifying component 218 is further configured to identify one or more categories that are related to the query, but that may not have been initially selected as the category thought to be most relevant to the search query. In embodiment, categories are stored in the entity store 206 in relation to their associated entities. In some embodiments, an entity may not have an associated category, and as such a category is not displayed on the user interface.
- the attribute identifying component 220 is configured to identify at least one attribute associated with an entity. Attributes, as used herein, classify different attributes associated with an entity, and are specific to the entity to which they correspond. For instance, one entity may be associated with a particular attribute, but that attribute may not be associated with a different entity. In embodiments the attribute identifying component 220 is further configured to identify one or more attributes that are related to the entity, but that may have not been identified as one of the most relevant attributes. Further, the attribute value identifying component 222 is configured to identify at least one attribute value associated with an entity. Attribute values, as used herein, are values that correspond directly to the attribute and entity to which they correspond.
- attribute value identifying component 222 is further configured to identify one or more attribute values that are related to the entity but may not have been identified as one of the most relevant attributes.
- the query formulation suggestion generating component 224 given a search query (or portion thereof), is configured to construct a lattice of possible interpretations of the input query (or query portion).
- the lattice is dynamically composed utilizing the semantic patterns identified by the semantic pattern identifying component 214 and applying a search algorithm (for instance, the A* search algorithm well known to those of ordinary skill in the art) to find the search query completion path or paths that represent the most likely intent of the user while preserving the constraints imposed by the constraint index 216 .
- search algorithm for instance, the A* search algorithm well known to those of ordinary skill in the art
- These types of algorithms can also find extensions of a partial inputted search query.
- Those completion paths (refined queries) identified as most likely intended by the user are those that are identified as having the highest overall weights, that is, the highest probabilities.
- the transmitting component 226 is configured to transmit query formulation suggestions, which may take the form of query-log-based query suggestions, semantic-pattern-based query suggestions, entities, categories, attributes, attribute values, or the like for presentation.
- query formulation suggestions may take the form of query-log-based query suggestions, semantic-pattern-based query suggestions, entities, categories, attributes, attribute values, or the like for presentation.
- the query “digital ca” may result in a query-log-based query suggestion of “digital camera.”
- the query “canon in ca.” may result in a category completion (e.g., query formulation suggestion) of “canon in cameras.”
- the query “cameras by br” may result in the attribute completion (e.g., query formulation suggestion) of “cameras by brand.”
- the query “cameras by can” may result in an attribute value completion (e.g., query formulation suggestion) of “cameras by canon.”
- the semantic analyzing component 228 is configured to semantically analyze a received search query, or a portion thereof in order to identify the most relevant query formulation suggestions based on the received search query.
- algorithms are used to semantically analyze search queries.
- semantic-pattern-based query suggestions are derived using semantic query patterns and the entity store. For instance, semantic-pattern-based query suggestions may be compared to known entities in the entity store prior to being transmitted for presentation. For example, for the partial query “canon ca,” the system searches through query records, query/attribute templates, category, etc. to find possible completions of the query that are also consistent with the known information in the entity store 206 .
- Possible semantic-pattern-based query suggestions may include, for exemplary purposes only, “canon camera” and “canon car stereos.”
- multiple query templates are stored for different categories that match the same query.
- the partial query “can” may be completed to “canon” using the template “ ⁇ brand>” in both the “digital camera” and “printers” category.
- the system may further identify query formulation suggestions for that particular completion about which the system has a high degree of confidence. For example, if the system knows that “canon camer” completes to “canon camera” with a high probability, query formulation suggestions such as “canon camera by resolution,” “canon camera by color,” etc., may be presented to the user. Even if the user enters “canon camera,” the system may still first try to complete the query before suggestion query formulation suggestions.
- the semantic suggestion generator 208 is configured to construct a trie from one or more query logs, each query being annotated with its top weighted interpretations. Then, given a partial query, the semantic suggestion generator 208 is able to locate the top weighted completion paths from the trie and transmit them for presentation as query formulation suggestions. In instances wherein not enough suggestions are determined to qualify as “top” suggestions, for instance where a minimum threshold number of query formulation suggestions is desired, additional query formulation suggestions may be identified by the query formulation suggestion generating component 224 (even though they may not meet a minimum desired threshold weight, for instance).
- any semantically duplicate suggestions may be eliminated. Because a trie structure is utilized, if a category/attribute/attribute value suggestion is the semantic prefix of one or more remaining suggestions, an attribute extension suggestion may be inserted below such category/attribute/attribute value suggestion upon presentation.
- the semantic suggestion generator 208 may render query trie suggestions with multiple interpretations as an annotated query with disambiguation information. These embodiments are more fully described below with reference to the screen displays of FIGS. 3-26 .
- a search box 310 is the area on the user interface where the user enters a search query.
- the query “digital camera” 311 has been entered by a user into the search box 310 .
- a database such as the entity store 206 illustrated in FIG. 2 , is accessed to first determine if one or more entities correspond to the received search query. If so, the system identifies a category associated with the one or more entities.
- more than one category is identified such that one category is identified as the most relevant or best category, and the others may be displayed on the search results page as alternate or related categories.
- the identified category 313 is displayed in a different portion of the search box, such as the category display area. This may be called the category display area.
- the category may be displayed in a number of locations on the user interface 300 , but is shown in this location for exemplary purposes only.
- a search button 314 is illustrated, and allows the user to indicate that he or she would like the search to initiate.
- a suggestion area 315 displays query formulation suggestions.
- the query formulation suggestions comprise a list of attribute suggestions 316 that are identified as being relevant to the matching entities.
- the attribute suggestions 316 include “brand,” “megapixels,” “color,” “zoom,” “lens,” “viewfinder type,” “image stabilization,” and “type.” Additional attribute suggestions, if there are any, may be viewed by using the up and down arrows 317 .
- a user may select an attribute, which can assist the user in further defining the user's search query.
- search results 318 are displayed for the user.
- the attribute suggestions are stored in a database and are organized based the entities to which they correspond.
- FIG. 4 illustrates another screen display of a user interface 400 , in accordance with an embodiment of the present invention.
- FIG. 4 illustrates a search box 410 with a search query 412 entered, which, here, is “digital camera.”
- query formulation suggestions which comprises both query completion suggestions 414 and query formulation suggestions, which here comprises attribute suggestions 416 , are displayed in the suggestion area, which blends these two user experiences together.
- the user may be intending to look for digital camera reviews, which is a popular query suggestion, or may be looking for a specific type of digital camera, in which case the user may utilize the attribute suggestions 416 .
- the search box 510 includes a search query 511 of “digital camera brand.”
- the user has made a selection of “brand” attribute 518 out of the attribute suggestions 516 displayed in the suggestion area 513 .
- “Brand” is not actually added to the search query, but acts as a placeholder for an attribute value that may be selected by the user.
- Query completion suggestions 514 which are suggestions that may have already been entered into the search engine by other users (e.g., popular search queries) are also displayed in this embodiment.
- a user selection of an attribute may take many forms, including a mouse click, hovering over the selection, selecting the “enter” key on a keyboard, a user's touch on a touchscreen, gestures, or the like. For instance, a user may simply hover over the “brand” attribute 518 .
- a list of attribute value suggestions 522 may be displayed in the suggestion area 520 .
- the attribute value suggestions 522 listed are brands that manufacture digital cameras.
- attribute value suggestions associated with the selected attribute value can be identified from a database and displayed for user selection.
- the suggestion area 520 may be divided into two or more areas, most notably an attribute display area for displaying a list of attribute suggestions and an attribute value display area for displaying a list of attribute value suggestions.
- the user may also select/filter these suggestions by typing or otherwise entering the name/template of the query formulation suggestion directly. For instance, the user may type “canon camera by res” or “canon camera 10 megap.” In such instances, query completion suggestions may be presented that attempt to complete the attribute or value.
- query completion suggestions may be presented that attempt to complete the attribute or value.
- there may be multiple query completion suggestions such a scenario. For instance, a partial query of “canon camera b” may result in the query completion suggestions of, for example, “canon camera black,” “canon camera blue,” etc.
- There may also be additional query completion suggestions from previously seen queries e.g., popular queries), such as “canon camera bag.”
- FIG. 6 illustrates another screen display of a user interface 600 , in accordance with an embodiment of the present invention.
- the user has now selected a particular brand from the list of attribute value suggestions 614 .
- the user has selected the “Nikon” attribute value 612 .
- the user selection of an attribute may take on one of many forms of selection, including a mouse click, hovering over the name, pressing the “enter” key, etc.
- the search query 610 is further defined to now include “Nikon,” and is now “digital camera Nikon.” At this point, a semantic boundary has been reached.
- the previous search results displayed for the search query “digital camera” may be updated to include the most relevant search results for “digital camera Nikon.”
- “Sony” instead of “Nikon”
- “Sony” would have been added to the search query, thus further defining the user's actual intent.
- FIG. 7 illustrates another screen display of a user interface 700 , in accordance with an embodiment of the present invention.
- the search query 710 is now “digital camera Nikon.”
- Displayed the suggestion area 712 is a list of query completion suggestions 714 and a list of query formulation suggestions, which here is a list of attribute suggestions 716 .
- the list of attribute suggestions 716 has changed since the last viewing of this list in FIG. 6 .
- the attribute suggestions have been filtered. Since the user has already selected a brand, the “brand” attribute is no longer present and viewable in the list of attribute suggestions 716 .
- the list of attribute suggestions 716 is dynamic in the respect that it understands that “brand” no longer needs to be shown to the user, as the other attribute suggestions not yet selected by the user are the ones that will further help to define the user's true intent.
- the search results 718 are also shown in FIG. 7 and, as shown, have been updated to include only those results applicable to the most recent version of the search query.
- FIG. 8 illustrates another screen display of a user interface 800 , in accordance with an embodiment of the present invention.
- the user has now entered the letter “s” onto the end of the search query 810 .
- both the query completion suggestions and the query formulation suggestions which here are attribute suggestions, are filtered based on the letter “s.” For example, because “sale” begins with “s,” the only query suggestion 812 displayed is “Nikon digital camera sale.”
- a lexical prefix match may not be performed, but instead a semantic prefix was applied where it has been identified that “digital camera Nikon” is equivalent to “Nikon digital camera.”
- only the attribute suggestions associated with the letter “s” or those attribute suggestions having attribute value suggestions associated with the letter “s” are displayed at this point.
- the attribute suggestions 814 include “screen size,” “color silver,” and “memory type (SDHC, SD).” Again, these lists are dynamic such that each time the query is modified, both the query completion suggestions 812 and the query formulation suggestions, or attribute suggestions 814 , are filtered, and thus are also modified. In one embodiment, only the attribute suggestions are filtered and attribute value suggestions are not included. But, as shown in the embodiment of FIG. 8 , the attribute suggestions and attribute value suggestions for each attribute are filtered such that if the user is actually wanting to search for Nikon SD cards, that is easily found.
- FIG. 9 illustrates another screen display of a user interface 900 , in accordance with an embodiment of the present invention.
- the user has selected the “screen size” attribute 914 in the suggestion area 912 .
- “screen size” has been added to the query, but as shown, it is visually different (e.g., italics, underline, bold) than the rest of the query. This is because it is not actually being added to the query, but indicates that the user may select one of the attribute value suggestions 918 from the list in the attribute value display area 916 .
- attribute value suggestions of screen size are associated specifically with Nikon brand digital cameras, not any other brand, as the user as already selected “Nikon” as the brand to add to the search query. This is because the query has been refined to be specific to Nikon cameras, and as such associated entities would all be Nikon products. As such, if a different brand would have been chosen in FIG. 6 , the associated entities would also be different, and thus the screen sizes shown in FIG. 9 would be different, as they would be customized to the particular brand. As such, attribute value suggestions, even those that are associated with the same attribute, are dynamic in that they vary based on the entity(s) best corresponding to the current formulation of the search query.
- FIG. 10 illustrates another screen display of a user interface 1000 , in accordance with an embodiment of the present invention.
- the user has selected (e.g., clicked, hovered, enter key) the “memory type (SDHC, SD)” attribute/attribute value 1014 in the suggestion box 1012 .
- this attribute/attribute value 1014 is displayed as a result of the user adding “s” to the end of the search query in FIG. 8 .
- the attribute value suggestions 1018 are displayed in attribute value display area 1016 .
- “Memory type” is added to the search query 1010 , but is visually distinct from the rest of the query to indicate that it isn't actually part of the query, but that the user has the option to select an attribute value associated with the “memory type” attribute.
- FIG. 11 illustrates another screen display of a user interface 1100 , in accordance with an embodiment of the present invention.
- the user has now selected the “SDHC” attribute value 1112 in the suggestion area.
- the search query 1110 has now been modified to add the selected “SDHC” attribute value 1112 selected by the user.
- the selection in one embodiment, may be actually pressing the enter key on a keyboard or using a mouse click to indicate that the user wants that attribute value to be part of the search query. “Memory type” is no longer shown in the search query, as an attribute value has now been selected.
- the search results 1116 are updated at this point, as a semantic boundary has been reached (e.g., a term or terms have been added to the search query).
- FIG. 12 illustrates that the user has now selected “SDHC” attribute value, and it has been added to the search query 1210 .
- a list of attribute suggestions 1214 that have not already been selected or used by the user to formulate the query is displayed in the suggestion area 1212 . It can be seen that “memory type” and “brand” are not in the list of attribute suggestions 1214 , although they previously were in the list.
- FIG. 13 illustrates another screen display of a user interface 1300 , in accordance with an embodiment of the present invention. Similar to that shown and described with respect to FIG. 8 , the user has now entered “b” into the search box at the end of the search query 1310 . The attribute suggestions and attribute value suggestions are filtered to display only those associated with the letter “b.” In this case, two colors, blue, and black, start with “b,” and thus are shown in the attribute/attribute value list 1314 in the suggestion area 1312 . As shown in FIG. 14 , the user interface, generally referred to as 1400 , illustrates that the user has selected the “color blue” attribute/attribute value 1410 . In FIG.
- the user interface generally referred to as 1500 , illustrates that the search query 1510 now includes the word “blue,” as this was selected by the user.
- the list of attribute suggestions 1512 is now different, as “color” is no longer an option because the user has already selected the color blue to further define the search query 1510 .
- FIG. 16 illustrates another screen display of a user interface 1600 , in accordance with an embodiment of the present invention.
- the search query 1610 is “digital camera canno” where the brand “Canon” has been incorrectly spelled by the user.
- embodiments of the present invention can be used to assist the user in understanding the user's actual intent.
- the attribute/attribute value suggestion 1612 “brand Canon” may be suggested to the user in the suggestion box as being an option that the user may choose to select, which would correct the spelling in the search query.
- the system may reformulate or paraphrase the search query for the user as more information is added. So instead of “digital camera Nikon,” the system may reformulate it to read “Nikon digital camera,” which likely appeals more to the user as it is in a natural language format. Not only may the query be reformulated in the search box, but it may also be in reformulated format on the search results page.
- FIG. 17 illustrates an alternative embodiment than the embodiments described above, and depicts another screen display of a user interface 1700 .
- the search query 1710 is “digital camera.”
- Query completion suggestions 1712 and query formulation suggestions, including attribute/attribute values 1714 are displayed in the suggestion box.
- the attribute suggestions are not listed separately from the attribute value suggestions. For instance, instead of just listing “brand” in the list of attribute suggestions and not displaying its corresponding attribute value suggestions until “brand” is selected by the user, here the user can see a sampling of the attribute value suggestions associated with each attribute. So “brand” becomes “brand (Canon, Nikon, . . .
- the attribute value suggestions that are ranked highest or that are top values for each attribute are those that are shown in the list of attribute suggestions/attribute value suggestions 1714 .
- FIG. 18 illustrates yet another alternative embodiment of a screen display of a user interface 1800 , in accordance with an embodiment of the present invention.
- an attribute 1814 “brand” has been selected, and an attribute value 1818 “Canon” has been selected from the list of attribute value suggestions 1816 .
- the search query 1810 now includes “brand Canon ” 1812 . “Brand Canon ” 1812 is not actually added to the query, but “Canon” is.
- the user may select the word “Canon” from the search query 1810 which results in a dropdown list of alternative brands of digital cameras. This may be easier for a user to change an attribute value than going through the process of selecting the attribute and selecting the desired attribute value. This same embodiment could be used with other attribute suggestions.
- FIGS. 19-22 illustrate progressive screen displays of user interfaces ( 1900 , 2000 , 2100 , and 2200 ), in accordance with embodiments of the present invention.
- a search query 1910 of “Sony laptop” has been entered by a user.
- the system determines whether there are any entities in the entity store, such as entity store 206 in relation to FIG. 2 , that are associated with the inputted search query. Entities are identified if the system has a high enough confidence as to what the user is searching for. If one or more entities are identified, query formulation suggestions, including attribute/attribute value suggestions 1912 and query completion suggestions 1914 are transmitted for presentation on the user interface 1900 .
- FIG. 19 illustrates progressive screen displays of user interfaces ( 1900 , 2000 , 2100 , and 2200 ), in accordance with embodiments of the present invention.
- a search query 1910 of “Sony laptop” has been entered by a user.
- the system determines whether there are any entities in the entity store, such as entity store 206 in relation to FIG.
- FIG. 19 illustrates an embodiment different from those previously discussed in that it lists various attribute suggestions with a few selected (e.g., most relevant, most popular) attribute value suggestions to give the user an idea of values associated with each attribute.
- the user has selected (e.g., mouse hover) the “Sony laptop by RAM” attribute 2012 from the list of attribute suggestions 2014 .
- a list of attribute value suggestions 2018 associated with the selected attribute value 2012 is displayed.
- the user has selected the “4 GB” attribute value 2016 from the list of attribute value suggestions 2018 . Since an attribute value has been selected, the selected attribute value, “4 GB,” is added to the search query 2010 .
- the search results would be updated to reflect the additional information in the search query.
- FIG. 21 illustrates that a new and filtered list of attribute suggestions 2114 are displayed based on the user's previous selection of the “4 GB” RAM size. “RAM” is no longer an option in the attribute suggestions 2114 .
- the user has selected to further define the search query 2110 by screen size, as indicated by the user's selection of the attribute 2112 “Sony laptop 4 GB by screen size.” Note that in this embodiment, the current search query is included before each listed attribute. In other embodiments, the current search query may not be included in the listing of attribute suggestions, as shown in previous figures herein.
- a list of attribute value suggestions 2118 is displayed.
- an updated list of attribute suggestions 2214 is presented to the user on the user interface 2200 .
- the updated list does not include previously-selected attribute suggestions for which the user has actually selected an attribute value that has been added to the query.
- the lists of both attribute suggestions and attribute value suggestions are dynamic.
- the user has now selected the attribute “hard drive” 2212 from the list of attribute suggestions 2214 .
- a list of attribute value suggestions 2218 are displayed, and the user has selected the “500 GB” attribute value 2216 . “500 GB” has been added to the search query 2210 .
- FIGS. 23-26 illustrate various embodiments of screen displays of user interfaces ( 2300 , 2400 , 2500 , and 2600 ) for providing attribute and attribute value suggestions based on a ambiguous search query.
- FIG. 23 illustrates a search query of “inte” 2310 .
- the system may be unsure of the user's intent, but can display query completion suggestions 2314 and query formulation suggestions, comprising attribute suggestions, that are thought to match the user's intent. Additionally, category suggestions 2312 may also be provided, as shown in FIG. 23 . Initially, the system finds the top completions for “inte” and then determines that the top completion “intel” is ambiguous.
- FIG. 24 illustrates an alternative embodiment.
- the user has selected “Intel in CPUs” 2412 as the category.
- Other categories 2414 not selected by the user are shown in a different portion of the suggestion area so that the user can choose a different category if “CPUs” is not the correct one.
- Query completion suggestions 2416 are also displayed.
- the query 2410 has not been modified yet, as an attribute value has not been selected. Further, the selected category is displayed in the search box.
- FIG. 25 illustrates an alternative embodiment in that the user has selected the category “CPUs” 2512 , and alternate categories may be browsed by using the left and right arrow buttons 2514 .
- CPUs may be the top category, and as such it is the category that is displayed with the others hidden from view.
- this type of information can be displayed for user selection, and are contemplated to be within the scope of the present invention.
- the user may be able to select (e.g., hover) over the category name in the search box such that alternative categories would appear in a dropdown box.
- arrows may be displayed next to the category name in the search box that allow the user to browse alternative categories.
- FIG. 26 illustrates how ambiguous interpretations may be handled.
- the query is “gold watch” 2610 .
- Ambiguous attribute suggestions may be provided, as shown here.
- “Material: gold” is the best interpretation of the query.
- the attribute suggestion of “material: gold” 2612 is displayed in the suggestion area, and as shown, has been selected by the user as illustrated by the shading.
- a flow diagram is shown of a method 2700 for identifying query formulation suggestions in response to receiving a search query, in accordance with an embodiment of the present invention.
- a search query or a portion thereof is received at step 2710 in a search query box, such as that illustrated in previous figures herein.
- the search query box may receive and display the user's search query.
- the search query entered by the user is not a complete search query, as the system described herein assists the user to complete the search query based on the user's true intent to find an answer by way of search results.
- query formulation suggestions are identified by semantically analyzing the received search query or portion thereof.
- Query formulation suggestions comprise semantic-pattern-based query suggestions that are derived from semantic query patterns and entities and/or information associated with the entities.
- the search query may be semantically analyzed to identify one or more entities associated with the search query.
- the system uses semantic analysis techniques to identify entities that are most likely what the user is searching for. In some instances, more than one entity is identified, such as more than one product corresponding to the search query “digital came.”
- a query formulation suggestion is selected as being most relevant to the search query, and the information (e.g., categories, attributes, attribute values) corresponding to the entities associated with the completion is presented to the user.
- the entity store is used to generate query formulation suggestions that complete the potentially incomplete query, where each of the query formulation suggestions corresponds to at least one entity.
- the query formulation suggestions may be generated based on the identified entities.
- the query formulation suggestions may include, for example, categories, attributes, and attribute values which assist the user to formulate the search query.
- the query formulation suggestions are transmitted for presentation at step 2714 .
- query formulation suggestions may include categories, attributes, and attribute values. In some embodiments, there may not be any categories associated with an entity. In that case, no categories are presented to the user. But if any attributes or attributes values are known in relation to that entity, those may be presented to the user.
- the identified attribute suggestions may be displayed in a suggestion area, such as the suggestion area illustrated in various figures herein.
- query-log-based query suggestions are also displayed in the suggestion area in addition to the attribute suggestions to provide the user with a blended experience that encompasses both query-log-based query suggestions (e.g., popular queries that have been submitted to the search engine in the past) and query formulation suggestions.
- the query formulation suggestions are configured to be selectable by a user. For instance, when the user selects a particular attribute value, such as “blue,” the term “blue” is added to the search query to further define the user's intent.
- a flow diagram of a method 2800 for identifying query formulation suggestions in response to receiving a search query is illustrated, in accordance with an embodiment of the present invention.
- a search query is received, typically in a search box, which may both receive and display the search query.
- the search query entered by the user may not be a complete search query that clearly defines what the user is looking to find, but may be a partial search query.
- the user may not press the search key or hit the enter key on a keyboard, but may still be typing when query formulation suggestions are displayed.
- query formulation suggestions are identified by semantically analyzing the search query or portion thereof.
- Query formulation suggestions associated with the identified entities are identified, and may include category suggestions, attribute suggestions, attribute value suggestions, etc. Categories may include product types (e.g., digital camera, video camera, watches, party supplies, smart phones) or may even include non-products, such as locations, ideas, or the like. Generally, attributes are groups of different aspects corresponding to a particular entity that are found or known to be relevant to that entity.
- the query formulation suggestions are transmitted for presentation in, for example, a suggestion area, and are configured to be selected by a user to further formulate the search query.
- the suggestion area is located on the user interface beneath the search box, but in other embodiments, is located in another location on the user interface.
- a user selection is received of one of the query formulation suggestions at step 2816 .
- This user selection may include a hard selection (e.g., pressing the enter key on the keyboard, mouse clicking the attribute) or a soft selection (e.g., hovering over the attribute).
- the user selection of an attribute is a hover of the mouse over the attribute, which causes attribute value suggestions to be displayed, as discussed below.
- Attribute values are simply values that correspond to the selected attribute. For example, an attribute of color would potentially have values including, for example, blue, green, orange, red, etc. Attribute values are selectable by the user and help to further define and formulate the user's search query. It should be noted that both attribute suggestions and attribute value suggestions are dynamic lists and change based on the current form of the user's search query, category, etc. For instance, attribute values for the attribute “color” are different based on whether the category is a laptop or a car. Laptops made by Dell, for example, likely do not come in the same colors as a particular vehicle Likewise, laptops made by one manufactures may not come in the same colors as laptops made by another manufacture. Additionally, once a user has further defined the search query, the attribute associated with the additional term added to the search query may not be visible in the list of attribute suggestions, since the user has already made a decision based on that particular attribute.
- a method referenced generally by the numeral 2900 , is depicted, in accordance with an embodiment of the present invention.
- a plurality of search queries is received, for instance, from a query log. Each of the plurality of search queries is associated with a respective set of matching entities.
- at least one semantic query pattern is identified from the plurality of received search queries. A weight for each identified semantic query pattern is identified at step 2914 .
- a plurality of semantic categories is identified, for instance, from an entity database (e.g., entity store 206 of FIG. 2 ). Each of the plurality of semantic categories is associated with a respective set of entities.
- At step 2918 at least one term or phrase (e.g., an n-gram) commonly associated with at least one of the semantic categories is identified.
- a plurality of semantic attributes as they pertain to the plurality of semantic categories is identified.
- At least one semantic attribute pattern is identified from the plurality of semantic attributes at step 2922 .
- a weight for each identified semantic attribute pattern is identified.
- a text-parser is generated or customized from the at least one semantic query pattern and respective weights, the at least one semantic category term or phrase and respective weights, and the at least one semantic attribute patterns and respective weights.
- the text-parser may be utilized in parsing input user queries or portions thereof, in accordance with embodiments herein above described.
- at least a portion of an input user search query is received, the text-parser is applied to determine at least one likely attribute for expansion of the input user query, the likelihood being based upon the respective weights, and the at least one likely attribute is transmitted for presentation as an attribute suggestion.
- applying the text-parser to determine at least one likely attribute for expansion of the input user query may comprise applying the text-parser to determine a plurality of likely attributes for expansion of the input user query, each of the plurality of likely attributes having a calculated weight associated therewith.
- transmitting the at least one likely attribute for presentation as an attribute suggestion may comprise transmitting at least a portion of the plurality of likely attributes for presentation as attribute suggestions, the attribute suggestions representing the plurality of likely attributes or portion thereof that are transmitted for presentation being arranged in an order representing their respective calculated weights.
- embodiments of the present invention provide for systems, methods and computer-storage media having computer-usable instructions embodied thereon, for building, linking, and exposing semantic knowledge of a search system or systems (e.g., query logs, facets, relationships of entities from structured and unstructured data, contextual signals, and the like) to assist users in query formulation and intent disambiguation, as well as query formulation.
- a search system or systems e.g., query logs, facets, relationships of entities from structured and unstructured data, contextual signals, and the like
- Embodiments of the invention may be scaled to tail and never-seen queries and can provide better user intent signals to the system for result matching and lead to better and more relevant search results.
- FIG. 30 illustrates a flow diagram of a method 3000 for identifying query formulation suggestions in response to receiving a search query, in accordance with an embodiment of the present invention.
- a search query or a portion thereof is received.
- semantic-pattern-based query suggestions are identified by semantically analyzing the received search query.
- the semantic-pattern-based query suggestions are derived from semantic query patterns, entities, and information associated with the entities.
- the information includes attributes and attribute values such that the entities are used to identify the semantic-pattern-based query suggestions.
- the attribute suggestions and attribute value suggestions are configured to be selectable by a user to further formulate the search query.
- a set of the query formulation suggestions are identified to transmit for presentation.
- the set of query formulation suggestions are transmitted for presentation. These suggestions are configured to be selectable by a user to formulate the search query.
- a flow diagram of a method 3100 is illustrated for identifying query formulation suggestions in response to receiving a search query, in accordance with an embodiment of the present invention.
- a search query or a portion thereof is received.
- the search query is semantically analyzed at step 3112 to identify semantic-pattern-based query suggestions that are generated by semantic query patterns, one or more entities, or information associated with the entities.
- the information may include categories, attributes, attribute values, etc.
- the semantic-pattern-based query suggestions are transmitted for presentation at step 3114 , and are configured to be selectable by a user to formulate the search query.
- a user selection of one of the semantic-pattern-based query suggestions is received.
- the search query is modified at step 3118 based on the selected semantic-pattern-based query suggestion.
- a set of search results is updated based on the modified search query. This indicates that a semantic boundary has now been reached.
- the entity store 3210 stores entities and known information associated with entities. For instance, one or more of categories, attributes, or attribute values may be stored in the entity store 3210 in association with an entity. From the entity store 3210 , various files are generated, including an entity index 3212 and a semantic grammar file 3214 .
- the semantic grammar file 3214 predicts what the user will or wants to type, and additionally stores query patterns received from users along with attributes for each product category. It also stores previously observed queries along with their top interpretations.
- the semantic grammar file 3214 stores templates that are used to generate query formulation suggestions, such as query templates, attribute templates, attribute value templates, category templates, and the like.
- the entity index 3212 stores an indexed representation of the entities stored in the entity store 3210 . These files are sent to a weighted finite state transfuser (WFST) decoder 3216 .
- the decoder receives notifications that the user has pressed a key, had a mouse click/event, etc. Every user event is considered by the decoder.
- the user experience (UX) component 3218 presents the query formulation suggestions to the user.
- the UX component 3218 interacts with the domain intelligence component 3220 , which is responsible for refreshing search results when a semantic boundary is reached.
- the domain intelligence component 3220 retrieves updated search results for presentation to the user.
- the query log database 3222 receives entered queries, user selections, etc. for recording purposes.
- the cylindrical components are able to be calculated offline, or prior to receiving a search query.
- the rectangular components perform their respective functions online, or once the search query is entered by a user.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Methods are provided for ordering semantically-identified query formulation suggestions. Semantic query patterns are identified for a plurality of search queries and a weight is identified for each. Also identified is a plurality of semantic categories, each having an identified weight. Terms/phrases commonly associated with the semantic categories are identified, as are semantic attributes as they pertain to the semantic categories. Semantic attribute patterns and respective weights therefore are identified. A text-parser is generated from the semantic query patterns and respective weights, the semantic category terms, and the semantic attribute patterns and respective weights, the text-parser for use in parsing input user queries or portions thereof. Upon receiving a user search query, the text-parser is applied to determine at least one likely attribute, attribute value, or term commonly associated with a semantic category, and the determined attribute/attribute value/term is transmitted for presentation with an order representative of the respective calculated weights.
Description
- This application claims the benefit of Provisional Patent Application No. 61/476,154 filed on Apr. 15, 2011 and entitled “Interactive Semantic Query Suggestion for Content Search. This application is further related by subject matter to U.S. patent application Ser. No. ______, entitled Interactive Semantic Query Suggestion for Content Search,” filed on even date herewith (attorney docket number MS 332652.02/MFCP.162846). Both Provisional Patent Application No. 61/476,154 and U.S. patent application Ser. No. ______ (attorney docket number MS 332652.02/MFCP.162846) are hereby incorporated by reference as is set forth in their entirety herein.
- Typically, search engines provide the user with an empty search box into which a user may input a search query and interact with the search system. For various reasons, search queries provided by users do not always accurately reflect the user's actual intent. While some search engines are capable of assisting users in completing search queries, e.g., by providing query completion suggestions, such query completion suggestions are typically generated based solely upon search queries that have been submitted in the past, such as the most popular search queries that begin with the alphanumeric characters with which the user begins their query. As such, if a user begins entering the search query “wate,” query completion suggestions may include “water for elephants,” “water fountain,” “water cycle,” “watergate,” etc. However, in many cases, the suggestions provided to the user may not reflect what the user is actually intending to search for as they are based solely on prior queries input by a collective group of users, and do not include unseen queries or queries that are seldom entered, but that may be what the user is intending to search for. Likewise, users have little, if any, knowledge about what information the search system may have available with regard to answering the task they have in mind. As such, the search system may not return satisfactory results to the user due, at least in part, to the system's failure to understand or disambiguate the user's actual intent, and to match the user's intent with useful information.
- 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.
- Embodiments of the present invention relate to ordering or ranking semantically-identified query formulation suggestions. Semantic query patterns are identified for a plurality of search queries and a weight is identified for each. Also identified are a plurality of semantic categories, and each also has a weight identified therefore. Additionally, terms or phrases commonly associated with the semantic categories are identified, as are semantic attributes as they pertain to the semantic categories. Semantic attribute patterns and respective weights therefore are then identified. A text-parser is then generated or customized from the semantic query patterns and respective weights, the semantic category terms, and the semantic attribute patterns and respective weights, the text-parser for use in parsing input user queries or portions thereof. When a user search query is received, the text-parser is applied to determine at least one likely attribute, attribute value, term commonly associated with a semantic category, or a combination thereof and the determined attribute/attribute value/term is transmitted for presentation with an order or ranking representative of the respective calculated weights.
- The present invention is described in detail below with reference to the attached drawing figures, wherein:
-
FIG. 1 is a block diagram of an exemplary computing environment suitable for use in implementing embodiments of the present invention; -
FIG. 2 is a block diagram of an exemplary system in which embodiments of the invention may be employed; -
FIGS. 3-26 depict exemplary screen displays of graphical user interfaces, in accordance with various embodiments of the present invention; -
FIGS. 27-31 illustrate flow diagrams of methods for identifying query formulation suggestions in response to receiving search queries, in accordance with embodiments of the present invention; and -
FIG. 32 illustrates a block diagram of an exemplary system in which embodiments of the invention may be employed. - 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.
- Embodiments of the present invention provide for systems, methods and computer-storage media having computer-usable instructions embodied thereon, for building, linking, and exposing semantic knowledge of a search system or systems (e.g., query logs, facets, relationships of entities from structured and unstructured data, contextual signals, and the like) to assist users in query formulation and intent disambiguation. Embodiments of the invention may expose never-seen queries and provide better user-intent signals to the system. Such signals lead to selection and presentation of better and more relevant search results.
- Accordingly, in one embodiment, the present invention is directed to a method performed by a computing device having a processor and a memory for identifying query formulation suggestions in response to receiving a search query. The method includes receiving at least a portion of the search query and identifying one or more query formulation suggestions by semantically analyzing the at least the portion of the search query. The one or more query formulation suggestions comprise semantic-pattern-based query suggestions that are derived from semantic query patterns and at least one of one or more entities or information associated with the one or more entities. The method further includes transmitting the one or more query formulation suggestions for presentation.
- In another embodiment, the invention is directed to a system comprising a processor and a memory for identifying query formulation suggestions in response to receiving a search query. The system includes a receiving component, a semantic analyzing component and a transmitting component. The receiving component receives at least a portion of a search query. The semantic analyzing component semantically analyzes the at least the portion of the search query to identify one or more query formulation suggestions that comprise semantic-pattern-based query suggestions that are derived from semantic query patterns and at least one of one or more entities or information associated with the one or more entities. The transmitting component transmits the one or more query formulation suggestions for presentation.
- A further embodiment of the invention is directed to one or more computer-storage media storing computer-useable instructions that, when used by a computing device, cause the computing device to perform a method for identifying query formulation suggestions in response to receiving a search query. The method includes receiving at least a portion of the search query and, contemporaneous to a formulation of the at least the portion of the search query, identifying one or more query formulation suggestions by semantically analyzing the at least the portion of the search query. The one or more query formulation suggestions comprise query-log-based query suggestions and semantic-pattern-based query suggestions that are derived from semantic query patterns and at least one of one or more entities or information associated with the one or more entities. The information comprises one or more attributes and one or more attribute values. The method further includes transmitting the query formulation suggestions for presentation, wherein the query formulation suggestions are configured to be selectable by a user to formulate the search query. Still further, the method includes receiving a user selection of one of the query formulation suggestions, and modifying the at least the portion of the search query according to the selected query formulation suggestion.
- Yet another embodiment of the invention is directed to a method performed by a computing device having a processor and memory for identifying query formulation suggestions. The method includes receiving at least a portion of a search query and identifying one or more semantic-pattern-based query suggestions by semantically analyzing the at least the portion of the search query. The one or more semantic-pattern-based query suggestions are derived from semantic query patterns, one or more entities, and information associated with the one or more entities, and the information includes attributes and attribute values such that the one or more entities are used to identify the one or more semantic-pattern-based query suggestions. The method further includes identifying a set of the query formulation suggestions to transmit for presentation, and transmitting the set of query formulation suggestions for presentation. The one or more query formulation suggestions are configured to be selectable by a user to formulate the search query.
- In another embodiment, the invention is directed to one or more computer-storage media storing computer-useable instructions that, when used by a computing device, cause the computing device to perform a method for identifying query formulation suggestions. The method includes receiving at least a portion of a search query and semantically analyzing the at least the portion of the search query to identify one or more semantic-pattern-based query suggestions that are generated by at least one of semantic query patterns, one or more entities, and information associated with the one or more entities. The method further includes transmitting the one or more semantic-pattern-based query suggestions for presentation. The one or more semantic-pattern-based query suggestions being configured to be selectable by a user to formulate the search query. Still further, the method includes receiving a user selection of one of the one or more semantic-pattern-based query suggestions. In response to the user selection, the method additionally includes modifying the at least the portion of the search query based on the selected semantic-pattern-based query suggestion. Further, the method includes updating a set of search results based on the modified search query.
- In another embodiment, the invention is directed to a user interface embodied on one or more computer-storage media, the user interface for presenting query formulation suggestions. The user interface includes a query display area, an attribute suggestion presenting area and an attribute value suggestion presenting area. The query display area is configured for displaying at least a portion of a search query received from a user, wherein the at least the portion of the search query is semantically analyzed to identify one or more semantic-pattern-based query suggestions by semantically analyzing the at least the portion of the search query, and wherein the one or more semantic-pattern-based query suggestions includes at least one of one or more entities, one or more attributes, or one or more attribute values. The attribute suggestion presenting area is configured for presenting a list of attributes as query formulation suggestions, each attribute in the list of attributes being associated with at least one of the one or more entities. The attribute value suggestion presenting area is configured for presenting a list of attribute values as the query formulation suggestions upon receiving a user selection of one of the attributes, each attribute value in the list of attribute values being associated with the selected attribute. The attribute value suggestion presenting area is arranged relative to the attribute suggestion presenting area such that the attribute values associated with a particular one of the attributes are presented in proximal association with their respective corresponding attributes.
- In another embodiment, the invention is directed to one or more computer-storage media storing computer-useable instructions that, when used by a computing device, cause the computing device to perform a method for generating query formulation suggestions. The method includes receiving a plurality of search queries from a query log, each of the plurality of search queries being associated with a respective set of matching entities, and identifying at least one semantic query pattern from the plurality of search queries. The method further includes identifying a weight for each identified semantic query pattern; identifying a plurality of semantic categories from an entity database, each of the plurality of semantic categories being associated with a respective set of entities; identifying at least one term or phrase (e.g, an n-gram) commonly associated with at least one of the semantic categories; identifying a plurality of semantic attributes as they pertain to the plurality of semantic categories; identifying at least one semantic attribute pattern from the plurality of semantic attributes; identifying a weight for each identified semantic attribute pattern; and generating a text-parser from the at least one semantic query pattern and respective weights, the at least one semantic category term or phrase and respective weights, and the at least one semantic attribute patterns and respective weights. The text parser is configured for use in parsing input user queries or portions thereof.
- 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 initially to
FIG. 1 in particular, an exemplary operating environment for implementing embodiments of the present invention is shown and designated generally ascomputing device 100. Thecomputing device 100 is but one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should thecomputing device 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated. - Embodiments of the invention may be described in the general context of computer code or machine-useable instructions, including 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 including routines, programs, objects, components, data structures, etc., refer to code that performs particular tasks or implement particular abstract data types. Embodiments of the invention may be practiced in a variety of system configurations, including handheld 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 reference to
FIG. 1 , thecomputing device 100 includes abus 110 that directly or indirectly couples the following devices:memory 112, one ormore processors 114, one ormore presentation components 116, input/output (I/O)ports 118, I/O components 120, and anillustrative power supply 122. Thebus 110 represents what may be one or more busses (such as an address bus, data bus, or combination thereof). Although the various blocks ofFIG. 1 are shown with lines for the sake of clarity, in reality, delineating various components is not so clear, and metaphorically, the lines would more accurately be grey and fuzzy. For example, one may consider a presentation component such as a display device to be an I/O component. Also, processors have memory. The inventors recognize that such is the nature of the art, and reiterate that the diagram ofFIG. 1 is merely illustrative of an exemplary computing device that can be used in connection with one or more embodiments of the present invention. Distinction is not made between such categories as “workstation,” “server,” “laptop,” “handheld device,” etc., as all are contemplated within the scope ofFIG. 1 and reference to “computing device.” - The
computing device 100 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by thecomputing device 100 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer-storage media and communication media. Computer-storage media includes both 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 thecomputing device 100. Communication media typically 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. Thecomputing device 100 includes one or more processors that read data from various entities such as thememory 112 or I/O components 120. 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, etc. - The I/
O ports 118 allow thecomputing device 100 to be logically coupled to other devices including I/O components 120, some of which may be built in. Illustrative components include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, and the like. - Referring now to
FIG. 2 , a block diagram is provided illustrating an exemplarycomputing system environment 200 suitable for use in implementing embodiments of the present invention. It will be understood and appreciated by those of ordinary skill in the art that thecomputing system environment 200 shown inFIG. 2 is merely an example of one suitable computing system environment and is not intended to suggest any limitation as to the scope of use or functionality of embodiments of the present invention. Neither should thecomputing system environment 200 be interpreted as having any dependency or requirement related to any single module/component or combination of modules/components illustrated therein. Among other components not shown, thesystem 200 includes auser device 202, asearch engine 204, anentity store 206 and asemantic suggestion generator 208, all in communication with one another through anetwork 210. Thenetwork 210 may include, without limitation, one or more local area networks (LANs) and/or wide area networks (WANs). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet. Accordingly, thenetwork 210 is not further described herein. - 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 integrated directly into other components. It will be understood by those of ordinary skill in the art that the components/modules illustrated in
FIG. 2 are exemplary in nature and in number and should not be construed as limiting. Any number of components/modules may be employed to achieve the desired functionality within the scope of embodiments hereof. Further, components/modules may be located on any number of servers, search engine computing devices, or the like. By way of example only, thesemantic suggestion generator 208 might reside on a server, cluster of servers, or a computing device remote from one or more of the remaining components. - 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/modules, 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
entity store 206 is configured to store various types of information used by thesemantic suggestion generator 208 to identify query formulation suggestions based on a semantic analysis of at least the portion of the search query entered by the user. The type of information stored in theentity store 206 may include, for example, entities, categories, attributes, and attribute values, as more fully described below. More specifically, in various embodiments, the information stored in theentity store 206 may include, without limitation, entities or items (e.g., products available for commerce, locations, people, companies, organizations, and the like), categories to which such entities may correspond, attributes associated with the entities, and attribute values associated with the entities as they pertain to particular attributes thereof. The information in theentity store 206 may also include common queries that previously have been issued or submitted to thesearch engine 204, in addition to popular or frequently selected interpretations. In an embodiment, at least a portion of these common queries may be stored in a query log such that the query log may be accessed to identify common queries. - The information stored in the
entity store 206 may be used as query formulation suggestions. Query formulation suggestions, as used herein, refer to information that can be used to discover a user's true intent by assisting the user to formulate a query, for instance, by expanding upon or clarifying a partial query that has been entered by the user. As such, in one embodiment, query formulation suggestions are first presented prior to the determination and/or presentation of any search results determined to satisfy the query (or partial query). As will be discussed in further detail, in embodiments hereof, search results may be determined and presented when an input search query, or portion thereof, reaches a semantic boundary. As such, if a partial search query is entered, query formulation suggestions may be presented before search results are even identified. However, once the input query is modified to the point that a semantic boundary is reached, search results may be determined and presented. One or more different or updated query formulation suggestions may then be presented based on the modified search query. Thus, those of skill in the art will understand that query formulation suggestions differ from search results not only in content (although in some instances the content may be substantially similar), but also in their use upon user selection thereof. Selection and use of query formulation suggestions is more fully described below. - Query formulation suggestions may include various types of suggestions for formulating queries including, by way of example and not limitation, query-log-based query suggestions, semantic-pattern-based query suggestions (e.g., template-based query suggestions), categories associated with a search query, attributes associated with one or more identified entities, and attribute values associated with one or more identified entities. It should be noted that query formulation suggestions are generally identified, presented, and selected contemporaneously with query formulation, not post-query submission.
- “Query-log-based query suggestions” are suggestions that attempt to aid the user in formulation of a search query by providing the user with the most popular previously-submitted search queries identified from a query log that correspond to the character sequence entered into the search box at a particular instance. “Semantic-pattern-based query suggestions,” on the other hand, refer to query formulation suggestions that are generated from semantic query patterns (e.g., templates). When a search query, or portion thereof, is submitted to the search system, a database of semantic query patterns (such as “<brand>camera,” as more fully described below) is accessed and an attempt is made to identify one or more semantic query patterns that correspond in some way to the input search query. In generating semantic-pattern-based query suggestions, a database or
entity store 206 may be used. By accessing entities and their respective associated information from theentity store 206, it can be ensured that only those semantic-pattern-based query suggestions that match known entities are returned. As such, before being presented to a user, semantic-pattern-based query suggestions are compared to entities stored in theentity store 206. In one embodiment, if a particular semantic-pattern-based query suggestion is not found in theentity store 206, it is not returned to the user as a query suggestion, as it may not exist (e.g., such as a particular product that does not exist), or at least it does not match with the known information in theentity store 206. But if it is found, it may be returned to the user, as further discussed herein. Semantic-pattern-based query suggestions may be presented to the user in much the same way as query-log-based query suggestions. - “Entities,” as used herein are items having known information (e.g., categories, attributes, and attribute values) associated therewith that is organized and stored in the
entity store 206. In some instances, entities have associated categories, but in another instances they do not. “Categories,” “attributes” and “attribute values,” as these terms are utilized herein, represent various hierarchical characteristics of entities and are useful in filtering or formulating received search queries (or portions thereof) for providing a user with as accurate an answer to a particular query as possible. While an entity is described herein as a particular product in one embodiment, in other embodiments, entities may also include other items that are not considered “products.” For instance, for exemplary purposes only, entities may include a particular product, a business, an organization, a person, or the like. Further, an entity may be a specific location that has associated categories, attributes, and attribute values from which the user may select to formulate the search query. The definition of an entity, as used herein, is not meant to be limiting, but may apply to many things that are potentially capable of having associated hierarchical characteristics. - By way of example, suppose a user enters the character sequence “role” into the search query input area. As a result, “rolex” may be identified as a potential query formulation suggestion by either identifying it as a query-log-based query suggestion or as a semantic-pattern-based query suggestion. Here, “rolex” may be identified as a brand of watches, or may be a popular query, and may also correspond to one or more entities found in the
entity index 206. The entity “rolex” may be associated with the category “watches,” and such category may be returned to the user as a suggested category that may then be utilized to further formulate the user's search. Similarly, if a user enters the alphanumeric characters “facebo” into the search query input area, it may lead to the identification of the query formulation suggestion “facebook,” which may correspond to one or more entities in theentity store 206. Further, the entities may include associated categories, such as “Web,” such that an entered search query for “facebo” may return “Web” as a suggested category. This provides the user with an indication as to how the portion of the entered search query has been interpreted. - In embodiments, a received search query may be identical or substantially similar to an identified category. For example, the search query “digital cameras” may result in a plurality of entities having a category “digital cameras.” While this would not in and of itself necessarily help in refining the user's search, armed with the knowledge that the category matches the intent of the user's search, various lower level hierarchical characteristics, e.g., attributes and attribute values, associated with the identified entity may be suggested to the user as possible query formulation suggestions. As another example, suppose the user enters the alphanumeric characters “digital slr” as a portion of a search query into the search query input area. The system of embodiments of the present invention may access the
entity store 206 to determine one or more entities corresponding to the query “digital slr.” Since there are several models of cameras that are SLR, there are likely several entities, if not hundreds of entities, that may be identified. The category in this instance may be “digital cameras.” The previous description of categories may apply to even those situations where the query is not substantially similar to a stored category. - In embodiments, the
entity store 206 is configured to be searchable for one or more of the items stored in association therewith. It will be understood and appreciated by those of ordinary skill in the art that the information stored in association with theentity store 206 may be configurable and may include any information relevant to entities, categorizations of entities, characteristics of entities, and the like. The content and volume of such information are not intended to limit the scope of embodiments of the present invention in any way. Further, though illustrated as a single, independent component, theentity store 206 may, in fact, be a plurality of storage devices, for instance, a database cluster, portions of which may reside on thesemantic suggestion generator 208, another external computing device (not shown), and/or any combination thereof. - As previously stated, the
entity store 206 is configured to store attributes for entities as they pertain to particular categories. Attributes are characteristics of the entities belonging to a particular category that may be suggested to a user to further describe or refine the user's intent upon entering a search query. For example, attributes for the entity “Canon PowerShot SX30” may be associated with the category “digital cameras.” The entity “Canon PowerShot SX30,” by way of example only, may be associated with the attributes “megapixels,” “color,” “zoom,” “lens,” “viewfinder type,” “image stabilization,” “brand,” “type,” “model,” and the like. These attributes may be used to further refine a search query for “Canon cameras,” for example, to aid in discovering the user's true intent. - In addition to entities, categories and attributes for entities, the
entity store 206 also is configured to store attribute values as they pertain to particular entities and associated attributes. For instance, for the attribute “color” associated with the entity “Canon PowerShot SX30,” attribute values may include, for instance, “black,” “blue,” “red,” “silver,” etc. In general, values to suggest are identified by considering the distribution of value for all entities that match the current query. For example, for “canon cameras,” there may be over 100 camera entities with “brand=canon.” Among these, some are tagged with “color=black.” Others may be tagged with “color=silver.” The distribution of these values along with the score and popularity of the entities is used to determine the set and ranking of values presented to the user. Attribute values may be suggested to the user as query formulation suggestions to aid in further describing or refining the user's intent upon receiving a search query. This effectively blends browsing and searching experiences of web scale databases. As mentioned, attributes and attribute values are dependent upon the particular entity with which they are associated, and also are dependent upon the current state of the search query. For instance, if the search query already has a color specified, the attribute “color” may not even be presented to the user. Similarly, if the user has specified in the search query or has already selected an attribute value of “Canon,” the system may not present the attribute of “brand” to the user. - While described in the context of search queries and assisting the user to define a search query, embodiments of the present invention may also be used in the context of related search, related categories, related concepts, etc. For instance, in one embodiment, alternative categories may be displayed for the user in addition to the best category associated with the entities that correspond to the search query. These alternative categories can be selected by the user if the user is not satisfied with the category chosen by the system. This functionality is further described below.
- With continued reference to
FIG. 2 , each of theuser device 202, thesearch engine 204 and thesemantic suggestion generator 208 may be any type of computing device, such ascomputing device 100 described with reference toFIG. 1 , for example. The components may communicate with each other via anetwork 210, which may include, without limitation, one or more local area networks (LANs) and/or wide area networks (WANs). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet. It should be understood that any number of user devices, segments, and hybrid-distribution system servers may be employed within thesystem 200 within the scope of the present invention. Each may comprise a single device or multiple devices cooperating in a distributed environment. For instance, thesearch engine 204 may comprise multiple devices arranged in a distributed environment that collectively provide the functionality of thesearch engine 204 described herein. Additionally, other components not shown may also be included within thesystem 200, while components shown inFIG. 2 may be omitted in some embodiments. - The
user device 202 may be any type of computing device owned and/or operated by an end user that can access thenetwork 210. For instance, theuser device 202 may be a desktop computer, a laptop computer, a tablet computer, a mobile device, or any other device having network access. Generally, an end user may employ theuser device 202 to, among other things, access electronic documents by submitting a search query to thesearch engine 204. For instance, the end user may employ a web browser on theuser device 202 to access and view electronic documents stored in thesystem 200. According to embodiments of the present invention, the user additionally may be able to interact with theuser device 202 by selecting an attribute and an attribute value, which further refines an input search query, as more fully described below. While theuser device 202 has been described as communicating by way of thenetwork 210, embodiments of the present invention may also be used locally on a device, such as to improve desktop search, email search, or application search on Smartphone, and as such a network, such as thenetwork 210, may not be required. - The
search engine 204 may comprise multiple components that are responsible for receiving an entered search query and identifying one or more documents that are relevant to that particular search query. In embodiments of the present invention, multiple sets of relevant documents may be presented to the user over the course of time from when the search query is first entered, to when a satisfactory response is received by the user through search query formulations utilizing attributes, attribute values, and the like. As such, thesearch engine 204 and thesemantic suggestion generator 208, in one embodiment, are generally in communication with one in another while a particular search query is being developed or completed. In an alternative embodiment, thesearch engine 204 and thesemantic suggestion generator 208 are not associated with each other. For instance, at each semantic boundary (e.g., completion of a term in the search query, addition of an attribute value to the search query), the search results are updated in one embodiment. Thesearch engine 204 may utilize one or more search indexes that have indexed documents from the web so that the most relevant search results can be identified in an efficient manner. In addition to web documents, the search engine may provide results from semi-structured databases based on the semantic constraints specified in the query. - As mentioned, in one embodiment, search results are updated when a semantic boundary is reached, such as when a term in the search box has been completed. This may occur when a new term has been added to the search query by either user input or by a user selection of a query formulation suggestion, which causes the search query to be modified according to the selected query formulation suggestion.
- As shown in
FIG. 2 , thesemantic suggestion generator 208 includes a receivingcomponent 212, a semanticpattern identifying component 214, aconstraint index 216, acategory identifying component 218, anattribute identifying component 220, an attributevalue identifying component 222, a query formulationsuggestion generating component 224, a transmittingcomponent 226, and asemantic analyzing component 228. In some embodiments, one or more of thecomponents components computing device 100 ofFIG. 1 . It will be understood by those of ordinary skill in the art that thecomponents FIG. 2 are exemplary in nature and in number and should not be construed as limiting. Any number of components may be employed to achieve the desired functionality within the scope of embodiments hereof. - Additional components of the semantic suggestion generator 208 (not shown) may include, without limitation, a processing unit, internal system memory, and a suitable system bus for coupling various system components, including one or more data stores for storing information (e.g., files and metadata associated therewith). The
semantic suggestion generator 208 typically includes, or has access to, a variety of computer-readable media. By way of example, and not limitation, computer-readable media may include computer-storage media and communication media. In general, communication media enables each computing device to exchange data via a network, e.g.,network 210. More specifically, communication media may embody 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 may include any information-delivery media. As used herein, the term “modulated data signal” refers to a signal that has one or more of its attributes 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 also may be included within the scope of computer-readable media. - It will be understood by those of ordinary skill in the art that computing
system environment 200 is merely exemplary. While thesemantic suggestion generator 208 is illustrated as a single unit, one skilled in the art will appreciate that thesemantic suggestion generator 208 is scalable. For example, thesemantic suggestion generator 208 may in actuality include a plurality of computing devices in communication with one another. Moreover, theentity store 206, or portions thereof, may be included within, for instance, thesemantic suggestion generator 208, a Website source, or a third-party service as a computer-storage medium. The single unit depictions are meant for clarity, not to limit the scope of embodiments in any form. - The receiving
component 212 is configured to receive search queries, or portions thereof, input by users (e.g., users of user device 202). Such information may be received in real-time upon entry by a user. Search queries may also be received by the receivingcomponent 212 from one or more query logs having historical query information included therein for one or both of a particular user and a group of users as a whole. Received search queries, or portions thereof, may be semantically analyzed, as further described herein, to identify one or more query formulation suggestions to present to the user as suggestions for formulating the current search query. Semantically analyzing at least a portion of a search query comprises hypothesizing the user intended task or category and extracting specified attribute values by tagging words in the query with their attributes. For instance, the query “red canon digital camera” may be identified as a category=digital camera, brand=canon, and color=red. Query formulation suggestions may be generated, in one instance, using templates associated with queries, attributes, categories, attribute values, etc. Thus, the receivingcomponent 212 is additionally configured to receive information from theentity store 206. The receivingcomponent 212 is further configured to receive indications of user selections of query formulation suggestions. Such indications may be received, by way of example only, fromuser device 202. - The semantic
pattern identifying component 214 is configured to identify semantic patterns associated with queries, categories, attributes and attribute values. In embodiments, the semanticpattern identifying component 214 identifies key terms/phrases commonly associated with categories corresponding to particular entities. As mentioned, semantic patterns are similar to templates, in that at least a portion of a semantic query pattern identifies a particular category or attribute that is filled in based on the received search query. Templates may be stored in a semantic grammar index, for instance, as shown herein inFIG. 32 . - In embodiments, semantic query patterns may be identified algorithmically from information stored in query logs and/or the
entity store 206. Semantic query patterns, that is, linguistic patterns contained in received queries, will vary among languages and are determined based upon knowledge of how particular entities are commonly phrased in the language in which a search query is received. Alternatively or additionally, for instance in situations where standard language-specific linguistic patterns are unable to be identified or are clearly not followed, semantic query patterns of interest may be identified manually via editorial intervention. - In embodiments, weights or probabilities (that is, the likelihood of a particular semantic query pattern being a pattern that represents the true intent of a user) also may be determined by the semantic
pattern identifying component 214. In embodiments, such weights may be determined based upon one or both of availability and interest. In terms of availability, the semanticpattern identifying component 214 may examine the data contained in theentity store 206 and estimate how frequently particular items or entities are likely to occur. For instance, in a commerce setting, the semanticpattern identifying component 214 may examine the data on product availability that is contained in theentity store 206 and estimate how frequently each entity is likely to be offered or available. The more frequently a particular entity will be offered or available, the higher the probability or weight assigned to that entity will be. - In terms of interest, the semantic
pattern identifying component 214 may examine input user queries and/or user-behavior with respect to the entities stored in association with theentity store 206, and generate a weight that represents relative user interest in a particular entity. For instance, in the commerce setting, the semanticpattern identifying component 214 may examine user queries and/or behavior with respect to a particular product and estimate the relative interest of users in that product. Products with higher user interest will then be assigned a higher probability or weight. In embodiments wherein both availability and interest are utilized to determine weights or probabilities of given entities/items, a single weight representing some combination of the availability weight and the user interest weight may be determined. - In embodiments, semantic attribute value patterns may be identified algorithmically from information stored in query logs and/or the
entity store 206. Semantic attribute value patterns, that is, linguistic patterns contained in attribute values, will vary among languages and are determined based upon knowledge of how particular entities are commonly phrased in the language in which an attribute value is identified. Alternatively or additionally, for instance in situations where standard language-specific linguistic patterns are unable to be identified or clearly are not followed, semantic attribute value patterns of interest may be identified manually via editorial intervention. - The
constraint index 216 is configured to extract entities from theentity store 206 with their respective categories, attributes, attribute values and corresponding weights and to determine unreasonable semantic patterns for each entity—that is, to determine semantic patterns that are illogical or are highly unlikely. Thus, if a particular category is rarely in theentity store 206 associated with an entity having a particular attribute, that category/attribute pair would be determined to be illogical for the particular entity. More commonly, constraints among attributes within a particular category may be applied such that the term “Microsoft PlayStation” is not suggested because the brand “Microsoft” and the product “PlayStation” are incompatible. Theconstraint index 216 may be utilized to filter query formulation suggestions, which will be discussed further herein. In some instances, theconstraint index 216 also filters semantic patterns identified by the semanticpattern identifying component 214 if an attribute is inconsistent with currently specified constraints. This functionality is more fully described below. In embodiments, theconstraint index 216 is further configured to build a compressed binary representation of the extracted data. - In embodiments, the
constraint index 216 is configured to build a compressed binary entity index that allows thesemantic suggestion generator 208 to efficiently determine the top attributes and attribute values matching a given set of constraints in a particular category and an optional prefix, along with their weights. In this way, hypotheses that cannot be true can be quickly eliminated leading to increased efficiency in arriving at suggestions to aid in determining user intent. For instance, if the user is searching a directory that is organized alphabetically and the user inputs the character “a,” the compressed binary entity index can quickly filter the directory and eliminate all items not beginning with the character “a.” - The
category identifying component 218 is configured to identify the top category associated with a query. In embodiments, thecategory identifying component 218 is further configured to identify one or more categories that are related to the query, but that may not have been initially selected as the category thought to be most relevant to the search query. In embodiment, categories are stored in theentity store 206 in relation to their associated entities. In some embodiments, an entity may not have an associated category, and as such a category is not displayed on the user interface. - Similarly, the
attribute identifying component 220 is configured to identify at least one attribute associated with an entity. Attributes, as used herein, classify different attributes associated with an entity, and are specific to the entity to which they correspond. For instance, one entity may be associated with a particular attribute, but that attribute may not be associated with a different entity. In embodiments theattribute identifying component 220 is further configured to identify one or more attributes that are related to the entity, but that may have not been identified as one of the most relevant attributes. Further, the attributevalue identifying component 222 is configured to identify at least one attribute value associated with an entity. Attribute values, as used herein, are values that correspond directly to the attribute and entity to which they correspond. For example, if a specific type of watch does not come in the color purple, “purple” is not displayed to the user as an attribute value corresponding to the attribute “color.” For example, one entity may be associated with a particular attribute, but that attribute may not be associated with a different entity. In embodiments the attributevalue identifying component 222 is further configured to identify one or more attribute values that are related to the entity but may not have been identified as one of the most relevant attributes. - The query formulation
suggestion generating component 224, given a search query (or portion thereof), is configured to construct a lattice of possible interpretations of the input query (or query portion). The lattice is dynamically composed utilizing the semantic patterns identified by the semanticpattern identifying component 214 and applying a search algorithm (for instance, the A* search algorithm well known to those of ordinary skill in the art) to find the search query completion path or paths that represent the most likely intent of the user while preserving the constraints imposed by theconstraint index 216. These types of algorithms can also find extensions of a partial inputted search query. Those completion paths (refined queries) identified as most likely intended by the user are those that are identified as having the highest overall weights, that is, the highest probabilities. - The transmitting
component 226 is configured to transmit query formulation suggestions, which may take the form of query-log-based query suggestions, semantic-pattern-based query suggestions, entities, categories, attributes, attribute values, or the like for presentation. For instance, the query “digital ca” may result in a query-log-based query suggestion of “digital camera.” Similarly, the query “canon in ca.” may result in a category completion (e.g., query formulation suggestion) of “canon in cameras.” Further, the query “cameras by br” may result in the attribute completion (e.g., query formulation suggestion) of “cameras by brand.” The query “cameras by can” may result in an attribute value completion (e.g., query formulation suggestion) of “cameras by canon.” - The
semantic analyzing component 228 is configured to semantically analyze a received search query, or a portion thereof in order to identify the most relevant query formulation suggestions based on the received search query. In embodiments, algorithms are used to semantically analyze search queries. In one embodiment, as previously described, semantic-pattern-based query suggestions are derived using semantic query patterns and the entity store. For instance, semantic-pattern-based query suggestions may be compared to known entities in the entity store prior to being transmitted for presentation. For example, for the partial query “canon ca,” the system searches through query records, query/attribute templates, category, etc. to find possible completions of the query that are also consistent with the known information in theentity store 206. Suppose that “<brand>camera” is in the “digital camera” category and “<brand>car stereos” is in the “car stereos” category as query templates. Possible semantic-pattern-based query suggestions may include, for exemplary purposes only, “canon camera” and “canon car stereos.” However, when consulting with theentity store 206, it is determined that there is no such entity associated with the category “car stereos” with the brand “canon.” This indicates that “canon car stereos” is an invalid query formulation suggestion, and thus is not provided as a suggestion. - In some instances, multiple query templates are stored for different categories that match the same query. For example, the partial query “can” may be completed to “canon” using the template “<brand>” in both the “digital camera” and “printers” category. In other words, there are entities in both categories with “canon” as the brand. In such scenarios, we show category disambiguation for the completion suggestion “canon,” as further described herein. It is possible that there are other completions for “can” that are also ambiguous, such as “candy” as a type of food or the name of a movie. Thus, within a single suggestion list, there may be multiple completion suggestions that are category ambiguous.
- Once potential query completion suggestions are identified, if a user selects a completion or if the system has a high enough confidence for a particular completion, the system may further identify query formulation suggestions for that particular completion about which the system has a high degree of confidence. For example, if the system knows that “canon camer” completes to “canon camera” with a high probability, query formulation suggestions such as “canon camera by resolution,” “canon camera by color,” etc., may be presented to the user. Even if the user enters “canon camera,” the system may still first try to complete the query before suggestion query formulation suggestions.
- Utilizing the
components semantic suggestion generator 208 is configured to construct a trie from one or more query logs, each query being annotated with its top weighted interpretations. Then, given a partial query, thesemantic suggestion generator 208 is able to locate the top weighted completion paths from the trie and transmit them for presentation as query formulation suggestions. In instances wherein not enough suggestions are determined to qualify as “top” suggestions, for instance where a minimum threshold number of query formulation suggestions is desired, additional query formulation suggestions may be identified by the query formulation suggestion generating component 224 (even though they may not meet a minimum desired threshold weight, for instance). Any semantically duplicate suggestions may be eliminated. Because a trie structure is utilized, if a category/attribute/attribute value suggestion is the semantic prefix of one or more remaining suggestions, an attribute extension suggestion may be inserted below such category/attribute/attribute value suggestion upon presentation. In embodiments, thesemantic suggestion generator 208 may render query trie suggestions with multiple interpretations as an annotated query with disambiguation information. These embodiments are more fully described below with reference to the screen displays ofFIGS. 3-26 . - Turning now to
FIG. 3 , illustrated is a screen display of auser interface 300, in accordance with an embodiment of the present invention. Initially, asearch box 310, or a query display area, is the area on the user interface where the user enters a search query. Here, the query “digital camera” 311 has been entered by a user into thesearch box 310. Once the system receives the search query, a database, such as theentity store 206 illustrated inFIG. 2 , is accessed to first determine if one or more entities correspond to the received search query. If so, the system identifies a category associated with the one or more entities. In one embodiment, more than one category is identified such that one category is identified as the most relevant or best category, and the others may be displayed on the search results page as alternate or related categories. As shown inFIG. 3 , the identifiedcategory 313 is displayed in a different portion of the search box, such as the category display area. This may be called the category display area. The category may be displayed in a number of locations on theuser interface 300, but is shown in this location for exemplary purposes only. Asearch button 314 is illustrated, and allows the user to indicate that he or she would like the search to initiate. - A
suggestion area 315, as shown inFIG. 3 , displays query formulation suggestions. Here, the query formulation suggestions comprise a list ofattribute suggestions 316 that are identified as being relevant to the matching entities. Theattribute suggestions 316 include “brand,” “megapixels,” “color,” “zoom,” “lens,” “viewfinder type,” “image stabilization,” and “type.” Additional attribute suggestions, if there are any, may be viewed by using the up and downarrows 317. In one embodiment, a user may select an attribute, which can assist the user in further defining the user's search query. In response to the submitted search query, search results 318 are displayed for the user. As mentioned, the attribute suggestions are stored in a database and are organized based the entities to which they correspond. -
FIG. 4 illustrates another screen display of auser interface 400, in accordance with an embodiment of the present invention.FIG. 4 illustrates asearch box 410 with asearch query 412 entered, which, here, is “digital camera.” In the embodiment ofFIG. 4 , query formulation suggestions, which comprises bothquery completion suggestions 414 and query formulation suggestions, which here comprisesattribute suggestions 416, are displayed in the suggestion area, which blends these two user experiences together. The user may be intending to look for digital camera reviews, which is a popular query suggestion, or may be looking for a specific type of digital camera, in which case the user may utilize theattribute suggestions 416. - Referring to
FIG. 5 , another screen display of auser interface 500 is illustrated, in accordance with an embodiment of the present invention. Thesearch box 510 includes asearch query 511 of “digital camera brand.” Here, after viewing the user interface ofFIG. 4 , the user has made a selection of “brand”attribute 518 out of theattribute suggestions 516 displayed in thesuggestion area 513. “Brand” is not actually added to the search query, but acts as a placeholder for an attribute value that may be selected by the user.Query completion suggestions 514, which are suggestions that may have already been entered into the search engine by other users (e.g., popular search queries) are also displayed in this embodiment. A user selection of an attribute may take many forms, including a mouse click, hovering over the selection, selecting the “enter” key on a keyboard, a user's touch on a touchscreen, gestures, or the like. For instance, a user may simply hover over the “brand”attribute 518. In this case, a list ofattribute value suggestions 522 may be displayed in thesuggestion area 520. For example, theattribute value suggestions 522 listed are brands that manufacture digital cameras. As mentioned, not only are attribute suggestions stored in associated with entities, but attribute value suggestions are also stored such that when a user selects an attribute, as shown inFIG. 5 , attribute value suggestions associated with the selected attribute value can be identified from a database and displayed for user selection. Thesuggestion area 520 may be divided into two or more areas, most notably an attribute display area for displaying a list of attribute suggestions and an attribute value display area for displaying a list of attribute value suggestions. - In one embodiment, in addition to user a mouse or keyboard to select query formulation suggestions, the user may also select/filter these suggestions by typing or otherwise entering the name/template of the query formulation suggestion directly. For instance, the user may type “canon camera by res” or “canon camera 10 megap.” In such instances, query completion suggestions may be presented that attempt to complete the attribute or value. Depending on the scenario, there may be multiple query completion suggestions such a scenario. For instance, a partial query of “canon camera b” may result in the query completion suggestions of, for example, “canon camera black,” “canon camera blue,” etc. There may also be additional query completion suggestions from previously seen queries (e.g., popular queries), such as “canon camera bag.”
-
FIG. 6 illustrates another screen display of auser interface 600, in accordance with an embodiment of the present invention. Here, continuing fromFIG. 5 , the user has now selected a particular brand from the list ofattribute value suggestions 614. The user has selected the “Nikon”attribute value 612. The user selection of an attribute may take on one of many forms of selection, including a mouse click, hovering over the name, pressing the “enter” key, etc. As a result of the user selection of the “Nikon”attribute value 612, thesearch query 610 is further defined to now include “Nikon,” and is now “digital camera Nikon.” At this point, a semantic boundary has been reached. As such, the previous search results displayed for the search query “digital camera” may be updated to include the most relevant search results for “digital camera Nikon.” Similarly, if the user would have selected “Sony” instead of “Nikon,” “Sony” would have been added to the search query, thus further defining the user's actual intent. -
FIG. 7 illustrates another screen display of auser interface 700, in accordance with an embodiment of the present invention. Continuing fromFIG. 6 , thesearch query 710 is now “digital camera Nikon.” Displayed thesuggestion area 712 is a list ofquery completion suggestions 714 and a list of query formulation suggestions, which here is a list ofattribute suggestions 716. However, the list ofattribute suggestions 716 has changed since the last viewing of this list inFIG. 6 . Here, the attribute suggestions have been filtered. Since the user has already selected a brand, the “brand” attribute is no longer present and viewable in the list ofattribute suggestions 716. As such, the list ofattribute suggestions 716 is dynamic in the respect that it understands that “brand” no longer needs to be shown to the user, as the other attribute suggestions not yet selected by the user are the ones that will further help to define the user's true intent. The search results 718 are also shown inFIG. 7 and, as shown, have been updated to include only those results applicable to the most recent version of the search query. -
FIG. 8 illustrates another screen display of auser interface 800, in accordance with an embodiment of the present invention. The user has now entered the letter “s” onto the end of thesearch query 810. In one embodiment, both the query completion suggestions and the query formulation suggestions, which here are attribute suggestions, are filtered based on the letter “s.” For example, because “sale” begins with “s,” theonly query suggestion 812 displayed is “Nikon digital camera sale.” Here, a lexical prefix match may not be performed, but instead a semantic prefix was applied where it has been identified that “digital camera Nikon” is equivalent to “Nikon digital camera.” Additionally, only the attribute suggestions associated with the letter “s” or those attribute suggestions having attribute value suggestions associated with the letter “s” are displayed at this point. Here, theattribute suggestions 814 include “screen size,” “color silver,” and “memory type (SDHC, SD).” Again, these lists are dynamic such that each time the query is modified, both thequery completion suggestions 812 and the query formulation suggestions, or attributesuggestions 814, are filtered, and thus are also modified. In one embodiment, only the attribute suggestions are filtered and attribute value suggestions are not included. But, as shown in the embodiment ofFIG. 8 , the attribute suggestions and attribute value suggestions for each attribute are filtered such that if the user is actually wanting to search for Nikon SD cards, that is easily found. -
FIG. 9 illustrates another screen display of auser interface 900, in accordance with an embodiment of the present invention. Continuing fromFIG. 8 , the user has selected the “screen size”attribute 914 in thesuggestion area 912. As a result, “screen size” has been added to the query, but as shown, it is visually different (e.g., italics, underline, bold) than the rest of the query. This is because it is not actually being added to the query, but indicates that the user may select one of theattribute value suggestions 918 from the list in the attributevalue display area 916. It should be noted that the attribute value suggestions of screen size, in this case, are associated specifically with Nikon brand digital cameras, not any other brand, as the user as already selected “Nikon” as the brand to add to the search query. This is because the query has been refined to be specific to Nikon cameras, and as such associated entities would all be Nikon products. As such, if a different brand would have been chosen inFIG. 6 , the associated entities would also be different, and thus the screen sizes shown inFIG. 9 would be different, as they would be customized to the particular brand. As such, attribute value suggestions, even those that are associated with the same attribute, are dynamic in that they vary based on the entity(s) best corresponding to the current formulation of the search query. -
FIG. 10 illustrates another screen display of auser interface 1000, in accordance with an embodiment of the present invention. In the embodiment ofFIG. 10 , the user has selected (e.g., clicked, hovered, enter key) the “memory type (SDHC, SD)” attribute/attribute value 1014 in thesuggestion box 1012. As mentioned, this attribute/attribute value 1014 is displayed as a result of the user adding “s” to the end of the search query inFIG. 8 . When the user selects “memory type (SDHC, SD),” the attribute value suggestions 1018 are displayed in attributevalue display area 1016. “Memory type” is added to thesearch query 1010, but is visually distinct from the rest of the query to indicate that it isn't actually part of the query, but that the user has the option to select an attribute value associated with the “memory type” attribute. -
FIG. 11 illustrates another screen display of auser interface 1100, in accordance with an embodiment of the present invention. Continuing fromFIG. 10 , the user has now selected the “SDHC”attribute value 1112 in the suggestion area. As shown, thesearch query 1110 has now been modified to add the selected “SDHC”attribute value 1112 selected by the user. Here, the selection, in one embodiment, may be actually pressing the enter key on a keyboard or using a mouse click to indicate that the user wants that attribute value to be part of the search query. “Memory type” is no longer shown in the search query, as an attribute value has now been selected. In one embodiment, the search results 1116 are updated at this point, as a semantic boundary has been reached (e.g., a term or terms have been added to the search query). Continuing fromFIG. 11 ,FIG. 12 illustrates that the user has now selected “SDHC” attribute value, and it has been added to thesearch query 1210. Now, a list ofattribute suggestions 1214 that have not already been selected or used by the user to formulate the query is displayed in thesuggestion area 1212. It can be seen that “memory type” and “brand” are not in the list ofattribute suggestions 1214, although they previously were in the list. -
FIG. 13 illustrates another screen display of auser interface 1300, in accordance with an embodiment of the present invention. Similar to that shown and described with respect toFIG. 8 , the user has now entered “b” into the search box at the end of thesearch query 1310. The attribute suggestions and attribute value suggestions are filtered to display only those associated with the letter “b.” In this case, two colors, blue, and black, start with “b,” and thus are shown in the attribute/attribute value list 1314 in thesuggestion area 1312. As shown inFIG. 14 , the user interface, generally referred to as 1400, illustrates that the user has selected the “color blue” attribute/attribute value 1410. InFIG. 15 , the user interface, generally referred to as 1500, illustrates that thesearch query 1510 now includes the word “blue,” as this was selected by the user. The list ofattribute suggestions 1512 is now different, as “color” is no longer an option because the user has already selected the color blue to further define thesearch query 1510. -
FIG. 16 illustrates another screen display of auser interface 1600, in accordance with an embodiment of the present invention. InFIG. 16 , thesearch query 1610 is “digital camera canno” where the brand “Canon” has been incorrectly spelled by the user. In a circumstance where a term in the query is spelled incorrectly, embodiments of the present invention can be used to assist the user in understanding the user's actual intent. For instance, the attribute/attribute value suggestion 1612 “brand Canon” may be suggested to the user in the suggestion box as being an option that the user may choose to select, which would correct the spelling in the search query. - In one embodiment, while the user may initially enter the search query “digital camera” and eventually add more attribute values to the search query using the methods described herein, the system may reformulate or paraphrase the search query for the user as more information is added. So instead of “digital camera Nikon,” the system may reformulate it to read “Nikon digital camera,” which likely appeals more to the user as it is in a natural language format. Not only may the query be reformulated in the search box, but it may also be in reformulated format on the search results page.
-
FIG. 17 illustrates an alternative embodiment than the embodiments described above, and depicts another screen display of a user interface 1700. InFIG. 17 , the search query 1710 is “digital camera.” Query completion suggestions 1712 and query formulation suggestions, including attribute/attribute values 1714, are displayed in the suggestion box. But in the embodiment ofFIG. 17 , the attribute suggestions are not listed separately from the attribute value suggestions. For instance, instead of just listing “brand” in the list of attribute suggestions and not displaying its corresponding attribute value suggestions until “brand” is selected by the user, here the user can see a sampling of the attribute value suggestions associated with each attribute. So “brand” becomes “brand (Canon, Nikon, . . . ).” The others are similar, and are shown in the list of attribute/attribute values 1714. In one embodiment, the attribute value suggestions that are ranked highest or that are top values for each attribute are those that are shown in the list of attribute suggestions/attribute value suggestions 1714. -
FIG. 18 illustrates yet another alternative embodiment of a screen display of a user interface 1800, in accordance with an embodiment of the present invention. Here, an attribute 1814 “brand” has been selected, and an attribute value 1818 “Canon” has been selected from the list of attribute value suggestions 1816. The search query 1810 now includes “brand Canon” 1812. “Brand Canon” 1812 is not actually added to the query, but “Canon” is. The user may select the word “Canon” from the search query 1810 which results in a dropdown list of alternative brands of digital cameras. This may be easier for a user to change an attribute value than going through the process of selecting the attribute and selecting the desired attribute value. This same embodiment could be used with other attribute suggestions. In addition to the visual representation of the attribute and selected attribute value in the search box inFIG. 18 , other visual representations are also contemplated to be within the scope of the present invention, including just the display of the attribute value in a visually distinct way such that the user would know that he or she may select (e.g., hover, mouse click) over that attribute value to change it to a different attribute value. -
FIGS. 19-22 illustrate progressive screen displays of user interfaces (1900, 2000, 2100, and 2200), in accordance with embodiments of the present invention. InFIG. 19 , asearch query 1910 of “Sony laptop” has been entered by a user. In response to this search query, the system determines whether there are any entities in the entity store, such asentity store 206 in relation toFIG. 2 , that are associated with the inputted search query. Entities are identified if the system has a high enough confidence as to what the user is searching for. If one or more entities are identified, query formulation suggestions, including attribute/attribute value suggestions 1912 and querycompletion suggestions 1914 are transmitted for presentation on theuser interface 1900.FIG. 19 illustrates an embodiment different from those previously discussed in that it lists various attribute suggestions with a few selected (e.g., most relevant, most popular) attribute value suggestions to give the user an idea of values associated with each attribute. As shown inFIG. 20 , the user has selected (e.g., mouse hover) the “Sony laptop by RAM”attribute 2012 from the list ofattribute suggestions 2014. Based on this selection, a list of attribute value suggestions 2018 associated with the selectedattribute value 2012 is displayed. The user has selected the “4 GB”attribute value 2016 from the list of attribute value suggestions 2018. Since an attribute value has been selected, the selected attribute value, “4 GB,” is added to thesearch query 2010. In one embodiment, since a semantic boundary has been reached, the search results would be updated to reflect the additional information in the search query. -
FIG. 21 illustrates that a new and filtered list ofattribute suggestions 2114 are displayed based on the user's previous selection of the “4 GB” RAM size. “RAM” is no longer an option in theattribute suggestions 2114. Now, the user has selected to further define thesearch query 2110 by screen size, as indicated by the user's selection of theattribute 2112 “Sony laptop 4 GB by screen size.” Note that in this embodiment, the current search query is included before each listed attribute. In other embodiments, the current search query may not be included in the listing of attribute suggestions, as shown in previous figures herein. Based on the user selection of the “screen size”attribute 2112, a list of attribute value suggestions 2118 is displayed. The user has chosen to select the “13.3 in”attribute value 2116, which is then added to thesearch query 2110. InFIG. 22 , an updated list ofattribute suggestions 2214 is presented to the user on theuser interface 2200. As mentioned, the updated list does not include previously-selected attribute suggestions for which the user has actually selected an attribute value that has been added to the query. As such, the lists of both attribute suggestions and attribute value suggestions are dynamic. The user has now selected the attribute “hard drive” 2212 from the list ofattribute suggestions 2214. As a result, a list ofattribute value suggestions 2218 are displayed, and the user has selected the “500 GB”attribute value 2216. “500 GB” has been added to thesearch query 2210. -
FIGS. 23-26 illustrate various embodiments of screen displays of user interfaces (2300, 2400, 2500, and 2600) for providing attribute and attribute value suggestions based on a ambiguous search query.FIG. 23 illustrates a search query of “inte” 2310. The system may be unsure of the user's intent, but can displayquery completion suggestions 2314 and query formulation suggestions, comprising attribute suggestions, that are thought to match the user's intent. Additionally,category suggestions 2312 may also be provided, as shown inFIG. 23 . Initially, the system finds the top completions for “inte” and then determines that the top completion “intel” is ambiguous. Because “intel” is ambiguous, the system may guess as to which categories the query could fit into and list the top categories from which the user may choose. Here, it is thought that the user is trying to search for Intel, and thus categories associated with Intel are displayed. This allows the user to accurately choose the direction in which the search will proceed (e.g., whether the user wants to search for CPUs or motherboards.FIG. 24 illustrates an alternative embodiment. Here, the user has selected “Intel in CPUs” 2412 as the category.Other categories 2414 not selected by the user are shown in a different portion of the suggestion area so that the user can choose a different category if “CPUs” is not the correct one.Query completion suggestions 2416 are also displayed. Thequery 2410 has not been modified yet, as an attribute value has not been selected. Further, the selected category is displayed in the search box. -
FIG. 25 illustrates an alternative embodiment in that the user has selected the category “CPUs” 2512, and alternate categories may be browsed by using the left andright arrow buttons 2514. Here, CPUs may be the top category, and as such it is the category that is displayed with the others hidden from view. There are many other ways that this type of information can be displayed for user selection, and are contemplated to be within the scope of the present invention. For example, the user may be able to select (e.g., hover) over the category name in the search box such that alternative categories would appear in a dropdown box. Or, arrows may be displayed next to the category name in the search box that allow the user to browse alternative categories.FIG. 26 illustrates how ambiguous interpretations may be handled. Here, the query is “gold watch” 2610. Ambiguous attribute suggestions may be provided, as shown here. “Material: gold” is the best interpretation of the query. As such, the attribute suggestion of “material: gold” 2612 is displayed in the suggestion area, and as shown, has been selected by the user as illustrated by the shading. - Turning now to
FIG. 27 , a flow diagram is shown of amethod 2700 for identifying query formulation suggestions in response to receiving a search query, in accordance with an embodiment of the present invention. Initially, a search query or a portion thereof is received atstep 2710 in a search query box, such as that illustrated in previous figures herein. The search query box may receive and display the user's search query. In embodiments, the search query entered by the user is not a complete search query, as the system described herein assists the user to complete the search query based on the user's true intent to find an answer by way of search results. At step 2712, query formulation suggestions are identified by semantically analyzing the received search query or portion thereof. Query formulation suggestions comprise semantic-pattern-based query suggestions that are derived from semantic query patterns and entities and/or information associated with the entities. For instance, the search query may be semantically analyzed to identify one or more entities associated with the search query. As the search query may be a partial query, the system uses semantic analysis techniques to identify entities that are most likely what the user is searching for. In some instances, more than one entity is identified, such as more than one product corresponding to the search query “digital came.” In one embodiment, a query formulation suggestion is selected as being most relevant to the search query, and the information (e.g., categories, attributes, attribute values) corresponding to the entities associated with the completion is presented to the user. In embodiments, the entity store is used to generate query formulation suggestions that complete the potentially incomplete query, where each of the query formulation suggestions corresponds to at least one entity. - The query formulation suggestions may be generated based on the identified entities. The query formulation suggestions may include, for example, categories, attributes, and attribute values which assist the user to formulate the search query. The query formulation suggestions are transmitted for presentation at
step 2714. As mentioned, query formulation suggestions may include categories, attributes, and attribute values. In some embodiments, there may not be any categories associated with an entity. In that case, no categories are presented to the user. But if any attributes or attributes values are known in relation to that entity, those may be presented to the user. The identified attribute suggestions may be displayed in a suggestion area, such as the suggestion area illustrated in various figures herein. In one embodiment, query-log-based query suggestions are also displayed in the suggestion area in addition to the attribute suggestions to provide the user with a blended experience that encompasses both query-log-based query suggestions (e.g., popular queries that have been submitted to the search engine in the past) and query formulation suggestions. The query formulation suggestions are configured to be selectable by a user. For instance, when the user selects a particular attribute value, such as “blue,” the term “blue” is added to the search query to further define the user's intent. - Referring to
FIG. 28 , a flow diagram of amethod 2800 for identifying query formulation suggestions in response to receiving a search query is illustrated, in accordance with an embodiment of the present invention. Atstep 2810, a search query is received, typically in a search box, which may both receive and display the search query. The search query entered by the user may not be a complete search query that clearly defines what the user is looking to find, but may be a partial search query. In one embodiment, the user may not press the search key or hit the enter key on a keyboard, but may still be typing when query formulation suggestions are displayed. Atstep 2812, query formulation suggestions are identified by semantically analyzing the search query or portion thereof. - Query formulation suggestions associated with the identified entities are identified, and may include category suggestions, attribute suggestions, attribute value suggestions, etc. Categories may include product types (e.g., digital camera, video camera, watches, party supplies, smart phones) or may even include non-products, such as locations, ideas, or the like. Generally, attributes are groups of different aspects corresponding to a particular entity that are found or known to be relevant to that entity. At
step 2814, the query formulation suggestions are transmitted for presentation in, for example, a suggestion area, and are configured to be selected by a user to further formulate the search query. In one embodiment, the suggestion area is located on the user interface beneath the search box, but in other embodiments, is located in another location on the user interface. - A user selection is received of one of the query formulation suggestions at
step 2816. This user selection may include a hard selection (e.g., pressing the enter key on the keyboard, mouse clicking the attribute) or a soft selection (e.g., hovering over the attribute). In one embodiment, the user selection of an attribute is a hover of the mouse over the attribute, which causes attribute value suggestions to be displayed, as discussed below. Once a user selection is made, the query is modified atstep 2818 based on the selected query formulation suggestion. - Attribute values are simply values that correspond to the selected attribute. For example, an attribute of color would potentially have values including, for example, blue, green, orange, red, etc. Attribute values are selectable by the user and help to further define and formulate the user's search query. It should be noted that both attribute suggestions and attribute value suggestions are dynamic lists and change based on the current form of the user's search query, category, etc. For instance, attribute values for the attribute “color” are different based on whether the category is a laptop or a car. Laptops made by Dell, for example, likely do not come in the same colors as a particular vehicle Likewise, laptops made by one manufactures may not come in the same colors as laptops made by another manufacture. Additionally, once a user has further defined the search query, the attribute associated with the additional term added to the search query may not be visible in the list of attribute suggestions, since the user has already made a decision based on that particular attribute.
- With reference now to
FIG. 29 , a method, referenced generally by the numeral 2900, is depicted, in accordance with an embodiment of the present invention. Atstep 2910, a plurality of search queries is received, for instance, from a query log. Each of the plurality of search queries is associated with a respective set of matching entities. Atstep 2912, at least one semantic query pattern is identified from the plurality of received search queries. A weight for each identified semantic query pattern is identified atstep 2914. Atstep 2916, a plurality of semantic categories is identified, for instance, from an entity database (e.g.,entity store 206 ofFIG. 2 ). Each of the plurality of semantic categories is associated with a respective set of entities. Atstep 2918, at least one term or phrase (e.g., an n-gram) commonly associated with at least one of the semantic categories is identified. Atstep 2920, a plurality of semantic attributes as they pertain to the plurality of semantic categories is identified. At least one semantic attribute pattern is identified from the plurality of semantic attributes atstep 2922. Atstep 2924, a weight for each identified semantic attribute pattern is identified. Atstep 2926, a text-parser is generated or customized from the at least one semantic query pattern and respective weights, the at least one semantic category term or phrase and respective weights, and the at least one semantic attribute patterns and respective weights. - The text-parser may be utilized in parsing input user queries or portions thereof, in accordance with embodiments herein above described. In one embodiment in this regard, at least a portion of an input user search query is received, the text-parser is applied to determine at least one likely attribute for expansion of the input user query, the likelihood being based upon the respective weights, and the at least one likely attribute is transmitted for presentation as an attribute suggestion. In embodiments, applying the text-parser to determine at least one likely attribute for expansion of the input user query may comprise applying the text-parser to determine a plurality of likely attributes for expansion of the input user query, each of the plurality of likely attributes having a calculated weight associated therewith. In embodiments, transmitting the at least one likely attribute for presentation as an attribute suggestion may comprise transmitting at least a portion of the plurality of likely attributes for presentation as attribute suggestions, the attribute suggestions representing the plurality of likely attributes or portion thereof that are transmitted for presentation being arranged in an order representing their respective calculated weights.
- As can be seen, embodiments of the present invention provide for systems, methods and computer-storage media having computer-usable instructions embodied thereon, for building, linking, and exposing semantic knowledge of a search system or systems (e.g., query logs, facets, relationships of entities from structured and unstructured data, contextual signals, and the like) to assist users in query formulation and intent disambiguation, as well as query formulation. Embodiments of the invention may be scaled to tail and never-seen queries and can provide better user intent signals to the system for result matching and lead to better and more relevant search results.
-
FIG. 30 illustrates a flow diagram of amethod 3000 for identifying query formulation suggestions in response to receiving a search query, in accordance with an embodiment of the present invention. Atstep 3010, a search query or a portion thereof is received. Atstep 3012, semantic-pattern-based query suggestions are identified by semantically analyzing the received search query. The semantic-pattern-based query suggestions are derived from semantic query patterns, entities, and information associated with the entities. The information includes attributes and attribute values such that the entities are used to identify the semantic-pattern-based query suggestions. The attribute suggestions and attribute value suggestions are configured to be selectable by a user to further formulate the search query. Atstep 3014, a set of the query formulation suggestions are identified to transmit for presentation. Atstep 3016, the set of query formulation suggestions are transmitted for presentation. These suggestions are configured to be selectable by a user to formulate the search query. - Turning now to
FIG. 31 , a flow diagram of amethod 3100 is illustrated for identifying query formulation suggestions in response to receiving a search query, in accordance with an embodiment of the present invention. Atstep 3110, a search query or a portion thereof is received. The search query is semantically analyzed atstep 3112 to identify semantic-pattern-based query suggestions that are generated by semantic query patterns, one or more entities, or information associated with the entities. The information may include categories, attributes, attribute values, etc. The semantic-pattern-based query suggestions are transmitted for presentation atstep 3114, and are configured to be selectable by a user to formulate the search query. Atstep 3116, a user selection of one of the semantic-pattern-based query suggestions is received. In response to the user selection, the search query is modified atstep 3118 based on the selected semantic-pattern-based query suggestion. Atstep 3120, a set of search results is updated based on the modified search query. This indicates that a semantic boundary has now been reached. - Turning now to
FIG. 32 , a block diagram is illustrated of an exemplary system in which embodiments of the invention may be employed. Theentity store 3210, as previously mentioned, stores entities and known information associated with entities. For instance, one or more of categories, attributes, or attribute values may be stored in theentity store 3210 in association with an entity. From theentity store 3210, various files are generated, including anentity index 3212 and asemantic grammar file 3214. Thesemantic grammar file 3214 predicts what the user will or wants to type, and additionally stores query patterns received from users along with attributes for each product category. It also stores previously observed queries along with their top interpretations. Further, thesemantic grammar file 3214 stores templates that are used to generate query formulation suggestions, such as query templates, attribute templates, attribute value templates, category templates, and the like. Theentity index 3212 stores an indexed representation of the entities stored in theentity store 3210. These files are sent to a weighted finite state transfuser (WFST)decoder 3216. The decoder receives notifications that the user has pressed a key, had a mouse click/event, etc. Every user event is considered by the decoder. From the decoder, the user experience (UX)component 3218 presents the query formulation suggestions to the user. TheUX component 3218 interacts with thedomain intelligence component 3220, which is responsible for refreshing search results when a semantic boundary is reached. Thedomain intelligence component 3220 retrieves updated search results for presentation to the user. Thequery log database 3222 receives entered queries, user selections, etc. for recording purposes. As shown inFIG. 32 , the cylindrical components are able to be calculated offline, or prior to receiving a search query. The rectangular components perform their respective functions online, or once the search query is entered by a user. - 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.
- From the foregoing, it will be seen that this invention is one well adapted to attain all the ends and objects set forth above, together with other advantages which are obvious and inherent to the system and method. It will be understood that certain features and subcombinations are of utility and may be employed without reference to other features and subcombinations. This is contemplated by and is within the scope of the claims.
Claims (19)
1. One or more computer-storage media storing computer-useable instructions that, when used by a computing device, cause the computing device to perform a method, comprising:
receiving a plurality of search queries from a query log, each of the plurality of search queries being associated with a respective set of matching entities;
identifying at least one semantic query pattern from the plurality of search queries;
identifying a plurality of semantic categories from an entity database, each of the plurality of semantic categories being associated with a respective set of entities;
identifying at least one term commonly associated with at least one of the semantic categories;
identifying a plurality of semantic attributes as they pertain to the plurality of semantic categories;
identifying at least one semantic attribute pattern from the plurality of semantic attributes; and
customizing a text-parser, at least in part, utilizing the at least one semantic query pattern, the at least one semantic category term, and the at least one semantic attribute patterns, the text parser for use in parsing input user queries or portions thereof.
2. The one or more computer-storage media of claim 1 , wherein the method further comprises:
identifying a weight for each identified semantic query pattern; and
identifying a weight for each identified semantic attribute pattern.
3. The one or more computer-storage media of claim 2 , wherein utilizing a text-parser generated, at least in part, from the at least one semantic query pattern, the at least one semantic category term, and the at least one semantic attribute patterns, comprises utilizing a text-parser generated, at least in part, from the at least one semantic query pattern and respective weights, the at least one semantic category term, and the at least one semantic attribute patterns and respective weights, the text parser for use in parsing user queries or portions thereof.
4. The one or more computer-storage media of claim 1 , wherein identifying at least one term commonly associated with at least one of the semantic categories comprises identifying at least one phrase commonly associated with at least one of the semantic categories.
5. The one or more computer-storage media of claim 1 , wherein identifying at least one term commonly associated with at least one of the semantic categories comprises identifying at least one n-gram commonly associated with at least one of the semantic categories.
6. The one or more computer-storage media of claim 2 , wherein the method further comprises:
receiving at least a portion of an input user search query;
applying the text-parser to determine at least one likely attribute, attribute value, term, or combination thereof for expansion of the input user query; and
transmitting the at least one likely attribute, attribute value, term, or combination thereof for presentation as an attribute suggestion.
7. The one or more computer-storage media of claim 6 , wherein applying the text-parser to determine at least one likely attribute, attribute value, term, or combination thereof for expansion of the input user query comprises applying the text-parser to determine a plurality of likely attributes, attribute values, terms, or any combination thereof for expansion of the input user query, each of the plurality of likely attributes, attribute values, terms, or any combination thereof having a calculated weight associated therewith.
8. The one or more computer-storage media of claim 7 , wherein transmitting the at least one likely attribute, attribute value, term, or combination thereof for presentation as an attribute suggestion comprises transmitting at least a portion of the plurality of likely attributes, attribute values, terms or any combination thereof for presentation as attribute suggestions, the attribute suggestions representing the plurality of likely attributes, attribute values, terms, any combination thereof, or any portion thereof that are transmitted for presentation being arranged in an order representing their respective calculated weights.
9. A method performed by a computing device having a processor and a memory for generating query formulation suggestions, the method comprising:
receiving a plurality of search queries from a query log, each of the plurality of search queries being associated with a respective set of matching entities;
identifying at least one semantic query pattern from the plurality of search queries;
identifying a weight for each identified semantic query pattern;
identifying a plurality of semantic categories from an entity database, each of the plurality of semantic categories being associated with a respective set of entities;
identifying at least one term commonly associated with at least one of the semantic categories;
identifying a plurality of semantic attributes as they pertain to the plurality of semantic categories;
identifying at least one semantic attribute pattern from the plurality of semantic attributes;
identifying a weight for each identified semantic attribute pattern; and
customizing a text-parser, at least in part, utilizing the at least one semantic query pattern and respective weights, the at least one semantic category term, and the at least one semantic attribute patterns and respective weights, the text-parser for use in parsing input user queries or portions thereof.
10. The method of claim 9 , wherein identifying at least one term commonly associated with at least one of the semantic categories comprises identifying at least one phrase commonly associated with at least one of the semantic categories.
11. The method of claim 9 , wherein identifying at least one term commonly associated with at least one of the semantic categories comprises identifying at least one n-gram commonly associated with at least one of the semantic categories.
12. The method of claim 9 , wherein the method further comprises:
receiving at least a portion of an input user search query;
applying the text-parser to determine at least one likely attribute, attribute value, term, or combination thereof for expansion of the input user query; and
transmitting the at least one likely attribute, attribute value, term, or combination thereof for presentation as an attribute suggestion.
13. The method of claim 12 , wherein applying the text-parser to determine at least one likely attribute, attribute value, term, or combination thereof for expansion of the input user query comprises applying the text-parser to determine a plurality of likely attributes, attribute values, terms, or any combination thereof for expansion of the input user query, each of the plurality of likely attributes, attribute values, terms, or any combination thereof having a calculated weight associated therewith.
14. The method of claim 13 , wherein transmitting the at least one likely attribute, attribute value, term, or combination thereof for presentation as an attribute suggestion comprises transmitting at least a portion of the plurality of likely attributes, attribute values, terms or any combination thereof for presentation as attribute suggestions, the attribute suggestions representing the plurality of likely attributes, attribute values, terms, any combination thereof, or any portion thereof that are transmitted for presentation being arranged in an order representing their respective calculated weights.
15. One or more computer-storage media storing computer-useable instructions that, when used by a computing device, cause the computing device to perform a method for ordering query formulation suggestions, the method comprising:
receiving a plurality of search queries from a query log, each of the plurality of search queries being associated with a respective set of matching entities;
identifying at least one semantic query pattern from the plurality of search queries;
identifying a weight for each identified semantic query pattern;
identifying a plurality of semantic categories from an entity database, each of the plurality of semantic categories being associated with a respective set of entities;
identifying at least one term commonly associated with at least one of the semantic categories;
identifying a plurality of semantic attributes as they pertain to the plurality of semantic categories;
identifying at least one semantic attribute pattern from the plurality of semantic attributes;
identifying a weight for each identified semantic attribute pattern;
customizing a text-parser, at least in part, utilizing the at least one semantic query pattern and respective weights, the at least one semantic category term, and the at least one semantic attribute patterns and respective weights, the text parser for use in parsing input user queries or portions thereof;
receiving at least a portion of an input user search query;
applying the text-parser to determine at least one likely attribute, attribute value, term, or combination thereof for expansion of the input user query; and
transmitting the at least one likely attribute, attribute value, term, or combination thereof for presentation as an attribute suggestion, the attribute suggestions representing the plurality of likely attributes, attribute values, terms, any combination thereof, or any portion thereof that are transmitted for presentation being arranged in an order representing their respective calculated weights.
16. The one or more computer-storage media of claim 15 , wherein identifying at least one term commonly associated with at least one of the semantic categories comprises identifying at least one phrase commonly associated with at least one of the semantic categories.
17. The one or more computer-storage media of claim 15 , wherein identifying at least one term commonly associated with at least one of the semantic categories comprises identifying at least one n-gram commonly associated with at least one of the semantic categories.
18. The one or more computer-storage media of claim 15 , wherein applying the text-parser to determine at least one likely attribute, attribute value, term, or combination thereof for expansion of the input user query comprises applying the text-parser to determine a plurality of likely attributes, attribute values, terms, or any combination thereof for expansion of the input user query, each of the plurality of likely attributes, attribute values, terms, or any combination thereof having a calculated weight associated therewith.
19. The one or more computer-storage media of claim 15 , wherein transmitting the at least one likely attribute, attribute value, term, or combination thereof for presentation as an attribute suggestion comprises transmitting at least a portion of the plurality of likely attributes, attribute values, terms or any combination thereof for presentation as attribute suggestions, the attribute suggestions representing the plurality of likely attributes, attribute values, terms, any combination thereof, or any portion thereof that are transmitted for presentation being arranged in an order representing their respective calculated weights.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/167,007 US20120265784A1 (en) | 2011-04-15 | 2011-06-23 | Ordering semantic query formulation suggestions |
PCT/US2012/033717 WO2012142552A1 (en) | 2011-04-15 | 2012-04-15 | Interactive semantic query suggestion for content search |
PCT/US2012/033718 WO2012142553A2 (en) | 2011-04-15 | 2012-04-15 | Identifying query formulation suggestions for low-match queries |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161476154P | 2011-04-15 | 2011-04-15 | |
US13/167,007 US20120265784A1 (en) | 2011-04-15 | 2011-06-23 | Ordering semantic query formulation suggestions |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120265784A1 true US20120265784A1 (en) | 2012-10-18 |
Family
ID=47007212
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/166,969 Active 2031-06-25 US8983995B2 (en) | 2011-04-15 | 2011-06-23 | Interactive semantic query suggestion for content search |
US13/167,007 Abandoned US20120265784A1 (en) | 2011-04-15 | 2011-06-23 | Ordering semantic query formulation suggestions |
US13/172,561 Active US8965872B2 (en) | 2011-04-15 | 2011-06-29 | Identifying query formulation suggestions for low-match queries |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/166,969 Active 2031-06-25 US8983995B2 (en) | 2011-04-15 | 2011-06-23 | Interactive semantic query suggestion for content search |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/172,561 Active US8965872B2 (en) | 2011-04-15 | 2011-06-29 | Identifying query formulation suggestions for low-match queries |
Country Status (4)
Country | Link |
---|---|
US (3) | US8983995B2 (en) |
AR (1) | AR086083A1 (en) |
TW (1) | TWI560561B (en) |
WO (2) | WO2012142552A1 (en) |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120330962A1 (en) * | 2011-05-26 | 2012-12-27 | Alibaba Group Holding Limited | Method and Apparatus of Providing Suggested Terms |
US20130080423A1 (en) * | 2011-09-23 | 2013-03-28 | Ebay Inc. | Recommendations for search queries |
US20130080412A1 (en) * | 2011-09-22 | 2013-03-28 | International Business Machines Corporation | Short search result along with query suggestions |
US20130232166A1 (en) * | 2006-05-24 | 2013-09-05 | Sizhe Tan | Computer method for searching document and recognizing concept with controlled tolerance |
US8601019B1 (en) * | 2012-04-03 | 2013-12-03 | Google Inc. | Presenting autocomplete suggestions |
US20140309993A1 (en) * | 2013-04-10 | 2014-10-16 | Nuance Communications, Inc. | System and method for determining query intent |
US8965872B2 (en) | 2011-04-15 | 2015-02-24 | Microsoft Technology Licensing, Llc | Identifying query formulation suggestions for low-match queries |
US9047278B1 (en) | 2012-11-09 | 2015-06-02 | Google Inc. | Identifying and ranking attributes of entities |
US20150154214A1 (en) * | 2011-10-05 | 2015-06-04 | Google Inc. | Referent based search suggestions |
US20150324413A1 (en) * | 2014-05-12 | 2015-11-12 | Google Inc. | Updating text within a document |
US20150370856A1 (en) * | 2014-06-18 | 2015-12-24 | Sony Corporation | Method and system for processing a search query |
US9449095B1 (en) * | 2012-12-31 | 2016-09-20 | Google Inc. | Revising search queries |
US9477782B2 (en) | 2014-03-21 | 2016-10-25 | Microsoft Corporation | User interface mechanisms for query refinement |
US9569614B2 (en) | 2015-06-17 | 2017-02-14 | International Business Machines Corporation | Capturing correlations between activity and non-activity attributes using N-grams |
US9753967B2 (en) | 2014-03-31 | 2017-09-05 | Samsung Electronics Co., Ltd. | Computing system with error detection mechanism and method of operation thereof |
US9767417B1 (en) | 2014-06-12 | 2017-09-19 | Amazon Technologies, Inc. | Category predictions for user behavior |
US9767204B1 (en) | 2014-06-12 | 2017-09-19 | Amazon Technologies, Inc. | Category predictions identifying a search frequency |
US9875284B1 (en) * | 2012-06-18 | 2018-01-23 | A9.Com, Inc. | Displaying search completion results |
US20180067940A1 (en) * | 2016-09-06 | 2018-03-08 | Kakao Corp. | Search method and apparatus |
US10013152B2 (en) | 2011-10-05 | 2018-07-03 | Google Llc | Content selection disambiguation |
US20180196869A1 (en) * | 2017-01-11 | 2018-07-12 | International Buesiness Machines Corporation | Natural language search using facets |
US10152596B2 (en) | 2016-01-19 | 2018-12-11 | International Business Machines Corporation | Detecting anomalous events through runtime verification of software execution using a behavioral model |
US10242088B2 (en) * | 2014-09-18 | 2019-03-26 | Microsoft Technology Licensing, Llc | Multi-source search |
US10262058B2 (en) * | 2013-10-24 | 2019-04-16 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for evaluating search prompting system |
US10387934B1 (en) | 2014-06-12 | 2019-08-20 | Amazon Technologies, Inc. | Method medium and system for category prediction for a changed shopping mission |
US10474670B1 (en) * | 2014-06-12 | 2019-11-12 | Amazon Technologies, Inc. | Category predictions with browse node probabilities |
US20200401638A1 (en) * | 2019-06-19 | 2020-12-24 | Yandex Europe Ag | Method of and system for generating search query completion suggestion on search engine |
US10902041B2 (en) * | 2015-06-11 | 2021-01-26 | Nuance Communications, Inc. | Systems and methods for learning semantic patterns from textual data |
US11003731B2 (en) * | 2018-01-17 | 2021-05-11 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for generating information |
US20220245162A1 (en) * | 2021-01-30 | 2022-08-04 | Walmart Apollo, Llc | Methods and apparatus for automatically ranking items in response to a search request |
US11468780B2 (en) * | 2020-02-20 | 2022-10-11 | Gopalakrishnan Venkatasubramanyam | Smart-learning and knowledge retrieval system |
US11514036B2 (en) * | 2018-08-14 | 2022-11-29 | Jpmorgan Chase Bank, N.A. | Method and system for self-learning natural language predictive searching |
Families Citing this family (173)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
WO2010138972A2 (en) | 2009-05-29 | 2010-12-02 | Abacast, Inc. | Selective access of multi-rate data from a server and/or peer |
US20120309363A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8930959B2 (en) | 2011-05-13 | 2015-01-06 | Orions Digital Systems, Inc. | Generating event definitions based on spatial and relational relationships |
US8595227B2 (en) * | 2011-06-28 | 2013-11-26 | Sap Ag | Semantic activity awareness |
US8892591B1 (en) | 2011-09-30 | 2014-11-18 | Google Inc. | Presenting search results |
US8890827B1 (en) | 2011-10-05 | 2014-11-18 | Google Inc. | Selected content refinement mechanisms |
WO2013052866A2 (en) | 2011-10-05 | 2013-04-11 | Google Inc. | Semantic selection and purpose facilitation |
US9032316B1 (en) | 2011-10-05 | 2015-05-12 | Google Inc. | Value-based presentation of user-selectable computing actions |
US8878785B1 (en) | 2011-10-05 | 2014-11-04 | Google Inc. | Intent determination using geometric shape input |
US8825671B1 (en) | 2011-10-05 | 2014-09-02 | Google Inc. | Referent determination from selected content |
US8983996B2 (en) | 2011-10-31 | 2015-03-17 | Yahoo! Inc. | Assisted searching |
US9858313B2 (en) * | 2011-12-22 | 2018-01-02 | Excalibur Ip, Llc | Method and system for generating query-related suggestions |
EP2820574A1 (en) * | 2012-02-29 | 2015-01-07 | Google, Inc. | Interactive query completion templates |
US20130282682A1 (en) * | 2012-04-18 | 2013-10-24 | Yahoo! Inc. | Method and System for Search Suggestion |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US8781916B1 (en) | 2012-05-18 | 2014-07-15 | Google Inc. | Providing nuanced product recommendations based on similarity channels |
US9251181B2 (en) * | 2012-06-18 | 2016-02-02 | International Business Machines Corporation | Dynamic map template discovery and map creation |
US9275147B2 (en) * | 2012-06-18 | 2016-03-01 | Google Inc. | Providing query suggestions |
EP2778959B1 (en) * | 2012-06-27 | 2020-04-08 | Rakuten, Inc. | Information processing device, information processing method, and information processing program |
US9424233B2 (en) | 2012-07-20 | 2016-08-23 | Veveo, Inc. | Method of and system for inferring user intent in search input in a conversational interaction system |
US9465833B2 (en) | 2012-07-31 | 2016-10-11 | Veveo, Inc. | Disambiguating user intent in conversational interaction system for large corpus information retrieval |
US9659082B2 (en) * | 2012-08-27 | 2017-05-23 | Microsoft Technology Licensing, Llc | Semantic query language |
US9396179B2 (en) * | 2012-08-30 | 2016-07-19 | Xerox Corporation | Methods and systems for acquiring user related information using natural language processing techniques |
US20140129973A1 (en) * | 2012-11-08 | 2014-05-08 | Microsoft Corporation | Interaction model for serving popular queries in search box |
US10664534B2 (en) * | 2012-11-14 | 2020-05-26 | Home Depot Product Authority, Llc | System and method for automatic product matching |
US20140143254A1 (en) * | 2012-11-16 | 2014-05-22 | Ritendra Datta | Category and Attribute Specifications for Product Search Queries |
US9576007B1 (en) * | 2012-12-21 | 2017-02-21 | Google Inc. | Index and query serving for low latency search of large graphs |
US10394816B2 (en) | 2012-12-27 | 2019-08-27 | Google Llc | Detecting product lines within product search queries |
US9092527B2 (en) * | 2013-01-30 | 2015-07-28 | Quixey, Inc. | Performing application search based on entities |
WO2014124332A2 (en) | 2013-02-07 | 2014-08-14 | Apple Inc. | Voice trigger for a digital assistant |
US9483559B2 (en) | 2013-03-06 | 2016-11-01 | Microsoft Technology Licensing, Llc | Reformulating query terms in structured search |
US9336211B1 (en) | 2013-03-13 | 2016-05-10 | Google Inc. | Associating an entity with a search query |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
WO2014139120A1 (en) | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Search intent preview, disambiguation, and refinement |
US10817482B2 (en) | 2013-03-15 | 2020-10-27 | Factual Inc. | Apparatus, systems, and methods for crowdsourcing domain specific intelligence |
US9037568B1 (en) * | 2013-03-15 | 2015-05-19 | Google Inc. | Factual query pattern learning |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
ES2751484T3 (en) * | 2013-05-07 | 2020-03-31 | Veveo Inc | Incremental voice input interface with real-time feedback |
US9501317B2 (en) * | 2013-05-11 | 2016-11-22 | Indrajith Kuruppu | System for formulating temporal bases for process coordination in a genetics related process environment |
US10678878B2 (en) * | 2013-05-20 | 2020-06-09 | Tencent Technology (Shenzhen) Company Limited | Method, device and storing medium for searching |
US10579835B1 (en) * | 2013-05-22 | 2020-03-03 | Sri International | Semantic pre-processing of natural language input in a virtual personal assistant |
US9529856B2 (en) * | 2013-06-03 | 2016-12-27 | Google Inc. | Query suggestion templates |
US9552411B2 (en) | 2013-06-05 | 2017-01-24 | Microsoft Technology Licensing, Llc | Trending suggestions |
DE202014004555U1 (en) * | 2013-06-08 | 2014-09-18 | Apple Inc. | Device for generating user interfaces from a template |
CN105264524B (en) | 2013-06-09 | 2019-08-02 | 苹果公司 | For realizing the equipment, method and graphic user interface of the session continuity of two or more examples across digital assistants |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
US9374431B2 (en) | 2013-06-20 | 2016-06-21 | Microsoft Technology Licensing, Llc | Frequent sites based on browsing patterns |
US10073882B1 (en) * | 2013-07-15 | 2018-09-11 | Google Llc | Semantically equivalent query templates |
JP5787941B2 (en) * | 2013-07-19 | 2015-09-30 | ヤフー株式会社 | Trigger query acquisition device, trigger query acquisition method, and program |
US9772994B2 (en) * | 2013-07-25 | 2017-09-26 | Intel Corporation | Self-learning statistical natural language processing for automatic production of virtual personal assistants |
US20150039582A1 (en) * | 2013-08-05 | 2015-02-05 | Google Inc. | Providing information in association with a search field |
DE112014003653B4 (en) | 2013-08-06 | 2024-04-18 | Apple Inc. | Automatically activate intelligent responses based on activities from remote devices |
US9817899B2 (en) * | 2013-08-26 | 2017-11-14 | Globalfoundries | Searching for secret data through an untrusted searcher |
RU2592393C2 (en) | 2013-08-30 | 2016-07-20 | Общество С Ограниченной Ответственностью "Яндекс" | System and method for completing user's query and providing a response to a query |
US20150074101A1 (en) * | 2013-09-10 | 2015-03-12 | Microsoft Corporation | Smart search refinement |
US10146865B2 (en) * | 2013-10-04 | 2018-12-04 | Orions Digital Systems, Inc. | Tagonomy—a system and method of semantic web tagging |
US9672288B2 (en) | 2013-12-30 | 2017-06-06 | Yahoo! Inc. | Query suggestions |
US9430586B2 (en) * | 2014-04-02 | 2016-08-30 | Microsoft Technology Licensing, Llc | Reference resolution |
US9626455B2 (en) | 2014-05-01 | 2017-04-18 | Lexisnexis, A Division Of Reed Elsevier Inc. | Systems and methods for displaying estimated relevance indicators for result sets of documents and for displaying query visualizations |
US10353347B2 (en) * | 2014-05-09 | 2019-07-16 | Indrajith Kuruppu | System for formulating temporal bases for operation of processes for process coordination related to physical movements in process environments |
US10474671B2 (en) * | 2014-05-12 | 2019-11-12 | Google Llc | Interpreting user queries based on nearby locations |
US10838995B2 (en) * | 2014-05-16 | 2020-11-17 | Microsoft Technology Licensing, Llc | Generating distinct entity names to facilitate entity disambiguation |
IL232895A0 (en) * | 2014-05-29 | 2014-08-31 | Cidabra Technologies Ltd | A method for effectively obtaining guidance for obtaining required information |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
EP3480811A1 (en) | 2014-05-30 | 2019-05-08 | Apple Inc. | Multi-command single utterance input method |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US20160004706A1 (en) * | 2014-07-01 | 2016-01-07 | Microsoft Corporation | Security trimming of search suggestions |
US9934331B2 (en) | 2014-07-03 | 2018-04-03 | Microsoft Technology Licensing, Llc | Query suggestions |
US20160055563A1 (en) * | 2014-08-20 | 2016-02-25 | Roopnath Grandhi | Methods and systems of discovery of products in e-commerce |
US20170277702A1 (en) * | 2014-08-20 | 2017-09-28 | Google Inc. | Interpreting user queries based on nearby locations |
US20160063109A1 (en) * | 2014-08-29 | 2016-03-03 | Yuanjie Liu | Query-breadth selected search result sorting mechanism |
US9697236B2 (en) | 2014-12-05 | 2017-07-04 | Microsoft Technology Licensing, Llc | Image annotation using aggregated page information from active and inactive indices |
KR102455325B1 (en) | 2014-12-10 | 2022-10-14 | 킨디 인코포레이티드 | Technical and semantic signal processing in large, unstructured data fields |
US9824385B2 (en) * | 2014-12-29 | 2017-11-21 | Ebay Inc. | Method for performing sequence labelling on queries |
US9854049B2 (en) | 2015-01-30 | 2017-12-26 | Rovi Guides, Inc. | Systems and methods for resolving ambiguous terms in social chatter based on a user profile |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
CN106156141B (en) * | 2015-04-13 | 2020-04-24 | 深圳市腾讯计算机系统有限公司 | Method and device for constructing semantic query word template |
US10558688B1 (en) * | 2015-04-15 | 2020-02-11 | Arimo, LLC | Natural language interface for data analysis |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US10503764B2 (en) * | 2015-06-01 | 2019-12-10 | Oath Inc. | Location-awareness search assistance system and method |
CN106326206B (en) * | 2015-06-24 | 2021-01-26 | 北京京东尚科信息技术有限公司 | Entity extraction method based on grammar template |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US9686263B2 (en) * | 2015-08-14 | 2017-06-20 | Quixey, Inc. | Search result relevance based on user account information |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US11899728B2 (en) | 2015-10-05 | 2024-02-13 | Yahoo Assets Llc | Methods, systems and techniques for ranking personalized and generic search query suggestions |
US11836169B2 (en) * | 2015-10-05 | 2023-12-05 | Yahoo Assets Llc | Methods, systems and techniques for providing search query suggestions based on non-personal data and user personal data according to availability of user personal data |
US20170109411A1 (en) * | 2015-10-14 | 2017-04-20 | Linkedln Corporation | Assisted creation of a search query |
US10409830B2 (en) | 2015-10-14 | 2019-09-10 | Microsoft Technology Licensing, Llc | System for facet expansion |
US10445386B2 (en) | 2015-10-14 | 2019-10-15 | Microsoft Technology Licensing, Llc | Search result refinement |
US11216478B2 (en) * | 2015-10-16 | 2022-01-04 | o9 Solutions, Inc. | Plan model searching |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US11314791B2 (en) * | 2016-03-23 | 2022-04-26 | Ebay Inc. | Smart match autocomplete system |
US10423683B2 (en) | 2016-05-02 | 2019-09-24 | Microsoft Technology Licensing, Llc | Personalized content suggestions in computer networks |
US10936945B2 (en) | 2016-06-06 | 2021-03-02 | Microsoft Technology Licensing, Llc | Query classification for appropriateness |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
US10654380B2 (en) | 2016-11-18 | 2020-05-19 | Microsoft Technology Licensing, Llc | Query rewriting and interactive inquiry framework |
US10846317B2 (en) * | 2016-11-22 | 2020-11-24 | Sap Se | Method and system for data processing and structural categorizing |
US10810238B2 (en) | 2016-12-06 | 2020-10-20 | Sap Se | Decoupled architecture for query response generation |
US10514827B2 (en) | 2017-02-10 | 2019-12-24 | Microsoft Technology Licensing, Llc | Resequencing actionable task structures for transforming data |
US10521448B2 (en) | 2017-02-10 | 2019-12-31 | Microsoft Technology Licensing, Llc | Application of actionable task structures to disparate data sets for transforming data in the disparate data sets |
US10481766B2 (en) * | 2017-02-10 | 2019-11-19 | Microsoft Technology Licensing, Llc | Interfaces and methods for generating and applying actionable task structures |
KR102687184B1 (en) * | 2017-02-10 | 2024-07-19 | 삼성전자주식회사 | WFST decoding system, speech recognition system including the same and Method for stroing WFST data |
US11573989B2 (en) * | 2017-02-24 | 2023-02-07 | Microsoft Technology Licensing, Llc | Corpus specific generative query completion assistant |
US10467292B2 (en) * | 2017-02-28 | 2019-11-05 | Salesforce.Com, Inc. | Suggesting query items based on database fields |
US10795938B2 (en) | 2017-03-13 | 2020-10-06 | Target Brands, Inc. | Spell checker |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | Low-latency intelligent automated assistant |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Multi-modal interfaces |
US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US20180349447A1 (en) * | 2017-06-02 | 2018-12-06 | Apple Inc. | Methods and systems for customizing suggestions using user-specific information |
US11580115B2 (en) * | 2017-06-29 | 2023-02-14 | Ebay Inc. | Identification of intent and non-intent query portions |
CN107679062B (en) * | 2017-07-31 | 2021-02-05 | 石河子大学 | Method for reasoning group intentions and electronic equipment |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10635679B2 (en) | 2018-04-13 | 2020-04-28 | RELX Inc. | Systems and methods for providing feedback for natural language queries |
US11886473B2 (en) | 2018-04-20 | 2024-01-30 | Meta Platforms, Inc. | Intent identification for agent matching by assistant systems |
US11676220B2 (en) | 2018-04-20 | 2023-06-13 | Meta Platforms, Inc. | Processing multimodal user input for assistant systems |
US11307880B2 (en) | 2018-04-20 | 2022-04-19 | Meta Platforms, Inc. | Assisting users with personalized and contextual communication content |
US11010179B2 (en) | 2018-04-20 | 2021-05-18 | Facebook, Inc. | Aggregating semantic information for improved understanding of users |
US11715042B1 (en) | 2018-04-20 | 2023-08-01 | Meta Platforms Technologies, Llc | Interpretability of deep reinforcement learning models in assistant systems |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
DK179822B1 (en) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | Virtual assistant operation in multi-device environments |
US10956470B2 (en) * | 2018-06-26 | 2021-03-23 | International Business Machines Corporation | Facet-based query refinement based on multiple query interpretations |
US11500655B2 (en) | 2018-08-22 | 2022-11-15 | Microstrategy Incorporated | Inline and contextual delivery of database content |
US11714955B2 (en) | 2018-08-22 | 2023-08-01 | Microstrategy Incorporated | Dynamic document annotations |
US11030260B2 (en) * | 2018-08-29 | 2021-06-08 | Ip.Com I, Llc | System and method for dynamically normalized semantic distance and applications thereof |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11164562B2 (en) * | 2019-01-10 | 2021-11-02 | International Business Machines Corporation | Entity-level clarification in conversation services |
US11682390B2 (en) | 2019-02-06 | 2023-06-20 | Microstrategy Incorporated | Interactive interface for analytics |
CN109918555B (en) * | 2019-02-20 | 2021-10-15 | 百度在线网络技术(北京)有限公司 | Method, apparatus, device and medium for providing search suggestions |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | User activity shortcut suggestions |
DK201970511A1 (en) | 2019-05-31 | 2021-02-15 | Apple Inc | Voice identification in digital assistant systems |
US11468890B2 (en) | 2019-06-01 | 2022-10-11 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US10997641B1 (en) * | 2019-07-15 | 2021-05-04 | Coupa Software Incorporated | Enabling supplier catalogs based on procurement data from buyer community |
JP7091295B2 (en) * | 2019-09-06 | 2022-06-27 | 株式会社東芝 | Analytical equipment, analysis method and program |
WO2021108679A1 (en) * | 2019-11-27 | 2021-06-03 | ConverSight.ai, Inc. | Contextual and intent based natural language processing system and method |
US11043220B1 (en) | 2020-05-11 | 2021-06-22 | Apple Inc. | Digital assistant hardware abstraction |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
DK202070658A1 (en) | 2020-06-01 | 2022-01-13 | Apple Inc | Suggesting executable actions in response to detecting events |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
US20230101701A1 (en) * | 2021-09-28 | 2023-03-30 | International Business Machines Corporation | Dynamic typeahead suggestions for a text input |
US11914644B2 (en) * | 2021-10-11 | 2024-02-27 | Microsoft Technology Licensing, Llc | Suggested queries for transcript search |
US12105764B2 (en) * | 2022-06-29 | 2024-10-01 | Dropbox, Inc. | Empty search state |
US11790107B1 (en) | 2022-11-03 | 2023-10-17 | Vignet Incorporated | Data sharing platform for researchers conducting clinical trials |
US12007870B1 (en) | 2022-11-03 | 2024-06-11 | Vignet Incorporated | Monitoring and adjusting data collection from remote participants for health research |
US20240193351A1 (en) * | 2022-12-07 | 2024-06-13 | Sony Interactive Entertainment Inc. | Providing a ui input generation interface for drafting text descriptions used by an ai image generation model |
Citations (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6408294B1 (en) * | 1999-03-31 | 2002-06-18 | Verizon Laboratories Inc. | Common term optimization |
US6484161B1 (en) * | 1999-03-31 | 2002-11-19 | Verizon Laboratories Inc. | Method and system for performing online data queries in a distributed computer system |
US6493721B1 (en) * | 1999-03-31 | 2002-12-10 | Verizon Laboratories Inc. | Techniques for performing incremental data updates |
US6826559B1 (en) * | 1999-03-31 | 2004-11-30 | Verizon Laboratories Inc. | Hybrid category mapping for on-line query tool |
US20040243555A1 (en) * | 2003-05-30 | 2004-12-02 | Oracle International Corp. | Methods and systems for optimizing queries through dynamic and autonomous database schema analysis |
US20050080795A1 (en) * | 2003-10-09 | 2005-04-14 | Yahoo! Inc. | Systems and methods for search processing using superunits |
US20050137849A1 (en) * | 2003-12-22 | 2005-06-23 | Microsoft Corporation | Method and apparatus for training and deployment of a statistical model of syntactic attachment likelihood |
US7013264B2 (en) * | 1997-03-07 | 2006-03-14 | Microsoft Corporation | System and method for matching a textual input to a lexical knowledge based and for utilizing results of that match |
US20060106769A1 (en) * | 2004-11-12 | 2006-05-18 | Gibbs Kevin A | Method and system for autocompletion for languages having ideographs and phonetic characters |
US20060111896A1 (en) * | 2004-11-04 | 2006-05-25 | Microsoft Corporation | Projecting dependencies to generate target language dependency structure |
US20060167842A1 (en) * | 2005-01-25 | 2006-07-27 | Microsoft Corporation | System and method for query refinement |
US20060253427A1 (en) * | 2005-05-04 | 2006-11-09 | Jun Wu | Suggesting and refining user input based on original user input |
US20070050352A1 (en) * | 2005-08-30 | 2007-03-01 | Nhn Corporation | System and method for providing autocomplete query using automatic query transform |
US7200559B2 (en) * | 2003-05-29 | 2007-04-03 | Microsoft Corporation | Semantic object synchronous understanding implemented with speech application language tags |
US20070106509A1 (en) * | 2005-11-08 | 2007-05-10 | Microsoft Corporation | Indexing and searching speech with text meta-data |
US20080140696A1 (en) * | 2006-12-07 | 2008-06-12 | Pantheon Systems, Inc. | System and method for analyzing data sources to generate metadata |
US20090012778A1 (en) * | 2007-07-05 | 2009-01-08 | Nec (China) Co., Ltd. | Apparatus and method for expanding natural language query requirement |
US20090082037A1 (en) * | 2007-09-24 | 2009-03-26 | Microsoft Corporation | Personal points of interest in location-based applications |
US20090094145A1 (en) * | 2006-03-17 | 2009-04-09 | Nhn Corporation | Method and system for automatically completed general recommended word and advertisement recommended word |
US20090106224A1 (en) * | 2007-10-19 | 2009-04-23 | Xerox Corporation | Real-time query suggestion in a troubleshooting context |
US20090119289A1 (en) * | 2004-06-22 | 2009-05-07 | Gibbs Kevin A | Method and System for Autocompletion Using Ranked Results |
US20090144262A1 (en) * | 2007-12-04 | 2009-06-04 | Microsoft Corporation | Search query transformation using direct manipulation |
US20090164895A1 (en) * | 2007-12-19 | 2009-06-25 | Yahoo! Inc. | Extracting semantic relations from query logs |
US7558841B2 (en) * | 2003-05-14 | 2009-07-07 | Microsoft Corporation | Method, system, and computer-readable medium for communicating results to a data query in a computer network |
US20090192966A1 (en) * | 2003-08-06 | 2009-07-30 | Microsoft Corporation | Cost-benefit approach to automatically composing answers to questions by extracting information from large unstructured corpora |
US20100010977A1 (en) * | 2008-07-10 | 2010-01-14 | Yung Choi | Dictionary Suggestions for Partial User Entries |
US20100057687A1 (en) * | 2008-09-04 | 2010-03-04 | Microsoft Corporation | Predicting future queries from log data |
US20100114908A1 (en) * | 2008-11-04 | 2010-05-06 | Microsoft Corporation | Relevant navigation with deep links into query |
US20100131902A1 (en) * | 2008-11-26 | 2010-05-27 | Yahoo! Inc. | Navigation assistance for search engines |
US20100257193A1 (en) * | 2009-04-07 | 2010-10-07 | Microsoft Corporation | Search query extension |
US7818279B2 (en) * | 2006-03-13 | 2010-10-19 | Microsoft Corporation | Event detection based on evolution of click-through data |
US20100268702A1 (en) * | 2009-04-15 | 2010-10-21 | Evri, Inc. | Generating user-customized search results and building a semantics-enhanced search engine |
US20100332493A1 (en) * | 2009-06-25 | 2010-12-30 | Yahoo! Inc. | Semantic search extensions for web search engines |
US20110072033A1 (en) * | 2009-09-21 | 2011-03-24 | Microsoft Corporation | Suggesting related search queries during web browsing |
US20110071827A1 (en) * | 2003-03-18 | 2011-03-24 | Lee Nicholas J | Generation and selection of speech recognition grammars for conducting searches |
US8224829B2 (en) * | 2000-11-30 | 2012-07-17 | Bernard Consulting Limited | Database |
US20120265779A1 (en) * | 2011-04-15 | 2012-10-18 | Microsoft Corporation | Interactive semantic query suggestion for content search |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6562077B2 (en) * | 1997-11-14 | 2003-05-13 | Xerox Corporation | Sorting image segments into clusters based on a distance measurement |
US6418431B1 (en) * | 1998-03-30 | 2002-07-09 | Microsoft Corporation | Information retrieval and speech recognition based on language models |
US6144958A (en) | 1998-07-15 | 2000-11-07 | Amazon.Com, Inc. | System and method for correcting spelling errors in search queries |
US6460029B1 (en) | 1998-12-23 | 2002-10-01 | Microsoft Corporation | System for improving search text |
US7630986B1 (en) * | 1999-10-27 | 2009-12-08 | Pinpoint, Incorporated | Secure data interchange |
US7823066B1 (en) * | 2000-03-03 | 2010-10-26 | Tibco Software Inc. | Intelligent console for content-based interactivity |
US6711558B1 (en) | 2000-04-07 | 2004-03-23 | Washington University | Associative database scanning and information retrieval |
US6578022B1 (en) | 2000-04-18 | 2003-06-10 | Icplanet Corporation | Interactive intelligent searching with executable suggestions |
US6647383B1 (en) | 2000-09-01 | 2003-11-11 | Lucent Technologies Inc. | System and method for providing interactive dialogue and iterative search functions to find information |
US7328211B2 (en) * | 2000-09-21 | 2008-02-05 | Jpmorgan Chase Bank, N.A. | System and methods for improved linguistic pattern matching |
US20020169735A1 (en) | 2001-03-07 | 2002-11-14 | David Kil | Automatic mapping from data to preprocessing algorithms |
US20020143860A1 (en) * | 2001-03-31 | 2002-10-03 | Koninklijke Philips Electronics N. V. | Machine readable label reader system with versatile default mode |
US7519529B1 (en) * | 2001-06-29 | 2009-04-14 | Microsoft Corporation | System and methods for inferring informational goals and preferred level of detail of results in response to questions posed to an automated information-retrieval or question-answering service |
US7409335B1 (en) | 2001-06-29 | 2008-08-05 | Microsoft Corporation | Inferring informational goals and preferred level of detail of answers based on application being employed by the user |
JP3671882B2 (en) | 2001-07-30 | 2005-07-13 | 船井電機株式会社 | Information playback device |
US7092936B1 (en) * | 2001-08-22 | 2006-08-15 | Oracle International Corporation | System and method for search and recommendation based on usage mining |
NO316480B1 (en) * | 2001-11-15 | 2004-01-26 | Forinnova As | Method and system for textual examination and discovery |
US20030220917A1 (en) * | 2002-04-03 | 2003-11-27 | Max Copperman | Contextual search |
US7502730B2 (en) | 2002-06-14 | 2009-03-10 | Microsoft Corporation | Method and apparatus for federated understanding |
US7197494B2 (en) | 2002-10-15 | 2007-03-27 | Microsoft Corporation | Method and architecture for consolidated database search for input recognition systems |
US7299221B2 (en) * | 2003-05-08 | 2007-11-20 | Oracle International Corporation | Progressive relaxation of search criteria |
US20040249808A1 (en) * | 2003-06-06 | 2004-12-09 | Microsoft Corporation | Query expansion using query logs |
US20050071328A1 (en) | 2003-09-30 | 2005-03-31 | Lawrence Stephen R. | Personalization of web search |
US7240049B2 (en) | 2003-11-12 | 2007-07-03 | Yahoo! Inc. | Systems and methods for search query processing using trend analysis |
US20050108630A1 (en) * | 2003-11-19 | 2005-05-19 | Wasson Mark D. | Extraction of facts from text |
MXPA06007327A (en) * | 2003-12-23 | 2007-04-10 | Rain Bird Corp | Modular and expandable irrigation controller. |
US8612208B2 (en) * | 2004-04-07 | 2013-12-17 | Oracle Otc Subsidiary Llc | Ontology for use with a system, method, and computer readable medium for retrieving information and response to a query |
US7747601B2 (en) * | 2006-08-14 | 2010-06-29 | Inquira, Inc. | Method and apparatus for identifying and classifying query intent |
US7260568B2 (en) * | 2004-04-15 | 2007-08-21 | Microsoft Corporation | Verifying relevance between keywords and web site contents |
US20050234881A1 (en) | 2004-04-16 | 2005-10-20 | Anna Burago | Search wizard |
US8244726B1 (en) | 2004-08-31 | 2012-08-14 | Bruce Matesso | Computer-aided extraction of semantics from keywords to confirm match of buyer offers to seller bids |
US7953723B1 (en) | 2004-10-06 | 2011-05-31 | Shopzilla, Inc. | Federation for parallel searching |
US7461059B2 (en) | 2005-02-23 | 2008-12-02 | Microsoft Corporation | Dynamically updated search results based upon continuously-evolving search query that is based at least in part upon phrase suggestion, search engine uses previous result sets performing additional search tasks |
US7788248B2 (en) * | 2005-03-08 | 2010-08-31 | Apple Inc. | Immediate search feedback |
US7725485B1 (en) | 2005-08-01 | 2010-05-25 | Google Inc. | Generating query suggestions using contextual information |
US20070061335A1 (en) * | 2005-09-14 | 2007-03-15 | Jorey Ramer | Multimodal search query processing |
US20080215557A1 (en) * | 2005-11-05 | 2008-09-04 | Jorey Ramer | Methods and systems of mobile query classification |
US20070192318A1 (en) * | 2005-09-14 | 2007-08-16 | Jorey Ramer | Creation of a mobile search suggestion dictionary |
US20070100653A1 (en) * | 2005-11-01 | 2007-05-03 | Jorey Ramer | Mobile website analyzer |
US7756855B2 (en) | 2006-10-11 | 2010-07-13 | Collarity, Inc. | Search phrase refinement by search term replacement |
US8429184B2 (en) * | 2005-12-05 | 2013-04-23 | Collarity Inc. | Generation of refinement terms for search queries |
US8670997B2 (en) | 2006-02-09 | 2014-03-11 | Siemens Medical Solutions Usa, Inc. | Quality metric extraction and editing for medical data |
US7676460B2 (en) | 2006-03-03 | 2010-03-09 | International Business Machines Corporation | Techniques for providing suggestions for creating a search query |
US20070219966A1 (en) | 2006-03-14 | 2007-09-20 | Steve Baylis | Directory having multiple listing types |
US8024329B1 (en) | 2006-06-01 | 2011-09-20 | Monster Worldwide, Inc. | Using inverted indexes for contextual personalized information retrieval |
US8781813B2 (en) * | 2006-08-14 | 2014-07-15 | Oracle Otc Subsidiary Llc | Intent management tool for identifying concepts associated with a plurality of users' queries |
US7624075B2 (en) | 2006-09-15 | 2009-11-24 | Microsoft Corporation | Transformation of modular finite state transducers |
US20080104045A1 (en) | 2006-11-01 | 2008-05-01 | Cohen Alain J | Collectively enhanced semantic search |
US7774193B2 (en) | 2006-12-05 | 2010-08-10 | Microsoft Corporation | Proofing of word collocation errors based on a comparison with collocations in a corpus |
US7840538B2 (en) | 2006-12-20 | 2010-11-23 | Yahoo! Inc. | Discovering query intent from search queries and concept networks |
US7680778B2 (en) | 2007-01-19 | 2010-03-16 | Microsoft Corporation | Support for reverse and stemmed hit-highlighting |
US7991609B2 (en) * | 2007-02-28 | 2011-08-02 | Microsoft Corporation | Web-based proofing and usage guidance |
US20100121839A1 (en) | 2007-03-15 | 2010-05-13 | Scott Meyer | Query optimization |
US20080256056A1 (en) | 2007-04-10 | 2008-10-16 | Yahoo! Inc. | System for building a data structure representing a network of users and advertisers |
US8050998B2 (en) * | 2007-04-26 | 2011-11-01 | Ebay Inc. | Flexible asset and search recommendation engines |
US20080301129A1 (en) * | 2007-06-04 | 2008-12-04 | Milward David R | Extracting and displaying compact and sorted results from queries over unstructured or semi-structured text |
US8024327B2 (en) * | 2007-06-26 | 2011-09-20 | Endeca Technologies, Inc. | System and method for measuring the quality of document sets |
US9702923B2 (en) * | 2007-09-17 | 2017-07-11 | Pål Even Gaarder | Method and apparatus for monitoring electric power transmission, disturbances and forecasts |
WO2009040574A1 (en) | 2007-09-24 | 2009-04-02 | Taptu Ltd | Search results with search query suggestions |
US20120323905A1 (en) * | 2007-10-12 | 2012-12-20 | Lexxe Pty Ltd | Ranking data utilizing attributes associated with semantic sub-keys |
US8019748B1 (en) | 2007-11-14 | 2011-09-13 | Google Inc. | Web search refinement |
US8301651B2 (en) * | 2007-11-21 | 2012-10-30 | Chacha Search, Inc. | Method and system for improving utilization of human searchers |
US20090171929A1 (en) * | 2007-12-26 | 2009-07-02 | Microsoft Corporation | Toward optimized query suggeston: user interfaces and algorithms |
WO2009146238A1 (en) * | 2008-05-01 | 2009-12-03 | Chacha Search, Inc. | Method and system for improvement of request processing |
US8171041B2 (en) * | 2008-05-15 | 2012-05-01 | Enpulz, L.L.C. | Support for international search terms |
US8082278B2 (en) | 2008-06-13 | 2011-12-20 | Microsoft Corporation | Generating query suggestions from semantic relationships in content |
US9104738B2 (en) * | 2008-06-19 | 2015-08-11 | Tropare, Inc. | Leveraging collaborative cloud services to build and share apps |
US20090327270A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Using Variation in User Interest to Enhance the Search Experience |
US20100005087A1 (en) * | 2008-07-01 | 2010-01-07 | Stephen Basco | Facilitating collaborative searching using semantic contexts associated with information |
US8335778B2 (en) * | 2008-09-17 | 2012-12-18 | Oracle International Corporation | System and method for semantic search in an enterprise application |
US20100082658A1 (en) | 2008-09-30 | 2010-04-01 | Yahoo! Inc. | Systems and methods for surfacing contextually relevant information |
US8489445B1 (en) * | 2008-12-19 | 2013-07-16 | Amazon Technologies, Inc. | Determining and displaying item preferences associated with geographic areas |
US8140556B2 (en) * | 2009-01-20 | 2012-03-20 | Oracle International Corporation | Techniques for automated generation of queries for querying ontologies |
US20100191740A1 (en) * | 2009-01-26 | 2010-07-29 | Yahoo! Inc. | System and method for ranking web searches with quantified semantic features |
US8452794B2 (en) | 2009-02-11 | 2013-05-28 | Microsoft Corporation | Visual and textual query suggestion |
US8412525B2 (en) * | 2009-04-30 | 2013-04-02 | Microsoft Corporation | Noise robust speech classifier ensemble |
US20110078243A1 (en) * | 2009-09-30 | 2011-03-31 | Boopsie, Inc. | Leveraging Collaborative Cloud Services to Build and Share Apps |
US20110093452A1 (en) * | 2009-10-20 | 2011-04-21 | Yahoo! Inc. | Automatic comparative analysis |
US20110184945A1 (en) * | 2010-01-22 | 2011-07-28 | Qualcomm Incorporated | Location aware recommendation engine |
JP5804049B2 (en) * | 2011-03-15 | 2015-11-04 | 富士通株式会社 | Work support method, work support program, and work support device |
-
2011
- 2011-06-23 US US13/166,969 patent/US8983995B2/en active Active
- 2011-06-23 US US13/167,007 patent/US20120265784A1/en not_active Abandoned
- 2011-06-29 US US13/172,561 patent/US8965872B2/en active Active
-
2012
- 2012-03-16 TW TW101109157A patent/TWI560561B/en not_active IP Right Cessation
- 2012-04-12 AR ARP120101269A patent/AR086083A1/en not_active Application Discontinuation
- 2012-04-15 WO PCT/US2012/033717 patent/WO2012142552A1/en active Application Filing
- 2012-04-15 WO PCT/US2012/033718 patent/WO2012142553A2/en active Application Filing
Patent Citations (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7013264B2 (en) * | 1997-03-07 | 2006-03-14 | Microsoft Corporation | System and method for matching a textual input to a lexical knowledge based and for utilizing results of that match |
US6408294B1 (en) * | 1999-03-31 | 2002-06-18 | Verizon Laboratories Inc. | Common term optimization |
US6484161B1 (en) * | 1999-03-31 | 2002-11-19 | Verizon Laboratories Inc. | Method and system for performing online data queries in a distributed computer system |
US6493721B1 (en) * | 1999-03-31 | 2002-12-10 | Verizon Laboratories Inc. | Techniques for performing incremental data updates |
US6826559B1 (en) * | 1999-03-31 | 2004-11-30 | Verizon Laboratories Inc. | Hybrid category mapping for on-line query tool |
US8224829B2 (en) * | 2000-11-30 | 2012-07-17 | Bernard Consulting Limited | Database |
US20110071827A1 (en) * | 2003-03-18 | 2011-03-24 | Lee Nicholas J | Generation and selection of speech recognition grammars for conducting searches |
US7558841B2 (en) * | 2003-05-14 | 2009-07-07 | Microsoft Corporation | Method, system, and computer-readable medium for communicating results to a data query in a computer network |
US7200559B2 (en) * | 2003-05-29 | 2007-04-03 | Microsoft Corporation | Semantic object synchronous understanding implemented with speech application language tags |
US20040243555A1 (en) * | 2003-05-30 | 2004-12-02 | Oracle International Corp. | Methods and systems for optimizing queries through dynamic and autonomous database schema analysis |
US20090192966A1 (en) * | 2003-08-06 | 2009-07-30 | Microsoft Corporation | Cost-benefit approach to automatically composing answers to questions by extracting information from large unstructured corpora |
US20050080795A1 (en) * | 2003-10-09 | 2005-04-14 | Yahoo! Inc. | Systems and methods for search processing using superunits |
US20050137849A1 (en) * | 2003-12-22 | 2005-06-23 | Microsoft Corporation | Method and apparatus for training and deployment of a statistical model of syntactic attachment likelihood |
US20090119289A1 (en) * | 2004-06-22 | 2009-05-07 | Gibbs Kevin A | Method and System for Autocompletion Using Ranked Results |
US20060111896A1 (en) * | 2004-11-04 | 2006-05-25 | Microsoft Corporation | Projecting dependencies to generate target language dependency structure |
US20090271177A1 (en) * | 2004-11-04 | 2009-10-29 | Microsoft Corporation | Extracting treelet translation pairs |
US20060106769A1 (en) * | 2004-11-12 | 2006-05-18 | Gibbs Kevin A | Method and system for autocompletion for languages having ideographs and phonetic characters |
US20060167842A1 (en) * | 2005-01-25 | 2006-07-27 | Microsoft Corporation | System and method for query refinement |
US20130103696A1 (en) * | 2005-05-04 | 2013-04-25 | Google Inc. | Suggesting and Refining User Input Based on Original User Input |
US20060253427A1 (en) * | 2005-05-04 | 2006-11-09 | Jun Wu | Suggesting and refining user input based on original user input |
US20070050352A1 (en) * | 2005-08-30 | 2007-03-01 | Nhn Corporation | System and method for providing autocomplete query using automatic query transform |
US7809568B2 (en) * | 2005-11-08 | 2010-10-05 | Microsoft Corporation | Indexing and searching speech with text meta-data |
US20070106509A1 (en) * | 2005-11-08 | 2007-05-10 | Microsoft Corporation | Indexing and searching speech with text meta-data |
US7818279B2 (en) * | 2006-03-13 | 2010-10-19 | Microsoft Corporation | Event detection based on evolution of click-through data |
US20090094145A1 (en) * | 2006-03-17 | 2009-04-09 | Nhn Corporation | Method and system for automatically completed general recommended word and advertisement recommended word |
US20080140696A1 (en) * | 2006-12-07 | 2008-06-12 | Pantheon Systems, Inc. | System and method for analyzing data sources to generate metadata |
US20090012778A1 (en) * | 2007-07-05 | 2009-01-08 | Nec (China) Co., Ltd. | Apparatus and method for expanding natural language query requirement |
US20090082037A1 (en) * | 2007-09-24 | 2009-03-26 | Microsoft Corporation | Personal points of interest in location-based applications |
US20090106224A1 (en) * | 2007-10-19 | 2009-04-23 | Xerox Corporation | Real-time query suggestion in a troubleshooting context |
US20090144262A1 (en) * | 2007-12-04 | 2009-06-04 | Microsoft Corporation | Search query transformation using direct manipulation |
US20090164895A1 (en) * | 2007-12-19 | 2009-06-25 | Yahoo! Inc. | Extracting semantic relations from query logs |
US20100010977A1 (en) * | 2008-07-10 | 2010-01-14 | Yung Choi | Dictionary Suggestions for Partial User Entries |
US20100057687A1 (en) * | 2008-09-04 | 2010-03-04 | Microsoft Corporation | Predicting future queries from log data |
US20100114908A1 (en) * | 2008-11-04 | 2010-05-06 | Microsoft Corporation | Relevant navigation with deep links into query |
US20110202520A1 (en) * | 2008-11-26 | 2011-08-18 | Yahoo! Inc. | Navigation assistance for search engines |
US20100131902A1 (en) * | 2008-11-26 | 2010-05-27 | Yahoo! Inc. | Navigation assistance for search engines |
US20100257193A1 (en) * | 2009-04-07 | 2010-10-07 | Microsoft Corporation | Search query extension |
US20100268702A1 (en) * | 2009-04-15 | 2010-10-21 | Evri, Inc. | Generating user-customized search results and building a semantics-enhanced search engine |
US20100332493A1 (en) * | 2009-06-25 | 2010-12-30 | Yahoo! Inc. | Semantic search extensions for web search engines |
US20110072033A1 (en) * | 2009-09-21 | 2011-03-24 | Microsoft Corporation | Suggesting related search queries during web browsing |
US20120265779A1 (en) * | 2011-04-15 | 2012-10-18 | Microsoft Corporation | Interactive semantic query suggestion for content search |
US20120265787A1 (en) * | 2011-04-15 | 2012-10-18 | Microsoft Corporation | Identifying query formulation suggestions for low-match queries |
Non-Patent Citations (2)
Title |
---|
Denisa Popescu - Thesaurus-aided search" - 14th ASIS SIG/CR Classification Research Workshop - October 18, 2003 (pages 71-85 : 1-15) - journals.lib.washington.edu * |
Zhong Su, Qiang Yang, Ye Lu, and Hongjiang Zhang - "WhatNext: a prediction system for Web requests using n-gram sequence models" - Web Information Systems Engineering, 2000. Proceedings of the First International Conference on Date 19-21 June 2000 volum 1, (pages 214-221) * |
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130232166A1 (en) * | 2006-05-24 | 2013-09-05 | Sizhe Tan | Computer method for searching document and recognizing concept with controlled tolerance |
US8965872B2 (en) | 2011-04-15 | 2015-02-24 | Microsoft Technology Licensing, Llc | Identifying query formulation suggestions for low-match queries |
US8983995B2 (en) | 2011-04-15 | 2015-03-17 | Microsoft Corporation | Interactive semantic query suggestion for content search |
US20120330962A1 (en) * | 2011-05-26 | 2012-12-27 | Alibaba Group Holding Limited | Method and Apparatus of Providing Suggested Terms |
US20130080412A1 (en) * | 2011-09-22 | 2013-03-28 | International Business Machines Corporation | Short search result along with query suggestions |
US20130080423A1 (en) * | 2011-09-23 | 2013-03-28 | Ebay Inc. | Recommendations for search queries |
US9501583B2 (en) | 2011-10-05 | 2016-11-22 | Google Inc. | Referent based search suggestions |
US9779179B2 (en) * | 2011-10-05 | 2017-10-03 | Google Inc. | Referent based search suggestions |
US9652556B2 (en) | 2011-10-05 | 2017-05-16 | Google Inc. | Search suggestions based on viewport content |
US20150154214A1 (en) * | 2011-10-05 | 2015-06-04 | Google Inc. | Referent based search suggestions |
US10013152B2 (en) | 2011-10-05 | 2018-07-03 | Google Llc | Content selection disambiguation |
US8601019B1 (en) * | 2012-04-03 | 2013-12-03 | Google Inc. | Presenting autocomplete suggestions |
US9875284B1 (en) * | 2012-06-18 | 2018-01-23 | A9.Com, Inc. | Displaying search completion results |
US9047278B1 (en) | 2012-11-09 | 2015-06-02 | Google Inc. | Identifying and ranking attributes of entities |
US10185751B1 (en) | 2012-11-09 | 2019-01-22 | Google Llc | Identifying and ranking attributes of entities |
US9449095B1 (en) * | 2012-12-31 | 2016-09-20 | Google Inc. | Revising search queries |
US20140309993A1 (en) * | 2013-04-10 | 2014-10-16 | Nuance Communications, Inc. | System and method for determining query intent |
US9373322B2 (en) * | 2013-04-10 | 2016-06-21 | Nuance Communications, Inc. | System and method for determining query intent |
US10262058B2 (en) * | 2013-10-24 | 2019-04-16 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for evaluating search prompting system |
US9477782B2 (en) | 2014-03-21 | 2016-10-25 | Microsoft Corporation | User interface mechanisms for query refinement |
US9753967B2 (en) | 2014-03-31 | 2017-09-05 | Samsung Electronics Co., Ltd. | Computing system with error detection mechanism and method of operation thereof |
US9607032B2 (en) * | 2014-05-12 | 2017-03-28 | Google Inc. | Updating text within a document |
US20150324413A1 (en) * | 2014-05-12 | 2015-11-12 | Google Inc. | Updating text within a document |
US10474670B1 (en) * | 2014-06-12 | 2019-11-12 | Amazon Technologies, Inc. | Category predictions with browse node probabilities |
US9767417B1 (en) | 2014-06-12 | 2017-09-19 | Amazon Technologies, Inc. | Category predictions for user behavior |
US10387934B1 (en) | 2014-06-12 | 2019-08-20 | Amazon Technologies, Inc. | Method medium and system for category prediction for a changed shopping mission |
US9767204B1 (en) | 2014-06-12 | 2017-09-19 | Amazon Technologies, Inc. | Category predictions identifying a search frequency |
US20150370856A1 (en) * | 2014-06-18 | 2015-12-24 | Sony Corporation | Method and system for processing a search query |
US10242088B2 (en) * | 2014-09-18 | 2019-03-26 | Microsoft Technology Licensing, Llc | Multi-source search |
US10902041B2 (en) * | 2015-06-11 | 2021-01-26 | Nuance Communications, Inc. | Systems and methods for learning semantic patterns from textual data |
US9591014B2 (en) | 2015-06-17 | 2017-03-07 | International Business Machines Corporation | Capturing correlations between activity and non-activity attributes using N-grams |
US9569614B2 (en) | 2015-06-17 | 2017-02-14 | International Business Machines Corporation | Capturing correlations between activity and non-activity attributes using N-grams |
US10152596B2 (en) | 2016-01-19 | 2018-12-11 | International Business Machines Corporation | Detecting anomalous events through runtime verification of software execution using a behavioral model |
US20180067940A1 (en) * | 2016-09-06 | 2018-03-08 | Kakao Corp. | Search method and apparatus |
US11080323B2 (en) * | 2016-09-06 | 2021-08-03 | Kakao Enterprise Corp | Search method and apparatus |
US10776408B2 (en) * | 2017-01-11 | 2020-09-15 | International Business Machines Corporation | Natural language search using facets |
US20180196869A1 (en) * | 2017-01-11 | 2018-07-12 | International Buesiness Machines Corporation | Natural language search using facets |
US11003731B2 (en) * | 2018-01-17 | 2021-05-11 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for generating information |
US11514036B2 (en) * | 2018-08-14 | 2022-11-29 | Jpmorgan Chase Bank, N.A. | Method and system for self-learning natural language predictive searching |
US20200401638A1 (en) * | 2019-06-19 | 2020-12-24 | Yandex Europe Ag | Method of and system for generating search query completion suggestion on search engine |
US11537674B2 (en) * | 2019-06-19 | 2022-12-27 | Yandex Europe Ag | Method of and system for generating search query completion suggestion on search engine |
US11468780B2 (en) * | 2020-02-20 | 2022-10-11 | Gopalakrishnan Venkatasubramanyam | Smart-learning and knowledge retrieval system |
US20220245162A1 (en) * | 2021-01-30 | 2022-08-04 | Walmart Apollo, Llc | Methods and apparatus for automatically ranking items in response to a search request |
US11954108B2 (en) * | 2021-01-30 | 2024-04-09 | Walmart Apollo, Llc | Methods and apparatus for automatically ranking items in response to a search request |
Also Published As
Publication number | Publication date |
---|---|
WO2012142552A1 (en) | 2012-10-18 |
AR086083A1 (en) | 2013-11-20 |
TW201245987A (en) | 2012-11-16 |
WO2012142553A2 (en) | 2012-10-18 |
TWI560561B (en) | 2016-12-01 |
US20120265779A1 (en) | 2012-10-18 |
US8983995B2 (en) | 2015-03-17 |
US8965872B2 (en) | 2015-02-24 |
US20120265787A1 (en) | 2012-10-18 |
WO2012142553A3 (en) | 2012-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8983995B2 (en) | Interactive semantic query suggestion for content search | |
US10592505B2 (en) | Natural language interfaces for databases using autonomous agents and thesauri | |
US10698977B1 (en) | System and methods for processing fuzzy expressions in search engines and for information extraction | |
US8442970B2 (en) | Creating and editing user search queries | |
US11468072B2 (en) | Computer-implemented method and system for writing and performing a data query | |
US9659084B1 (en) | System, methods, and user interface for presenting information from unstructured data | |
US9652799B2 (en) | Product recommendation with product review analysis | |
US9846901B2 (en) | Product recommendation with ontology-linked product review | |
US9449080B1 (en) | System, methods, and user interface for information searching, tagging, organization, and display | |
CN105408890B (en) | Performing operations related to listing data based on voice input | |
US8341167B1 (en) | Context based interactive search | |
US10133823B2 (en) | Automatically providing relevant search results based on user behavior | |
GB2561660A (en) | Computer-implemented method of querying a dataset | |
EP3234872A1 (en) | Question answering from structured and unstructured data sources | |
US20210342541A1 (en) | Stable identification of entity mentions | |
US10235604B2 (en) | Automatic wearable item classification systems and methods based upon normalized depictions | |
JP2021529385A (en) | Systems and methods for investigating relationships between entities | |
US20170371965A1 (en) | Method and system for dynamically personalizing profiles in a social network | |
US20120162244A1 (en) | Image search color sketch filtering | |
WO2016162843A1 (en) | Processing a search query and retrieving targeted records from a networked database system | |
US11282124B1 (en) | Automated identification of item attributes relevant to a browsing session | |
WO2008130501A1 (en) | Unstructured and semistructured document processing and searching and generation of value-based information | |
Hlava | The Taxobook: Applications, implementation, and integration in search: Part 3 of a 3-part series | |
US20240054552A1 (en) | Intelligent Computer Search Engine Removal Of Search Results | |
Iter et al. | Frameit: Ontology discovery for noisy user-generated text |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HSU, BO-JUNE;WANG, KUANSAN;REEL/FRAME:026490/0514 Effective date: 20110621 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034544/0001 Effective date: 20141014 |