IP Library Patent Application 15700652
Patent Application
App. No. 15/700,652

CALCULATION OF TUNING PARAMETERS FOR RANKING ITEMS IN A USER FEED

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 None
App. No.
15/700,652
Abstract

Methods, systems, and computer programs are presented for identifying tuning parameters for mixing items in different categories for a user feed. One method includes maximizing utilities when presenting feeds to social network users, each utility having a weight for mixing items. The method further includes identifying a utilities maximization goal such that a first utility is maximized while other utilities are above a threshold, and initializing a counter. A loop, repeated until convergence, includes generating sample weights; performing an experiment with the sample weights for i users and j feed sessions to determine utility action indicators; for each utility, estimating a posterior distribution of an underlying hyperfunction and drawing samples; for each drawn sample, calculating a utility function and the weight that maximizes the utility function; generating an empirical distribution based on the sample weights; and incrementing the counter. The identified weights are utilized for creating the feeds.

Claims (82)

1 . A method comprising:

a. identifying utilities to be maximized when presenting user feeds to users of a social network, each utility being associated with a respective weight for mixing items when creating the user feeds;

b. identifying a maximization goal for the utilities such that a first utility is maximized while other utilities are above a respective predetermined threshold;

c. initializing a counter to zero;

d. generating sample weights;

e. performing an experiment with the generated sample weights for a plurality of users and a plurality of user feed sessions to determine a utility action indicator for each of the utilities for each pair of user and job;

f. for each utility, estimating a posterior distribution of an underlying hyperfunction and drawing sample hyperfunctions;

g. for each drawn sample, calculating a utility function and calculating the weight from the sample weights that maximizes the calculated utility function;

h. generating an empirical distribution based on the calculated weights;

i. until the calculated weights converge, incrementing the counter and repeating operations d-i; and

j. utilizing the identified calculated weights after the convergence for mixing the items when creating the user feeds.

2 . The method as recited in claim 1 , wherein mixing the items when creating the user feeds further comprises:

identifying a pool of candidates for each utility, each candidate having a candidate score;

multiplying each candidate score by the corresponding weight; and

mixing the candidates to create the user feed based on a result of the multiplying.

3 . The method as recited in claim 2 , wherein performing the experiment further comprises:

creating the user feeds utilizing the sample weights for mixing the candidates.

4 . The method as recited in claim 1 , wherein the utility action indicator for each of the utilities for each pair of user and job is determined by assigning a value of 1 when the experiment indicates that the user acted on the utility during the user feed session and assigning a value of 0 when the user did not act on the utility during the user feed session.

5 . The method as recited in claim 1 , wherein the utilities comprise one or more of user posts, job posts, and sponsored posts.

6 . The method as recited in claim 1 , wherein the utility function is calculated with based on a smoothing function of the sample hyperfunctions.

7 . The method as recited in claim 1 , wherein estimating the posterior distribution further comprises:

i. choosing initial values for hyperparameters;

ii. evaluating a covariance kernel based on the hyperparameters;

iii. generating a posterior mode;

iv. computing a quasi-loglikelihood;

v. checking for convergence;

vi. when convergence is not found, utilizing gradient descent of the quasi-likelihood to generate next hyperparameters and repeating operations ii-vi;

vii. when convergence is found, estimating a final posterior mode;

viii. estimating a mean function and a covariance kernel for the final posterior mode; and

ix. drawing samples from distribution as samples from the final posterior mode.

8 . A system comprising:

a memory comprising instructions; and

one or more computer processors, wherein the instructions, when executed by the one or more computer processors, cause the one or more computer processors to perform operations comprising:

a. identifying utilities to be maximized when presenting user feeds to users of a social network, each utility being associated with a respective weight for mixing items when creating the user feeds;

b. identifying a maximization goal for the utilities such that a first utility is maximized while other utilities are above a respective predetermined threshold;

c. initializing a counter to zero;

d. generating sample weights;

e. performing an experiment with the generated sample weights for a plurality of users and a plurality of user feed sessions to determine a utility action indicator for each of the utilities for each pair of user and job;

f for each utility, estimating a posterior distribution of an underlying hyperfunction and drawing sample hyperfunctions;

