Generating recommended search queries on online social networks
First Claim
1. A method comprising, by a computing device:
- accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a relationship between the two nodes and establishing a single degree of separation between them, the nodes comprising;
a first node corresponding to a first user associated with an 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;
generating a plurality of cards, each card comprising a suggested query referencing a query-domain associated with the online social network and one or more query-filters, wherein each query-filter references one or more nodes of the plurality of nodes or one or more edges of the plurality of edges of the social graph, each card further comprising one or more search results corresponding to the suggested query, each search result referencing a second node of the plurality of second nodes matching the suggested query of the card;
calculating a user-engagement score for each card based on one or more user-engagement factors, the user-engagement score for each card measuring a probability the first user will engage with the card; and
sending each card having a user-engagement score greater than a user-engagement threshold score to the first user for display on a page currently accessed by the first user.
3 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes accessing a social graph including a number of nodes and a number of edges connecting the nodes. Each of the edges between two of the nodes represent a single degree of separation between them. The nodes include a first node corresponding to a first user associated with an online social network and a number of second nodes that each correspond to a concept or a second user associated with the online social network. The method also includes generating a number of cards. Each card includes a suggested query referencing a query-domain associated with the online social network and zero or more query-filters for the query-domain. Each query-filter references one or more nodes of the number of nodes or one or more edges of the number of edges.
284 Citations
20 Claims
-
1. A method comprising, by a computing device:
-
accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a relationship between the two nodes and establishing a single degree of separation between them, the nodes comprising; a first node corresponding to a first user associated with an 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; generating a plurality of cards, each card comprising a suggested query referencing a query-domain associated with the online social network and one or more query-filters, wherein each query-filter references one or more nodes of the plurality of nodes or one or more edges of the plurality of edges of the social graph, each card further comprising one or more search results corresponding to the suggested query, each search result referencing a second node of the plurality of second nodes matching the suggested query of the card; calculating a user-engagement score for each card based on one or more user-engagement factors, the user-engagement score for each card measuring a probability the first user will engage with the card; and sending each card having a user-engagement score greater than a user-engagement threshold score to the first user for display on a page currently accessed by the first user.
-
-
2. The method of claim 1, further comprising:
-
receiving an input from the first user applying a first query-filter to a particular card; and modifying the query-filters on one or more other cards to apply the first query-filter to the one or more other cards.
-
-
3. The method of claim 1, further comprising displaying a subsequent card to the first user in response to detecting an input from the first user corresponding to a swipe of a previously displayed card, the subsequent card having a same query-domain and one or more different query-filters as the previously displayed card.
-
4. The method of claim 1, wherein the sent cards are displayed as one or more card clusters.
-
5. The method of claim 4, wherein the cards of each card cluster are ordered based on a ranking associated with the cards.
-
6. The method of claim 1, wherein each card further comprises a preview of one or more search results corresponding to the suggested query corresponding to the card.
-
7. The method of claim 1, wherein each suggested query is a structured query comprising references to one or more nodes of the plurality of nodes and one or more edges of the plurality of edges.
-
8. The method of claim 1, wherein at least one or more second nodes referenced by the structured query correspond to a location and at least one of the edges referenced by the structured query corresponds to a check-in at the location.
-
9. The method of claim 1, wherein at least one or more second nodes referenced by the structured query correspond to a content object and at least one of the edges referenced by the structured query corresponds to a like of the content object.
-
10. The method of claim 1, wherein the user-engagement factors comprise one or more of demographic information, current information, or social-graph information of the first user.
-
11. The method of claim 1, wherein the user-engagement factors comprise social-graph information of another user in relation to one or more of the second nodes, the second user having at least a subset of demographic information in common with demographic information of the first user.
-
12. The method of claim 1, further comprising determining whether the first user is a tourist with respect to a current location of the first user based on a comparison of the current location with demographic information of the first user.
-
13. The method of claim 1, wherein the user-engagement factors comprise social-graph affinity of the first user with respect to one or more second nodes referenced by the structured query.
-
14. The method of claim 1, wherein the suggested query further references one or more query-filters referencing one or more object attributes, respectively.
-
15. The method of claim 1, wherein at least one of the generated cards comprises a suggested query referencing a query-filter selected based on the search history of the first user.
-
16. The method of claim 1, wherein the page is a user interface of a native application associated with the online social network.
-
17. The method of claim 1, wherein the page is a webpage of a social-networking system accessed by a browser client.
-
18. The method of claim 1, wherein each card comprises a user interface with one or more interactive elements operable to apply or modify one or more query-filters to the suggested query of the card.
-
19. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
access a social graph comprising a plurality of nodes and a 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 a first user associated with an 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; generate a plurality of cards, each card comprising a suggested query referencing a query-domain associated with the online social network and one or more query-filters, wherein each query-filter references one or more nodes of the plurality of nodes or one or more edges of the plurality of edges of the social graph, each card further comprising one or more search results corresponding to the suggested query, each search result referencing a second node of the plurality of second nodes matching the suggested query of the card; calculate a user-engagement score for each card based on one or more user-engagement factors, the user-engagement score for each card measuring a probability the first user will engage with the card; and send each card having a user-engagement score greater than a user-engagement threshold score to the first user for display on a page currently accessed by the first user.
-
-
20. A system comprising:
- one or more processors; and
a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to;access a social graph comprising a plurality of nodes and a 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 a first user associated with an 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; generate a plurality of cards, each card comprising a suggested query referencing a query-domain associated with the online social network and one or more query-filters, wherein each query-filter references one or more nodes of the plurality of nodes or one or more edges of the plurality of edges of the social graph, each card further comprising one or more search results corresponding to the suggested query, each search result referencing a second node of the plurality of second nodes matching the suggested query of the card; calculate a user-engagement score for each card based on one or more user-engagement factors, the user-engagement score for each card measuring a probability the first user will engage with the card; and send each card having a user-engagement score greater than a user-engagement threshold score to the first user for display on a page currently accessed by the first user.
- one or more processors; and
Specification