US11550804B1ActiveUtility

Real time analyses using common features

71
Assignee: TWITTER INCPriority: Nov 11, 2015Filed: Oct 5, 2020Granted: Jan 10, 2023
Est. expiryNov 11, 2035(~9.3 yrs left)· nominal 20-yr term from priority
G06F 16/9535G06F 16/907G06F 16/9035G06F 16/24578G06Q 30/0255G06F 16/24575G06F 16/248G06Q 10/42
71
PatentIndex Score
1
Cited by
11
References
21
Claims

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-modified
What 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.