g. for each drawn sample, calculating a utility function and calculating the weight from the sample weights that maximizes the calculated utility function;

h. generating an empirical distribution based on the calculated weights;

i. until the calculated weights converge, incrementing the counter and repeating operations d-i; and

j. utilizing the identified calculated weights after the convergence for mixing the items when creating the user feeds.

9 . The system as recited in claim 8 , wherein mixing the items when creating the user feeds further comprises:

identifying a pool of candidates for each utility, each candidate having a candidate score;

multiplying each candidate score by the corresponding weight; and

mixing the candidates to create the user feed based on a result of the multiplying.

10 . The system as recited in claim 9 , wherein performing the experiment further comprises:

creating the user feeds utilizing the sample weights for mixing the candidates.

11 . The system as recited in claim 8 , wherein the utility action indicator for each of the utilities for each pair of user and job is determined by assigning a value of 1 when the experiment indicates that the user acted on the utility during the user feed session and assigning a value of 0 when the user did not act on the utility during the user feed session.

12 . The system as recited in claim 8 , wherein the utilities comprise one or more of user posts, job posts, and sponsored posts.

13 . The system as recited in claim 8 , wherein the utility function is calculated with based on a smoothing function of the sample hyperfunctions.

14 . The system as recited in claim 8 , wherein estimating the posterior distribution further comprises:

i. choosing initial values for hyperparameters;

ii. evaluating a covariance kernel based on the hyperparameters;

iii. generating a posterior mode;

iv. computing a quasi-loglikelihood;

v. checking for convergence;

vi. when convergence is not found, utilizing gradient descent of the quasi-likelihood to generate next hyperparameters and repeating operations ii-vi;

vii. when convergence is found, estimating a final posterior mode;

viii. estimating a mean function and a covariance kernel for the final posterior mode; and

ix. drawing samples from distribution as samples from the final posterior mode.

15 . A non-transitory machine-readable storage medium including instructions that, when executed by a machine, cause the machine to perform operations comprising:

a. identifying utilities to be maximized when presenting user feeds to users of a social network, each utility being associated with a respective weight for mixing items when creating the user feeds;

b. identifying a maximization goal for the utilities such that a first utility is maximized while other utilities are above a respective predetermined threshold;

c. initializing a counter to zero;

d. generating sample weights;

e. performing an experiment with the generated sample weights for a plurality of users and a plurality of user feed sessions to determine a utility action indicator for each of the utilities for each pair of user and job;

f. for each utility, estimating a posterior distribution of an underlying hyperfunction and drawing sample hyperfunctions;

g. for each drawn sample, calculating a utility function and calculating the weight from the sample weights that maximizes the calculated utility function;

h. generating an empirical distribution based on the calculated weights;

i. until the calculated weights converge, incrementing the counter and repeating operations d-i; and

j. utilizing the identified calculated weights after the convergence for mixing the items when creating the user feeds.

16 . The machine-readable storage medium as recited in claim 15 , wherein mixing the items when creating the user feeds further comprises:

identifying a pool of candidates for each utility, each candidate having a candidate score;

multiplying each candidate score by the corresponding weight; and

mixing the candidates to create the user feed based on a result of the multiplying.

17 . The machine-readable storage medium as recited in claim 16 , wherein performing the experiment further comprises:

creating the user feeds utilizing the sample weights for mixing the candidates.

18 . The machine-readable storage medium as recited in claim 15 , wherein the utility action indicator for each of the utilities for each pair of user and job is determined by assigning a value of 1 when the experiment indicates that the user acted on the utility during the user feed session and assigning a value of 0 when the user did not act on the utility during the user feed session.

19 . The machine-readable storage medium as recited in claim 15 , wherein the utilities comprise one or more of user posts, job posts, and sponsored posts.

20 . The machine-readable storage medium as recited in claim 15 , wherein the utility function is calculated with based on a smoothing function of the sample hyperfunctions.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044779/0602 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2017
From: BASU, KINJAL; GHOSH, SOUVIK; XUAN, YING; ZHANG, LIANG; AGARWAL, DEEPAK; YANG, YANG
To: LINKEDIN CORPORATION
Reel/Frame 043545/0831 →