CALCULATION OF TUNING PARAMETERS FOR RANKING ITEMS IN A USER FEED
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.
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.