Differentiable user-item co-clustering
AssigneeMicrosoft Technology Licensing, LLC
InventorsLongqi Yang, Tobias Benjamin Schnabel, Paul Nathan Bennett, Susan Theresa Dumais
Life of this patent
Estimating the term…
Abstract
The present concepts relate to a differentiable user-item co-clustering (“DUICC”) model for recommendation and co-clustering. Users' interaction with items (e.g., content) may be centered around information co-clusters—groups of items and users that exhibit common consumption behavior. The DUICC model may learn fine-grained co-cluster structures of items and users based on their interaction data. The DUICC model can then leverage the learned latent co-cluster structures to calculate preference stores of the items for a user. The top scoring items may be presented to the user as recommendations.
Claims20
A system, comprising:
- a processor;
- storage storing instructions which, when executed by the processor, cause the processor to:
- receive interactions between a plurality of users and a plurality of items;
- based on the interactions, train a machine learning model to detect a plurality of co-clusters of the plurality of users and the plurality of items by:
- generating a plurality of item embeddings representing the plurality of items;
- generating a plurality of user embeddings representing the plurality of users based on weighted averages of the plurality of item embeddings by assigning weights to the plurality of items based on predictive strengths of the plurality of items, the weights varying across the plurality of co-clusters;
- and
- calculating a plurality of item-co-cluster affinity scores of the plurality of items to the plurality of co-clusters and a plurality of user-co-cluster affinity scores of the plurality of users to the plurality of co-clusters based on the plurality of item embeddings, the plurality of user embeddings, and a plurality of co-cluster embeddings representing the plurality of co-clusters;
- and
- output the plurality of item-co-cluster affinity scores and the plurality of user-co-cluster affinity scores.
A hardware computer readable storage medium storing instructions which, when executed by a processor, cause the processor to:
- train a machine learning model that detects co-clusters of a plurality of users and a plurality of items by:
- receiving interactions between the plurality of users and the plurality of items;
- generate item embeddings based on the interactions;
- generate a plurality of user embeddings based on weighted sums of the items embeddings by assigning weights to the plurality of items based on predictive strengths of the plurality of items, the weights varying across the co-clusters;
- learn co-cluster embeddings based on the item embeddings and the plurality of user embeddings;
- and
- determine item-co-cluster affinity scores and user-co-cluster affinity scores based on the plurality of user embeddings, the item embeddings, and the co-cluster embeddings;
- receive a user identification associated with a user of the plurality of users;
- calculate preference scores associated with the plurality of items for the user based on the user-co-cluster affinity scores and the item-co-cluster affinity scores determined by the machine learning model;
- and
- output a set of the plurality of items for the user based on the preference scores.
A method, comprising:
- detecting co-clusters of a plurality of users and a plurality of items from interactions between the plurality of users and the plurality of items using a machine learning model by:
- generating a plurality of item embeddings representing the plurality of items based on the interactions;
- generating a plurality of user embeddings representing the plurality of users based on weighted averages of the plurality of item embeddings by assigning weights to the plurality of items based on predictive strengths of the plurality of items, the weights varying across the co-clusters;
- and
- calculating a plurality of user-co-cluster affinity scores of the plurality of users to the co-clusters and a plurality of item-co-cluster affinity scores of the plurality of items to the co-clusters based on the plurality item embeddings, the plurality of user embeddings, and co-cluster embeddings representing the co-clusters;
- receiving an identification of a user of the plurality of users;
- calculating a plurality of preference scores associated with the plurality of items for the user based on a set of the plurality of user-co-cluster affinity scores associated with the user and the plurality of item-co-cluster affinity scores;
- and
- outputting a set of the plurality of items for the user based on the plurality of preference scores.
Dependencies are inferred from the claim text.