Contextualized Knowledge Panel

By receiving entity identifiers and contextual terms in user queries, the system automatically recognizes and provides a knowledge panel, solving the problem of multiple selections and inputs by users in existing search engines, and achieving more efficient information acquisition and resource utilization.

CN112966009BActive Publication Date: 2025-07-08GOOGLE LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110170878.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2015-12-16
Filing Date
2016-05-05
Publication Date
2025-07-08
Estimated Expiration
2036-05-05

AI Technical Summary

Technical Problem

When existing search engines process user queries, they need users to make multiple selections and inputs to obtain relevant information, resulting in waste of network traffic and computing resources, and the user's cognitive burden is heavy.

Method used

By receiving the user's entity identifier and contextual term items, the system automatically recognizes relevant knowledge elements, assigns ranking scores, and provides a knowledge panel in the search result page to reduce user selection and input and improve information acquisition efficiency.

Benefits of technology

It reduces the number of user inputs, reduces network traffic and computing resources consumption, reduces user cognitive burden, and improves the convenience and relevance of information acquisition.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112966009B_ABST
    Figure CN112966009B_ABST
Patent Text Reader

Abstract

The present invention relates to a contextualized knowledge panel. The present invention provides methods, systems, and devices for: receiving a request that includes an entity identifier of an entity referenced by a search query submitted by a user and one or more contextual terms referenced by the search query; identifying a plurality of knowledge elements related to the entity; identifying one or more contextual terms associated with the entity referenced by the search query; assigning ranking scores to the plurality of knowledge elements by one or more computers; selecting one or more of the knowledge elements from among the knowledge elements at least partially based on the ranking scores; and in response to the request, providing information associated with the entity and the one or more selected knowledge elements. The identification and provision of the knowledge elements can provide a variety of technical benefits, particularly reducing network traffic resulting from user interaction with search results.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Division Statement

[0002] This application is a divisional application of Chinese Patent Application No. 201680020097.X, filed on May 5, 2016.

[0003] Cross - Reference to Related Applications

[0004] This application claims the benefit of U.S. Provisional Application No. 62 / 162,160, filed on May 15, 2015, the content of which is incorporated herein by reference. Technical Field

[0005] This specification relates to search engines. Background Art

[0006] Generally, a user may request information by entering a query into a search engine. The search engine may process the query and may provide information in response to the query for output to the user. Summary of the Invention

[0007] The system may receive a request that includes an identifier of an entity (e.g., a singer, an actor, a musician, a screenwriter, a director, a television network, or other production company) and context terms referenced by a search query submitted by a user. In response to receiving the request that identifies the entity and one or more context terms, the system may determine to provide a search results page that includes a knowledge panel related to the entity in view of the context terms and search results related to the entity in view of the context terms. A knowledge panel is a user interface element that provides information (e.g., known facts) related to a particular entity referenced by a search query. The system may determine that information is included in the knowledge panel by identifying one or more context terms associated with the entity identified by the search query.

[0008] Providing a knowledge panel that includes information (e.g., known facts) related to a specific entity referenced by a search query can provide a variety of technical benefits for both the system and the user. Some of these benefits are at least partially based on the fact that the knowledge panel includes information that the user may be interested in and, in fact, may include the specific information that the user searched for in the first place. Thus, providing the relevant information first via the knowledge panel and the search results can enable the user to effectively not have to select one of the search results. As a result, on average, the number of further user inputs / selections received regarding the search results can be reduced. When scaled across many users of a search engine, this reduction in further user input (although not necessarily achieved every time search results including a knowledge panel are provided) can significantly reduce network traffic overall. Additionally, on average, the reduction in further input can reduce the computational resources used within each user device. Such computational resources can include the processing power generated from processing user input and communicating with the network as well as the power consumption generated from screen-on time. The reduction in screen-on time may be due to the user being more likely to be able to complete searching for specific information immediately after receiving search results including a knowledge panel without having to select any of the search results (since the information of interest may be provided in the knowledge panel). Screen usage may account for a large proportion of the power consumption of a user device, especially in mobile devices, and thus, the reduction in screen-on time can be particularly beneficial.

[0009] Replacing the knowledge panel in addition to the search results can also reduce the user's cognitive burden in a variety of ways. As mentioned above, the number of inputs can be reduced and the search scope required to find a specific piece of information can be decreased. Similarly, the knowledge panel can provide an easily distinguishable visual verification of framing the user's search query with the correct terms to provide results regarding the entity that the user is interested in. Also, providing the knowledge panel (if the knowledge panel is relevant to the entity that the user is searching for) can increase the user's confidence in the relevance of the other search results provided together with the knowledge panel.

[0010] Of course, as will be appreciated, the scope of obtaining the above benefits can be increased by providing information in the knowledge panel that has a higher relevance to the user (e.g., by considering context terms and by presenting the information in an intuitive and appropriately ordered manner).

[0011] The innovative aspects of the subject matter described in this specification can be embodied as a method that includes the following actions: receiving a request that includes an entity identifier of an entity referenced by a search query submitted by a user and one or more context terms referenced by the search query; identifying a plurality of knowledge elements related to the entity; identifying one or more context terms associated with the entity referenced by the search query; assigning ranking scores to the plurality of knowledge elements by one or more computers, at least partially based on the identified one or more context terms associated with the entity referenced by the search query; selecting one or more of the knowledge elements from among the knowledge elements, at least partially based on the ranking scores assigned to the knowledge elements; and providing information associated with the entity and the one or more selected knowledge elements in response to the request.

[0012] Other embodiments of this aspect include corresponding computer systems, devices, and computer programs that are recorded on one or more computer storage devices and are respectively configured to perform the actions of the method. A system of one or more computers can perform particular operations or actions by virtue of having (multiple) software, firmware, hardware, or combinations thereof installed on it that cause the system to perform the actions at runtime. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by a data processing device, cause the device to perform the actions.

[0013] The above and other embodiments can optionally separately or in combination include one or more of the following features. In some implementations, the knowledge elements are at least one of known facts related to the entity or content items related to the entity.

[0014] In other implementations, assigning ranking scores to the plurality of knowledge elements includes: determining an item type associated with a context term that is associated with the entity referenced by the search query; determining an element type associated with one or more of the knowledge elements; and assigning ranking scores to the knowledge elements at least partially based on the item type associated with the context term associated with the entity referenced by the search query and the element type associated with the knowledge elements.

[0015] In certain aspects, providing information associated with the entity and the one or more selected knowledge elements includes: providing data that causes the information associated with the entity and the one or more selected knowledge elements to be presented in a knowledge panel that presents a search result page associated with the search query.

[0016] In other aspects, data for presenting information associated with an entity and one or more selected knowledge elements in a knowledge panel includes: determining a location in the knowledge panel based on identifying one or more context terms associated with the entity referenced by a search query, wherein the determined location defines a location of a search result page associated with the search query in the presentation of the knowledge panel; and in response to a request, providing data for presenting the knowledge panel with the search result page such that the location of the presentation of the search result page in the knowledge panel corresponds to the determined location.

[0017] In some embodiments, data for presenting information associated with an entity and one or more selected knowledge elements in a knowledge panel includes: determining a number of knowledge elements to be selected for presentation in the knowledge panel based on identifying one or more context terms associated with the entity referenced by a search query; and in response to a request, providing data for presenting the knowledge panel with the search result page such that the knowledge panel includes the determined number of knowledge elements selected for presentation in the knowledge panel.

[0018] In other embodiments, data for presenting information associated with an entity and one or more selected knowledge elements in a knowledge panel includes: determining a location of each knowledge element among the knowledge elements presented in the knowledge panel based on identifying one or more context terms associated with the entity referenced by a search query, wherein the determined location of each knowledge element among the knowledge elements defines a location of each knowledge element among the knowledge elements within the knowledge panel presenting a search result page associated with the search query; and in response to a request, providing data for presenting the knowledge panel with the search result page such that the location of each knowledge element among the knowledge elements within the knowledge panel presenting the search result page corresponds to the determined location of each knowledge element among the knowledge elements.

[0019] In some embodiments, data for presenting information associated with an entity and one or more selected knowledge elements in a knowledge panel includes: determining to highlight text associated with one or more knowledge elements among the knowledge elements presented in the knowledge panel based on identifying one or more context terms associated with the entity referenced by a search query, wherein the determined highlighting of the text defines a highlighting of text associated with one or more knowledge elements among the knowledge elements within the knowledge panel presenting a search result page associated with the search query; and in response to a request, providing data for presenting the knowledge panel with the search result page such that the highlighting of text associated with one or more knowledge elements among the knowledge elements within the knowledge panel presenting the search result page corresponds to the determined highlighting of the text.

[0020] In some aspects, data for presenting information associated with an entity and one or more selected knowledge elements in a knowledge panel includes: determining a title or subtitle related to one or more of the selected knowledge elements presented in the knowledge panel based on one or more context terms identified as being associated with the entity referenced by a search query, wherein the determined title or subtitle related to one or more of the selected knowledge elements defines a title or subtitle related to one or more of the selected knowledge elements within the knowledge panel that presents a search result page associated with the search query; and providing, in response to a request, data for presenting the knowledge panel with the search result page such that a title or subtitle related to one or more of the selected knowledge elements within the knowledge panel presenting the search result page corresponds to the determined title or subtitle related to one or more of the selected knowledge elements.

[0021] Details of one or more embodiments of the subject matter described in this specification are set forth in the accompanying drawings and the following description. Other potential features, aspects, and advantages of the subject matter will become apparent from the specification, the drawings, and the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 An example process for providing a knowledge panel based on one or more context terms is depicted.

[0023] Figure 2 An example system for providing a knowledge panel based on one or more context terms is depicted.

