IP Library › Granted Patent US 12,443,985
Granted Patent B2
US 12,443,985 · App. 18/083,364 · Granted Oct 14, 2025

Solving sparse data problems in a recommendation system with cold start

Inventors: Nick Pendar (San Ramon, CA); Arjun Rao (San Ramon, CA)
Assignee: SAP SE
G06Q30/0631G06Q30/0629G06Q30/0641
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,443,985
App. No.
18/083,364
Granted
Oct 14, 2025
Kind
B2
Abstract

Recommendation services typically struggle with sparse data scenarios. A cold generated item start technique can find a warm generated item as a suitable proxy in a matrix representing co-occurrences of generated items. Embeddings can be used to determine distance between items. The technologies are useful for providing recommendations even in scenarios involving little or no transaction data.

Claims (69)

1. A computer-implemented method comprising:

building, by at least one hardware processor of a recommendation system, a generated-item-by-generated-item matrix representing correlations between a plurality of generated items based on observed transactions for the generated items from a generated items transactions database, wherein the generated-item-by-generated-item matrix comprises at least one sparse data scenario for a generated item represented in the matrix;

finding, by the at least one hardware processor, a cold generated item in the generated-item-by-generated-item matrix;

embedding, by the at least one hardware processor, at least a subset of the plurality of generated items into a high-dimensional embedded vector space;

determining, by the at least one hardware processor, a location of the cold generated item in the high-dimensional embedded vector space via one or more attributes of the cold generated item;

finding, in the high-dimensional embedded vector space, a nearest neighbor warm generated item of the cold generated item with a nearest neighbor search technique, comprising: calculating distances between the location of the cold generated item and positions of the subset of the plurality of generated items in the high-dimensional embedded vector space;

identifying the nearest neighbor warm generated item as a suitable proxy for the cold generated item during recommendation processing;

updating, by the at least one hardware processor, the generated-item-by-generated-item matrix to associate the cold generated item with the nearest neighbor warm generated item as its proxy; and

outputting, to an online portal, a recommendation based on the updated generated-item-by-generated-item matrix.

2. The method of claim 1 , further comprising:

filtering, by the at least one hardware processor, the nearest neighbor warm generated item based on categories associated with the cold generated item and the nearest neighbor warm generated item.

3. The method of claim 1 , wherein the updating comprises:

copying, by the at least one hardware processor, matrix entries in the generated-item-by-generated-item matrix for the nearest neighbor warm generated item to matrix entries for the cold generated item.

4. The method of claim 3 , further comprising:

receiving, from the online portal, a request for the recommendation for an incoming generated item;

in the generated-item-by-generated-item matrix, reading at least one entry of the copied matrix entries for the incoming generated item, wherein the entry indicates a recommended generated item; and

responsive to the request for the recommendation, responding with a recommendation comprising the recommended generated item.

5. The method of claim 4 , further comprising:

including the recommended generated item in a user interface of the online portal as a recommendation.

6. The method of claim 4 , further comprising:

communicating the recommended generated item to another computer as a recommended generated item, wherein the other computer stores the recommended generated item in a data structure.

7. The method of claim 1 , further comprising:

identifying, by the at least one hardware processor, a generated item in the matrix as cold based on a cold threshold.

8. The method of claim 1 , further comprising:

normalizing, by the at least one hardware processor, the generated-item-by-generated-item matrix.

9. The method of claim 1 , further comprising:

representing, by the at least one hardware processor, a number of observed co-occurrence transactions for a generated item in a diagonal of the generated-item-by-generated-item matrix.

10. The method of claim 1 , wherein

determining a location of the cold generated item in the high-dimensional embedded vector space via one or more attributes of the cold generated item comprises:

calculating, by the at least one hardware processor, vector values of text associated with the cold generated item.

11. The method of claim 10 , wherein:

the text associated with the cold generated item comprises a title of the cold generated item.

12. The method of claim 10 , wherein:

the high-dimensional embedded vector space has between 100 and 1,000 dimensions.

13. The method of claim 10 , wherein:

calculating vector values of text associated with the cold generated item comprises:

numerically representing a word within the text based on surrounding words of the word.

14. The method of claim 10 , wherein:

calculating vector values of text describing the cold generated item comprises:

applying a word-to-vector function.

15. The method of claim 1 , wherein:

finding the nearest neighbor warm generated item comprises finding an approximate nearest neighbor.

16. A computing system comprising:

at least one hardware processor; and

one or more non-transitory computer-readable media storing:

a generated-item-by-generated-item matrix representing observed co-occurrences within transactions of generated items from a generated items transactions database, wherein the generated-item-by-generated-item matrix comprises at least one sparse data scenario for a generated item represented in the matrix; and

computer-executable instructions that, when executed by the at least one hardware processor, cause the hardware processor to:

