IP Library Granted Patent US 10,120,838
Granted Patent B2
US 10,120,838 · App. 13/951,441 · Granted Nov 6, 2018

Systems and methods for weighted sampling

Inventor: Jeffrey Pasternack (Atherton, CA)
Assignee: Facebook, Inc.
G06F17/18G06F17/3089G06F17/30864G06Q50/01
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,120,838
App. No.
13/951,441
Granted
Nov 6, 2018
Kind
B2
Abstract

Techniques provided herein allow for a plurality of weighted samplings without replacement to be performed in O(n) time. According to some embodiments, the weighted sampling without replacement may be performed on a data set X of data elements {x 1 , x 2 , x 3 , . . . , x n }, where each data element x i of the data set X has an associated weight w i . The data set X may comprise data generated by a social networking system. Each data element x i in the data set X may be assigned with a random score s i based on the weight w i associated with the data element x i . The random score s i can be used to perform weighted sampling without replacement.

Claims (36)

1. A computer system comprising:

at least one processor; and

a memory storing instructions configured to instruct the at least one processor to perform:

identifying a data set X of n unannotated web pages from which to generate a sample set of m unannotated web pages, wherein n≥m, each unannotated web page x i of the data set X is associated with a URL posted to a posting-based newsfeed of a social networking system by one or more users of the social networking system, each unannotated web page x i of the data set X has a weight w i associated with the unannotated web page x i , the weight w i of each unannotated web page x i is indicative of an importance of the unannotated web page x i , and the data set X comprises data generated by the social networking system;

assigning each unannotated web page in the data set X with a random score s i based on the weight w i associated with the unannotated web page x i , wherein the random score s i is generated according to the following formula: s i =r 1/wi , where r is a [0,1] real value drawn uniformly at random;

identifying the m unannotated web pages in the data set X, wherein the m unannotated web pages have assigned scores that are higher than scores assigned to remaining unannotated web pages of the data set X;

automatically identifying a set of annotations for the m unannotated web pages based on a scraper process, each unannotated web page of the m unannotated web pages being associated with at least one annotation of the set of annotations; and

providing the m unannotated web pages and the set of annotations for presentation in a web page panel for review by an operator.

2. The computer system of claim 1 , wherein the instructions are configured to instruct the at least one processor to further perform: generating random scores s i .

3. The computer system of claim 2 , wherein r is drawn with a random number generator.

4. The computer system of claim 1 , wherein the identifying the m unannotated web pages comprises:

using a Median of Medians algorithm to identify an mth highest score ŝ; and

identifying a particular unannotated web page of the unannotated web pages x i in the data set X having a particular score s i where s i ≥ŝ.

5. The computer system of claim 1 , wherein the identifying the m unannotated web pages comprises performing a structured query language (SQL) query.

6. The computer system of claim 5 , wherein the SQL query comprises a SELECT command configured to order data rows using scores assigned to the unannotated web pages of the set X.

7. The computer system of claim 6 , wherein the SELECT command is further configured to limit the data rows to m rows.

8. The computer system of claim 1 , wherein a probability of drawing the unannotated web page x i from the data set X is based on the associated weight w i .

9. The computer system of claim 1 , wherein the identifying the data set X of n unannotated web pages comprises selecting the data set X.

10. The computer system of claim 1 , wherein the identifying the data set X of n unannotated web pages comprises determining a set W including some or all of the weights associated with the data set X.

11. The computer system of claim 1 , wherein the instructions are configured to instruct the at least one processor to further perform: determining a set W including some or all of the weights associated with the data set X.

12. The computer system of claim 1 , wherein the data generated by the social networking system comprises data used for machine learning.

13. The computer system of claim 1 , wherein the data generated by the social networking system comprises user behavior information.

14. The computer system of claim 1 , wherein the weight w i of each unannotated web page is based on a number of impressions of each unannotated web page on the social networking system.

15. The computer system of claim 1 , wherein the weight w i of each unannotated web page is based on a number of times each unannotated web page has been shared on the social networking system.

16. A non-transitory computer-storage medium storing computer-executable instructions that, when executed, cause a computer system to perform a computer-implemented method comprising:

identifying a data set X of n unannotated web pages from which to generate a sample set of m unannotated web pages, wherein n≥m, each unannotated web page x i of the data set X is associated with a URL posted to a posting-based newsfeed of a social networking system by one or more users of the social networking system, each unannotated web page x i of the data set X has a weight w i associated with the unannotated web page x i , the weight w i of each unannotated web page x i is indicative of an importance of the unannotated web page x i , and the data set X comprises data generated by the social networking system;

assigning each unannotated web page x i in the data set X with a random score s i based on the weight w i associated with the unannotated web page x i , wherein the random score s i is generated according to the following formula: s i =r 1/wi , where r is a [0,1] real value drawn uniformly at random;

identifying the m unannotated web pages in the data set X, wherein the m unannotated web pages have assigned scores that are higher than scores assigned to remaining unannotated web pages of the data set X;

automatically identifying a set of annotations for the m unannotated web pages based on a scraper process, each unannotated web page of the m unannotated web pages being associated with at least one annotation of the set of annotations; and

providing the m unannotated web pages and the set of annotations for presentation in a web page panel for review by an operator.

17. A computer implemented method comprising:

identifying, by a computer system, a data set X of n unannotated web pages from which to generate a sample set of m unannotated web pages, wherein n≥m, each unannotated web page x i of the data set X is associated with a URL posted to a posting-based newsfeed of a social networking system by one or more users of the social networking system, each unannotated web page x i of the data set X has a weight w i associated with the unannotated web page x i , and the data set X comprises data generated by the social networking system;

assigning, by the computer system, each unannotated web page in the data set X with a random score s i based on the weight w i associated with the unannotated web page x i , wherein the random score s i is generated according to the following formula: s i =r 1/wi , where r is a [0,1] real value drawn uniformly at random;

identifying, by the computer system, the m unannotated web pages in the data set X, wherein the m unannotated web pages have assigned scores that are higher than scores assigned to remaining unannotated web pages of the data set X;

automatically identifying a set of annotations for the m unannotated web pages based on a scraper process, each unannotated web page of the m unannotated web pages being associated with at least one annotation of the set of annotations; and

providing the m unannotated web pages and the set of annotations for presentation in a web page panel for review by an operator.

Assignments (2)
CHANGE OF NAME Recorded Nov 23, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058234/0177 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2013
From: PASTERNACK, JEFFREY
To: FACEBOOK, INC.
Reel/Frame 031631/0293 →
Continuity (1)
Related Publication 20150032761A1 · Jan 29, 2015