IP Library Granted Patent US 10,521,483
Granted Patent B2
US 10,521,483 · App. 15/592,968 · Granted Dec 31, 2019

Ranking test framework for search results on an online social network

Inventors: Sriram Sankar (Palo Alto, CA); Kihyuk Hong (Seoul, KR)
Assignee: Facebook, Inc.
G06F16/9535G06F16/24578G06Q30/02G06Q50/01H04L67/12H04L67/22
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 10,521,483
App. No.
15/592,968
Granted
Dec 31, 2019
Kind
B2
Abstract

In one embodiment, a method includes accessing a first set of scored results received from a client system of a first user, the first set of scored results including: one or more results, each having a rank with respect to the other results, generated by a first search algorithm, and one or more scores inputted by the first user corresponding to the results. The method includes calculating a discounted cumulative gain for each scored result based on the rank and score of the result. The method includes generating a second search algorithm based on the calculated gains and the first search algorithm, the second search algorithm including a modification of the first search algorithm to improve the ranking of results, and, if a quality metric of the second search algorithm is higher than a quality metric of the first, substituting the second search algorithm for the first.

Claims (75)

1. A method comprising, by a computing system:

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

one or more results generated by a first search algorithm of a search-engine system in response to a query from 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 system, 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;

generating, by the computing system, a second search algorithm based at least in part on the calculated discounted cumulative gains and the first search algorithm, wherein the second search algorithm comprises a modification of the first search algorithm to improve a ranking of the results; and

if a quality metric of the second search algorithm is higher than a quality metric of the first search algorithm, then substituting the second search algorithm at the search-engine system for the first search algorithm;

else, retaining the first search algorithm at the search-engine system.

2. The method of claim 1 , wherein the quality metric is calculated based on a normalized discounted cumulative gain.

3. The method of claim 1 , wherein the one or more results from the first set of scored results are personalized for the first user based at least in part on user information associated with the first user.

4. The method of claim 1 , wherein the one or more results from the first set of scored results are personalized for the first user based at least in part on search or browsing history associated with the first user.

5. The method of claim 1 , wherein the one or more results from the first set of scored results are personalized for the first user based at least in part on social-graph information associated with the first user.

6. The method of claim 1 , wherein the one or more results from the first set of scored results correspond to one or more content objects, respectively.

7. The method of claim 1 , wherein generating the second search algorithm is further based on discounted cumulative gains calculated based on scores inputted by one or more second users.

8. The method of claim 1 , wherein the modification of the first search algorithm to improve the ranking of the results is determined using machine learning feature weights.

9. 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.

10. The method of claim 9 , wherein the one or more results from the first set of scored results correspond to one or more second nodes, respectively.

11. The method of claim 9 , wherein the query from the first user comprises references to one or more second nodes and one or more edges.

12. The method of claim 11 , wherein, for each result in the first set of scored results, a 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.

13. 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 a content object, wherein the result is generated by the first search algorithm in response to the query; and

a score corresponding to the result.

14. 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.

15. The method of claim 1 , further comprising:

receiving the query from the first user;

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

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

16. 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 .

17. A system comprising: one or more processors of a computing system; 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 system, a first set of scored results received from a client system of a first user, the first set of scored results comprising:

one or more results generated by a first search algorithm of a search-engine system in response to a query from 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 system, 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;

generate, by the computing system, a second search algorithm based at least in part on the calculated discounted cumulative gains and the first search algorithm, wherein the second search algorithm comprises a modification of the first search algorithm to improve a ranking of the results; and

if a quality metric of the second search algorithm is higher than a quality metric of the first search algorithm, then substitute the second search algorithm at the search-engine system for the first search algorithm;

else, retain the first search algorithm at the search-engine system.

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

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

one or more results generated by a first search algorithm of a search-engine system in response to a query from 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 system, 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;

generate, by the computing system, a second search algorithm based at least in part on the calculated discounted cumulative gains and the first search algorithm, wherein the second search algorithm comprises a modification of the first search algorithm to improve a ranking of the results; and

if a quality metric of the second search algorithm is higher than a quality metric of the first search algorithm, then substitute the second search algorithm at the search-engine system for the first search algorithm;

else, retain the first search algorithm at the search-engine system.

Assignments (1)
CHANGE OF NAME Recorded Jan 20, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058788/0802 →
Continuity (3)
Continuation 15174909 · Jun 6, 2016
Continuation 13721717 · Dec 20, 2012
Related Publication 20170249390A1 · Aug 31, 2017