[0024] Figure 3 A flowchart of an example process for providing a knowledge panel based on one or more context terms is depicted.

[0025] Figures 4A to 4D An example user interface for providing a knowledge panel based on one or more context terms is depicted.

[0026] Like reference numerals indicate like elements throughout the drawings. DETAILED DESCRIPTION

[0027] This specification describes a system for processing search queries, whereby a user provides a search query that identifies a particular entity and includes one or more additional context terms to a search engine. In response to the query, information related to the entity is presented to the user in a knowledge panel. For example, a user may provide the query "Ronnie Wood The Rolling Stones" to a search engine. In response to the query, a search results page may be presented to the user, where the search results page includes a knowledge panel. The content presented in the knowledge panel may depend on one or more additional context terms included in the query. In addition to the knowledge panel, the search results page may also include one or more search results related to the search query.

[0028] Figure 1 Illustrated is an example process and system 100 for providing a knowledge panel based on a search query that includes context terms. System 100 is capable of receiving data that includes a user input query and data that identifies context terms. An entity associated with the user input query can be determined, and items related to the identified entity can be identified. Based on the identified items, system 100 can select information related to the entity and context terms to include in the knowledge panel, and system 100 can provide a knowledge panel that includes the selected information in a search results page and one or more search results related to the identified items.

[0029] Briefly, system 100 includes a query engine front end 120 and a knowledge panel contextualizer 130. Components of system 100 may exchange electronic communications via one or more networks, or may exchange communications in another manner (such as, via one or more wired or wireless connections). As Figure 1 shown, the process associated with providing a knowledge panel in response to a user input query and based on context terms can be implemented by system 100.

[0030] During operations (A and A') of the process of providing a knowledge panel in response to a user input query, the query engine front end 120 receives data including the user input query. For example, user 102 may provide a query by using a client device, such as the query "Ronnie Wood" (A). Another user 112 may separately provide a query including one or more context terms by using a client device, such as the query "" (A'). The query engine front end 120 may receive data including the queries input by users 102, 112. Based on the received data, the query engine front end 120 may determine an entity associated with the queries input by users 102, 112, such as the musician "Ronnie Wood", and may identify a query input by the user including additional context terms, such as the search query "Ronnie Wood of the Rolling Stones" submitted by user 112.

[0031] The query engine front end 120 may identify an entity based on the user input query. For example, the query engine front end 120 may receive queries from user 102, such as the queries "Ronnie Wood" and "Ronnie Wood of the Rolling Stones", and the query engine front end 120 may determine that both queries identify the musician "Ronnie Wood". In some cases, the query engine front end 120 may identify an entity associated with the user input query by comparing the terms of the query with one or more key phrases and / or by comparing the terms input by the user with terms associated with known entities (e.g., the names of entities identified in a context term database or the names of entities identified in another database).

[0032] In addition to identifying an entity based on the user input query, the query engine front end 120 may also identify one or more additional context terms. For example, the query engine front end 120 may determine that user 112 who provided the query "Ronnie Wood of the Rolling Stones" input a search query including the context term "Rolling Stones". In some embodiments, the query front end 120 may identify one or more additional context terms associated with the entity identified by the query engine front end 120.

[0033] Based on identifying the entity referenced by the user input query and the identities of one or more context terms, during operations (B and B'), the query engine front end 120 may send data identifying the entity and the context terms to the knowledge panel contextualizer 130. For example, the query engine front end 120 may send data to the knowledge panel contextualizer 130 that identifies the musician "Ronnie Wood" (B), and may further send data to the knowledge panel contextualizer 130 that identifies both the context term "Rolling Stones" and the musician "Ronnie Wood" (B').

[0034] The knowledge panel contextualizer 130 can receive data identifying an entity referenced by a user input query and data identifying one or more context terms. For example, the knowledge panel contextualizer 130 can receive data identifying the entity "Ronnie Wood". Based on the received data, the knowledge panel contextualizer 130 can access a database to identify content items associated with "Ronnie Wood". Similarly, the knowledge panel contextualizer 130 can receive data identifying the content item "Rolling Stones" associated with the entity "Ronnie Wood", and can identify content items associated with both "Ronnie Wood" and "Rolling Stones".

[0035] Identifying content items associated with an entity identified from a user input query may require accessing a database associated with the knowledge panel contextualizer 130. For example, the knowledge panel contextualizer 130 can maintain a database 135 that includes entities identifying content items corresponding to the search query "Ronnie Wood" input by the user 102. Based on the received data identifying "Ronnie Wood", the knowledge panel contextualizer 130 can identify the entities associated with "Ronnie Wood" in the database 135.

[0036] In another example, as Figure 1 shown, the knowledge panel contextualizer 130 can receive data identifying "Ronnie Wood" and data identifying the context term "Rolling Stones", and the knowledge panel contextualizer 130 can access the database 135 to identify items associated with "Ronnie Wood" and the context term "Rolling Stones". For example, the knowledge panel contextualizer 130 can identify resume information belonging to the musician "Ronnie Wood", such as, for example, resume information belonging to "Ronnie Wood", such as date of birth, height, family members, career highlights, can identify the musician "Ronnie Wood" as a member of the band "Rolling Stones", can identify music albums and songs performed or created by the musician "Ronnie Wood" and the band "Rolling Stones", such as, for example, the songs "Paint It Black" and "Sympathy for the Devil", or the music album "Sticky Fingers".

[0037] Items identified by the knowledge panel contextualizer 130 can include appropriate titles and subtitles related to data of the identified entity and context terms, and the appropriate titles and subtitles take two text formats and are structured data required for generating the text format. For example, when receiving data of the identified entity "Ronnie Wood" and the context term "Rolling Stones", the knowledge panel contextualizer 130 can identify the title or subtitle "Members of the Rolling Stones since 1975 (member_of:band=RollingStones,begin=1975)". In other examples, the knowledge panel contextualizer 130 can receive data of the identified entity "Rolling Stones" and the context term "Rock Band", and can identify the title or subtitle "British Rock Band (origin:England)" or "Rock Band founded in London in 1962 (origin:location=London,begin=1962)".

[0038] Information can be selected to be included in the indication panel based on the identified content items associated with the entity referenced by the user input query and one or more context terms referenced by the user input query. For example, based on receiving the search query "Ronnie Wood", the knowledge panel contextualizer 130 can select information to be included in the knowledge panel, and the knowledge panel can be provided for output to the user 102. Similarly, based on receiving the search query "Ronnie Wood of the Rolling Stones", the knowledge panel contextualizer 130 can select information to be included in the knowledge panel, and the knowledge panel can be provided for output to the user 102.

[0039] The information included in the knowledge panel is selected so that the included information is relevant to a specific user input query. By identifying the context terms and entities referenced by the user input query and selecting information based on the identified context terms, the system 100 can present a knowledge panel specific to the user input query. For example, based on determining that the user 102 inputs the search query "Ronnie Wood", the system 100 can select information that may be more useful or of more interest to the user 102, such as resume information related to "Ronnie Wood", information identifying the career highlights of "Ronnie Wood", or news related to the musician "Ronnie Wood". In another example, based on determining that the user 102 inputs the search query "Ronnie Wood of the Rolling Stones", the system 100 can select information that may be more useful or of more interest to the user 102, such as information identifying the songs or albums written or performed by "Ronnie Wood" and the band "Rolling Stones", or upcoming concerts featuring "Ronnie Wood" and the "Rolling Stones".

[0040] In some embodiments of the described subject matter, the information selected to be presented in the knowledge panel may include various types of knowledge elements related to the entity referenced by the user input query and one or more contextual terms referenced by the user input query. In some cases, the knowledge elements related to the entity may include biographical information related to the entity, may include news or other publications related to the entity, may include information related to other entities associated with the entity, may include events associated with the entity, may identify or include content related to or generated by the entity, or may include any other information identified as related to the entity.

[0041] For example, the information related to "Ronnie Wood" may include biographical information related to "Ronnie Wood", such as the biography of "Ronnie Wood", information related to other members of the "Rolling Stones", or information related to other people associated with "Ronnie Wood", may include information associated with content items related to "Ronnie Wood" (e.g., songs, albums, videos, or other content featuring "Ronnie Wood"), may include information associated with other entities associated with "Ronnie Wood", such as information identifying other artists, production companies, sponsors, or record labels associated with "Ronnie Wood", may include events or news related to "Ronnie Wood", such as upcoming concerts featuring the "Rolling Stones", articles or news related to "Ronnie Wood", or may include any other information identified as related to the entity "Ronnie Wood".

[0042] In some cases, the knowledge elements may be associated with content (such as videos, news reports, or other content). In some embodiments, selecting information to include in the knowledge panel may involve selecting specific knowledge elements having associated content and including the specific knowledge elements in the knowledge panel such that the content associated with the knowledge elements can be viewed directly from the knowledge panel, for example, by embedding the video in the knowledge panel for the user to view. In other embodiments, the specific knowledge elements may be included in the knowledge panel such that a link is established to the content associated with the specific knowledge element link or the content associated with the specific knowledge element link is made accessible to the user from the knowledge panel, for example, by providing a link to the website associated with the content.

