Personalized query suggestions from profile trees
First Claim
1. A computer-implemented method, comprising:
- receiving a search query, the search query associated with a user identifier;
receiving a ranked list of related search queries for the received search query, the related search queries being suggested alternate queries for the search query and ranked according to a first order;
accessing a profile tree associated with the user identifier and including a hierarchy of nodes, the hierarchy of nodes including a root node and a plurality of child nodes, each child node descending from the root node or another child node, the profile tree defining a plurality of levels, each level including child nodes that descend from the root node at a same depth, and each node of the profile tree representing a respective topic that is derived from search history data associated with the user identifier, and each node of the profile tree corresponding to at least one of a term or a phrase, and wherein the terms and phrases of the profile tree correspond to the nodes of the profile tree according to the respective topics to which the search terms and phrases belong;
for each of the related search queries;
identifying, by a computer, in the profile tree one or more nodes that match the related search query;
determining, by the computer, the respective levels of the one or more nodes that match the related search query;
determining, by the computer, a respective child count for each of the one or more nodes that match the related search query, the child count for each node being proportional to a number of child nodes descending directly from the node and a number of child nodes descending indirectly from the node; and
deriving, by the computer, a respective relevance score for the related search query based on the respective levels of the one or more nodes that match the related search query and the respective child counts of the one or more nodes that match the related search query, wherein the relevance score is directly proportional to depths of the respective levels of the one or more nodes that match the related search query, and is inversely proportional to the respective child counts of the one or more nodes that match the related search query;
adjusting, by the computer, the rank of at least one of the related search queries in the list based on the respective relevance scores of the related search queries so that the search queries are ranked according to a second order different from the first order; and
providing, by the computer, suggested query data to a client device associated with the user identifier, the suggested query data operable to cause the client device to present a plurality of top-ranked related search queries according to the second order.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer program products, for personalized query suggestion are disclosed. The personalized query suggestion utilizes a personalized profile tree constructed using search history associated with a user. The personalized profile tree is a hierarchy of nodes representing categories of information that the user has previously searched or selected from search results. When a search query is received from the user, a ranked list of related queries can be generated for the received search query. Each of the related queries is compared against the nodes in the personalized profile tree, and a relevance score is given to the related query based on the depth of a matching node in the tree, and a child count for the matching node. The related queries are re-ranked based on their respective relevance scores. After the re-ranking, top-ranked related queries are presented to the user as query suggestions.
-
Citations
18 Claims
-
1. A computer-implemented method, comprising:
-
receiving a search query, the search query associated with a user identifier; receiving a ranked list of related search queries for the received search query, the related search queries being suggested alternate queries for the search query and ranked according to a first order; accessing a profile tree associated with the user identifier and including a hierarchy of nodes, the hierarchy of nodes including a root node and a plurality of child nodes, each child node descending from the root node or another child node, the profile tree defining a plurality of levels, each level including child nodes that descend from the root node at a same depth, and each node of the profile tree representing a respective topic that is derived from search history data associated with the user identifier, and each node of the profile tree corresponding to at least one of a term or a phrase, and wherein the terms and phrases of the profile tree correspond to the nodes of the profile tree according to the respective topics to which the search terms and phrases belong; for each of the related search queries; identifying, by a computer, in the profile tree one or more nodes that match the related search query; determining, by the computer, the respective levels of the one or more nodes that match the related search query; determining, by the computer, a respective child count for each of the one or more nodes that match the related search query, the child count for each node being proportional to a number of child nodes descending directly from the node and a number of child nodes descending indirectly from the node; and deriving, by the computer, a respective relevance score for the related search query based on the respective levels of the one or more nodes that match the related search query and the respective child counts of the one or more nodes that match the related search query, wherein the relevance score is directly proportional to depths of the respective levels of the one or more nodes that match the related search query, and is inversely proportional to the respective child counts of the one or more nodes that match the related search query; adjusting, by the computer, the rank of at least one of the related search queries in the list based on the respective relevance scores of the related search queries so that the search queries are ranked according to a second order different from the first order; and providing, by the computer, suggested query data to a client device associated with the user identifier, the suggested query data operable to cause the client device to present a plurality of top-ranked related search queries according to the second order. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable medium having instructions stored thereon, the instructions, when executed by one or more processors, cause the one or more processors to perform operations comprising:
-
receiving a search query, the search query associated with a user identifier; receiving a ranked list of related search queries for the received search query, the related search queries being suggested alternate queries for the search query and ranked according to a first order; accessing a profile tree associated with the user identifier and including a hierarchy of nodes, the hierarchy of nodes including a root node and a plurality of child nodes, each child node descending from the root node or another child node, the profile tree defining a plurality of levels, each level including child nodes that descend from the root node at a same depth, and each node of the profile tree representing a respective topic that is derived from search history data associated with the user identifier, and each node of the profile tree corresponding to at least one of a term or a phrase, and wherein the terms and phrases of the profile tree corresponds to the nodes of the profile tree according to the respective topics to which the search terms and phrases belong; for each of the related search queries; identifying in the profile tree one or more nodes that match the related search query; determining the respective levels of the one or more nodes that match the related search query; determining a respective child count for each of the one or more nodes that match the related search query, the child count for each node being proportional to a number of child nodes descending directly from the node and a number of child nodes descending indirectly from the node; and deriving a respective relevance score for the related search query based on the respective levels of the one or more nodes that match the related search query and the respective child counts of the one or more nodes that match the related search query, wherein the relevance score is directly proportional to depths of the respective levels of the one or more nodes that match the related search query, and is inversely proportional to the respective child counts of the one or more nodes that match the related search query; adjusting the rank of at least one of the related search queries in the list based on the respective relevance scores of the related search queries so that the search queries are ranked according to a second order different from the first order; and providing suggested query data to a client device associated with the user identifier, the suggested query data operable to cause the client device to present a plurality of top-ranked related search queries according to the second order. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system, comprising:
-
one or more processors; and memory having instructions stored thereon, the instructions, when executed by one or more processors, comprising; receiving a search query, the search query associated with a user identifier; receiving a ranked list of related search queries for the received search query, the related search queries being suggested alternate queries for the search query and ranked according to a first order; accessing a profile tree associated with the user identifier and including a hierarchy of nodes, the hierarchy of nodes including a root node and a plurality of child nodes, each child node descending from the root node or another child node, the profile tree defining a plurality of levels, each level including child nodes that descend from the root node at a same depth, and each node of the profile tree representing a respective topic that is derived from search history data associated with the user identifier, and each node of the profile tree corresponding to at least one of a term or a phrase, and wherein the terms and phrases of the profile tree correspond to the nodes of the profile tree according to the respective topics to which the search terms and phrases belong; for each of the related search queries; identifying in the profile tree one or more nodes that match the related search query; determining the respective levels of the one or more nodes that match the related search query; determining a respective child count for each of the one or more nodes that match the related search query, the child count for each node being proportional to a number of child nodes descending directly from the node and a number of child nodes descending indirectly from the node; and deriving a respective relevance score for the related search query based on the respective levels of the one or more nodes that match the related search query and the respective child counts of the one or more nodes that match the related search query, wherein the relevance score is directly proportional to depths of the respective levels of the one or more nodes that match the related search query, and is inversely proportional to the respective child counts of the one or more nodes that match the related search query; adjusting the rank of at least one of the related search queries in the list based on the respective relevance scores of the related search queries so that the search queries are ranked according to a second order different from the first order; and providing suggested query data to a client device associated with the user identifier, the suggested query data operable to cause the client device to present a plurality of top-ranked related search queries according to the second order. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification