A typical search engine receives a search query from a user and, in response, provides search results relevant to the topic of the search query. Largely, the search results are references, or hyperlinks, to documents and/or content stored at other internet locations. To be able to provide search results in this manner, a typical search engine will maintain a content store from which the search engine draws the various references/hyperlinks in response to a search query. Indeed, search engines have massive amounts of information. However, search engines can also store information beyond references or hyperlinks. It would be advantageous for a user to be able to submit a query for and receive specific information, not just a reference to the specific information.
Generally speaking, search engines operate as “free” services, i.e., the computer user that submits a query does not incur a monetary charge for the results. To maintain the “free” service, a search engine will sell advertising on the search results page (which is generated in response to a user's search query). The more time that a computer user spends on a search results page and the more times that a user views a search results page, the better able the search engine operator is to monetize the user's “visit.” In other words, a search engine is advantaged when the search engine is able to keep the user engaged with the search results page for as long as possible.
According to aspects of the disclosed subject matter, a computer-implemented method for responding to a search query from a user is presented. As implemented on a computing system comprising at least a processor and a memory, the method comprises obtaining a plurality of search results responsive to a search query received from a computer user. At least one search results page is generated that includes a portion of the obtained search results. In addition to the obtained search results, the at least one generated search results page includes a plurality of entity attribute questions. The entity attribute questions are questions that correspond to attributes related to the entity that is identified as the subject matter of the search query.
According to additional aspects of the disclosed subject matter, a computer-readable medium bearing computer-executable instructions is presented. The instructions, when executed by a processor, carry out a method for responding to a search query from a user. The method comprises obtaining search results responsive to a search query received from a computer user. At least one search results page is generated that includes a portion of the obtained search results. In addition to the obtained search results, the at least one generated search results page includes a plurality of entity attribute questions. The entity attribute questions are questions that correspond to attributes related to an entity that is identified as the subject matter of the search query.
According to yet additional aspects of the disclosed subject matter, a computer system configured to respond to search queries is presented. The computer system includes a processor and a memory, the memory storing executable instructions. The computer system further includes a search results component that responds to a search query received from a user by obtaining search results responsive to the search query. Also included is a search results page generator that generates at least one search results page based on at least a portion of the obtained search results. The at least one search results page also includes entity attribute questions. Entity attribute questions are questions relating to an attribute of an entity that is identified as the subject matter of the received search query.
The foregoing aspects and many of the attendant advantages of the disclosed subject matter will become more readily appreciated as they are better understood by reference to the following description when taken in conjunction with the following drawings, wherein:
For purposed of clarity, the use of the term “exemplary” in this document should be interpreted as serving as an illustration or example of something, and it should not be interpreted as an ideal and/or leading illustration of that thing. The term “entity” refers to (by way of illustration and not limitation) a concept, a person, an organization, or a thing. A user will submit a search query including one or more query terms, and these query terms relate to one or more entities—i.e., the intent of the search query. For example, a search query for the “governor of the state of Washington” is an entity and refers to different people (who may also be entities) depending on the time frame. Similarly, a search query, “Paris, France”, relates to an entity, i.e., the capital city in France. Search queries may specify multiple entities. For example, the search query “Paris France Eiffel Tower” may refer to two entities: (1) the capital of France and (2) the “Eiffel Tower.” The search query “Washington state senators” refers to multiple entities: the two current senators or, alternatively, those people who have served as a senator for the state of Washington.
By including entity attribute questions directed to attributes of the subject matter of a user's search query along with the typical search results, where the questions touch on interesting and relevant aspects of the subject matter (the entity) of the search query, the user is more likely to remain engaged for a longer period of time with the search results page. According to aspects of the disclosed subject matter, a search engine is configured to determine that a user's search query is directed to an entity and, upon detecting so, provides both search results as well as entity attribute question to the user in a search results page.
Turning to
Those skilled in the art will appreciate that, generally speaking, a search engine 110 corresponds to an online service hosted on one or more computers, or computing systems, located and/or distributed throughout the network 108. The search engine 110 receives and responds to search queries submitted over the network 108 from various computer users, such as the users connected to user computers 102-106. In particular, responsive to receiving a search query from a computer user, the search engine 110 obtains search results information related and/or relevant to the received search query (as defined by the terms of search query.) The search results information includes search results, i.e., references (typically in the form of hyperlinks) to relevant and/or related content available from various target sites (such as target sites 112-116) on the network 108.
The search results information may also include other information such as related and/or recommended alternative search queries, data and facts regarding the subject matter of the search query, products and/or services related/relevant to the search query, advertisements, and the like. According to various embodiments of the disclosed subject matter, the search engine 110 further determines whether the user's search query relates to an entity that is known to the search engine. For purposes of this disclosure, an entity is “known” to the search engine 110 when there is entity information relating to the entity that is stored by the search engine. According to various embodiments, this entity information is stored in an entity store. The entity information includes a plurality of entity attributes relating to the entity, some of which may be associated with particular attribute values. As will be discussed below, entity attribute questions (questions corresponding to an attribute of an entity) are included with the search results. The entity attribute questions engage the user since the entity attribute questions are selected as being the most important or relevant or popular aspects of a given entity to surface to the user.
According to various embodiments, entity identification from the subject matter of a search query, as well as entity attribute question selection, is performed by an entity component within a suitably configured search engine 110. While not shown, in an alternative embodiment an entity component may be implemented as a separate, cooperative process/service to the services offered by a typical search engine. In a further alternative embodiment (also not shown), an entity component may be implemented as a stand-alone service on the network 108 for use by users and or other services. Accordingly, while the entity component is generally discussed in this document as being included as part of the search engine 110 in
As those skilled in the art will appreciate, target sites, such as target sites 112-116, host content that is available and/or accessible to users (via user computers) over the network 108. The search engine 110 will be aware of at least some of the content hosted on the many target sites located throughout the network 108, and will store information regarding the hosted content of the target sites in a content index (612 of
Suitable user computers for operating within the illustrative environment 100 include any number of computing devices that can communicate with the search engine 110 or target sites 112-116 over the network 108. In regard to the search engine 110, communication between the user computers 102-106 and the search engine 110 include both submitting search queries and receiving responses in the form of corresponding search results pages from the search engine 110, as discussed above. User computers 102-106 may communicate with the network 108 via wired or wireless communication connections in the user computers 102-106. These user computers 102-106 may comprise, but are not limited to: laptop computers such as user computer 102; desktop computers such as user computer 104; mobile devices such as user mobile device 106; tablet computers (not shown); on-board computing systems such as those found in vehicles (not shown); mini- and/or main-frame computers (not shown); and the like.
Turning now to
As shown in
Each of the entity attribute questions 210 relate to a specific entity attribute of the known entity. For each entity there is a plurality of entity attributes associated with the entity. According to aspects of the disclosed subject matter, entity attributes that are deemed most important (and, therefore, potentially most likely to keep the user engaged with the current search results page) are selected for surfacing/presentation to the computer user. The entity component determines which are the “important” entity attributes, which are presented or surfaced to the user in the form of the entity attribute questions 210, according to any number of criteria including (by way of illustration and not limitation): the popularity of the entity attribute as determined by the number of queries for the information; whether the attribute is a trending topic with the search engine or a social network; whether the entity attribute is unusual and/or distinctive to this entity or otherwise considered important; importance of the entity attribute based on the time of year or some other periodic occurrence, and the like. In at least one embodiment, the “important” entity attributes are determined for each entity.
According to additional aspects of the disclosed subject matter, each or any of the entity attribute questions 210 may be included in the search results page 200 as actionable controls, such as hyperlinks. For example, with reference to entity attribute question 212 of
Turning now to
If at decision block 306 the query is not directed to a known entity, the routine 300 proceeds to block 318. At block 318, a search results page is generated based, at least in part, on the obtained search results. At block 320, the search results page is returned to the computer user in response to the user's search query. Thereafter, the routine 300 terminates.
Alternatively, returning to decision block 306, if the user's search query is directed to a known entity, the routine proceeds to block 308. At block 308, the most important entity attributes associated with the entity are selected. As previously mentioned, the most interesting or important or relevant attributes is based on a variety of criteria including query popularity of the particular entity attribute, whether the entity attribute is the subject matter of a trend, whether there is a periodic correlation between the entity attribute and the present conditions or events, unusual and/or distinctive attributes of the entity, and general category priorities of a particular entity type (such as an entity of the type “politician;” an important entity attribute might be “party association”).
The “important” entity attributes may be based on importance/relevance/current interest of the attribute to, by way of illustration and not limitation: a general population, a specific person (i.e., personalize to a particular person), a person's social network, or any combination of these. By way of example, common queries in regard to the actor, Tom Cruise, may be directed to the actor's height (generally speaking, he is not very tall). On the other hand, common queries in regard to the actor, Tom Hanks, are not generally directed to his height. Hence, an “important” attribute for Tom Cruise may include his height while an “important” attribute for Tom Hanks would not. On the other hand, for a particular user that often checks the height of actors, the height of Tom Hanks may be surfaced as an important attribute based on personalization to the specific user's interests. Still further, unusual attributes may be surfaced, not because they are common, but unusual. For example, while perhaps the height of the actor Michael J. Fox is not a common query or an attribute that would be surfaced due to personalization, the fact that he was not very tall may be surfaced as an interesting attribute because it falls outside of what is viewed as usual.
According to at least one embodiment of the disclosed subject matter, the important attributes are determined on a per entity basis. In an alternative embodiment, the important attributes are determined according to a per entity basis in conjunction with a per category basis. The “category basis” of an entity attribute corresponds to the type of entity. By way of illustration and not limitation, as mentioned above, an entity of the type “politician” will likely have an attribute of “party association.” Similarly, religious leaders may have a category based attribute of “religious order” and which may be considered highly relevant and important on a category basis. On the other hand, not all attributes associated with all entities of a particular category will always be important or relevant. For example (by way of illustration only), the “politician” category of entities may have an attribute of “home state” but that attribute may or may not be relevant or interesting for a given politician/entity.
At block 310, a representative entity attribute question is selected for each corresponding selected entity attribute. As will be appreciated by those skilled in the art, as the entity attributes are selected according to their importance, relevance, and/or current interest (both to a large population and specifically to the individual), the representative entity attribute questions may be viewed as a list of frequently asked questions (FAQs). According to various embodiments of the disclosed subject matter, the representative entity attribute question is selected according to the probability that the question is formed linguistically correct. To better understand the purpose of selecting a representative entity attribute question, especially one that is formed linguistically correct, a discussion is in order with regard to the source of the entity attributes.
As already discussed, in order to determine what is important/relevant/interesting about a particular entity, a variety of criteria are evaluated, including but not limited to: the number of queries directed to a particular attribute for an entity; whether that particular attribute corresponding to an entity is a trending topic; whether the attribute is unusual and/or distinctive; user preferences; as well as other criteria. All of these suggest that the entity component (or search engine 110) analyze and mine various data sources. As to the data sources, these include (by way of illustration only): search queries; available content on the network 108; subjects and topics discussed among social networks; news articles; and the like. By evaluating these and other data sources, the search engine 110 and/or an entity component identifies entity attributes and related attribute values associated with numerous entities. These attribute/attribute value pairs are then stored in association with the entity in an entity store. In at least one embodiment, the search engine 110 (or the entity component) continually mines the various data sources to maintain the freshness and relevancy of the information in the entity store, particularly the attribute/attribute value pairs, for the entities in the entity store. Additionally, the various data sources or signals upon which important attributes are selected for surfacing to a user can be combined and/or utilized using automated machine learning techniques and algorithms to optimize various metrics such as, by way of illustration and not limitation: the number of distinct queries to be presented, the number of follow up queries that are answered, human judgment factors, and the like. Moreover, various combinations can also be implemented in an ad hoc way as a quick implementation.
As those skilled in the art will appreciate, search queries as well as other data sources represent a large volume of information which must be broken down according to entities, entity attributes and (sometimes) attribute values.
At block 406, each cluster is then associated with an entity attribute corresponding to the entity. After associating the clusters with entity attributes corresponding to an entity, the routine 400 terminates.
The result of this association is that for each entity attribute, there is a cluster of elements that relate to the particular entity attribute of the particular entity. It should be appreciated, however, that the results of clustering the data sources is that an entity may have attributes (such as category based attributes) for which there is no corresponding cluster of data, or that the resulting cluster includes limited elements. Of course, there may be entity attributes for which there is a large volume of data. As should be appreciated, the elements within a cluster associated with individual entity attributes are not necessarily described in the same way. For example, with regard to the entity attribute question 212 of
Returning again to block 310 of
At block 312, the selected attributes are optionally categorized according to the nature of the question that they answer. As already discussed in regard to
At block 314, an entity pane, such as entity pane 206 of
At block 316, at least one search results page is generated. The generated search results page includes at least a portion of the obtained search results and the entity pane 206 that includes the entity attribute questions 210. In an alternative embodiment where the entity pane 206 is not included, the search results page is generated including a portion of the obtained search results and the entity attribute questions. In short, in at least one embodiment entity attribute questions 210 are included in a search results page irrespective of the presence of an entity pane 206.
After generating a search results page responsive to a computer user search query, at block 320, the search results page is returned to the computer user. Thereafter, the routine 300 terminates.
As mentioned above in regard to block 310, selecting a representative entity attribute question for each selected attribute,
As suggested above, a representative entity attribute question may be selected a priori to receiving a search query from a computer user, may be selected in a just-in-time fashion and then stored with the cluster, or maybe selected each time a representative entity attribute question for this particular entity attribute/entity pair is needed. Those skilled in the art will appreciate that there may be times that a representative entity attribute question should be dynamically determined, such as when the contents of the cluster corresponding to the attribute art in a constant state of transition.
Regarding the routines of
Turning now to
As shown in
The search engine 110 also includes a communications component 606 through which the search engine sends and receives communications over the network 108. For example, it is through the communication component 606 that the search engine 110 receives search queries from user on user computers, such as user computers 102-106, and by which the search engine returns results responsive to user's search queries. The search engine 110 further includes a search results retrieval component 608 and a search results page generator 610. Regarding the search results retrieval component 608, this logical component is responsible for retrieving, or obtaining, search results information relevant to a computer user's search query from a content index 612 associated with the search engine 110.
The search results page generator 610 generates one or more search results pages from the search results obtained by the search results retrieval component 608 and also including entity attribute questions of attributes corresponding to an identified entity of the user's search query. In one embodiment of the disclosed subject matter, the entity attribute questions are included within an entity pane 206 that includes information focused particularly on the identified entity. The entity attribute questions corresponding to an identified entity is drawn from an entity store 614.
Also illustrated is an entity component 616. The entity component is the component that (by way of illustration and not limitation) identifies entities from the search queries submitted by computer users; mines query logs and content sources, social network traffic, news feeds, and the like to identify entity attributes (as described above); identifies representative entity attribute questions; and classifies entity attributes according to the nature of the entity attribute. As shown in
It should be appreciated, of course, that many of these components (both of the search engine 110 as well as the entity component 616) should be viewed as logical components for carrying out various functions of a suitably configured search engine 110 and/or entity component 616. These logical components may or may not correspond directly to actual components. Moreover, in an actual embodiment, these components may be combined together or broke up across multiple actual components.
While various novel aspects of the disclosed subject matter have been described, it should be appreciated that these aspects are exemplary and should not be construed as limiting. Variations and alterations to the various aspects may be made without departing from the scope of the disclosed subject matter.