IP Library Granted Patent US 9,684,695
Granted Patent B2
US 9,684,695 · App. 15/174,909 · Granted Jun 20, 2017

Ranking test framework for search results on an online social network

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,684,695
App. No.
15/174,909
Granted
Jun 20, 2017
Kind
B2
Abstract

In one embodiment, a method includes accessing a first set of scored results from a first user, the scored results comprising one or more results generated by a first search algorithm in response to a query from the first user, wherein the one or more results correspond to one or more content objects, respectively, the one or more results being personalized for the first user; and one or more scores inputted by the first user corresponding to the one or more results, respectively, calculating a discounted cumulative gain for each result in the first set of scored results based on the score inputted by the first user corresponding to the result, and modifying the first search algorithm based on the calculated gain for each result, wherein the first search algorithm is modified to improve the ranking of results personalized for the first user.

Claims (159)

1. A method comprising, by a computing device:

accessing, by the computing device, a first set of scored results received from a client device of a first user, the first set of scored results comprising:

one or more results generated by a first search algorithm in response to a query from the first user, wherein the one or more results correspond to one or more content objects, respectively, the one or more results being personalized for the first user based at least in part on user information associated with the first user, each result having a rank with respect to the other results; and

one or more scores inputted by the first user corresponding to the one or more results, respectively;

calculating, by the computing device, a discounted cumulative gain for each result in the first set of scored results based on the rank of the result and the score inputted by the first user corresponding to the result; and

modifying, by the computing device, the first search algorithm based on the calculated gain for each result, wherein the first search algorithm is modified to improve a ranking of results personalized for the first user.

2. 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 first node corresponding to the first user; and

a plurality of second nodes corresponding to a plurality of content objects, respectively.

3. The method of claim 2 , wherein the one or more results correspond to one or more second nodes, respectively.

4. The method of claim 2 , wherein each query comprises references to one or more second nodes and one or more edges.

5. The method of claim 4 , wherein, for each result in the first set of scored results, the second node corresponding to the result is connected to at least one of the second nodes referenced in the query by at least one of the edges referenced in the query.

6. The method of claim 1 , wherein the first set of scored results comprises one or more tuples, each tuple comprising:

an identifier corresponding to the first user;

the query from the first user;

a result corresponding to one of the content objects, wherein the result is generated by the first search algorithm in response to the query; and

a score corresponding to the result.

7. The method of claim 1 , further comprising:

sending a query template to the first user, wherein the query template comprises one or more fields where the first user can input a reference to a content object; and

receiving the query from the first user, wherein the query comprises references to one or more content objects inputted by the first user.

8. The method of claim 1 , further comprising:

receiving the query from the first user; and

identifying one or more content objects corresponding to the query; and

generating by the first search algorithm the one or more result, each result corresponding to one of the identified content objects.

9. The method of claim 1 , wherein calculating the discounted cumulative gain (DCG) for each result in the first set of scored results comprises:

DCG

p

=

s

1

+

i

=

2

p

s

i

log

2

(

i

)

,

and wherein

DCG p =the discounted cumulative gain of a result having rank p, and

s i is the score corresponding to the result r i .

10. A system comprising: one or more processors of a computing device; and a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:

access, by the computing device, a first set of scored results received from a client device of a first user, the first set of scored results comprising:

one or more results generated by a first search algorithm in response to a query from the first user, wherein the one or more results correspond to one or more content objects, respectively, the one or more results being personalized for the first user based at least in part on user information associated with the first user, each result having a rank with respect to the other results; and

one or more scores inputted by the first user corresponding to the one or more results, respectively;

calculate, by the computing device, a discounted cumulative gain for each result in the first set of scored results based on the rank of the result and the score inputted by the first user corresponding to the result; and

modify, by the computing device, the first search algorithm based on the calculated gain for each result, wherein the first search algorithm is modified to improve a ranking of results personalized for the first user.

11. The system of claim 10 , wherein the processors are further 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 the first user; and

a plurality of second nodes corresponding to a plurality of content objects, respectively.

12. The system of claim 11 , wherein the one or more results correspond to one or more second nodes, respectively.

13. The system of claim 11 , wherein each query comprises references to one or more second nodes and one or more edges.

14. The system of claim 13 , wherein, for each result in the first set of scored results, the second node corresponding to the result is connected to at least one of the second nodes referenced in the query by at least one of the edges referenced in the query.

