Context-based object retrieval in a social networking system
First Claim
Patent Images
1. A computer-implemented method comprising:
- providing, to a client device, a graphical user interface simultaneously including a first selector and a second selector, the first selector being a graphical component of the graphical user interface and being associated with a first object type based on object types of objects from a plurality of prior selections made by a plurality of different users within result sets of the first selector, the second selector being a graphical component of the graphical user interface and being associated with a second object type different from the first object type based on object types of objects from a plurality of prior selections made by a plurality of different users within result sets of the second selector;
receiving a query that was entered into the first selector on the client device by a user of an online system, the first object type having been associated with the first selector before the query was received;
forming a result set by identifying objects matching the query, one or more of the objects being associated with an object type;
modifying the result set based at least in part on;
comparisons of the first object type associated with the first selector with the object types of the objects in the result set, andconnections of the user on the online system; and
providing a plurality of the objects of the result set to the client device for display in visual association with the first selector in the graphical user interface, wherein the provided plurality of objects comprise at least two different object types.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments improve the ability of users of a social networking system to search for information that is likely to be relevant to them by learning and/or applying a search context associated with selector components used to search for objects of the social networking system. The search context is specific to the use of an individual selector and thus need not be as general as the context of an entire page or set of pages in which selectors can be embedded. The social networking system may learn the context of a selector by monitoring user selections from prior search results performed using the selector.
56 Citations
21 Claims
-
1. A computer-implemented method comprising:
-
providing, to a client device, a graphical user interface simultaneously including a first selector and a second selector, the first selector being a graphical component of the graphical user interface and being associated with a first object type based on object types of objects from a plurality of prior selections made by a plurality of different users within result sets of the first selector, the second selector being a graphical component of the graphical user interface and being associated with a second object type different from the first object type based on object types of objects from a plurality of prior selections made by a plurality of different users within result sets of the second selector; receiving a query that was entered into the first selector on the client device by a user of an online system, the first object type having been associated with the first selector before the query was received; forming a result set by identifying objects matching the query, one or more of the objects being associated with an object type; modifying the result set based at least in part on; comparisons of the first object type associated with the first selector with the object types of the objects in the result set, and connections of the user on the online system; and providing a plurality of the objects of the result set to the client device for display in visual association with the first selector in the graphical user interface, wherein the provided plurality of objects comprise at least two different object types.
-
-
2. The computer-implemented method of claim 1, further comprising:
-
providing, to the client device, a second graphical user interface embedded in a second web page associated with a different context than the graphical user interface, wherein the second graphical user interface includes a second selector, the second selector being a graphical component of the second graphical user interface and being associated with a second object type different from the object type based on object types of objects from a plurality of prior selections made by a plurality of different users within result sets of the second selector, wherein the result set of the second selector is based on the second object type.
-
-
3. A computer-implemented method comprising:
-
providing, to a client device, a graphical user interface including a selector, the selector associated with an object type based on object types of objects from a plurality of prior user selections made by a plurality of different users within result sets of the selector; receiving a query that was entered into the selector on the client device by a user of an online system, the object type associated with the selector before the query is received; forming a result set by identifying objects matching the query, one or more of the objects associated with an object type; modifying the result set based at least in part on; comparisons of the object type associated with the selector with the object types of the objects in the result set, and connections of the user on the online system; and providing one or more objects of the result set to the client device for display in visual association with the selector in the graphical user interface.
-
-
4. The computer-implemented method of claim 3, further comprising:
-
receiving a plurality of selections of objects from a plurality of users using the selector; determining one or more types associated with the selected objects; and determining that the object type is associated with the selector based on the determined types associated with the selected objects.
-
-
5. The computer-implemented method of claim 4, wherein determining a type associated with the selector comprises:
-
identifying a type most frequently associated with the selected objects; and adding the most frequent type as the object type associated with the selector.
-
-
6. The computer-implemented method of claim 3, wherein modifying the result set comprises removing, from the result set, objects with types not matching the object type of the selector.
-
7. The computer-implemented method of claim 3, wherein modifying the result set comprises ranking the objects in the result set based at least in part on whether the object type associated with the objects match the object type associated with the selector.
-
8. The computer-implemented method of claim 7, wherein the object type associated with the selector and the types of the objects matching the query are nodes of a type graph, the method further comprising:
-
determining distances in the type graph between the object type associated with the selector and the types of the objects matching the query; and determining the ranking of the objects based on the determined distances.
-
-
9. The computer-implemented method of claim 8, wherein modifying the result set comprises ranking a first one of the objects matching the query more highly than a second one of the objects matching the query, responsive to the first one of the objects having a type matching the object type associated with the selector and the second one of the objects not having a type matching the object type of the selector.
-
10. The computer-implemented method of claim 3, wherein the user interface is for a page, and the user interface includes a plurality of selectors, at least two selectors of the plurality of selectors associated with different object types.
-
11. The computer-implemented method of claim 3, further comprising receiving a selection of one of the objects of the result set from the user.
-
12. The computer-implemented method of claim 3, wherein modifying the result set based at least in part on connections of the user on the online system is based at least in part on a connection between the user and another user.
-
13. The computer-implemented method of claim 3, wherein modifying the result set based at least in part on connections of the user on the online system is based at least in part on a connection between the user and a page on the online system.
-
14. The computer-implemented method of claim 3, wherein modifying the result set based at least in part on connections of the user on the online system is based at least in part on a connection between the user and a media item on the online system.
-
15. The computer-implemented method of claim 3, wherein modifying the result set based at least in part on connections of the user on the online system is based at least in part on a connection between the user and an application hosted on the online system.
-
16. The computer-implemented method of claim 3, wherein modifying the result set based at least in part on connections of the user on the online system is based at least in part on a connection between the user and a group defined by the online system.
-
17. The computer-implemented method of claim 3, wherein the user interface that includes the selector is a web page of a third party site external to the online system.
-
18. A non-transitory computer-readable storage medium storing executable computer program instructions comprising:
-
instructions for providing, to a client device, a graphical user interface including a selector, the selector associated with an object type based on object types of objects from a plurality of prior user selections made by a plurality of different users within result sets of the selector; instructions for receiving a query that was entered into the selector on the client device, the object type associated with the selector before the query is received; instructions for forming a result set by identifying objects matching the query, one or more of the objects associated with an object type; instructions for modifying the result set based at least in part on comparisons of the object type associated with the selector with the object types of the objects in the result set; and instructions for providing one or more objects of the result set to the client device for display in visual association with the selector in the graphical user interface.
-
-
19. The non-transitory computer-readable storage medium of claim 18, further comprising:
-
instructions for receiving a plurality of selections of objects from a plurality of users using the selector; instructions for determining one or more types associated with the selected objects; and instructions for determining a type associated with the selector based on the types associated with the selected objects.
-
-
20. The non-transitory computer-readable storage medium of claim 18, wherein the user interface is for a page, and the user interface includes a plurality of selectors, at least two selectors of the plurality of selectors associated with different object types.
-
21. A non-transitory computer-readable storage medium storing executable instructions, the instructions when executed by a computer processor performing actions comprising:
-
providing, to a client device, a graphical user interface simultaneously including a first selector and a second selector, the first selector being a graphical component of the graphical user interface and being associated with a first object type based on object types of objects from a plurality of prior selections made by a plurality of different users within result sets of the first selector, the second selector being a graphical component of the graphical user interface and being associated with a second object type different from the first object type based on object types of objects from a plurality of prior selections made by a plurality of different users within result sets of the second selector; receiving a query that was entered into the first selector on the client device by a user of an online system, the first object type having been associated with the first selector before the query was received; forming a result set by identifying objects matching the query, one or more of the objects being associated with an object type; modifying the result set based at least in part on; comparisons of the first object type associated with the first selector with the object types of the objects in the result set, and connections of the user on the online system; and providing a plurality of the objects of the result set to the client device for display in visual association with the first selector in the graphical user interface, wherein the provided plurality of objects comprise at least two different object types.
-
Specification