IP Library › Granted Patent US 12,236,345
Granted Patent B2
US 12,236,345 · App. 17/350,460 · Granted Feb 25, 2025

Few-shot learning for multi-task recommendation systems

Inventors: Lan Guan (Johns Creek, CA); Guanglei Xiong (Pleasanton, CA); Christopher Yen-Chu Chan (Jersey City, NJ); Jayashree Subrahmonia (San Jose, CA); Aaron James Sander (Silver Spring, MD); Sukryool Kang (Dublin, CA); Wenxian Zhang (San Jose, CA); Anwitha Paruchuri (San Jose, CA)
Assignee: Accenture Global Solutions Limited
G06N3/08G06N3/04
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,236,345
App. No.
17/350,460
Granted
Feb 25, 2025
Kind
B2
Abstract

Implementations are directed to receiving a set of tuples, each tuple including an entity and a product from a set of products, for each tuple: generating, by an embedding module, a total latent vector as input to a recommender network, the total latent vector generated based on a structural vector, a textual vector, and a categorical vector, each generated based on a product profile of a respective product and an entity profile of the entity, generating, by a context integration module, a latent context vector based on a context vector representative of a context of the entity, and inputting the total latent vector and the latent context vector to the recommender network, the recommender network being trained by few-shot learning using a multi-task loss function, and generating, by the recommender network, a prediction including a set of recommendations specific to the entity.

Claims (50)

1. A computer-implemented method for providing recommendations from a computer-implemented recommender system, the method comprising:

receiving a set of tuples, each tuple comprising an entity and a product from a set of products;

for each tuple:

generating, by an embedding module, a total latent vector as input to a recommender network, the total latent vector generated based on embeddings provided as representations of data from a product profile of a respective product and an entity profile of the entity, the representations including a structural vector, a textual vector, and a categorical vector, each embedding generated based on processing data from the product profile of the respective product and the entity profile of the entity,

generating, by a context integration module, a latent context vector based on a context vector representative of a context of the entity, and

inputting the total latent vector and the latent context vector to the recommender network, the recommender network including multiple output layers and trained by few-shot learning using a multi-task loss function, wherein each output layer corresponds to a respective task in a set of tasks and includes parameters that are optimized for the respective task during few-shot learning, wherein the multi-task loss function includes a set of loss functions, each loss function also corresponding to a respective task in the set of tasks, wherein during a local update the parameters of the recommender network are updated, and during a global update, parameters of the recommender network and the embedding module are updated, and wherein few-shot learning includes concurrent training of parameters of the recommender network and the embedding module; and

generating, by the trained recommender network, a prediction comprising a set of recommendations specific to the entity.

2. The method of claim 1 , wherein the recommender network comprises a concatenation layer to concatenate the total latent vector and the latent context vector to provide a concatenated vector for processing through a set of intermediate layers.

3. The method of claim 1 , wherein the embedding module comprises a structural embedding module that generates a structural vector for a respective tuple by processing structural data of the product profile and the entity profile.

4. The method of claim 1 , wherein the embedding module comprises a textual embedding module that generates a textual vector for a respective tuple by processing textual data of the product profile and the entity profile.

5. The method of claim 1 , wherein the embedding module comprises an encoding module that generates a categorical vector for a respective tuple by processing category data of the product profile and the entity profile.

6. The method of claim 1 , wherein generating a latent context vector comprises:

inputting the context vector to an auto-encoder, and

outputting the latent context vector from an intermediate layer of the auto-encoder.

7. The method of claim 6 , wherein the latent context vector has fewer dimensions than the context vector.

8. The method of claim 1 , wherein the total latent vector is further based on an offset vector provided as a baseline representation of the entity.

9. One or more non-transitory computer-readable storage media coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for providing recommendations from a computer-implemented recommender system, the operations comprising:

receiving a set of tuples, each tuple comprising an entity and a product from a set of products;

for each tuple:

generating, by an embedding module, a total latent vector as input to a recommender network, the total latent vector generated based on embeddings provided as representations of data from a product profile of a respective product and an entity profile of the entity, the representations including a structural vector, a textual vector, and a categorical vector, each embedding generated based on processing data from the product profile of the respective product and the entity profile of the entity,

