US 12,093,332 B2
Anchor-based collaborative filtering
Oren Barkan, Rishon Lezion (IL); Roy Hirsch, Tel Aviv (IL); Ori Katz, Tel-Aviv (IL); Avi Caciularu, Tel Aviv (IL); Noam Koenigstein, Tel-Aviv (IL); and Nir Nice, Salit (IL)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Oct. 29, 2021, as Appl. No. 17/452,852.
Prior Publication US 2023/0138579 A1, May 4, 2023
Int. Cl. G06F 16/9536 (2019.01); G06F 11/34 (2006.01); G06F 16/951 (2019.01); G06F 16/9535 (2019.01); G06F 16/9537 (2019.01)
CPC G06F 16/9536 (2019.01) [G06F 11/3438 (2013.01); G06F 16/951 (2019.01); G06F 16/9535 (2019.01); G06F 16/9537 (2019.01)] 17 Claims
OG exemplary drawing
 
1. A system comprising:
a taste anchor modeling engine stored in memory and configured to:
receive as input a training dataset including user-item interactions for multiple users, each one of the user-item interactions identifying a user and an item that the user has positively interacted with;
determine, for each pair of items in the training dataset, a same-user co-occurrence probability indicating a likelihood of a same user interacting with both items in the pair;
define a vector space and distribute items of the training dataset within the vector space in a manner that provides for closer spatial proximity between items with higher same-user co-occurrence probability than between items with lower same-user co-occurrence probability;
distribute a set of taste anchors within the vector space and associate each one of the taste anchors in memory with a subgroup of the items in a same neighborhood of the vector space, the taste anchors each serving to categorize the associated subgroup of the items in the same neighborhood; and
a user taste palate identifier stored in memory and configured to:
measure overlap between items an individual user has previously interacted with and the subgroup of the items associated with each one of the taste anchors;
based on the measuring, identify a subset of the taste anchors characterized by a greatest degree of the overlap with the items the individual user has previously interacted with;
store an anchor-based representation of the individual user that includes the identified subset of the taste anchors; and
a recommendation engine stored in memory and configured to use the anchor-based representation to identify and recommend multiple items to the individual user for a future interaction.