Static Rankings for Search Queries on Online Social Networks
First Claim
1. A method comprising, by one or more computing devices:
- accessing a first set of queries of an online social network received from one or more users of the online social network;
retrieving, for each query of the first set of queries, a first number of objects that match at least a portion of the query from one or more data stores, each data store storing one or more objects associated with the online social network, wherein each object is associated with a pre-determined static-score based on a static-scoring algorithm, and wherein retrieving the first number of objects is based on the static-scores of the objects;
calculating, for each query, a final-score for each retrieved object based on a final-scoring algorithm; and
determining one or more revised static-scores for one or more of the retrieved objects based on a comparison of the final-scores and the static-scores of the retrieved objects.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes accessing a set of queries of an online social network received from one or more users of the online social network, retrieving for each query a number of objects that match at least a portion of the query from one or more data stores associated with the online social network, where each object is associated with a pre-determined static-score based on a static-scoring algorithm, calculating a final-score for each retrieved object based on a final-scoring algorithm, and determining one or more revised static-scores for one or more of the retrieved objects based on a comparison of the final-scores and the static-scores of the retrieved objects.
49 Citations
15 Claims
-
1. A method comprising, by one or more computing devices:
-
accessing a first set of queries of an online social network received from one or more users of the online social network; retrieving, for each query of the first set of queries, a first number of objects that match at least a portion of the query from one or more data stores, each data store storing one or more objects associated with the online social network, wherein each object is associated with a pre-determined static-score based on a static-scoring algorithm, and wherein retrieving the first number of objects is based on the static-scores of the objects; calculating, for each query, a final-score for each retrieved object based on a final-scoring algorithm; and determining one or more revised static-scores for one or more of the retrieved objects based on a comparison of the final-scores and the static-scores of the retrieved objects.
-
-
2. The method of claim 1, further comprising:
revising the static-scoring algorithm based on the revised static-scores, wherein the static-scoring algorithm is revised to calculate pre-determined static-scores for objects based on one or more of the revised static-scores of one or more of the retrieved objects, respectively.
-
3. The method of claim 1, wherein the pre-determined static-score of each object is a pre-determined ranking of the object for a particular type of query.
-
4. The method of claim 1, wherein calculating the final-score for each retrieved object based on the final-scoring algorithm comprises ranking all of the retrieved objects.
-
5. The method of claim 1, wherein determining the one or more revised static-scores for one or more of the retrieved objects comprises:
-
determining a difference between the pre-determined static-score for each object and the calculated final-score for each object; and revising one or more of the static-scores of one or more of the objects based on the determined differences.
-
-
6. The method of claim 1, further comprising:
-
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 single degree of separation between them, the nodes comprising; a plurality of user nodes corresponding to a plurality of users of the online social network, respectively; and a plurality of concept nodes corresponding to a plurality of concepts associated with the online social network, respectively; wherein each query in the first set of queries corresponds to a particular user node, and each retrieved object corresponds to a user node or concept node of the plurality of nodes.
-
-
7. The method of claim 6, wherein each query of the first set of queries is a structured query comprising references to one or more selected nodes from the plurality of nodes and one or more selected edges from the plurality of edges.
-
8. The method of claim 1, wherein each query of the first set of queries is an unstructured text query comprising one or more n-grams.
-
9. The method of claim 1, further comprising:
parsing each query in the first set of queries using a first parsing algorithm to generate a query command based on each query, each query command comprising one or more query constraints, each query constraint being for a specified number of objects of a specified object-type as specified by the first parsing algorithm.
-
10. The method of claim 9, wherein retrieving the first number of objects that match at least a portion of the query from one or more data scores comprises, for each query:
-
accessing one or more data stores storing objects of the specified object-types of the query constraints of the query command corresponding to the query; and identifying one or more objects from the accessed data stores that match at least a portion of the query constraints of the query command corresponding to the query.
-
-
11. The method of claim 9, wherein the specified object-type is selected from a group consisting of:
- a user, a photo, a post, a webpage, an application, a location, or a user group.
-
12. The method of claim 1, wherein the first set of queries comprises a plurality of archived queries from a plurality of users of the online social network.
-
13. The method of claim 1, wherein each data store is selected from a group consisting of:
- a users data store, a photos data store, a posts data store, a webpages data store, an applications data store, a locations data store, or a user-groups data store.
-
14. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
access a first set of queries of an online social network received from one or more users of the online social network; retrieve, for each query of the first set of queries, a first number of objects that match at least a portion of the query from one or more data stores, each data store storing one or more objects associated with the online social network, wherein each object is associated with a pre-determined static-score based on a static-scoring algorithm, and wherein retrieving the first number of objects is based on the static-scores of the objects; calculate, for each query, a final-score for each retrieved object based on a final-scoring algorithm; and determine one or more revised static-scores for one or more of the retrieved objects based on a comparison of the final-scores and the static-scores of the retrieved objects.
-
-
15. 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;access a first set of queries of an online social network received from one or more users of the online social network; retrieve, for each query of the first set of queries, a first number of objects that match at least a portion of the query from one or more data stores, each data store storing one or more objects associated with the online social network, wherein each object is associated with a pre-determined static-score based on a static-scoring algorithm, and wherein retrieving the first number of objects is based on the static-scores of the objects; calculate, for each query, a final-score for each retrieved object based on a final-scoring algorithm; and determine one or more revised static-scores for one or more of the retrieved objects based on a comparison of the final-scores and the static-scores of the retrieved objects.
- one or more processors; and
Specification