generating, by a context integration module, a latent context vector based on a context vector representative of a context of the entity, and

inputting the total latent vector and the latent context vector to the recommender network, the recommender network including multiple output layers and trained by few-shot learning using a multi-task loss function, wherein each output layer corresponds to a respective task in a set of tasks and includes parameters that are optimized for the respective task during few-shot learning, wherein the multi-task loss function includes a set of loss functions, each loss function also corresponding to a respective task in the set of tasks, wherein during a local update the parameters of the recommender network are updated, and during a global update, parameters of the recommender network and the embedding module are updated, and wherein few-shot learning includes concurrent training of parameters of the recommender network and the embedding module; and

generating, by the trained recommender network, a prediction comprising a set of recommendations specific to the entity.

10. The one or more non-transitory computer-readable storage media of claim 9 , wherein the recommender network comprises a concatenation layer to concatenate the total latent vector and the latent context vector to provide a concatenated vector for processing through a set of intermediate layers.

11. The one or more non-transitory computer-readable storage media of claim 9 , wherein the embedding module comprises a structural embedding module that generates a structural vector for a respective tuple by processing structural data of the product profile and the entity profile.

12. The one or more non-transitory computer-readable storage media of claim 9 , wherein the embedding module comprises a textual embedding module that generates a textual vector for a respective tuple by processing textual data of the product profile and the entity profile.

13. The one or more non-transitory computer-readable storage media of claim 9 , wherein the embedding module comprises an encoding module that generates a categorical vector for a respective tuple by processing category data of the product profile and the entity profile.

14. The one or more non-transitory computer-readable storage media of claim 9 , wherein generating a latent context vector comprises:

inputting the context vector to an auto-encoder, and

outputting the latent context vector from an intermediate layer of the auto-encoder.

15. The one or more non-transitory computer-readable storage media of claim 14 , wherein the latent context vector has fewer dimensions than the context vector.

16. The one or more non-transitory computer-readable storage media of claim 9 , wherein the total latent vector is further based on an offset vector provided as a baseline representation of the entity.

17. A system, comprising:

one or more processors; and

a computer-readable storage device coupled to the one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for providing recommendations from a computer-implemented recommender system, the operations comprising:

receiving a set of tuples, each tuple comprising an entity and a product from a set of products;

for each tuple:

generating, by an embedding module, a total latent vector as input to a recommender network, the total latent vector generated based on embeddings provided as representations of data from a product profile of a respective product and an entity profile of the entity, the representations including a structural vector, a textual vector, and a categorical vector, each embedding generated based on processing data from the product profile of the respective product and the entity profile of the entity,

generating, by a context integration module, a latent context vector based on a context vector representative of a context of the entity, and

inputting the total latent vector and the latent context vector to the recommender network, the recommender network including multiple output layers and trained by few-shot learning using a multi-task loss function, wherein each output layer corresponds to a respective task in a set of tasks and includes parameters that are optimized for the respective task during few-shot learning, wherein the multi-task loss function includes a set of loss functions, each loss function also corresponding to a respective task in the set of tasks, wherein during a local update the parameters of the recommender network are updated, and during a global update, parameters of the recommender network and the embedding module are updated, and wherein few-shot learning includes concurrent training of parameters of the recommender network and the embedding module; and

generating, by the trained recommender network, a prediction comprising a set of recommendations specific to the entity.

18. The system of claim 17 , wherein the recommender network comprises a concatenation layer to concatenate the total latent vector and the latent context vector to provide a concatenated vector for processing through a set of intermediate layers.

19. The system of claim 17 , wherein the embedding module comprises a structural embedding module that generates a structural vector for a respective tuple by processing structural data of the product profile and the entity profile.

20. The system of claim 17 , wherein the embedding module comprises a textual embedding module that generates a textual vector for a respective tuple by processing textual data of the product profile and the entity profile.

21. The system of claim 17 , wherein the embedding module comprises an encoding module that generates a categorical vector for a respective tuple by processing category data of the product profile and the entity profile.

22. The system of claim 17 , wherein generating a latent context vector comprises:

inputting the context vector to an auto-encoder, and

outputting the latent context vector from an intermediate layer of the auto-encoder.

