Structured search queries based on social-graph information
First Claim
Patent Images
1. A method comprising, by one or more computing devices:
- receiving, from a client device associated with a first user of an online social network, an unstructured text query comprising one or more n-grams, the online social network being associated with a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes;
identifying one or more of the nodes based at least on a determined probability for each node that the node corresponds to at least one of the n-grams, each of the identified nodes matching at least a portion of one or more of the n-grams;
identifying one or more of the edges, each of the identified edges being connected to at least one of the identified nodes, each of the identified edges matching at least a portion of one or more of the n-grams;
generating one or more structured queries that each comprise the n-grams of the text query and references to one or more of the identified nodes and one or more of the identified edges; and
sending, to the client device associated with the first user in response to receiving the text query, one or more of the structured queries for presentation to the first user.
1 Assignment
0 Petitions
Accused Products
Abstract
In particular embodiments, a method includes receiving an unstructured text query, identifying nodes and edges from a social graph that correspond to n-grams in the text query, and then generating structured queries that include references to the identified nodes and edges.
-
Citations
18 Claims
-
1. A method comprising, by one or more computing devices:
-
receiving, from a client device associated with a first user of an online social network, an unstructured text query comprising one or more n-grams, the online social network being associated with a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes; identifying one or more of the nodes based at least on a determined probability for each node that the node corresponds to at least one of the n-grams, each of the identified nodes matching at least a portion of one or more of the n-grams; identifying one or more of the edges, each of the identified edges being connected to at least one of the identified nodes, each of the identified edges matching at least a portion of one or more of the n-grams; generating one or more structured queries that each comprise the n-grams of the text query and references to one or more of the identified nodes and one or more of the identified edges; and sending, to the client device associated with the first user in response to receiving the text query, one or more of the structured queries for presentation to the first user.
-
-
2. The method of claim 1, further comprising:
-
accessing the social graph comprising the plurality of nodes and the plurality of edges connecting the nodes, each of the edges between two of the nodes representing a single degree of separation between them, the nodes comprising; a first node corresponding to the first user associated with the online social network; and a plurality of second nodes that each correspond to a concept or a second user associated with the online social network.
-
-
3. The method of claim 1, further comprising:
-
receiving from the first user a selection of one of the structured queries; and generating search results corresponding to the selection of one of the structured queries, each search result comprising a reference to a node of the plurality of nodes that is connected to at least one of the identified nodes by at least one of the identified edges.
-
-
4. The method of claim 3, wherein each of the nodes referenced by the search results is within a threshold degree of separation of a first node corresponding to the first user.
-
5. The method of claim 1, further comprising ranking each of the structured queries based on the degree of separation between a first node corresponding to the first user and at least one of the identified nodes referenced in the structured query.
-
6. The method of claim 1, further comprising ranking each of the structured queries based on a search history associated with the first user.
-
7. The method of claim 1, further comprising ranking each of the structured queries based on a social relevance of the identified nodes or the identified edges referenced in the structured query.
-
8. The method of claim 1, further comprising ranking each of the structured queries based on a textual relevance of the structured query.
-
9. The method of claim 1, wherein each of the identified nodes is within a threshold degree of separation of a first node corresponding to the first user.
-
10. The method of claim 1, wherein identifying one or more of the nodes comprises, for each n-gram:
-
determining a probability for each node that the node corresponds to the n-gram; and identifying each node with a probability greater than a threshold probability.
-
-
11. The method of claim 1, wherein receiving from the first user the unstructured text query comprises receiving one or more characters of a character string as the first user at a client system enters the character string into a graphical user interface comprising a query field, and wherein the character string is entered by the first user into the query field.
-
12. The method of claim 11, wherein the graphical user interface is displayed on a user interface of a native application associated with the online social network.
-
13. The method of claim 11, wherein the graphical user interface is displayed on a webpage associated with the online social network accessed by a browser client.
-
14. The method of claim 1, further comprising presenting the one or more sent structured queries to the first user, wherein, for each sent structured query, one or more of the references of the sent structured query is highlighted as presented to indicate the reference corresponds to an identified node or an identified edge.
-
15. The method of claim 1, wherein the unstructured text query is received from a third-party system via a call through an application programming interface associated with the online social network from the client device associated with the first user.
-
16. The method of claim 1, wherein the unstructured text query is received from a third-party system via a communication channel associated with the online social network from the client device associated with the first user.
-
17. A system comprising:
- one or more processors; and
a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to;receive, from a client device associated with a first user of an online social network, an unstructured text query comprising one or more n-grams, the online social network being associated with a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes; identify one or more of the nodes based at least on a determined probability for each node that the node corresponds to at least one of the n-grams, each of the identified nodes matching at least a portion of one or more of the n-grams; identify one or more of the edges, each of the identified edges being connected to at least one of the identified nodes, each of the identified edges matching at least a portion of one or more of the n-grams; generate one or more structured queries that each comprise the n-grams of the text query and references to one or more of the identified nodes and one or more of the identified edges; and send, to the client device associated with the first user in response to receiving the text query, one or more of the structured queries for presentation to the first user.
- one or more processors; and
-
18. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
receive, from a client device of a first user of an online social network, an unstructured text query comprising one or more n-grams, the online social network being associated with a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes; identify one or more of the nodes based at least on a determined probability for each node that the node corresponds to at least one of the n-grams, each of the identified nodes matching at least a portion of one or more of the n-grams; identify one or more of the edges, each of the identified edges being connected to at least one of the identified nodes, each of the identified edges matching at least a portion of one or more of the n-grams; generate one or more structured queries that each comprise the n-grams of the text query and references to one or more of the identified nodes and one or more of the identified edges; and send, to the client device associated with the first user in response to receiving the text query, one or more of the structured queries for presentation to the first user.
-
Specification