find a cold generated item in the generated-item-by-generated-item matrix;

embed a plurality of warm generated items into a high-dimensional embedded vector space;

determine a location of the cold generated item in the high-dimensional embedded vector space based on one or more attributes of the cold generated item;

find, in the high-dimensional embedded vector space, a nearest neighbor warm generated item of the cold generated item using a nearest neighbor search technique, including calculating distances between the location of the cold generated item and positions of the plurality of warm generated items in the high-dimensional embedded vector space;

identify the nearest neighbor warm generated item as a suitable proxy for the cold generated item during recommendation processing;

update the generated-item-by-generated-item matrix to associate the cold generated item with the nearest neighbor warm generated item as its proxy; and

output, to an online portal, a recommendation based on the updated generated-item-by-generated-item matrix.

17. The computing system of claim 16 further comprising:

a recommendation service configured to receive a request for a recommended generated item based on an input generated item, wherein the recommendation service is configured to provide the recommended generated item based on the updated generated-item-by-generated-item matrix, in which matrix entries associated with the nearest neighbor warm generated item have been copied to matrix entries associated with the cold generated item.

18. The computing system of claim 16 wherein:

the plurality of warm generated items is embedded into the high-dimensional embedded vector space based on respective textual descriptions.

19. The computing system of claim 16 , wherein the computer-executable instructions, when executed by the at least one hardware processor, further cause the hardware processor to:

filter warm approximate nearest neighbors of the cold generated item with fallback category filtering based on categories of the cold generated item and the warm approximate nearest neighbors.

20. One or more non-transitory computer-readable media having stored therein computer-executable instructions that when executed by at least one hardware processor of a computing system, cause the computing system to perform:

representing a plurality of generated items from a generated items transactions database in a generated item co-occurrence matrix, wherein the generated item co-occurrence matrix comprises at least one sparse data scenario for a generated item represented in the matrix;

finding a cold generated item in the generated item co-occurrence matrix:

embedding at least a subset of the plurality of generated items into a high-dimensional embedded vector space;

determining a location of the cold generated item in the high-dimensional embedded vector space via one or more attributes of the cold generated item;

finding, in the high-dimensional embedded vector space, a nearest neighbor warm generated item of the cold generated item with a nearest neighbor search technique, comprising calculating distances between the location of the cold generated item and positions of the subset of the plurality of generated items in the high-dimensional embedded vector space;

identifying the nearest neighbor warm generated item as a suitable proxy for the cold generated item during recommendation processing;

updating the generated item co-occurrence matrix to associate the cold generated item with the nearest neighbor warm generated item; and

