Identifying and processing recommendation requests
First Claim
1. A method comprising, by a computing device of a social-networking system:
- by the computing device, receiving, from a client system of a user of the social-networking system, instructions for generating a post in a news feed associated with the user on the social-networking system, wherein the post comprises unstructured text from the user;
by the computing device, determining whether the unstructured text of the post comprises a request for a recommendation from other users of the social-networking system;
by the computing device, parsing the unstructured text to identify one or more first entities and one or more first entity types referenced in the unstructured text;
by the computing device, generating a structured query based upon the one or more first entities and the one or more first entity types referenced in the unstructured text of the post;
by the computing device, generating a plurality of search results corresponding to a plurality of second entities matching the structured query, wherein each of the second entities has an entity type matching at least one of the first entity types; and
by the computing device, sending, to the client system of the user responsive to receiving the instructions for generating the post, instructions for presenting one or more of the plurality of search results, wherein the search results are presented in association with the post by the user in the news feed associated with the user.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes receiving unstructured text from a user of a social-networking system, determining whether the unstructured text includes a request for a recommendation, identifying one or more first entity names in the unstructured text, generating a structured query based upon the one or more first entity names, identifying, in the social graph, one or more second entity names corresponding to the structured query, and presenting the one or more second entity names and the unstructured text in a social context of the user. The unstructured text may include text of a post or message generated by the user on a social-networking system. A score may be generated based on the unstructured text to determine whether the text includes a request for recommendation using a machine-learning model based on comparison of the unstructured text to the one or more predetermined words associated with requests for recommendation.
-
Citations
35 Claims
-
1. A method comprising, by a computing device of a social-networking system:
-
by the computing device, receiving, from a client system of a user of the social-networking system, instructions for generating a post in a news feed associated with the user on the social-networking system, wherein the post comprises unstructured text from the user; by the computing device, determining whether the unstructured text of the post comprises a request for a recommendation from other users of the social-networking system; by the computing device, parsing the unstructured text to identify one or more first entities and one or more first entity types referenced in the unstructured text; by the computing device, generating a structured query based upon the one or more first entities and the one or more first entity types referenced in the unstructured text of the post; by the computing device, generating a plurality of search results corresponding to a plurality of second entities matching the structured query, wherein each of the second entities has an entity type matching at least one of the first entity types; and by the computing device, sending, to the client system of the user responsive to receiving the instructions for generating the post, instructions for presenting one or more of the plurality of search results, wherein the search results are presented in association with the post by the user in the news feed associated with the user.
-
-
2. The method of claim 1, wherein the post generated in the news feed associated with the user is viewable by a plurality of other users on the social-networking system.
-
3. The method of claim 1, wherein determining whether the unstructured text comprises a request for a recommendation comprises determining whether the unstructured text matches one or more predetermined words associated with requests for recommendation.
-
4. The method of claim 3, wherein determining whether the unstructured text comprises a request for a recommendation comprises:
generating a score based on the unstructured text using a machine-learning model based on comparison of the unstructured text to the one or more predetermined words associated with requests for recommendation, wherein the unstructured text comprises a request for a recommendation when the score is greater than a threshold value.
-
5. The method of claim 1, wherein the plurality of second entities correspond to one or more concept nodes in the social graph.
-
6. The method of claim 5, wherein the plurality of second entities correspond to one or more places represented by the one or more concept nodes.
-
7. The method of claim 1, wherein identifying the one or more first entities and the one or more first entity types referenced in the unstructured text comprises using a machine-learning topic tagger model to identify words or phrases in the unstructured text that correspond to entities and types of entities in the social graph.
-
8. The method of claim 1, wherein generating the structured query comprises:
-
combining the one or more first entities and the one or more first entity types to form a first query; submitting the first query to a structured-query generator configured to generate the structured query based on the one or more first entities and the one or more first entity types; and receiving one or more results from the structured-query generator, wherein the structured query is based upon the one or more results.
-
-
9. The method of claim 8, further comprising identifying the plurality of second entities matching the structured query, wherein the identifying comprises:
-
submitting the structured query to a graph search engine configured to search the social graph for entities that match the structured query; receiving results from the graph search engine, wherein the plurality of second entities are based on the received results.
-
-
10. The method of claim 1, wherein generating the structured query comprises:
-
determining whether the one or more first entities comprise a category name and a city name; and when the one or more first entities comprise a category name and a city name, generating the structured query based on the category name and the city name, wherein the structured query comprises a first constraint that selects an entity having the category name and the city name.
-
-
11. The method of claim 1, further comprising:
-
by the computing device, identifying one or more authors of one or more reviews of one or more reviewed entities; by the computing device, generating one or more scores for the one or more authors based on relevance of the respective one or more reviewed entities to the structured query; and by the computing device, presenting one or more names of each of the one or more authors having a score greater than a threshold value, wherein the presenting is in a social context of the user.
-
-
12. The method of claim 11, wherein identifying one or more authors of one or more reviews of one or more reviewed entities comprises identifying, in the social graph, one or more user nodes based on a query for users who have reviewed the one or more entities in the social graph, wherein the one or more reviewed entities are identified based on the structured query.
-
13. The method of claim 11, wherein the one or more reviewed entities are selected from the one or more second entities.
-
14. The method of claim 11, further comprising:
by the computing device, presenting at least a portion of the one or more reviews in association with the one or more names of the one or more authors of the respective one or more reviews, wherein the presenting is in the social context of the user.
-
15. The method of claim 11, wherein the one or more authors comprise users of the social-networking system.
-
16. The method of claim 1, further comprising:
-
receiving one or more comments from one or more users; and presenting the one or more comments in association with the news feed.
-
-
17. The method of claim 1, wherein presenting the one or more of the plurality of search results comprises displaying the one or more of the plurality of search results to the user in a notification user interface in association with the unstructured query.
-
18. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
receive, from a client system of a user of the social-networking system, instructions for generating a post in a news feed associated with the user on the social-networking system, wherein the post comprises unstructured text from the user; determine whether the unstructured text of the post comprises a request for a recommendation from other users of the social-networking system; parse the unstructured text to identify one or more first entities and one or more first entity types referenced in the unstructured text; generate a structured query based upon the one or more first entities and the one or more first entity types referenced in the unstructured text of the post; generate a plurality of search results corresponding to a plurality of second entities matching the structured query, wherein each of the second entities has an entity type matching at least one of the first entity types; and send, to the client system of the user responsive to receiving the instructions for generating the post, instructions for presenting one or more of the plurality of search results, wherein the search results are presented in association with the post by the user in the news feed associated with the user.
-
-
19. A system comprising:
- one or more processors; and
a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to;receive, from a client system of a user of the social-networking system, instructions for generating a post in a news feed associated with the user on the social-networking system, wherein the post comprises unstructured text from the user; determine whether the unstructured text of the post comprises a request for a recommendation from other users of the social-networking system; parse the unstructured text to identify one or more first entities and one or more first entity types referenced in the unstructured text; generate a structured query based upon the one or more first entities and the one or more first entity types referenced in the unstructured text of the post; generate a plurality of search results corresponding to a plurality of second entities matching the structured query, wherein each of the second entities has an entity type matching at least one of the first entity types; and send, to the client system of the user responsive to receiving the instructions for generating the post, instructions for presenting one or more of the plurality of search results, wherein the search results are presented in association with the post by the user in the news feed associated with the user.
- one or more processors; and
-
20. The system of claim 19, wherein the post generated in the news feed associated with the user is viewable by a plurality of other users on the social-networking system.
-
21. The system of claim 19, wherein the instructions to determine whether the unstructured text comprises a request for a recommendation comprises instructions to determine whether the unstructured text matches one or more predetermined words associated with requests for recommendation.
-
22. The system of claim 21, wherein the instructions to determine whether the unstructured text comprises a request for a recommendation comprises instructions to:
generate a score based on the unstructured text using a machine-learning model based on comparison of the unstructured text to the one or more predetermined words associated with requests for recommendation, wherein the unstructured text comprises a request for a recommendation when the score is greater than a threshold value.
-
23. The system of claim 19, wherein the plurality of second entities correspond to one or more concept nodes in the social graph.
-
24. The system of claim 23, wherein the plurality of second entities correspond to one or more places represented by the one or more concept nodes.
-
25. The system of claim 19, wherein the instructions to identify the one or more first entities and the one or more first entity types referenced in the unstructured text comprises instructions to use a machine-learning topic tagger model to identify words or phrases in the unstructured text that correspond to entities and types of entities in the social graph.
-
26. The system of claim 19, wherein the instructions to generate the structured query comprises instructions to:
-
combine the one or more first entities and the one or more first entity types to form a first query; submit the first query to a structured-query generator configured to generate the structured query based on the one or more first entities and the one or more first entity types; and receive one or more results from the structured-query generator, wherein the structured query is based upon the one or more results.
-
-
27. The system of claim 26, wherein the processors are further operable when executing instructions to identify the plurality of second entities matching the structured query, wherein the identifying comprises:
-
submitting the structured query to a graph search engine configured to search the social graph for entities that match the structured query; receiving results from the graph search engine, wherein the plurality of second entities are based on the received results.
-
-
28. The system of claim 19, wherein the instructions to generate the structured query comprises instructions to:
-
determine whether the one or more first entities comprise a category name and a city name; and when the one or more first entities comprise a category name and a city name, generate the structured query based on the category name and the city name, wherein the structured query comprises a first constraint that selects an entity having the category name and the city name.
-
-
29. The system of claim 19, wherein the processors are further operable when executing instructions to:
-
identify one or more authors of one or more reviews of one or more reviewed entities; generate one or more scores for the one or more authors based on relevance of the respective one or more reviewed entities to the structured query; and present one or more names of each of the one or more authors having a score greater than a threshold value, wherein the presenting is in a social context of the user.
-
-
30. The system of claim 29, wherein the instructions to identify one or more authors of one or more reviews of one or more reviewed entities comprises instructions to identify, in the social graph, one or more user nodes based on a query for users who have reviewed the one or more entities in the social graph, wherein the one or more reviewed entities are identified based on the structured query.
-
31. The system of claim 29, wherein the one or more reviewed entities are selected from the one or more second entities.
-
32. The system of claim 29, wherein the processors are further operable when executing instructions to:
present at least a portion of the one or more reviews in association with the one or more names of the one or more authors of the respective one or more reviews, wherein the presenting is in the social context of the user.
-
33. The system of claim 29, wherein the one or more authors comprise users of the social-networking system.
-
34. The system of claim 19, wherein the processors are further operable when executing instructions to:
-
receive one or more comments from one or more users; and present the one or more comments in association with the news feed.
-
-
35. The system of claim 19, wherein the instructions for presenting the one or more of the plurality of search results comprises instructions for displaying the one or more of the plurality of search results to the user in a notification user interface in association with the unstructured query.
Specification