23. The system of claim 22 , wherein the latent context vector has fewer dimensions than the context vector.

24. The system of claim 17 , wherein the total latent vector is further based on an offset vector provided as a baseline representation of the entity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2021
From: GUAN, LAN; XIONG, GUANGLEI; CHAN, CHRISTOPHER YEN-CHU; SUBRAHMONIA, JAYASHREE; SANDER, AARON JAMES; KANG, SUKRYOOL; ZHANG, WENXIAN; PARUCHURI, ANWITHA
To: ACCENTURE GLOBAL SOLUTIONS LIMITED
Reel/Frame 056577/0809 →
Continuity (2)
Provisional Application 63164152 · Mar 22, 2021
Related Publication 20220300804A1 · Sep 22, 2022
References Cited (24)
US 10509814B2 · Lastra Diaz · 2019 [cited by examiner]
US 10607252B2 · Allouche · 2020 [cited by examiner]
US 10902571B2 · Naruniec · 2021 [cited by examiner]
US 20190303836A1 · Goyal · 2019 [cited by examiner]
US 20210216881A1 · McCarthy · 2021 [cited by examiner]
US 20220300804A1 · Guan · 2022 [cited by examiner]
US 20230351153A1 · Zhao · 2023 [cited by examiner]
Zhang et al., “Collaborative Knowledge Base Embedding for Recommender System”, 22nd ACM SIGKDD International Conference, Aug. 13-17, 2016, pp. 353-363 (Year: 2016). [cited by examiner]
Lee et al., “MeLU: Meta-Learned User Preference Estimator for Cold-Start Recommendation”, Jul. 31, 2019, arXiv, pp. 1-10 (Year: 2019). [cited by examiner]
Devlin et al., “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,” arXiv, May 24, 2019, arXiv:1810.04805v2, 16 pages. [cited by applicant]
Fei-Fei et al., “One-Shot Learning of Object Categories,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Apr. 2006, 28(4):594-611. [cited by applicant]
Fink, “Object Classification from a Single Example Utilizing Class Relevance Metrics,” Presented at Proceedings of Advances in Neural Information Processing Systems 17 (NIPS 2004), Dec. 13-18, 2004, Vancouver, British C… [cited by applicant]
Finn et al., “Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks,” arXiv, Jul. 18, 2017, arXiv:1703.03400v3, 13 pages. [cited by applicant]
Jin et al., “Power up! Robust Graph Convolutional Network against Evasion Attacks based on Graph Powering,” arXiv, May 24, 2019, arXiv:1905.10029v1, 16 pages. [cited by applicant]
Wang et al., “Generalizing from a Few Examples: A Survey on Few-Shot Learning,” ACM Computing Surveys, Mar. 2020, 53(3):63, 34 pages. [cited by applicant]
AU Office Action in Australian Appln. No. 2022201870, dated Aug. 5, 2022, 4 pages. [cited by applicant]
Crawshaw et al., “Multi-task learning with deep neural networks: A survey,” arXiv, Sep. 10, 2020, arXiv:2009.09796v1, 43 pages. [cited by applicant]
Lee et al., “MeLU: Meta-Learned User Preference Estimator for Cold-Start Recommendation,” arXiv, Jul. 31, 2019, arXiv:1908.00413v1, 10 pages. [cited by applicant]
Unger et al., “Towards latent context-aware recommendation systems,” Knowledge-Based Systems, Jul. 15, 2016, 104:165-178. [cited by applicant]
Wang et al., “Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation,” arXiv, Jan. 23, 2019, arXiv:1901.08907v1, 11 pages. [cited by applicant]
Zhang et al., “Collaborative Knowledge Base Embedding for Recommender Systems,” Presented at Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Aug. 13-17, 2016, San Fran… [cited by applicant]
AU Office Action in Australian Appln. No. 2022201870, dated Mar. 28, 2023, 4 pages. [cited by applicant]
Ruder, “An Overview of Multi-Task Learning in Deep Neural Networks,” CoRR, submitted on Jun. 15, 2017, arXiv:1706.05098v1, 14 pages. [cited by applicant]
Office Action in Indian Appln. No. 202214014265, dated Nov. 25, 2022, 7 pages. [cited by applicant]