outputting, to an online portal, a recommendation based on the updated generated item co-occurrence matrix.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2023
From: PENDAR, NICK; RAO, ARJUN
To: SAP SE
Reel/Frame 062303/0082 →
Continuity (1)
Related Publication 20240202797A1 · Jun 20, 2024
References Cited (83)
US 7987188B2 · Neylon · 2011 [cited by examiner]
US 8386336B1 · Fox · 2013 [cited by examiner]
US 8417713B1 · Blair-Goldensohn · 2013 [cited by examiner]
US 9058765B1 · Mallick · 2015 [cited by examiner]
US 9075861B2 · Aravamudan · 2015 [cited by examiner]
US 9524518B1 · Singer · 2016 [cited by examiner]
US 9734634B1 · Mott · 2017 [cited by examiner]
US 11321580B1 · Walczak · 2022 [cited by examiner]
US 11769193B2 · Klein · 2023 [cited by examiner]
US 20010021914A1 · Jacobi · 2001 [cited by examiner]
US 20050162670A1 · Shuler · 2005 [cited by examiner]
US 20050256778A1 · Boyd · 2005 [cited by examiner]
US 20070043338A1 · Moll · 2007 [cited by applicant]
US 20070046675A1 · Iguchi · 2007 [cited by examiner]
US 20070197896A1 · Moll · 2007 [cited by applicant]
US 20090069229A1 · Smith · 2009 [cited by applicant]
US 20090110089A1 · Green · 2009 [cited by examiner]
US 20090125371A1 · Neylon · 2009 [cited by examiner]
US 20100268661A1 · Levy · 2010 [cited by examiner]
US 20110093249A1 · Holmes · 2011 [cited by applicant]
US 20110153362A1 · Valin · 2011 [cited by examiner]
US 20110238083A1 · Moll · 2011 [cited by examiner]
US 20120321759A1 · Marinkovich · 2012 [cited by examiner]
US 20130091034A1 · Gudmundsson · 2013 [cited by examiner]
US 20130215116A1 · Siddique · 2013 [cited by examiner]
US 20130325558A1 · Rosenberg · 2013 [cited by examiner]
US 20140081701A1 · Lakshminarayanan · 2014 [cited by examiner]
US 20140195931A1 · Kwon · 2014 [cited by examiner]
US 20140201126A1 · Zadeh · 2014 [cited by examiner]
US 20140289167A1 · Rosenberg · 2014 [cited by examiner]
US 20140351079A1 · Dong · 2014 [cited by examiner]
US 20150242949A1 · Phillips, IV · 2015 [cited by examiner]
US 20150290795A1 · Oleynik · 2015 [cited by examiner]
US 20150379732A1 · Sayre, III · 2015 [cited by examiner]
US 20160059412A1 · Oleynik · 2016 [cited by examiner]
US 20160127710A1 · Saban · 2016 [cited by examiner]
US 20160162975A1 · Chen · 2016 [cited by examiner]
US 20160210602A1 · Siddique · 2016 [cited by examiner]
US 20170171580A1 · Hirsch · 2017 [cited by applicant]
US 20170193997A1 · Chen · 2017 [cited by examiner]
US 20170323368A1 · Eastman · 2017 [cited by examiner]
US 20180047208A1 · Marin · 2018 [cited by examiner]
US 20180204111A1 · Zadeh · 2018 [cited by examiner]
US 20180217990A1 · Kumar · 2018 [cited by examiner]
US 20180218063A1 · Nag · 2018 [cited by examiner]
US 20180218082A1 · Mitra · 2018 [cited by examiner]
US 20180218087A1 · Rapaka · 2018 [cited by examiner]
US 20180276869A1 · Matts · 2018 [cited by examiner]
US 20180276883A1 · D'Alessandro · 2018 [cited by examiner]
US 20190098039A1 · Gates · 2019 [cited by examiner]
US 20190099124A1 · Mattis · 2019 [cited by examiner]
US 20190295124A1 · Ramesh · 2019 [cited by examiner]
US 20190304000A1 · Simpson · 2019 [cited by examiner]
US 20200184278A1 · Zadeh · 2020 [cited by examiner]
US 20200302337A1 · Jeffery et al. · 2020 [cited by applicant]
US 20200394211A1 · Pendar · 2020 [cited by applicant]
US 20210055973A1 · Pendar et al. · 2021 [cited by applicant]
US 20210109961A1 · Pendar · 2021 [cited by applicant]
US 20210110457A1 · Polanía Cabrera · 2021 [cited by examiner]
US 20210342701A1 · Ayush · 2021 [cited by examiner]
US 20210366023A1 · Maldonado · 2021 [cited by examiner]
US 20220058714A1 · Chen · 2022 [cited by examiner]
US 20220084296A1 · Sadalgi · 2022 [cited by examiner]
US 20220121884A1 · Zadeh · 2022 [cited by examiner]
US 20220179895A1 · Pendar · 2022 [cited by applicant]
US 20220198388A1 · Simpson · 2022 [cited by examiner]
US 20220198562A1 · Cella · 2022 [cited by examiner]
US 20220215471A1 · Simpson · 2022 [cited by examiner]
US 20220230189A1 · Jeffery et al. · 2022 [cited by applicant]
US 20220245574A1 · Cella · 2022 [cited by examiner]
US 20220245702A1 · Sundaresan · 2022 [cited by examiner]
US 20220300828A1 · Daly et al. · 2022 [cited by applicant]
US 20240202798A1 · Pendar et al. · 2024 [cited by applicant]
Zhu, Yongchun, et al. “Learning to warm up cold item embeddings for cold-start recommendation with meta scaling and shifting networks.” Proceedings of the 44th International ACM SIGIR Conference on Research and Developm… [cited by examiner]
Wei, Yinwei, et al. “Contrastive learning for cold-start recommendation.” Proceedings of the 29th ACM international conference on multimedia. 2021. (Year: 2021). [cited by examiner]
“Approximate Nearest Neighbors Oh Yeah (ANNOY),” AAU Social Data Science Deep Learning, 2019 Portfolio, Aalborg University, sds-aau.github.io, visited Nov. 16, 2022, 7 pages. [cited by applicant]
“Nearest Neighbor Search,” [cited by applicant]
Hwang, “A Fast Nearest Neighbor Search Algorithm by Nonlinear Embedding,” [cited by applicant]
Trabelsi, “Comprehensive Guide to Approximate Nearest Neighbors Algorithms,” [cited by applicant]
“Word2vec,” [cited by applicant]
“Hierarchical Navigable Small Worlds (HNSW): Vector Search,” [cited by applicant]
Jafri et al., “Deep transfer learning with multimodal embedding to tackle cold-start and sparsity issues in recommendation system,” PloS ONE 17.8, Aug. 25, 2022, 23 pages. [cited by applicant]
Bell et al., “Improved neighborhood-based collaborative filtering,” KDD cup and workshop at the 13th ACM SIGKDD International Conference on Knowledge, Discovery and Data Mining, 8 pages, 2007. [cited by applicant]