Using activation paths to cluster proximity query results
First Claim
1. A method for displaying search results to a user comprising:
- receiving, by a search engine, user input to perform a proximity query on a graph, wherein said graph includes one or more nodes and one or more edges;
wherein said proximity query specifies (a) a particular node type, and (b) a predicate clause;
executing, by the search engine, the proximity query, by;
generating a set of candidate result nodes that match said particular node type,generating a set of activator nodes that satisfy said predicate clause, andcomputing an activation value for each candidate result node, wherein said activation value reflects a relative importance of the candidate result node with respect to a particular activator node from said set of activator nodes;
generating, by the search engine, a set of result clusters that include one or more result nodes from said set of candidate result nodes, wherein a result cluster is identified by a path to at least one activator node in said set of activator nodes;
ranking, by the search engine, said one or more result nodes in said result clusters based on the activation value of each of the one or more result nodes in said result clusters; and
based on the ranking, displaying to a user a representation of said result clusters;
wherein the step of executing the proximity query is performed by one or more computing devices.
9 Assignments
0 Petitions
Accused Products
Abstract
A search engine finds and ranks information in clusters so a user can select information listed in search results that are closer to his information needs. To do so, the search engine receives a proximity query and executes it against an entity-relationship graph. The search engine finds those entities in the graph that have similar relationships between nodes. For example, two entities in a graph may be connected to entirely different nodes, but they may connect to those different nodes using similarly labeled paths. The search engine identifies the relationship between the nodes, clusters entities that are connected by similar relationships, and presents the clustered information to the user as part of the search results. In this way, the search engine provides a user with a results from which the user can select the group of results that most closely match his information need.
15 Citations
18 Claims
-
1. A method for displaying search results to a user comprising:
-
receiving, by a search engine, user input to perform a proximity query on a graph, wherein said graph includes one or more nodes and one or more edges; wherein said proximity query specifies (a) a particular node type, and (b) a predicate clause; executing, by the search engine, the proximity query, by; generating a set of candidate result nodes that match said particular node type, generating a set of activator nodes that satisfy said predicate clause, and computing an activation value for each candidate result node, wherein said activation value reflects a relative importance of the candidate result node with respect to a particular activator node from said set of activator nodes; generating, by the search engine, a set of result clusters that include one or more result nodes from said set of candidate result nodes, wherein a result cluster is identified by a path to at least one activator node in said set of activator nodes; ranking, by the search engine, said one or more result nodes in said result clusters based on the activation value of each of the one or more result nodes in said result clusters; and based on the ranking, displaying to a user a representation of said result clusters; wherein the step of executing the proximity query is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A machine-readable volatile or non-volatile storage medium for displaying search results to a user, the machine-readable storage medium storing instructions which, when processed by one or more processors, causes the one or more processors to perform:
-
receiving, by a search engine, user input to perform a proximity query on a graph, wherein said graph includes one or more nodes and one or more edges; wherein said proximity query specifies (a) a particular node type, and (b) a predicate clause; executing, by the search engine, the proximity query, by; generating a set of candidate result nodes that match said particular node type, generating a set of activator nodes that satisfy said predicate clause, and computing an activation value for each candidate result node, wherein said activation value reflects a relative importance of the candidate result node with respect to a particular activator node from said set of activator nodes; generating, by the search engine, a set of result clusters that include one or more result nodes from said set of candidate result nodes, wherein a result cluster is identified by a path to at least one activator node in said set of activator nodes; ranking, by the search engine, said one or more result nodes in said result clusters based on the activation value of each of the one or more result nodes in said result clusters; and based on the ranking, displaying to a user a representation of said result clusters. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification