IP Library Granted Patent US 12,277,589
Granted Patent B2
US 12,277,589 · App. 17/163,380 · Granted Apr 15, 2025

System, method, and non-transitory computer readable storage medium, for diversifying complementary item recommendations based on user preferences

Inventors: Luyi Ma (Sunnyvale, CA); Nimesh Sinha (San Jose, CA); Hyun Duk Cho (San Francisco, CA); Sushant Kumar (Sunnyvale, CA); Kannan Achan (Saratoga, CA)
Assignee: WALMART APOLLO, LLC
G06Q30/0631G06N5/04G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,277,589
App. No.
17/163,380
Granted
Apr 15, 2025
Kind
B2
Abstract

A method including determining, in real-time, a diversity preference score for a user based at least in part on an anchor item chosen by the user via a user interface executed on a user device of the user. The method also can include determining, in real-time, a comparison result between the diversity preference score and a diversity preference threshold. The method further can include generating, in real-time, a personalized recommendation pool based on (a) the comparison result, (b) a complementary recommendation pool generated based at least in part on the anchor item, and (c) a diversity objective function. In many embodiments, when the comparison result indicates that the diversity preference score is greater than the diversity preference threshold, the diversity objective function can be associated with cross-domain diversity. In a number of embodiments, when the comparison result indicates that the diversity preference score is not greater than the diversity preference threshold, the diversity objective function can be associated with within-domain diversity. The method additionally can include transmitting, in real-time through the computer network, the personalized recommendation pool to be displayed with the anchor item on the user interface. Other embodiments are disclosed.

Claims (249)

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.

2. The system in claim 1 , wherein the computing instructions, when run on the one or more processors, further cause the one or more processors to perform:

reducing a size of the complementary recommendation pool based on a predetermined size limit.

3. The system in claim 1 , wherein:

generating the personalized recommendation pool further comprises:

adding a recommended item from the recommended items of the complementary recommendation pool to the personalized recommendation pool iteratively based at least in part on a determinantal point process (DPP) with fast greedy maximum a posteriori (MAP) inference.

4. The system in claim 1 , wherein the diversity preference threshold is set by the embedding-based machine learning module, as trained.

5. The system in claim 2 , wherein the predetermined size limit is determined based on a type of user interface for displaying the personalized recommendation pool.

6. The system in claim 3 , wherein:

adding the recommended item from the recommended items of the complementary recommendation pool to the personalized recommendation pool iteratively further comprises

determining a respective diversity score for each of one or more remaining items of the recommended items of the complementary recommendation pool.

7. The system in claim 6 , wherein:

when the diversity objective function is associated with the cross-department diversity, the respective diversity score for each of the one or more remaining items of the recommended items of the complementary recommendation pool is calculated based in part on: (a) a respective personalized complementary score for the each of the one or more remaining items; and (b) a diversification increment by the each of the one or more remaining items; and

when the diversity objective function is associated with the within-department diversity, the respective diversity score for each of the one or more remaining items of the recommended items of the complementary recommendation pool is calculated based in part on: (a) the respective personalized complementary score for the each of the one or more remaining items; and (b) a similarity increment by the each of the one or more remaining items.

8. The system in claim 6 , wherein:

when the diversity objective function is associated with the cross-department diversity, the respective diversity score for the each of the one or more remaining items is calculated by:

(α S q,r +(1−α)(log(det( L R d +[r] ))−log(det( L R d )))], wherein

S q,r : a respective personalized complementary score between the anchor item (q) and the each of the one or more remaining items (r) for the user,

S

q

,

r

=

1

+

q

T

g

r

2

,

and f q T and g r is a product score for normalized item embeddings between q and r;

α: a predetermined constant, 0≤α<1;

det(L R ): a determinant of a kernel matrix L indexed by member items of an item pool (R), R comprising a subset of the complementary recommendation pool; and

L R : an item-to-item similarity matrix for the member items in the item pool

(

R

)

,

L

R