15. The system of claim 10 , wherein the first set of scores results comprises one or more tuples, each tuple comprising:

an identifier corresponding to the first user;

the query from the first user;

a result corresponding to one of the content objects, wherein the result is generated by the first search algorithm in response to the query; and

a score corresponding to the result.

16. One or more computer-readable non-transitory storage media embodying software that is operable when executed by a computing device to:

access, by the computing device, a first set of scored results received from a client device of a first user, the first set of scored results comprising:

one or more results generated by a first search algorithm in response to a query from the first user, wherein the one or more results correspond to one or more content objects, respectively, the one or more results being personalized for the first user based at least in part on user information associated with the first user, each result having a rank with respect to the other results; and

one or more scores inputted by the first user corresponding to the one or more results, respectively;

calculate, by the computing device, a discounted cumulative gain for each result in the first set of scored results based on the rank of the result and the score inputted by the first user corresponding to the result; and

modify, by the computing device, the first search algorithm based on the calculated gain for each result, wherein the first search algorithm is modified to improve a ranking of results personalized for the first user.

17. The method of claim 1 , wherein the one or more results are further personalized based on search or browsing history associated with the first user.

18. The method of claim 1 , wherein the one or more results are further personalized based on social-graph information associated with the first user.

19. The system of claim 10 , wherein the processors are further operable when executing the instructions to:

send a query template to the first user, wherein the query template comprises one or more fields where the first user can input a reference to a content object; and

receive the query from the first user, wherein the query comprises references to one or more content objects inputted by the first user.

20. The system of claim 10 , wherein the processors are further operable when executing the instructions to:

receive the query from the first user; and

identify one or more content objects corresponding to the query; and

generate by the first search algorithm the one or more result, each result corresponding to one of the identified content objects.

21. The system of claim 10 , wherein the discounted cumulative gain (DCG) is calculated for each result in the first set of scored results comprising:

DCG

p

=

s

1

+

i

=

2

p

s

i

log

2

(

i

)

,

and wherein

DCG p =the discounted cumulative gain of a result having rank p, and

s i is the score corresponding to the result r i .

22. The system of claim 10 , wherein the one or more results are further personalized based on search or browsing history associated with the first user.

23. The system of claim 10 , wherein the one or more results are further personalized based on social-graph information associated with the first user.

24. The media of claim 16 , wherein the software is further operable when executed by a computing device 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 the first user; and

a plurality of second nodes corresponding to a plurality of content objects, respectively.

25. The media of claim 24 , wherein the one or more results correspond to one or more second nodes, respectively.

26. The media of claim 24 , wherein each query comprises references to one or more second nodes and one or more edges.

27. The media of claim 26 , wherein, for each result in the first set of scored results, the second node corresponding to the result is connected to at least one of the second nodes referenced in the query by at least one of the edges referenced in the query.

28. The media of claim 16 , wherein the first set of scores results comprises one or more tuples, each tuple comprising:

an identifier corresponding to the first user;

the query from the first user;

a result corresponding to one of the content objects, wherein the result is generated by the first search algorithm in response to the query; and

a score corresponding to the result.

29. The media of claim 16 , wherein the processors are further operable when executing the instructions to:

send a query template to the first user, wherein the query template comprises one or more fields where the first user can input a reference to a content object; and

receive the query from the first user, wherein the query comprises references to one or more content objects inputted by the first user.

30. The media of claim 16 , wherein the processors are further operable when executing the instructions to:

receive the query from the first user; and

identify one or more content objects corresponding to the query; and

generate by the first search algorithm the one or more result, each result corresponding to one of the identified content objects.

31. The media of claim 16 , wherein the discounted cumulative gain (DCG) is calculated for each result in the first set of scored results comprising:

DCG

p

=

s

1

+

i

=

2

p

s

i

log

2

(

i

)

,

and wherein

DCG p =the discounted cumulative gain of a result having rank p, and

s i is the score corresponding to the result r i .

32. The media of claim 16 , wherein the one or more results are further personalized based on search or browsing history associated with the first user.

33. The media of claim 16 , wherein the one or more results are further personalized based on social-graph information associated with the first user.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2016
From: SANKAR, SRIRAM; HONG, KIHYUK
To: FACEBOOK, INC.
Reel/Frame 038822/0726 →