US 12,277,589 B2
System, method, and non-transitory computer readable storage medium, for diversifying complementary item recommendations based on user preferences
Luyi Ma, Sunnyvale, CA (US); Nimesh Sinha, San Jose, CA (US); Hyun Duk Cho, San Francisco, CA (US); Sushant Kumar, Sunnyvale, CA (US); and Kannan Achan, Saratoga, CA (US)
Assigned to WALMART APOLLO, LLC, Bentonville, AR (US)
Filed by Walmart Apollo, LLC, Bentonville, AR (US)
Filed on Jan. 30, 2021, as Appl. No. 17/163,380.
Prior Publication US 2022/0245705 A1, Aug. 4, 2022
Int. Cl. G06Q 30/0601 (2023.01); G06N 5/04 (2023.01); G06N 20/00 (2019.01)
CPC G06Q 30/0631 (2013.01) [G06N 5/04 (2013.01); G06N 20/00 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
one or more processors; and
one or more non-transitory computer-readable media storing computing instructions that, when run on the one or more processors, cause the one or more processors to perform:
training iteratively an embedding-based machine learning module to generate a recommendation pool for a reference item, comprising:
converting each item attribute of item attributes into a respective predefined data format of one or more predefined attribute formats;
generating item embeddings based on the item attributes, as converted, for training items;
generating customer embeddings based on customer behavior data for customers;
training the embedding-based machine learning module to determine customer item preference coefficients based on the item embeddings and the customer embeddings;
training the embedding-based machine learning module to determine a respective likelihood of co-purchase between a first item and a second item of the training items for each customer of the customers based on the customer item preference coefficients; and
re-training the embedding-based machine learning module further based at least in part on historic behavior of the embedding-based machine learning module;
determining, in real-time, a diversity preference score for a user based at least in part on: (a) an anchor item chosen by the user via a user interface executed on a user device of the user and (b) a department count for items previously purchased by the user with or after the anchor item, comprising:
determining a respective department for each of a predetermined number of items previously purchased by the user after the user purchased an item in an anchor department of the anchor item; and
determining, in real-time, a count of different departments among the respective departments for the predetermined number of items, wherein:
determining, in real-time, the diversity preference score further comprises determining, in real-time, the diversity preference score based further at least in part on the count of different departments;
determining, in real-time, a comparison result between the diversity preference score and a diversity preference threshold;
generating, in real-time, a personalized recommendation pool based on (a) the comparison result, (b) a complementary recommendation pool generated by the embedding-based machine learning module based at least in part on the anchor item, and (c) a diversity objective function, wherein:
generating the personalized recommendation pool comprises re-ranking recommended items of the complementary recommendation pool based on the diversity objective function and, when the diversity preference score is greater than the diversity preference threshold, the re-ranking includes adding a recommended item one at a time based on a fast greedy maximum a posteriori (MAP) approach and a cross-domain diversity objective function;
the recommended items of the complementary recommendation pool are ranked according to a respective personalized complementary score for each of the recommended items of the complementary recommendation pool;
when the comparison result indicates that the diversity preference score is greater than the diversity preference threshold, the diversity objective function is associated with cross-department diversity for increasing a recommended-item-department count for the personalized recommendation pool; and
when the comparison result indicates that the diversity preference score is not greater than the diversity preference threshold, the diversity objective function is associated with within-department diversity for increasing an anchor-department-item count for the personalized recommendation pool associated with the anchor department of the anchor item; and
transmitting, in real-time, the personalized recommendation pool to be displayed with the anchor item on the user interface.