=

1

+

H

T

H

2

,

H

{

g

r

|

r

R

}

.

9. The system in claim 6 , wherein:

when the diversity objective function is associated with the within-department diversity, the respective diversity score for the each of the one or more remaining items is calculated by:

(β S q,r +(1−β)(log(det( L′ R s +[r] ))−log(det( L′ R s )))], wherein:

S q,r : a respective personalized complementary score between the anchor item (g) and the each of the one or more remaining items (r) for the user,

S

q

,

r

=

1

+

q

T

g

r

2

,

and f q T and g r is a product score for normalized item embeddings between q and r;

β: a predetermined constant, 0≤“β”<1;

det(L′ R ): a determinant of a kernel matrix L′indexed by member items of an item pool (R), R comprising a subset of the complementary recommendation pool and extra complementary items; and

L′ R : an item-to-item dissimilarity matrix for the member items in the item pool (R), L′=1+diag(L)−L, and

L

R

=

1

+

H

T

H

2

,

H≡{g r |r∈R}.

10. The system in claim 6 , wherein:

adding the recommended item from the recommended items of the complementary recommendation pool to the personalized recommendation pool iteratively further comprises adding the recommended item of the one or more remaining items to the personalized recommendation pool when the recommended item is associated with a maximal respective diversity score of the respective diversity score for each of the one or more remaining items.

11. A method being implemented via execution of computing instructions configured to run at one or more processors and stored at one or more non-transitory computer-readable media, the method comprising:

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

12. The method in claim 11 further comprising:

reducing a size of the complementary recommendation pool based on a predetermined size limit.

13. The method in claim 11 , wherein:

generating the personalized recommendation pool further comprises:

adding a recommended item from the recommended items of the complementary recommendation pool to the personalized recommendation pool iteratively based at least in part on a determinantal point process (DPP) with fast greedy maximum a posteriori (MAP) inference.

14. The method in claim 11 , wherein the diversity preference threshold is set by the embedding-based machine learning module, as trained.

15. The method in claim 12 , wherein the predetermined size limit is determined based on a type of user interface for displaying the personalized recommendation pool.

16. The method in claim 13 , wherein:

adding the recommended item of the recommended items of the complementary recommendation pool to the personalized recommendation pool iteratively further comprises:

determining a respective diversity score for each of one or more remaining items of the recommended items of the complementary recommendation pool; and

adding the recommended item of the one or more remaining items to the personalized recommendation pool when the recommended item is associated with a maximal respective diversity score of the respective diversity score for each of the one or more remaining items.

17. The method in claim 16 , wherein:

when the diversity objective function is associated with the cross-department diversity, the respective diversity score for each of the one or more remaining items of the recommended items of the complementary recommendation pool is calculated based in part on: (a) a respective personalized complementary score for the each of the one or more remaining items; and (b) a diversification increment by the each of the one or more remaining items; and

when the diversity objective function is associated with the within-department diversity, the respective diversity score for each of the one or more remaining items of the recommended items of the complementary recommendation pool is calculated based in part on: (a) the respective personalized complementary score for the each of the one or more remaining items; and (b) a similarity increment by the each of the one or more remaining items.

18. The method in claim 16 , wherein:

when the diversity objective function is associated with the cross-department diversity, the respective diversity score for the each of the one or more remaining items is calculated by:

(α S q,r +(1−α)(log(det( L R d +[r] ))−log(det( L R d )))], wherein:

S q,r : a respective personalized complementary score between the anchor item (q) and the each of the one or more remaining items (r) for the user,

S

q

,

r

=

1

+

q

T

g

r

2

,

and f q T and g r is a product score for normalized item embeddings between q and r;

α: a predetermined constant, 0≤α<1;

det(L R ): a determinant of a kernel matrix L indexed by member items of an item pool (R), R comprising a subset of the complementary recommendation pool; and

L R : an item-to-item similarity matrix for the member items in the item pool

(

R

)

,

L

R