[0043] During operations (C and C'), information selected to be presented in a knowledge panel may be presented for output to a user. For example, the knowledge panel contextualizer 130 may select one or more knowledge elements to present to the user 102 in a knowledge panel, and may send information causing the knowledge panel to be presented to the user 102, wherein the presented knowledge panel includes the selected knowledge elements. Similarly, the knowledge panel contextualizer 130 may select one or more knowledge elements to include in a knowledge panel, and may send information causing the knowledge panel to be presented to the user 112 such that the knowledge panel includes the selected knowledge elements.

[0044] like Figure 1 As shown, a knowledge panel can be presented to a user in a user interface that also includes one or more search results related to an entity referenced by a user input query and a context term referenced by the user input query. For example, in response to user 102 entering a query "Ronnie Wood" at a client device, a knowledge panel 106 can be presented to user 102 (C) in user interface 104 along with one or more search results 108. Similarly, a knowledge panel 116 can be presented to user 112 in user interface 114, wherein user interface 114 also includes one or more search results 118 (C').

[0045] The knowledge panel may include information that has been selected based on identifying context terms referenced by the user input query that are associated with the entity referenced by the user input query. For example, the user 102 may provide the query "Ronnie Wood" at a client device associated with the user 102. In response to receiving the query, the knowledge panel contextualizer 530 may select information associated with the resume of "Ronnie Wood" as information included in the knowledge panel. The selected information may be presented to the user 102 in a knowledge panel 106 included in the user interface 104. Similarly, in response to receiving a query that references "Ronnie Wood" and the context term "The Rolling Stones" from the user 112, the knowledge panel contextualizer 130 may select information associated with the resume of "Ronnie Wood", information identifying members of the music group "The Rolling Stones" and the band "The Rolling Stones", and songs and albums written or performed by "Ronnie Wood" and "The Rolling Stones" as information included in the knowledge panel. The selected information may be presented to the user 112 in a knowledge panel 116 included in the user interface 114.

[0046] Figure 2Depicts a system 200 for providing a knowledge panel based on one or more context terms. Specifically, system 200 presents an implementation where a query is received from a user and a knowledge panel is provided in response to the user inputting the query, wherein the information presented in the knowledge panel depends on one or more context terms included in the user input query.

[0047] In short, system 200 can receive a query, such as a natural language query input by a user, and can identify the entity referenced by the query. System 200 can also identify any additional context terms referenced by the query and can select information based on the identified context terms to present in a knowledge panel related to the entity. A knowledge panel including the selected information can be provided for output to the user, such as by providing the knowledge panel in a search results page including one or more web search results related to the query. System 200 includes a client device 202, a query engine front end 220, a knowledge panel contextualizer 230, an entity identification engine 240, and a knowledge engine 150. The components of system 200 can communicate with each other via one or more networks (such as one or more LANs or WANs), or can communicate via one or more other wired or wireless connections.

[0048] During operation (A), the query engine front end 220 receives data encoding the query input by the user. For example, user 204 can provide the query "Ronnie The Rolling Stones" at client device 202, and the query engine front end 220 can receive the data encoding the query. In some embodiments, the query engine front end 220 can receive the data encoding the user input query via one or more networks or via one or more other wireless or wired connections.

[0049] The client device 202 can be a mobile computing device, such as a mobile phone, a smart phone, a personal digital assistant (PDA), a music player, an e - book reader, a tablet computer, a wearable computing device, a laptop computer, a desktop computer, or other portable or fixed computing device. The client device 202 can be characterized by a microphone, a keyboard, a touch screen, or other interfaces that enable user 204 to input a query at the device. In some embodiments, user 204 can provide a query at an interface presented or accessible from client device 202. For example, user 204 can input a query at a search engine accessible at client device 202, can input a query at a database accessible at client device 202, or can provide a query at any other interface characterized by search capabilities (such as at a social network interface).

[0050] User 204 may provide a natural language query at client device 202, such as by speaking one or more terms of the query, typing one or more terms of the query, selecting one or more terms of a search query from an available terms menu, selecting a query including one or more terms from an available query menu, or by providing the query using any other method. In other embodiments, user 204 may provide the query by using another method, such as by selecting or submitting an image that the user desires to search, by providing an audio or video sample of the content that the user desires to search, or by otherwise entering the query at client device 202.

[0051] Query engine front end 220 may receive data including the query entered by user 204 in a single data packet or multiple data packets and identify one or more context terms referenced by the query entered by user 204. Data associated with the user input query may be further received simultaneously or may be received separately at different times.

[0052] Based on receiving data encoding the query entered by the user, query engine front end 220 may send data associated with the user input query to identification engine 240. For example, based on receiving data including the user input query "Ronnie of the Rolling Stones", query engine front end 220 may extract data associated with the user input query "Ronnie of the Rolling Stones" and may send the data associated with the query to identification engine 240.

[0053] During operation (B), identification engine 240 may receive information associated with the user input query and may identify an entity associated with the user input query and any additional context terms associated with the user input query. For example, identification engine 240 may receive information associated with the query "Ronnie of the Rolling Stones", and may identify the entity associated with the query as musician "Ronnie Wood" and the context term associated with the query as the band "Rolling Stones".

[0054] In some embodiments, identification engine 240 may identify an entity associated with a query by comparing the terms of the query with terms associated with a set of known entities. For example, the query received by identification engine 240 may be a natural language query, such as the query "Ronnie of the Rolling Stones", and identification engine 240 may identify the entity "Ronnie Wood" as being associated with the query based on comparing the terms of the query with terms associated with a set of known entities. In some embodiments, the set of known entities may be accessible by identification engine 240 at a database (such as a database associated with or accessible by identification engine 240), for example, via one or more networks.

[0055] In some embodiments, the identification engine 240 can identify any additional context terms associated with a query by comparing context terms to terms associated with a set of known context terms. For example, a query received by the identification engine 240 can be a natural language query, such as the query "Ronnie of the Rolling Stones", and the identification engine 240 can identify the context term "Rolling Stones" as being associated with the query based on comparing the context terms of the query to context terms associated with a set of known context terms. In some embodiments, the set of known context terms can be accessed by the identification engine 240 at a database (such as a database associated with or accessible by the identification engine 240), for example, via one or more networks.

[0056] In some cases, as described above, the user input query can be a spoken voice query, such as a query input by the user 204 by speaking into a microphone associated with the client device 202. In such a case, the query engine front end 220 can send data encoding the spoken voice query provided by the user 204 to the identification engine 240, and the identification engine 240 can obtain a transcription of the spoken voice query. For example, the query identification engine 240 can be associated with or can access an automatic speech recognition (ASR) engine, and can obtain a transcription of the spoken voice query based on submitting data encoding the spoken voice query to the ASR engine. The identification engine 240 can obtain a transcription of the spoken voice query, and can identify an entity associated with the query and any additional context terms associated with the query by comparing the terms of the transcription to terms respectively associated with a set of known entities or a set of context terms.

[0057] In some embodiments, the identification engine 240 can identify an entity associated with a query and any additional context terms associated with the query by submitting one or more of the terms of the query to a search engine or by submitting one or more of the terms of the query to a database, and can identify an entity associated with the query and any additional context terms associated with the query based on the results of providing one or more of the terms of the query to the search engine or as a query to the database. For example, the identification engine 240 can submit the terms "Ronnie Wood of the Rolling Stones", "Rolling Stones", or "Ronnie Wood" to a search engine, and can identify the entity identified in the results returned by the search engine as the entity referenced by the user input query. In some cases, the entity identified as being associated with the user input query can be the entity identified as the top search result, can be the most prominent entity among the entities included in the search results, or can be otherwise identified from the search results.

[0058] In some cases, the identification engine 240 may identify more than one entity that may be referenced by a query entered by the user 204, and the identification engine 240 may select a single entity from among the possible entities. For example, based on receiving the query "Ronnie of The Rolling Stones", the identification engine 240 may determine that the query potentially references the musician "Ronnie Wood", the band "The Rolling Stones", or the magazine "Rolling Stone". The identification engine 240 may select a particular entity (such as the entity "The Rolling Stones") as the entity referenced by the user-entered query.

[0059] Selecting a particular entity referenced by a user-entered query from among multiple potential entities may involve additional analysis performed by the identification engine 240. In some embodiments, the identification engine 240 may determine how similar the terms of the user-entered query are to the terms associated with the potential entities, and may select the entity that best matches the query terms as the entity. For example, the identification engine 240 may determine that the user-entered query "Ronnie of The Rolling Stones" may reference the musician "Ronnie Wood", the band "The Rolling Stones", the magazine "Rolling Stone", or the record label "Rolling Stone Records". Based on determining that the terms of the query "The Rolling Stones" best match the terms of the band "The Rolling Stones", the identification engine 240 may select the musician "Ronnie Wood" as the entity referenced by the user-entered query.

[0060] In other embodiments, the identification engine 240 may determine the entity that is most frequently queried among the potential entities, and may select the most frequently queried entity as the entity referenced by the user-entered query. For example, the identification engine 240 may determine that the user-entered query "Ronnie of The Rolling Stones" may reference the musician "Ronnie Wood", the band "The Rolling Stones", the magazine "Rolling Stone", the album "The Rolling Stones", or the record label "Rolling Stone Records". Based on determining that most user queries are for the musician "Ronnie Wood" and / or the band "The Rolling Stones" or that most queries reference the band "The Rolling Stones", the identification engine 240 may select the musician "Ronnie Wood" as the entity referenced by the user-entered query.

[0061] In other embodiments, the identification engine 240 can determine an importance measure or a popularity measure associated with a potential entity, and can select the most important or most popular entity among the potential entities as the entity referred to by the user input query. For example, the identification engine 240 can determine the number of resources (e.g., websites, entities, content items, emails, etc.) associated with each entity among the potential entities, and can determine the importance or popularity level of each entity among the potential entities based on the number of resources associated with the entity. For example, compared with the record company "Rolling Stone Records", the musician "Ronnie Wood" may be associated with a greater number of websites, news reports, and posts. Therefore, the musician "Ronnie Wood" and the band "Rolling Stones" may have a greater importance or popularity measure than "Rolling Stone Records". Based on the fact that the musician "Ronnie Wood" and / or the band "Rolling Stones" have a greater importance or popularity measure, the identification engine 240 can identify the musician "Ronnie Wood" as the entity referred to by the user input query.

[0062] In some embodiments, the terms of the user input query can be used to distinguish multiple potential entities. For example, the identification engine 240 can identify multiple potential entities associated with the user input query and can further identify the terms of the query that match one or more context terms associated with the user input query. Based on determining that the terms of the query include additional context terms, the identification engine 240 can identify a specific entity as being referred to by the query. For example, the user input query can be "Rolling Stones", and the identification engine 240 can identify multiple potential entities referred to by the query, such as the band "Rolling Stones", the magazine "Rolling Stone", and the record company "Rolling Stone Records". Based on determining that the term "band" included in the query is an additional context term, and based on determining that the context term is associated with the entity type of an artist or musician, the identification engine 240 can identify the band "Rolling Stones" as the entity referred to by the query.

[0063] In some embodiments, identifying the entity referred to by the user input query and any additional context terms may further involve identifying an entity identifier associated with the entity and a context term identifier associated with the context term. For example, an entity or a context term can be associated with a code or other identifier (e.g., an alphanumeric code that identifies the entity or context term) that uniquely identifies the entity or context term, and identifying a specific entity or context term referred to by the query can include identifying the code or other identifier associated with the entity or context term. For example, the musician "Ronnie Wood" can be associated with an alphanumeric code that identifies the musician "Ronnie Wood", and based on identifying the entity "Ronnie Wood", the identification engine 240 can further identify the alphanumeric code associated with the entity "Ronnie Wood".

[0064] Based on identifying the entity and any additional contextual terms referenced by a query input by a user, during operation (C), the identification engine 240 may send data of the identified entity and any additional contextual terms to the query engine front end 220. For example, the identification engine 240 may identify the entity referenced by the query input by the user 204 as the musician "Ronnie Wood", and may identify the additional contextual term referenced by the query input by the user 204 as the band "The Rolling Stones". The identification engine 240 may send data of the identified entity and contextual terms to the query engine front end 220. In some embodiments, the identification engine 240 may additionally determine identifiers associated with the referenced entity and additional contextual terms, and in addition to or instead of sending data identifying the referenced entity and data identifying the referenced contextual terms, may send data including the entity identifier and the contextual term identifier to the query engine front end 220. The identification engine 240 may send data identifying the referenced entity and contextual terms and / or the entity identifier and the contextual term identifier to the query engine front end 220 via one or more networks or via one or more other wired or wireless connections.

[0065] During operation (D), the query engine front end 220 may receive data identifying the entity referenced by the query input by the user and data identifying any additional contextual terms referenced by the query input by the user, and may send the data identifying the entity to the knowledge engine 250. For example, the query engine front end 220 may receive information identifying the entity referenced by the query input by the user as the musician "Ronnie Wood", and may send the data identifying "Ronnie Wood" to the knowledge engine 250. In some cases, the query engine front end 220 may send the data identifying the referenced entity to the knowledge engine 250 via one or more networks or via one or more other wired or wireless connections.

[0066] The knowledge engine 250 may receive the data identifying the referenced entity and may identify one or more knowledge elements related to the entity. As described above, the knowledge elements related to the entity may include any information related to the referenced entity or related to an entity associated with the referenced entity. For example, the knowledge elements may include information knowledge elements, such as biographical information associated with the entity, may include content knowledge elements (e.g., pictures, videos, or audio associated with or characterized by the entity), resource knowledge elements (e.g., websites or social network pages associated with the entity), and relationship knowledge elements (e.g., information indicating how the entity is related to one or more other entities), may include news knowledge elements (e.g., reports or posts characterized by or related to the entity), or may include any other type of information that can be presented or displayed in the user interface of a computing device.

[0067] In some embodiments, the knowledge engine 250 can identify knowledge elements related to the identified entity based on accessing a database or server that maintains knowledge elements related to the entity. For example, the knowledge engine 250 can receive information identifying the entity "Ronnie Wood", and the knowledge engine can access the database or server to identify knowledge elements associated with the entity "Ronnie Wood". In some embodiments, the database or server accessed by the knowledge engine 250 can be a database or server associated with the knowledge engine 250, e.g., as part of the knowledge engine 250, or the knowledge engine 250 can access the database or server, e.g., via one or more networks.

[0068] The database or server can store knowledge elements related to each entity, and the knowledge engine 250 can obtain or identify knowledge elements related to the entity referenced by the query input by the user 204. For example, the knowledge engine 250 can identify knowledge elements related to the musician "Ronnie Wood" at the database or server. The knowledge engine 250 can identify relevant knowledge elements based on performing a search in the database or server for knowledge elements related to "Ronnie Wood" or by performing a search for knowledge elements related to the entity identifier that uniquely identifies "Ronnie Wood". In other embodiments, the knowledge engine 250 can identify relevant knowledge elements by accessing entities that are significantly related to the identified entity at the database or server. For example, the database or server can maintain a folder or other data store that includes knowledge elements related to "Ronnie Wood", and the knowledge engine 250 can obtain or identify knowledge elements related to "Ronnie Wood".

[0069] In some embodiments, knowledge elements related to an entity can include information accessed by or sent to and stored by the database or server. For example, information identified as related to a particular entity can be stored at the database or server as a knowledge element related to the entity. For example, videos and news reports related to "Ronnie Wood" can be identified and stored at the database or server as knowledge elements related to "Ronnie Wood". In some cases, the videos and news reports can be identified by the database or server, e.g., based on performing a periodic web search for "Ronnie Wood" or based on determining that new content related to "Ronnie Wood" is available on the web, or the videos and news reports can be stored to the database or server as related to "Ronnie Wood", e.g., based on the host or a user of the system 200 providing information to the database or server that identifies the videos and news reports as related to "Ronnie Wood".

[0070] In some embodiments, the knowledge engine 250 may obtain or identify knowledge elements related to the identified entity based on a query that provides an entity and receives query results identified as related to the entity. For example, the knowledge engine 250 may provide a query for "Ronnie Wood" to a search engine or other searchable resource and may receive query results. The knowledge engine 250 may identify one or more of the query results as knowledge entities associated with the identified entity. In some cases, for example, the knowledge engine 250 may be able to identify a subset of the information included in the search results as knowledge elements or representations of knowledge elements by scraping resources related to the search results and extracting the portions of the resources identified as most relevant to the entity referenced by the user input query.

[0071] In certain embodiments, knowledge elements related to an entity may be associated with one or more attributes. In some cases, the attributes associated with a knowledge element may be stored in metadata associated with the knowledge element, may be stored within the knowledge element content, or may otherwise be stored in association with the knowledge element, such as in a data store that stores the attributes in a data table or other construct to associate the attributes with the knowledge element.

[0072] Attributes associated with a knowledge element may include the element type associated with the knowledge element. For example, a knowledge element may be identified as an information knowledge element (e.g., related to the resume information of an entity), a content knowledge element (e.g., an image, video, or audio associated with an entity), a resource knowledge element (e.g., a website associated with an entity), a relationship knowledge element (e.g., the relationship knowledge element identifies other entities related to the identified entity), or a news knowledge element (e.g., a post or report about an entity), or may be classified as another element type.

[0073] Attributes associated with a knowledge element may also include a ranking score associated with the knowledge element. For example, a ranking score may be assigned to a knowledge element based on multiple factors, and the ranking score may be associated with the knowledge element. For example, such factors may include how long the knowledge element has been generated or obtained (e.g., how long a news report has been published), may include how popular or important the knowledge element is considered to be (e.g., based on the number of views or clicks received by the knowledge element or resources associated with the knowledge element), may include how important the knowledge element is to an entity (e.g., whether the knowledge element is related to basic biographical information such as the age of an entity or the location of a place), or may include other factors. In some cases, the knowledge engine 250 may assign a ranking score to a knowledge element, or the ranking score may be assigned to the knowledge element by another system or by a person (e.g., the operator of system 200 or a user).

[0074] Other attributes may be associated with and stored as associated with a knowledge element. For example, other attributes associated with a knowledge element may include data associated with the knowledge element, a location associated with the knowledge element, a file size and / or physical display size associated with the knowledge element, a summary of the knowledge element, or other information related to or related to providing the knowledge element for display in a knowledge panel.

[0075] In some embodiments, in addition to identifying knowledge elements associated with a referenced entity, the knowledge engine 250 may access additional information associated with the knowledge item. For example, the knowledge engine 250 may identify an entity associated with a knowledge element, may access a summary or biographical information of the knowledge element, or may access other information associated with the knowledge element.

[0076] Based on identifying one or more knowledge elements related to the entity referenced by the user input query, during operation (E), the knowledge engine 250 may send data identifying the knowledge elements identified for the referenced entity to the query engine front end 220. For example, the knowledge engine 250 may obtain and / or identify one or more knowledge elements related to the musician "Ronnie Wood" and may send data including or identifying the knowledge elements to the query engine front end 220. The knowledge engine 250 may send data including or identifying the knowledge elements to the query engine front end 220 via one or more networks or via one or more other wired or wireless connections. The query engine front end 220 may receive data including or identifying the knowledge elements from the knowledge engine 250.

[0077] During operation (F), the query engine front end 220 may send data identifying knowledge elements identified for an entity referenced by a user input query and data identifying any additional context terms referenced by the user input query to the knowledge panel contextualizer 230. For example, the query engine front end 220 may receive information identifying the entity referenced by the query to be input by user 204 as musician "Ronnie Wood", and the query engine front end 220 may send data identifying knowledge elements identified for the entity "Ronnie Wood" to the knowledge panel contextualizer 230. Additionally, the query engine front end 220 may send data including identifiers of one or more context terms referenced by the query input by user 204. For example, the query engine front end 220 may send data identifying the context term "Rolling Stones" to the knowledge panel contextualizer 230. In some cases, the query engine front end 220 may send data identifying knowledge elements identified for the referenced entity and data identifying one or more context terms to the knowledge panel contextualizer 230 via one or more networks or via one or more other wired or wireless connections.

[0078] The knowledge panel contextualizer 230 may receive data identifying knowledge elements identified for an entity referenced by a user input query and data identifying additional context terms referenced by the user input query. The knowledge panel contextualizer may assign scores to and rank one or more knowledge elements associated with the referenced entity based on the additional context terms. The ranking scores may be used to provide a response to the user input search query to satisfy the user's interests and to indicate to the user that their intent has been understood.

[0079] The ranking scores associated with the knowledge elements may be assigned and / or adjusted based on the identification of one or more additional context terms. For example, the knowledge panel contextualizer 230 may receive information identifying musician "Ronnie Wood" and information identifying the context term "Rolling Stones". The knowledge panel contextualizer 230 may then score and rank one or more knowledge elements associated with musician "Ronnie Wood" by accessing content database 235 regarding the context term "Rolling Stones".

[0080] In other examples, the knowledge panel contextualizer 230 can receive data identifying knowledge elements identified for the entity "Salman Khan" referenced by a user query and data identifying the additional context term "college". The knowledge panel contextualizer 230 can then score and rank one or more knowledge elements associated with "Salman Khan" by accessing the content database 235 regarding the context term "college". The ranking of knowledge elements associated with the educator "Salman Khan" can be higher than the ranking of knowledge elements associated with Salman Khan, the Bollywood actor.

[0081] In other examples, the knowledge panel contextualizer 230 can receive data identifying knowledge elements identified for the entity "Faith Hill" referenced by a user query and data identifying the additional context term "2014". The knowledge panel contextualizer 230 can then score and rank one or more knowledge elements associated with "Faith Hill" by accessing the content database 235 regarding the context term "2014". The ranking of knowledge elements associated with the singer's experiences and achievements in 2014 (e.g., awards received, songs released, or movies participated in) can be higher than the ranking of knowledge elements associated with other years.

[0082] In other examples, the knowledge panel contextualizer 230 can receive data identifying knowledge elements identified for the entity "Boyz n the Hood" referenced by a user query and data identifying the additional context term "Doughboy". The knowledge panel contextualizer 230 can then score and rank one or more knowledge elements associated with "Boyz n the Hood" by accessing the content database 235 regarding the context term "Doughboy". The ranking of knowledge elements associated with the character "Doughboy", the movie's cast list, or the actor "Ice Cube" is higher than the ranking of knowledge elements associated with other aspects of the movie (e.g., release date, synopsis, rating).

[0083] Ranking scores can be assigned and / or adjusted based on the element type associated with the knowledge elements associated with the entity. For example, based on determining that the context term refers to a song written by "Ronnie Wood", the assigned or adjusted ranking score associated with a knowledge element that identifies or includes a song written by "Ronnie Wood" can be higher than the assigned or adjusted ranking score associated with a knowledge element that identifies or includes a music video featuring "Ronnie Wood".

[0084] When assigning and / or adjusting ranking scores associated with knowledge elements, other factors may also be considered. In some embodiments, the ranking scores associated with knowledge elements may be assigned and / or adjusted based on determining how long the information has been published. For example, a knowledge element associated with a news report published within the past month may have an assigned or adjusted ranking score that is higher than the ranking score of a knowledge element associated with a news report published six months ago.

[0085] In some embodiments, the ranking scores associated with knowledge elements may be assigned and / or adjusted based on determining the quality of the information associated with the knowledge elements. For example, the knowledge engine 250 or the query engine front end 220 may determine the number of views (e.g., web clicks), the information received associated with the knowledge element, the number of posts that mention the information associated with the knowledge element, the links to the information associated with the knowledge element, and / or the number of links from the information associated with the knowledge element to other resources or information. A knowledge element associated with information that has received more views, more mentions in posts, more links to the information, and / or more links to other resources or information may be identified as having a higher quality than a knowledge element associated with information that has received fewer views and mentions and is associated with fewer links. For example, the ranking scores associated with knowledge elements may be assigned and / or adjusted based on the determined quality of the knowledge elements, such that higher ranking scores are assigned to higher quality knowledge elements as compared to lower quality knowledge elements.

[0086] In some embodiments, the ranking scores associated with knowledge elements may be assigned and / or adjusted based on identifying one or more context terms. For example, as described in operation (F) with respect to Figure 2 the knowledge panel contextualizer 230 may assign ranking scores to knowledge elements based on two context terms. Based on identifying the entity "Ronnie Wood" from the query provided by user 204 and two context terms "Rolling Stones" and "song", for example, based on identifying the context terms "Rolling Stones" and "song", the assigned or adjusted ranking score associated with a knowledge element that identifies or includes information about a song written or performed by "Ronnie Wood", a member of the band "Rolling Stones", may be higher than the assigned or adjusted ranking score associated with a knowledge element that identifies or includes information about all other songs written or performed by the band "Rolling Stones".

[0087] In some embodiments, a ranking score associated with a knowledge element can be assigned and / or adjusted based on determining an age group or suitability rating associated with the knowledge element that is related to user 204 and / or to the referenced entity. For example, the query engine front end 220 can determine the age group of user 204 based on the user's 204 previous search history, based on the user's 204 account or profile, based on parental controls associated with the web browser or other application used by user 204, or based on other information. The query engine front end 220 and / or the knowledge engine 250 can also determine a suitability rating associated with the knowledge element related to the referenced entity, e.g., based on identifying a suitability rating assigned to the information associated with the knowledge element or based on performing other analysis, e.g., scraping information associated with the knowledge element. Based on the determined age group of user 204 and / or the suitability rating associated with the knowledge element, a ranking score associated with the knowledge element can be assigned and / or adjusted.

[0088] In some embodiments, the interests of user 204 can be identified and a ranking score associated with a knowledge element can be assigned and / or adjusted based on the interests of user 204. In some embodiments, a history of the interaction of user 204 with the knowledge panel and / or the information included in the knowledge panel can be determined, such as the user's selection of a link included in the knowledge panel, and a ranking score associated with the knowledge element can be assigned and / or adjusted based on the interaction history of user 204. In fact, other factors can be additionally or alternatively considered when assigning and / or adjusting the ranking score associated with the knowledge element, so that the system 200 can provide a relevant knowledge panel to the user in response to a user input query.

[0089] The knowledge panel contextualizer 230 can assign or adjust a ranking score of a knowledge element associated with the referenced entity and one or more context terms referenced by the user input query, and can send data identifying the knowledge element and its corresponding ranking score to the query engine front end 220 during operation (G). In some cases, the knowledge panel contextualizer 230 can send additional information associated with the ranked knowledge element to the query engine front end 220. According to some embodiments, the knowledge panel contextualizer 230 can send data identifying the ranked knowledge element associated with the referenced entity and one or more context terms referenced by the user input query to the query engine front end 220 via one or more networks or via one or more other wired or wireless connections.

[0090] The query engine front end 220 can receive data identifying ranked knowledge elements associated with the referenced entity and one or more contextual terms referenced by the user input query. During operation (H), the query engine front end 220 can select knowledge elements to include in the knowledge panel based on the ranking scores of the knowledge elements. In some embodiments, selecting knowledge elements to include in the knowledge panel can include performing additional analysis on the identified knowledge elements, information associated with the identified knowledge elements, and / or information associated with one or more contextual terms referenced by the user input query.

[0091] In some embodiments, selecting one or more of the identified knowledge elements to include in the knowledge panel is based on the assigned ranking scores associated with the knowledge elements. In some cases, selecting knowledge elements to include in the knowledge panel can include selecting a specific number of knowledge elements assigned the highest ranking scores or alternatively the lowest ranking scores. In other cases, selecting knowledge elements to include in the knowledge panel can include selecting all or a specific number of knowledge elements associated with an assigned or adjusted ranking score that meets a ranking score threshold, or may involve selecting knowledge elements based on the assigned or adjusted ranking score and one or more other criteria.

[0092] In addition to assigning and / or adjusting the ranking scores associated with the knowledge elements, the query engine front end 220 can also determine other parameters related to presenting the knowledge panel in response to the user input query. For example, the knowledge panel can be provided within the search results page for display to the user, and the query engine front end 220 can determine where to place the knowledge panel among one or more other web search results within the search results page. For example, a determination can be made to present the knowledge panel at the top of the search results page, e.g., in front of the search results list, or the knowledge panel can be presented at different locations within the search results page, e.g., below the search results list, in the middle of the search results list, in a side panel next to the search results list, in a pop-up window within the search results page, or in another location, such as in a separate web browser window or in a separate tab of the web browser.

[0093] In some embodiments, the query engine front end 220 may determine the order of presentation of knowledge elements in the knowledge panel based on one or more context terms referenced by a user input query. For example, the knowledge panel may be configured to present selected knowledge elements in a particular order based on additional context terms, such that, for example, the knowledge elements identified as most relevant to user 204 or most closely related to the referenced entity are presented first in the knowledge panel, and less relevant knowledge elements or elements unrelated to the referenced entity are further down in the list of knowledge elements within the knowledge panel.

[0094] In some embodiments, the query engine front end 220 may determine other parameters related to the presentation of knowledge elements in the knowledge panel, such as the number of information to be included in the knowledge panel, the type of information to be presented in the knowledge panel, or whether to display the knowledge panel or forego displaying the knowledge panel.

[0095] Knowledge elements may be selected for presentation in the knowledge panel, and parameters related to the presentation of the knowledge panel may be determined based at least on an assigned or adjusted ranking score associated with the knowledge element. For example, as described above, a particular knowledge element may be selected to be included in the knowledge panel based on the particular knowledge element having the highest ranking score among the knowledge elements identified by the knowledge engine 250. In some cases, a particular knowledge element may be selected based on the knowledge element being associated with a ranking score meeting a particular threshold, being associated with a ranking score within a particular range of ranking scores, or may be selected based on other factors.

[0096] In other examples, the location of the knowledge panel within the search results page may depend on the ranking scores of one or more knowledge elements, such as the ranking scores of the knowledge elements selected to be presented in the knowledge panel. For example, based on the ranking scores of the knowledge elements included in the search results list, the query engine front end 220 may determine to present the knowledge panel at the top of the search results page, such as in front of the search results list, or in the middle of the search results page, such as in the middle of the search results list. In another example, the number of knowledge elements to be included in the knowledge panel may be determined based on the number of knowledge elements having a ranking score meeting a ranking score threshold. For example, based on determining that only three knowledge elements are associated with a ranking score meeting the threshold, only those three knowledge elements are presented in the knowledge panel, whereas if it is determined that five knowledge elements are associated with a ranking score meeting the threshold, all five of those knowledge elements may be presented in the knowledge panel.

[0097] In some cases, the ranking score associated with a knowledge element may consider all of the described factors, a subset of the described factors, or different factors, and selecting a particular knowledge element in the knowledge panel may involve selecting the knowledge element based on the ranking score associated with the knowledge element and other factors.

[0098] Similarly, in some embodiments, in addition to other factors, parameters associated with the presentation of the knowledge panel may be determined based on the ranking score associated with the knowledge element. For example, if one or more ranking scores of one or more knowledge elements exceed or meet a predetermined threshold, the query engine front end 220 may determine to output the knowledge panel to the user 204. Conversely, if each ranking score of the knowledge element does not exceed or meet the predetermined threshold, the query engine front end 220 may determine to forgo outputting the knowledge panel to the user 204.

[0099] Based on selecting knowledge elements to include in the knowledge panel and, alternatively, determining parameters related to the presentation of the knowledge panel, during operation (I), the query engine front end 220 may send information associated with the presentation of the knowledge panel to the client device 202. In some embodiments, the query engine front end 220 may send data associated with one or more selected knowledge elements and data associated with the presentation of the knowledge panel to the client device via one or more networks or via one or more other wired or wireless connections.

[0100] The client device 202 may receive data associated with presenting the knowledge panel from the query engine front end 220 and provide a knowledge panel including the selected knowledge elements for output to the user 204. In some embodiments, the client device 202 may receive information defining one or more parameters associated with the presentation of the knowledge panel and may provide the knowledge panel for output to the user 202 to display the knowledge panel to the user according to the parameters.

[0101] In some embodiments, the knowledge panel may be placed within a search results page that includes one or more search results related to a user input query. For example, the client device 202 may display a user interface 206. The user interface 206 may be a search results page, where the user interface 206 includes a query entry field 208, a knowledge panel 210, and one or more search results 212. As shown, for example, the user interface 206 may display the knowledge panel 210 at the top of the search results page, e.g., above a list of one or more search results 212. As Figure 2As shown, in response to receiving a user input query "Ronnie of the Rolling Stones", the client device 202 has presented a knowledge panel 210 that includes an image of the musician "Ronnie Wood" and includes the resume of the member "Ronnie Wood" and information related to the band "the Rolling Stones".

[0102] As previously described, the user interface 206 presented to the user 204 may include one or more search results related to the user input query. For example, based on the user 204 providing the query "Ronnie of the Rolling Stones", one or more search results 212 may be identified and one or more search results 212 may be presented in the user interface 206 presented to the user 204. The search results 212 identified in response to the query "Ronnie of the Rolling Stones" may be the same search results, regardless of one or more context terms referenced by the user input query, or the identified search results may depend on one or more context terms referenced by the user input query. In some cases, the identified search results may depend on the knowledge elements presented in the knowledge panel 210. The search results may be determined based on submitting the user input query to a search engine and identifying or receiving one or more search results from the search engine (e.g., from a server associated with the search engine).

[0103] In some embodiments, search results may be identified and the search results may be sent to the client device 202. The client device 202 may receive information identifying the search results and data associated with presenting the knowledge panel and may configure the user interface to display both the search results and the knowledge panel. In other embodiments, information associated with the identified search results may be sent to the query engine front end 220, and the query engine front end 220 may send data including information associated with presenting the knowledge panel and associated with the search results to the client device 202. The client device 202 may receive the information from the query engine front end 220 and may provide the knowledge panel and the search results to the user 204 according to parameters associated with the presentation of the knowledge panel. In other embodiments, the query engine front end 220 may send information associated with presenting the knowledge panel to the search engine, and the search engine may send data including information associated with presenting the knowledge panel and information associated with one or more search results to the client device 202.

[0104] Figure 3 An example process 300 for providing a knowledge panel based on media consumption history is presented. For example, the process 300 may be performed by the system 200 in response to receiving a query input by the user 204.

[0105] In step 302, a request to identify an entity and identify one or more contextual terms is received. In some cases, the request can be received as a request associated with a search query that has already been submitted by a user. For example, the query engine front end 220 can receive data identifying both the entity referenced by the query input by the user 204 and one or more contextual terms. In some cases, the query engine front end 220 can receive data encoding the user input query from the client device 202 and can send the data encoding the user input query to the entity recognition engine 240. The entity recognition engine 240 can identify the entity referenced by the query, and the entity recognition engine 240 can send data including the identifier of the entity to the query engine front end 220. In other embodiments, the data received by the query engine front end 220 can identify both the entity and one or more contextual terms. For example, the query engine front end 220 can receive data from the client device 202 that includes an identifier uniquely identifying the entity referenced by the user input query and an identifier uniquely identifying one or more contextual terms referenced by the user input query. The query engine front end 220 can receive data identifying the entity referenced by the user input query and data identifying one or more contextual terms via one or more networks or via one or more other wired or wireless connections.

[0106] In step 304, knowledge elements related to the entity are identified. For example, the query engine front end 220 can receive data identifying the entity referenced by the user input query and can identify knowledge elements related to the entity. In some embodiments, the query engine front end 220 can identify knowledge elements related to the entity by sending the data identifying the entity to the knowledge engine 250 and receiving data from the knowledge engine 250 that includes or identifies knowledge elements related to the entity. In some cases, the query engine front end 220 can send the data identifying the entity via one or more networks or via one or more wired or wireless connections and receive data from the knowledge engine 250 associated with the knowledge elements related to the entity.

[0107] In step 306, one or more context terms associated with an entity are identified. For example, the query engine front end 220 can receive data identifying one or more context terms referenced by a user input query and can identify one or more context terms associated with the entity. In some embodiments, the query engine front end can identify one or more of the context terms associated with the entity by sending data identifying the entity referenced by the user input query and data identifying the context terms to the knowledge engine 250 and receiving data from the knowledge engine 250 that includes or identifies knowledge elements related to both the entity and the context terms. In some cases, the query engine front end 220 can send data identifying the entity referenced by the user input query and data identifying the context terms to the knowledge engine 250 via one or more wired or wireless connections and receive data from the knowledge engine 250 that includes or identifies knowledge elements related to both the entity and the context terms.

[0108] In step 308, a ranking score associated with a knowledge element is assigned based on the one or more context terms identified as being referenced by the user input query and associated with the entity referenced by the user input query. For example, the query engine front end 220 can receive knowledge elements related to the referenced entity from the knowledge engine 250 and identify the context terms associated with the referenced entity. The query engine front end 220 can assign and / or adjust the ranking score associated with the knowledge elements related to the referenced entity based on the identified associated context terms (e.g., by using the process described in operation (H) with respect to Figure 2 ). In some embodiments, the query engine front end 220 can receive the knowledge elements and data identifying one or more context terms associated with the referenced entity via one or more networks or via one or more wired or wireless connections.

[0109] In step 310, one or more knowledge elements are selected to be included in the knowledge panel, where the selection of the knowledge elements is at least based on the ranking scores assigned to the knowledge elements. For example, the query engine front end 220 may select one or more of the knowledge elements based on the ranking scores assigned to the knowledge elements to be included in the knowledge panel, where the knowledge panel may be presented to the user 204 in response to receiving a user input query. For example, the query engine front end 220 may select a certain number of knowledge elements associated with the highest ranking scores, may select knowledge elements associated with ranking scores that meet a specific threshold, or may select knowledge elements associated with ranking scores that meet one or more criteria. In some embodiments, when selecting knowledge elements to be presented in the knowledge panel, other data associated with the knowledge elements may be considered. For example, in addition to selecting knowledge elements based on the assigned ranking scores of the knowledge elements, knowledge elements may also be selected based on how new the knowledge elements are, how popular the knowledge elements are, or how important the knowledge elements are determined to be (e.g., based on the number of links associated with the knowledge elements).

[0110] In step 312, the selected knowledge elements are provided for output, where the selected knowledge elements are presented in the knowledge panel. For example, the query engine front end 220 may send data to the client device 202 or to another system, such as a search engine, that causes the selected knowledge elements to be included in the knowledge panel and provided for output to the user 204. In some embodiments, the knowledge panel may be presented within a search results page that includes one or more search results related to the user's search query. The query engine front end 220 may send data related to providing the knowledge panel including the selected knowledge elements via one or more networks or via one or more other wired or wireless connections. The presentation of the selected knowledge elements in the corresponding knowledge panel is described in more detail below with reference to Figures 4A to 4D presenting the selected knowledge elements in the corresponding knowledge panel in more detail.

[0111] Figures 4A to 4D Example user interfaces 400, 420, 440, 460 are illustrated that present a knowledge panel based on one or more context terms. In some embodiments, the user interfaces 400, 420, 440, 460 may be presented to the user in response to a user input query. In some embodiments, the user interfaces 400, 420, 440, 460 may be presented in a web browser or in another application capable of providing query features, such as within a search results page provided by a search engine accessible by the user via a web browser.

[0112] Figure 4AThe depicted user interface 400 is a representative user interface for displaying a knowledge panel in response to a query entered by a user. In some embodiments, the user interface 400 can be presented to the user in response to the user providing a query at a search engine or other system that enables the user to provide a request for information. Briefly, the user interface 400 includes a query entry field 402, a query request control 404, a knowledge panel 410, and search results 415.

[0113] The user interface 400 can be presented in response to a query entered by a user. For example, as Figure 4A shown, the user has entered the query "Salman Khan educator" at the query entry field 402, and the user interface 400 can be presented to the user in response to the user selecting the query request control 404. The information included in the knowledge panel 410 has been selected based on identifying the contextual term "educator" associated with the entity "Salman Khan" referenced by the query input to be included in the knowledge panel 410. Additionally, the knowledge panel 410 is presented above the search results 415 in the user interface 400.

[0114] The user interface 400 presented in response to a user entering a query can include a knowledge panel 410 that presents information related to the educator "Salman Khan". As shown, the knowledge panel 410 identifies Salman Khan and includes a biography of "Salman Khan, educator", for example, an excerpt of a biography that describes "Salman Khan is a Bangladeshi-American teacher, entrepreneur, and former hedge fund analyst", where the user can select to view more of the biography, including a list of facts about the educator Salman Khan, such as date of birth, nationality, height, spouse, educational background, and includes a panel that identifies entities that people may also be interested in searching for, such as "Bill Gates", "Sugata Mitra", and "Daphne Koller", where the user can select to view more content in the panel by scrolling to the right.

[0115] The user interface 400 additionally presents search results 415 related to the query "Salman Khan educator". For example, as Figure 4A shown, the search results 415 include results for the online encyclopedia entry "Salman Khan", such as the Wikipedia article for "Salman Khan (educator)" and the website of Khan Academy founded by the educator "Salman Khan", where the user can select to view more search results by scrolling down.

[0116] Figure 4B The depicted user interface 420 presents another user interface that can be presented in response to a query entered by a user. For example, as Figure 4BAs shown, the user has entered a query "Salman Khan, actor" in the query entry field 422, and the user interface 420 can be presented to the user in response to the user selecting the query request control 424. In this example, based on identifying the entity "Salman Khan" (identical to Figure 4A ), and based on identifying the contextual term "actor" associated with the entity "Salman Khan" referenced by the query input (as opposed to the contextual term "educator" depicted by Figure 4A ), the information included in the knowledge panel is selected to be included in the knowledge panel 435. Similar to Figure 4A , the knowledge panel 435 is presented above the search results in the user interface.

[0117] The user interface 420 presented in response to the user entering a query can include a knowledge panel 435 that presents information related to the actor "Salman Khan". As shown, the knowledge panel 435 identifies Salman Khan and includes a resume of "Salman Khan, actor", for example, an excerpt of a resume that describes "Salman Khan is an Indian actor, producer, philanthropist, and television star...", where the user can select to view more of the resume, including a list of facts about the actor Salman Khan, such as date of birth, nationality, height, upcoming movies, including a panel that identifies the movies and television shows the actor Salman Khan has appeared in (e.g., "Kick", "Jai Ho", and "Bigg Boss"), and a panel that identifies entities that people may also be interested in searching for (e.g., "Shah Rukh Khan", "Aamir Khan", and "Katrina Kaif"), where the user can select to view more content in both panels by scrolling to the right.

[0118] The user interface 420 also presents search results 430 related to the query "Salman Khan actor". For example, as Figure 4B shown, the search results include the result of Salman Khan's official website, where the user can select to view more search results by swiping down.

[0119] Figure 4C The depicted user interface 440 is another representative user interface for displaying a knowledge panel in response to a query entered by the user that does not include an additional contextual term. In some embodiments, the user interface 440 can be presented to the user in response to the user providing a query at a search engine or other system that enables the user to provide a request for information. In short, the user interface 440 includes a query entry field 442, a query request control 444, and a knowledge panel 450.

[0120] A user interface 440 can be presented in response to a query input by a user. For example, as Figure 4C shown, the user has entered the query "Boyz n the Hood" at the query entry field 442, and the user interface 440 can be presented to the user in response to the user selecting the query request control 444. Information included in the knowledge panel 440 has been selected based on the recognition of the movie "Boyz n the Hood" referenced by the query input.

[0121] The user interface 440 presented in response to the user inputting a query can include a knowledge panel 450 that presents information related to the movie "Boyz n the Hood". As shown, the knowledge panel 410 identifies the title of the movie "Boyz n the Hood", the length of the movie's duration (e.g., 2 hours 7 minutes), the genre of the movie (e.g., ""), a movie synopsis that describes "Tre (Cuba Gooding Jr.) is sent to South Central Los Angeles to live with his father, Furious Styles (Larry Fishburne)..." where the user can select to view more of the synopsis, including a list of facts about the movie (e.g., "IMDB" rating, release date, director, producer), and a panel that identifies the cast members (e.g., "Cuba Gooding Jr.", "Laurence Fishburne", "Morris Chestnut", and "Nia Long") where the user can select to view more content of the panel by swiping to the right.

[0122] In this example, the user input query does not include one or more additional context terms. If the user aims to search for information related to the character "Tre Styles", the knowledge panel can be considered to have made a sufficient response because, for example, the character "Tre Styles" first appears in the panel that identifies the cast members and characters of the movie "Boyz n the Hood". However, if the user aims to search for information related to the character "Doughboy", the knowledge panel can be considered to have made an insufficient response because, for example, the character "Doughboy" appears at the far right of the panel that identifies the cast members and characters of the movie "Boyz n the Hood" and the user can only see a portion of the associated image of the character "Doughboy".

[0123] Figure 4DThe depicted user interface 460 is another representative user interface for displaying a knowledge panel in response to a query entered by a user that includes an additional context term. In some embodiments, the user interface 460 can be presented to the user in response to the user providing a query at a search engine or other system that enables the user to provide a request for information. In short, the user interface 460 includes a query entry field 462, a query request control 464, and a knowledge panel 475.

[0124] The user interface 460 can be presented in response to a query entered by the user. For example, as Figure 4D shown, the user has entered the query "Boyz n the Hood Doughboy" at the query entry field 462, and the user interface 460 can be presented to the user in response to the user selecting the query request control 464. In this example, the information included in the knowledge panel 475 has been selected based on recognizing the movie "Boyz n the Hood" (the same as Figure 4C ) and based on recognizing the context term "Doughboy" associated with the movie "Boyz n the Hood" referenced by the query input to be included in the knowledge panel 475.

[0125] The user interface 460 presented in response to the user entering a query can include a knowledge panel 475 that presents information related to the movie "Boyz n the Hood". As shown, the knowledge panel 410 identifies the title of the movie "Boyz n the Hood", the length of the movie's duration (e.g., 2 hours 7 minutes), a brief description of the movie based on the context term "Doughboy" (e.g., "The coming-of-age movie of Doughboy"), a panel identifying the cast (e.g., "Ice Cube", "Cuba Gooding Jr.", "Laurence Fishburne", and "Morris Chestnut"), where the user can select to view more panels by swiping to the right, a movie synopsis that describes "Tre (Cuba Gooding Jr.) is sent to South Central Los Angeles to live with his father, Furious Styles (Larry Fishburne)..." where the user can select to view more of the synopsis, and a list of facts about the movie (e.g., "IMDB" rating, release date, director, producer).

[0126] In this example, the user input query includes the additional context term "Doughboy". Regarding Figure 4C the search query entered by the user, the user interface 460 presented in response to the user entering the query "Boyz n the Hood Doughboy" has contextualized the knowledge panel 475 to reflect the user's interests and intentions.

[0127] In some embodiments, the display order of different fields in the knowledge panel can vary depending on additional contextual terms referenced by a user input query. For example, the display order of different fields in the knowledge panel has been changed so that the panel identifying the cast and characters of the movie "Boyz n the Hood" appears closer to the top of the knowledge panel 475, above other movie-related facts (such as the movie synopsis). Additionally, the display order of entities within the panel identifying the cast and characters of the movie is changed so that the cast member playing the character "Doughboy" appears in a more prominent position, such as the leftmost position of the panel.

[0128] In some embodiments, different fields within the knowledge panel 475 that includes text can be changed so that the occurrence of an identified contextual term or a term related to the identified contextual term entered by the user is highlighted, appearing in bold or italic font or by using a virtual element for emphasis. For example, each occurrence of the term "Doughboy" or the related name "Ice Cube" can be highlighted using bold font, as Figure 4D shown. Other words or terms can also be emphasized by using highlighting or bold font. For example, if the query term is a substring of a word that appears in the knowledge panel 475, the query term substring can be appropriately emphasized. In other examples, synonyms of the query term can be emphasized. Further examples include emphasizing compound words joined or fuzzy-matched related to the search query. Additionally, different fields in the knowledge panel can be emphasized by using a bounding box, such as the cast member entry of the actor "Ice Cube" who played the character "Doughboy" in the movie, as Figure 4D shown.

[0129] In some embodiments, the title or subtitle that appears in the knowledge panel can be changed based on additional contextual terms referenced by a user input query. For example, the subtitle Figure 4C describing the genre of the movie "Teen Movie / Adult Movie" can be changed to Figure 4D "Doughboy's Teen Movie" in

[0130] In some embodiments, the search query entered by the user can reference an alias, and the knowledge panel can provide a title and text without using the referenced alias.

[0131] Where the systems and / or methods discussed herein can collect personal information about a user or where personal information may be used, the user may be provided with the following opportunities: to control whether the program or feature collects personal information (such as information about the user's social network, social actions or activities, profession, preferences, or current location), or to control whether and / or how the systems and / or methods can perform operations more relevant to the user. Additionally, before storing or using certain data, the specific data can be anonymized in one or more ways so that personally identifiable information can be removed. For example, the identity of the user can be anonymized such that personally identifiable information cannot be determined for the user, or where location information is obtained, the user's geographical location can be generalized (such as to a city, ZIP code, or state level) so that the user's specific location cannot be determined. Thus, the user can control how information about the user is collected and / or used.

[0132] The embodiments and all operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware (including the structures disclosed in this specification and structural equivalents thereof) or in a combination of one or more of them. The embodiments can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer-readable medium for execution by, or to control the operation of, a data processing apparatus. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter affecting a machine-readable propagated signal, or a combination of one or more of them. The term "data processing apparatus" encompasses various devices, apparatus, and machines for processing data, e.g., including programmable processors, computers, or multiple processors or computers. In addition to hardware, the apparatus can also include code that creates an execution environment for the computer programs being discussed, e.g., code constituting processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagated signal is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal generated to encode information for transmission to a suitable receiver device.

[0133] A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language (including compiled or interpreted languages, declarative or procedural languages), and a computer program can be deployed in any form (including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment). A computer program does not necessarily correspond to a file in a file system. A program can be stored as part of a file that stores other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, subroutines, or portions of code). A computer program can be deployed to execute on one computer or multiple computers located at one site or distributed across multiple sites and interconnected by a communication network.

[0134] The processes and logical flows described in this specification can be performed by one or more programmable processors that execute one or more computer programs to perform functions by operating on input data and generating output. The processes and logical flows can also be performed by dedicated logic circuitry, such as an FPGA (field programmable gate array) or ASIC (application specific integrated circuit), and the apparatus can also be implemented as dedicated logic circuitry.

[0135] For example, processors suitable for executing a computer program include: general and special purpose microprocessors, and any one or more processors of any kind of digital computer. In general, a processor will receive instructions and data from a read only memory or a random access memory or both.

[0136] The basic components of a computer are a processor for executing instructions and one or more storage devices for storing instructions and data. Generally, a computer will also include one or more mass storage devices (e.g., magnetic disks, magneto-optical disks, or optical disks) for storing data, or may be operatively coupled to receive data from a mass storage device or transfer data to a mass storage device or both. However, a computer need not have such devices. Additionally, a computer may be embedded in another device (e.g., a tablet computer, a mobile phone, a personal digital assistant (PDA), a mobile audio player, a global positioning system (GPS) receiver, etc.). Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, e.g., including: semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices), magnetic disks (e.g., internal hard disks or removable disks), magneto-optical disks, CD-ROM disks, and DVD-ROM disks. The processor and memory may be supplemented by, or incorporated in, special purpose logic circuitry.

[0137] To provide interaction with a user, embodiments may be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user, and a keyboard and a pointing device, such as a mouse or a trackball, by which the user may provide input to the computer. Other types of devices may also be used to provide interaction with the user; for example, feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form (including acoustic input, speech input, or tactile input).

[0138] Embodiments may be implemented in a computing system that includes backend components, such as a data server, or includes middleware components, such as an application server; or includes frontend components, such as a client computer having a graphical user interface or a web browser through which the user may interact with the implementation; or includes any combination of the backend components, the middleware components, or the frontend components. The components of the system may be interconnected by any form or format of digital data communication (e.g., a communication network). Examples of communication networks include local area networks (“LANs”) and wide area networks (“WANs”), such as the Internet.

[0139] A computing system may include a client and a server. The client and the server are generally far apart from each other and typically interact via a communication network. The relationship between the client and the server arises from computer programs that run on respective computers and have a client-server relationship with each other.

[0140] Although this specification contains many details, these details should not be construed as limitations on the scope of the disclosure or of the claims that may be claimed, but rather as descriptions of features specific to particular embodiments. Certain features described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, the various features described in the context of a single embodiment may also be implemented separately or in any suitable sub-combination in multiple embodiments. Additionally, although features may be described above as being for certain combinations and even initially claimed as such, in some cases one or more features from a claimed combination may be excluded from the combination, and the claimed combination may be directed to a sub-combination or a variant of a sub-combination.

[0141] Likewise, although operations are depicted in the figures in a particular order, this should not be understood to require that the operations be performed in the particular order shown or in a sequential order, or that all of the illustrated operations be performed to achieve the desired result. In some environments, multitasking and parallel processing may be advantageous. Additionally, the separation of various system components in the above embodiments should not be understood to be required in all embodiments, and it should be understood that the described program components and systems can generally be integrated together into a single software product or packaged into multiple software products.

[0142] In every instance in which an HTML file is referenced, other file types or formats may be substituted. For example, an HTML file may be replaced by an HML, JSON, plain text, or other type of file. Additionally, in instances in which a table or hash table is referenced, other data structures (such as a spreadsheet, relational database, or structured file) may be used.

[0143] Accordingly, particular embodiments have been described. Other embodiments are within the scope of the following claims. For example, the acts recited in the claims may be performed in a different order and still achieve the desired result.

Claims

1. A computer-implemented method, comprising: Receiving a request, the request including an entity referenced by a search query submitted by a user and one or more context terms included in the search query; Determining that the one or more context terms describe a relationship that connects the entity to a plurality of other entities not referenced by the search query; And In response to determining that the one or more context terms describe the relationship, generating user interface elements that provide facts related to the entity by: Identifying relationship knowledge elements, the relationship knowledge elements including facts related to at least some of the plurality of other entities, the relationship knowledge elements being included in the user interface elements, Identifying one or more additional knowledge elements for the entity, the one or more additional knowledge elements being included in the user interface elements, Ranking the relationship knowledge elements higher than the one or more additional knowledge elements in the user interface elements, and Providing the user interface elements in response to the request.

2. The method according to claim 1, wherein The user interface elements are knowledge panels.

3. The method according to claim 1, wherein, The user interface elements are presented within a search result page associated with the search query.

4. The method according to claim 3, wherein, The relationship knowledge elements are located at the top of the search result page.

5. The method according to claim 1, wherein, The initially unshown relationship knowledge elements are accessed by scrolling to the right.

6. The method according to claim 1, wherein Providing the user interface elements includes positioning the relationship knowledge elements before the one or more additional knowledge elements in the search result page.

7. A system, comprising: One or more computers; And One or more storage devices storing instructions that, when executed by the one or more computers, are operable to cause the one or more computers to perform operations, the operations including: Receiving a request, the request including an entity referenced by a search query submitted by a user and (ii) one or more context terms included in the search query; Determining that the one or more context terms describe a relationship that connects the entity to a plurality of other entities not referenced by the search query; and In response to determining that the one or more context terms describe the relationship, generating user interface elements that provide facts related to the entity by: Identifying relationship knowledge elements, the relationship knowledge elements including facts related to at least some of the plurality of other entities, the relationship knowledge elements being included in the user interface elements, Identifying one or more additional knowledge elements for the entity, the one or more additional knowledge elements being included in the user interface elements, Ranking the relationship knowledge elements higher than the one or more additional knowledge elements in the user interface elements, and Providing the user interface elements in response to the request.

8. The system according to claim 7, wherein, The user interface elements are knowledge panels.

9. The system according to claim 7, wherein, The user interface elements are presented within a search result page associated with the search query.

10. The system according to claim 9, wherein, The relationship knowledge elements are located at the top of the search result page.

11. The system according to claim 7, wherein, The initially unshown relationship knowledge elements are accessed by scrolling to the right.

12. The system according to claim 7, wherein, Providing the user interface element includes positioning the relationship knowledge element before the one or more additional knowledge elements in a search results page.

13. A computer-readable storage device encoded with a computer program, the program including instructions that, if executed by one or more computers, cause the one or more computers to perform operations, the operations including: Receiving a request that includes an entity referenced by a search query submitted by a user and one or more context terms included in the search query; Determining that the one or more context terms describe a relationship that connects the entity to a plurality of other entities not referenced by the search query; And In response to determining that the one or more context terms describe the relationship, generating a user interface element that provides facts related to the entity by: Identifying a relationship knowledge element that includes facts related to at least some of the plurality of other entities, the relationship knowledge element being included in the user interface element, Identifying one or more additional knowledge elements for the entity, the one or more additional knowledge elements being included in the user interface element, Ranking the relationship knowledge element higher than the one or more additional knowledge elements in the user interface element, and Providing the user interface element in response to the request.

14. The computer-readable storage device according to claim 13, wherein, The user interface element is a knowledge panel.

15. The computer-readable storage device according to claim 13, wherein, The user interface element is presented within a search results page associated with the search query.

16. The computer-readable storage device according to claim 15, wherein, The relationship knowledge element is positioned at the top of the search results page.

17. The computer-readable storage device according to claim 13, wherein, Providing the user interface element includes positioning the relationship knowledge element before the one or more additional knowledge elements in a search results page.

Citation Information

Patent Citations

  • Context-based services

    US20110264656A1

  • Providing Knowledge Panels With Search Results

    US20130110825A1