Real time analyses using common features
Abstract
A messaging system provides recommendations of content that account holders of the messaging system might be interested in engaging with. In order to determine what to recommend, the messaging system generates a model of account holder engagement behavior organized by type of engagement. The model parameters are trained on differences between expected engagement behavior based on past data and actual engagement behavior, and include a set of common factor matrices that are trained using data from more than on engagement type. As a consequence, engagement behavior of other account holders with respect to other types of engagements different than the one sought to be recommended serves as a partial basis for determining what engagements of the sought-after type are recommended.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method performed by one or more computers, the method comprising:
receiving a content request for a first account holder of a messaging system, the messaging system storing historical engagement data of engagements by account holders with content made accessible by the messaging system, each engagement being an engagement of a respective engagement type;
accessing a set of pairs of factor matrices including:
an engagement-specific pair of factor matrices U E and V E each comprising engagement-specific parameter values computed from training examples of only a first engagement type, and
a general pair of factor matrices U and V each comprising general parameter values computed from training examples of a plurality of engagement types comprising the first engagement type and one or more other engagement types;
accessing data representing a plurality of historical engagements of the first engagement type performed by account holders of the messaging system other than the first account holder;
computing, for each of a plurality of second account holders, a likelihood of engagement for the first engagement type based on a sum of (i) a general dot product of the vector U(i) for account holder i and the vector V(j) for a respective second account holder j of a plurality of second account holders, and (ii) an engagement-specific dot product of the vector U E (i) for account holder i and the vector V E (j) for the second account holder j;
selecting one or more content items based on the respective computed predicted likelihood of engagement for the first engagement type; and
responding to the content request with the selected one or more content items.
2. The method of claim 1 , wherein the engagement-specific matrices each define a respective engagement-specific vector of values for each of a plurality of account holders.
3. The method of claim 2 , wherein the general matrices each define a respective general vector of values for each of a plurality of account holders.
4. The method of claim 1 , wherein selecting the one or more content items comprises selecting a content item associated with a historical engagement having the highest numerical likelihood of engagement.
5. The method of claim 1 , wherein a type of engagement for the first engagement type or a second engagement type represents:
one account of the messaging system subscribing to receive a message stream from another account of the messaging system;
one account of the messaging system favoriting a message submitted by another account of the messaging system;
one account of the messaging system reposting a message by another account of the messaging system;
one account of the messaging system blocking another account of the messaging system; or
one account selecting a uniform resource locators (URLs) included in a message by another account of the messaging system.
6. The method of claim 1 , further comprising:
training three pairs of matrices to make engagement predictions, comprising:
training the general pair of factor matrices to make predictions on a number of features,
training the engagement-specific pair of factor matrices for the first engagement type, and
training a second engagement-specific pair of factor matrices for the second engagement type,
such that a total number of parameters for the three matrices is less than a number of learned parameters required to separately train the number of features for the first engagement-specific matrix and the second engagement-specific matrix.
7. The method of claim 6 , wherein training the general pair of factor matrices is performed without constructing from the training data a single matrix representing the plurality of engagement types.
8. A system comprising:
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
receiving a content request for a first account holder of a messaging system, the messaging system storing historical engagement data of engagements by account holders with content made accessible by the messaging system, each engagement being an engagement of a respective engagement type;
accessing a set of pairs of factor matrices including:
an engagement-specific pair of factor matrices U E and V E each comprising engagement-specific parameter values computed from training examples of only a first engagement type, and
a general pair of factor matrices U and V each comprising general parameter values computed from training examples of a plurality of engagement types comprising the first engagement type and one or more other engagement types;
accessing data representing a plurality of historical engagements of the first engagement type performed by account holders of the messaging system other than the first account holder;
computing, for each of a plurality of second account holders, a likelihood of engagement for the first engagement type based on a sum of (i) a general dot product of the vector U(i) for account holder i and the vector V(j) for a respective second account holder j of a plurality of second account holders, and (ii) an engagement-specific dot product of the vector U E (i) for account holder i and the vector V E (j) for the second account holder j;
selecting one or more content items based on the respective computed predicted likelihood of engagement for the first engagement type; and
responding to the content request with the selected one or more content items.
9. The system of claim 8 , wherein the engagement-specific matrices each define a respective engagement-specific vector of values for each of a plurality of account holders.
10. The system of claim 9 , wherein the general matrices each define a respective general vector of values for each of a plurality of account holders.
11. The system of claim 8 , wherein selecting the one or more content items comprises selecting a content item associated with a historical engagement having the highest numerical likelihood of engagement.
12. The system of claim 8 , wherein a type of engagement for the first engagement type or a second engagement type represents:
one account of the messaging system subscribing to receive a message stream from another account of the messaging system;
one account of the messaging system favoriting a message submitted by another account of the messaging system;
one account of the messaging system reposting a message by another account of the messaging system;
one account of the messaging system blocking another account of the messaging system; or
one account selecting a uniform resource locators (URLs) included in a message by another account of the messaging system.
13. The system of claim 8 , wherein the operations further comprise:
training three pairs of matrices to make engagement predictions, comprising:
training the general pair of factor matrices to make predictions on a number of features,
training the engagement-specific pair of factor matrices for the first engagement type, and
training a second engagement-specific pair of factor matrices for the second engagement type,
such that a total number of parameters for the three matrices is less than a number of learned parameters required to separately train the number of features for the first engagement-specific matrix and the second engagement-specific matrix.
14. The system of claim 13 , wherein training the general pair of factor matrices is performed without constructing from the training data a single matrix representing the plurality of engagement types.
15. One or more non-transitory computer storage media encoded with computer program instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
receiving a content request for a first account holder of a messaging system, the messaging system storing historical engagement data of engagements by account holders with content made accessible by the messaging system, each engagement being an engagement of a respective engagement type;
accessing a set of pairs of factor matrices including:
an engagement-specific pair of factor matrices U E and V E each comprising engagement-specific parameter values computed from training examples of only a first engagement type, and
a general pair of factor matrices U and V each comprising general parameter values computed from training examples of a plurality of engagement types comprising the first engagement type and one or more other engagement types;
accessing data representing a plurality of historical engagements of the first engagement type performed by account holders of the messaging system other than the first account holder;
computing, for each of a plurality of second account holders, a likelihood of engagement for the first engagement type based on a sum of (i) a general dot product of the vector U(i) for account holder i and the vector V(j) for a respective second account holder j of a plurality of second account holders, and (ii) an engagement-specific dot product of the vector U E (i) for account holder i and the vector V E (j) for the second account holder j;
selecting one or more content items based on the respective computed predicted likelihood of engagement for the first engagement type; and
responding to the content request with the selected one or more content items.
16. The one or more computer storage media of claim 15 , wherein the engagement-specific matrices each define a respective engagement-specific vector of values for each of a plurality of account holders.
17. The one or more computer storage media of claim 16 , wherein the general matrices each define a respective general vector of values for each of a plurality of account holders.
18. The one or more computer storage media of claim 15 , wherein
selecting the one or more content items comprises selecting a content item associated with a historical engagement having the highest numerical likelihood of engagement.
19. The one or more computer storage media of claim 15 , wherein a type of engagement for the first engagement type or a second engagement type represents:
one account of the messaging system subscribing to receive a message stream from another account of the messaging system;
one account of the messaging system favoriting a message submitted by another account of the messaging system;
one account of the messaging system reposting a message by another account of the messaging system;
one account of the messaging system blocking another account of the messaging system; or
one account selecting a uniform resource locators (URLs) included in a message by another account of the messaging system.
20. The one or more computer storage media of claim 15 , wherein the operations further comprise:
training three pairs of matrices to make engagement predictions, comprising:
training the general pair of factor matrices to make predictions on a number of features,
training the engagement-specific pair of factor matrices for the first engagement type, and
training a second engagement-specific pair of factor matrices for the second engagement type,
such that a total number of parameters for the three matrices is less than a number of learned parameters required to separately train the number of features for the first engagement-specific matrix and the second engagement-specific matrix.
21. The one or more computer storage media of claim 20 , wherein training the general pair of factor matrices is performed without constructing from the training data a single matrix representing the plurality of engagement types.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.