=

1

+

H

T

H

2

,

H≡{g r |r∈R}.

19. The method in claim 16 , wherein:

when the diversity objective function is associated with the within-department diversity, the respective diversity score for the each of the one or more remaining items is calculated by:

(β S q,r +(1−β)(log(det( L′ R s +[r] ))−log(det( L′ R s )))], wherein:

S q,r : a respective personalized complementary score between the anchor item (q) and the each of the one or more remaining items (r) for the user,

S

q

,

r

=

1

+

q

T

g

r

2

,

and f q T and g r is a product score for normalized item embeddings between q and r;

β: a predetermined constant, 0≤“β”<1;

det(L′ R ): a determinant of a kernel matrix L′indexed by member items of an item pool (R),f R comprising a subset of the complementary recommendation pool and extra complementary items; and

L′ R : an item-to-item dissimilarity matrix for the member items in the item pool (R), L′=1+diag(L)−L, and

L

R

=

1

+

H

T

H

2

,

≡{g r |r∈R}.

20. A non-transitory computer readable storage medium storing one or more computing instructions that, when run on one or more processors, cause the one or more processors to perform operations comprising:

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 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:

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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2021
From: MA, LUYI; SINHA, NIMESH; CHO, HYUN DUK; KUMAR, SUSHANT; ACHAN, KANNAN
To: WALMART APOLLO, LLC
Reel/Frame 055744/0067 →
Continuity (1)
Related Publication 20220245705A1 · Aug 4, 2022
References Cited (29)
US 7113917B2 · Jacobi et al. · 2006 [cited by applicant]
US 8737728B2 · Bhardwaj et al. · 2014 [cited by applicant]
US 10102559B1 · Jain · 2018 [cited by examiner]
US 11004135B1 · Sandler · 2021 [cited by examiner]
US 11487823B2 · Karayev · 2022 [cited by examiner]
US 20090132459A1 · Hicks · 2009 [cited by examiner]
US 20200184537A1 · Kumar · 2020 [cited by examiner]
US 20210374132A1 · Yang · 2021 [cited by examiner]
ATG recommendations enhanced to support new channels and greater merchant control. (May 11, 2009). Business Wire Retrieved from https://dialog.proquest.com/professional/docview/1074440495?accountid=131444 (Year: 2009). [cited by examiner]
Mohamed Hussein Abdi, George Onyango Okeyo, and Ronald Waweru Mwangi, “Matrix Factorization Techniques for Context-Aware Collaborative Filtering Recommender Systems: A Survey,” Computer and Information Science, vol. 11,… [cited by applicant]
Gediminas Adomavicius and YoungOk Kwon, “Improving Aggregate Recommendation Diversity Using Ranking-Based Techniques,” IEEE Trans. Knowl, Data Eng. 24, 5 (2012), pp. 896-911, https://doi.org/10.1109/TKDE.2011.15, 2012. [cited by applicant]
Oren Barkan and Noam Koenigstein, “Item2vec: Neural Item Embedding for Collaborative Filtering,” In Proceedings of the Poster Track of the 10th ACM Conference on Recommender Systems (RecSys 2016), Boston, USA, Sep. 17, … [cited by applicant]
Laming Chen, Guoxin Zhang, and Eric Zhou, “Fast Greedy MAP Inference for Determinantal Point Process to Improve Recommendation Diversity,” In Advances in Neural Information Processing Systems 31: Annual Conference on Ne… [cited by applicant]
Jorge Díez, David Martinez-Rego, Amparo Alonso-Betanzos, Oscar Luaces, and Antonio Bahamonde, “Optimizing Novelty and Diversity in Recommendations,” Progress in Artificial Intelligence, vol. 8, pp. 101-109 (2019), https… [cited by applicant]
Valeria Fionda and Giuseppe Pirro, “Triple2Vec: Learning Triple Embeddings from Knowledge Graphs,” CoRR abs/1905.11691 (2019), arXiv:1905.11691, http://arxiv.org/abs/1905.11691, 2019. [cited by applicant]
The Instacart Online Grocery Shopping Dataset 2017, Accessed on May 28, 2021, at https://www.kaggle.com/c/instacart-market-basket-analysis/data. [cited by applicant]
Alex Kulesza and Ben Taskar, “Determinantal Point Processes for Machine Learning,” CoRR abs/1207.6083 (2012), arXiv:1207.6083, http://arxiv.org/abs/1207.6083, 2012. [cited by applicant]
Jian-Guo Liu, Kerui Shi, and Qiang Guo, “Solving the Accuracy-Diversity Dilemma via Directed Random Walks,” CoRR abs/1201.6278 (2012), arXiv:1201.6278, http:/arxiv.org/abs/1201.6278, 2012. [cited by applicant]
Yong Liu, Yinan Zhang, Qiong Wu, Chunyan Miao, Lizhen Cui, Binqiang Zhao, Yin Zhao, and Lu Guan, “Diversity-Promoting Deep Reinforcement Learning for Interactive Recommendation,” CoRR abs/1903.07826 (2019), arXiv:1903.0… [cited by applicant]
Julian J. McAuley, Rahul Pandey, and Jure Leskovec, “Inferring Networks of Substitutable and Complementary Products,” In Proceedings of the 21st ACM SIGKDD International Conference on Knowledge Discovery and Data Mining… [cited by applicant]
Lijing Qin and Xiaoyan Zhu, “Promoting Diversity in Recommendation by Entropy Regularizer,” In IJCAI 2013, Proceedings of the 23rd International Joint Conference on Artificial Intelligence, Beijing, China, Aug. 3-9, 201… [cited by applicant]
Panagiotis Symeonidis and Andreas Zioupos, “Matrix and Tensor Factorization Techniques for Recommender Systems,” Springer, https://doi.org/10.1007/978-3-319-41357-0, 2016. [cited by applicant]
Mengting Wan, Di Wang, Jie Liu, Paul Bennett, and Julian J. McAuley, “Representing and Recommending Shopping Baskets with Complementarity, Compatibility and Loyalty,” In Proceedings of the 27th ACM International Confere… [cited by applicant]
Mark Wilhelm, Ajith Ramanathan, Alexander Bonomo, Sagar Jain, Ed H. Chi, and Jennifer Gillenwater, “Practical Diversified Recommendations on YouTube with Determinantal Point Processes,” In Proceedings of the 27th ACM In… [cited by applicant]
Qiong Wu, Yong Liu, Chunyan Miao, Yin Zhao, Lu Guan, and Haihong Tang, “Recent Advances in Diversified Recommendation,” CoRR abs/1905.06589 (2019), arXiv:1905.06589, http://arxiv.org/abs/1905.06589, 2019. [cited by applicant]
Yin Zhang, Haokai Lu, Wei Niu, and James Caverlee, “Quality-Aware Neural Complementary Item Recommendation,” In Proceedings of the 12th ACM Conference on Recommender Systems, RecSys 2018, Vancouver, BC, Canada, Oct. 2-7… [cited by applicant]
Cai-Nicolas Ziegler, Sean M. McNee, Joseph A. Konstan, and Georg Lausen, “Improving Recommendation Lists Through Topic Diversification,” In Proceedings of the 14th International Conference on World Wide Web, WWW 2005, C… [cited by applicant]
Wang, et al., “Personalized Re-Ranking for Improving Diversity in Live Recommender Systems,” arXiv:2004.06390v2 [cs.IR], Apr. 21, 2020, https://arxiv.org/pdf/2004.06390.pdf, 2020. [cited by applicant]
Wilhelm, et al., “Practical Diversified Recommendations on YouTube with Determinantal Point Processes,” CIKM '18: Proceedings of the 27th ACM International Conference on Information and Knowledge, Oct. 2018, pp. 2165-21… [cited by applicant]
Cited By (1)
US 12,657,891