IP Library Granted Patent US 12,619,905
Granted Patent B2
US 12,619,905 · App. 17/163,396 · Granted May 5, 2026

Flexible embedding systems and methods for real-time comparisons

Inventors: Yichuan Niu (Newark, CA); Adrian Sonjong Yi (San Francisco, CA); Peng Yang (San Jose, CA); Valeriy Pelyushenko (San Jose, CA); Haibo Yan (San Bruno, CA); Vivek Kumar (Bellevue, WA); Jayanth Korlimarla (Sunnyvale, CA); Rajesh Garigipati (Dublin, CA)
Assignee: Walmart Apollo, LLC
G06N20/00G06F16/90335
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,619,905
App. No.
17/163,396
Granted
May 5, 2026
Kind
B2
Abstract

Systems and methods for selecting items from a pool of items based on comparisons of composite embeddings are disclosed. A first initial embedding is obtained from a first database for each item in a pool of items and a second initial embedding is obtained from a second database for each item in the pool of items. The first initial embedding is generated using a first embedding model and the second initial embedding is generated using a second embedding model. A first composite embedding is generated for each item in the pool of items comprising the first initial embedding and the second initial embedding; and compare the first composite embedding for each item in the pool of items to a first anchor embedding, wherein the first anchor embedding comprises a first initial anchor embedding generated using the first embedding model and a second initial anchor embedding generated using the second embedding model.

Claims (90)

1 . A system, comprising:

a processor; and

a non-transitory memory storing instructions that when executed, cause the processor to:

generate in real-time a first composite item embedding for each item in a pool of items by:

obtaining a first initial item embedding from a first database for each item in a pool of items, wherein the first initial item embedding is generated using a first embedding model and characterizes item-specific features of the corresponding item;

obtaining a second initial item embedding from a second database for each item in the pool of items, wherein the second initial item embedding is generated using a second embedding model different than the first embedding model, and wherein the second initial item embedding characterizes category features for a category of the corresponding item; and

generating a first composite item embedding by combining the first initial item embedding and the second initial item embedding;

receive in real-time a search query provided by a respective user;

generate in real-time a first anchor embedding based on the search query by:

generating, by the first embedding model, a first initial anchor embedding based on a target string input;

generating, by the second embedding model, a second initial anchor embedding based on the search query; and

generating the first anchor embedding by combining the first initial anchor embedding and the second initial anchor embedding;

determine a set of top N common input targets from a pool of hot strings distinct from the pool of items, the pool of hot strings defining frequently used targets by users and being updated periodically through a network interface;

generate in real-time a hot string anchor embedding based on the top N common input targets, wherein the top N common input targets are the most frequent strings received by the system;

simultaneously compare the first anchor embedding to the first composite item embedding for each item in the pool of items;

simultaneously compare the first anchor embedding to the hot string anchor embedding;

responsive to the first anchor embedding and the hot string anchor embedding being different, generate a similarity score for each item in the pool of items determined by the comparison of the first composite item embedding for each item in the pool of items to the first anchor embedding;

generate a set of candidate items based, at least in part, on the similarity score; and

generate a user interface including one or more interface elements representative of at least one candidate item in the set of candidate items for display to the respective user.

2 . The system of claim 1 , wherein the first composite item embedding is generated by concatenating the second initial item embedding to the first initial item embedding.

3 . The system of claim 1 , wherein the processor is configured to read instructions to apply a weighting factor to the first initial item embedding and the second initial item embedding for generating the first composite item embedding prior to comparing the first composite item embedding for each item in the pool of items to the first anchor embedding, wherein the first composite item embedding for each item in the pool of items is compared to the first anchor embedding by a cosine similarity.

4 . The system of claim 1 , wherein the processor is configured to read instructions to:

obtain a third initial item embedding from a third database for each item in the pool of items;

generate a second composite item embedding for each item in the pool of items comprising the first initial item embedding and the third initial item embedding;

generate, by the third embedding model, a third initial anchor embedding based on the search query from a user;

generate a second anchor embedding based on the search query comprising the first initial anchor embedding and the third initial anchor embedding; and

compare the second composite item embedding for each item in the pool of items to the second anchor embedding.

5 . The system of claim 4 , wherein the third initial item embedding and the third initial anchor embedding are generated by a third embedding model different than the first and second embedding models.

6 . The system of claim 5 , wherein the second embedding model is generated by training a first model type using a first training dataset and the third embedding model is generated by training the first model type using a second training dataset.

7 . The system of claim 1 , wherein the first initial item embedding and the second initial item embedding are normalized prior to generating the first composite item embedding.

8 . The system of claim 1 , wherein the processor is configured to apply a set of weighting factors to the first composite item embedding.

9 . The system of claim 8 , wherein the weighting factors are applied as a dot product.

10 . A non-transitory computer readable medium having instructions stored thereon, wherein the instructions, when executed by a processor cause a device to perform operations comprising:

generating in real-time a first composite item embedding for each item in a pool of items by:

obtaining a first initial item embedding from a first database for each item in a pool of items, wherein the first initial item embedding is generated using a first embedding model and characterizes item-specific features of the corresponding item;

obtaining a second initial item embedding from a second database for each item in the pool of items, wherein the second initial item embedding is generated using a second embedding model different than the first embedding model, and wherein the second initial item embedding characterizes category features for a category of the corresponding item; and

generating a first composite item embedding by combining the first initial item embedding and the second initial item embedding;

receiving in real-time a search query provided by a respective user;

generating in real-time a first anchor embedding based on the search query by:

generating, by the first embedding model, a first initial anchor embedding based on a target string input;

generating, by the second embedding model, a second initial anchor embedding based on the search query; and

generating the first anchor embedding by combining the first initial anchor embedding and the second initial anchor embedding;

determining a set of top N common input targets from a pool of hot strings distinct from the pool of items, the pool of hot strings defining frequently used targets by users and being updated periodically through a network interface;

generating in real-time a hot string anchor embedding based on the top N common input targets, wherein the top N common input targets are the most common strings received;

simultaneously comparing the first anchor embedding to the first composite item embedding for each item in the pool of items;

simultaneously comparing the first anchor embedding to the hot string anchor embedding;

when the first anchor embedding and the hot string anchor embedding do not match, generating a similarity score for each item in the pool of items determined by the comparison of the first composite item embedding for each item in the pool of items to the first anchor embedding;

generating a set of candidate items based, at least in part, on the similarity score; and

generating a user interface including one or more interface elements representative of at least one candidate item in the set of candidate items for display to the respective user.

11 . The non-transitory computer readable medium of claim 10 , wherein the processor causes a device to perform operations comprising applying a weighting factor to the first initial item embedding and the second initial item embedding for generating the first composite item embedding prior to comparing the first composite item embedding for each item in the pool of items to the first anchor embedding, wherein the first composite item embedding for each item in the pool of items is compared to the first anchor embedding by a cosine similarity.

12 . The non-transitory computer readable medium of claim 10 , wherein the processor causes a device to perform operations comprising:

obtaining a third initial item embedding for each item in the pool of items;

generating a second composite item embedding for each item in the pool of items by concatenating the first initial item embedding and the third initial item embedding;

generating, by the third embedding model, a third initial anchor embedding based on the target string input;

generate a second anchor embedding based on the search query comprising the first initial anchor embedding and the third initial anchor embedding; and

compare the second composite item embedding for each item in the pool of items to the second anchor embedding.

13 . The non-transitory computer readable medium of claim 12 , wherein the third initial item embedding and the third initial anchor embedding are generated by a third embedding model different than the first and second embedding models.

14 . The non-transitory computer readable medium of claim 10 , wherein the first initial item embedding and the second initial item embedding are normalized prior to generating the first composite item embedding.

15 . The non-transitory computer readable medium of claim 10 , wherein the processor is configured to apply a set of weighting factors to the first composite item embedding.

16 . The non-transitory computer readable medium of claim 15 , wherein the weighting factors are applied as a dot product.

17 . The non-transitory computer readable medium of claim 10 , wherein the processor causes a device to perform operations comprising:

generating the first anchor embedding by concatenating the second initial anchor embedding to the first initial anchor embedding prior to comparing the first composite item embedding for each item in the pool of items to the first anchor embedding.

18 . A method, comprising:

generating in real-time a first initial item embedding for each item in a pool of items using a first embedding model, wherein each first initial item embedding characterizes item-specific features of the corresponding item;

generating in real-time a second initial item embedding for each item in the pool of items using a second embedding model, wherein each second initial item embedding characterizes category features for a category of the corresponding item;

generating in real-time a third initial item embedding for each item in the pool of items using a third embedding model;

receiving a first set of embedding parameters, wherein the first set of embedding parameters identify the first initial item embedding and the second initial item embedding, a first weighting factor, and a second weighting factor;

generating in real-time a first composite item embedding for each item in the pool of items, wherein each first item embedding is generated at least in part by:

normalizing the first initial item embedding and the second initial item embedding;

applying the first weighting factor the first initial item embedding and the second weighting factor to the second initial item embedding; and

concatenating the first initial item embedding and the second initial item embedding;

receiving in real-time a first search query provided by a respective user;

generating in real-time a first anchor embedding for the first search query by concatenating a first initial anchor embedding and a second initial anchor embedding, wherein the first initial anchor embedding is generated using the first embedding model and the second initial anchor embedding is generated using the second embedding model, and wherein the first weighting factor is applied to the first initial anchor embedding and the second weighting factor is applied to the second initial anchor embedding;

determining a set of top N common input targets from a pool of hot strings distinct from the pool of items, the pool of hot strings defining frequently used targets by users and being updated periodically through a network interface;

generating in real-time a hot string anchor embedding based on the top N common input targets, wherein the top N common input targets are the most common strings received;

simultaneously comparing the first anchor embedding to the first composite item embedding for each item in the pool of items;

simultaneously comparing the first anchor embedding to the hot string anchor embedding;

when the first anchor embedding and the hot string anchor embedding match, loading the first anchor embedding based on the first search query from a first database;

when the first anchor embedding and the hot string anchor embedding do not match, generating a similarity score for each item in the pool of items determined by the comparison of the first composite item embedding for each item in the pool of items to the first anchor embedding;

generating a set of candidate items based, at least in part, on the similarity score; and generating a user interface including one or more interface elements representative of at least one candidate item in the set of candidate items for display to the respective user.

19 . The method of claim 18 , wherein the first composite item embedding for each item in the pool of items is compared to the first anchor embedding by a cosine similarity.

20 . The method of claim 18 , comprising:

receiving a second set of embedding parameters, wherein the embedding parameters identify the first initial item embedding and the third initial item embedding, a third weighting factor, and a fourth weighting factor;

generating a second composite item embedding for each item in the pool of items, wherein each second composite item embedding is generated at least in part by:

normalizing the first initial item embedding and the third initial item embedding;

applying the third weighting factor the first initial item embedding and the fourth weighting factor to the third initial item embedding; and

concatenating the first initial item embedding and the third initial item embedding;

receiving a second search query;

generating a second anchor embedding for the second search query by concatenating a third initial anchor embedding and a fourth initial anchor embedding, wherein the third initial anchor embedding is generated using the first embedding model and the fourth initial anchor embedding is generated using the third embedding model, and wherein the third weighting factor is applied to the third initial anchor embedding and the fourth weighting factor is applied to the fourth initial anchor embedding; and

comparing the second composite item embedding for each item in the pool of items to the second anchor embedding for the second search query.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2025
From: NIU, YICHUAN; YI, ADRIAN SONJONG; YANG, PENG; PELYUSHENKO, VALERIY; YAN, HAIBO; KUMAR, VIVEK; KORLIMARLA, JAYANTH; GARIGIPATI, RAJESH
To: WALMART APOLLO, LLC
Reel/Frame 072670/0219 →
Continuity (1)
Related Publication 20220245506A1 · Aug 4, 2022
References Cited (30)
US 11048759B1 · Pope · 2021 [cited by examiner]
US 20180204120A1 · Rei et al. · 2018 [cited by applicant]
US 20180341719A1 · Bhatia et al. · 2018 [cited by applicant]
US 20190114362A1 · Subbian · 2019 [cited by examiner]
US 20190130202A1 · Doumbouya et al. · 2019 [cited by applicant]
US 20190251184A1 · Shan · 2019 [cited by examiner]
US 20190251595A1 · Ordentlich et al. · 2019 [cited by applicant]
US 20200035002A1 · Epasto et al. · 2020 [cited by applicant]
US 20200242507A1 · Gan · 2020 [cited by examiner]
US 20200265297A1 · Pan et al. · 2020 [cited by applicant]
US 20200380403A1 · Aggarawal et al. · 2020 [cited by applicant]
US 20210073891A1 · Al Jadda et al. · 2021 [cited by applicant]
US 20210110436A1 · Sankar · 2021 [cited by examiner]
US 20210392154A1 · Waplington · 2021 [cited by examiner]
US 20220172805A1 · Liu · 2022 [cited by examiner]
US 20220197961A1 · Baek · 2022 [cited by examiner]
US 20220292123A1 · Hoppe · 2022 [cited by examiner]
US 20230044463A1 · Woolf · 2023 [cited by examiner]
CN 110839001A1 · 2018 [cited by applicant]
Data Science Stack Exchange online discussion, https://datascience.stackexchange.com/questions/63787/where-to-store-embeddings-for-similarity-search (Year: 2019). [cited by examiner]
Hu et al., “Hashing with Angular Reconstructive Embeddings,” 2018, IEEE Transactions on Image Processing, vol. 27, No. 2 (Year: 2018). [cited by examiner]
Nikolaev, Fedor et al., “Joint Word and Entity Embeddings for Entity Retrieval from a knowledge Graph”, Springer Natur Switzerland AG, 2020 found at : https://doi.org/10.1007/978-3-030-45439-5_10, pp. 141-155. [cited by applicant]
Radlinski, Filip et al., “Optimizing Relevance and Revenue In Ad Search: A Query Substitution Approach”, The 31st Annual international ACM SIGIR Conference (SIGIR'08) Jul. 20-24, 2008, Singapore, 8 pages. [cited by applicant]
Zamani, Hamed et al., “ Estimating Embedding Vectors for Queries”, Proceedings of the 2016 ACM International Conference on The Theory of Information Retrieval (ICTIR'16), Sep. 12-16, 2016, Newark, DE, 10 pages. [cited by applicant]
Bordawekar, Rajesh et al., “Enabling Cognitive Intelligence Queries in Relational Databases using Low-dimensional Word Embeddings”, arXiv:1603.07185v1, Mar. 23, 2016, 12 pages. [cited by applicant]
Trabelsi, Eval, “Powering SQL With Machine Learning Capabilities”, found at:: https://towardsdatascience.com/powering-sql-with-machine-learning-capabilities-24eba7d0914, Nov. 15, 2019, 7 pages. [cited by applicant]
Yin, Pencheng et al., “Neural Enquirer: Learning to Query Tables”, ARxIV:1512.00965V1, Dec. 3, 2015, 17 pages. [cited by applicant]
A. Akbik et al., “Pooled Contextualized Embeddings for Named Entity Recognition,” Proceedings of NAACL-HLT 2019, Jun. 2-7, 2019, pp. 724-728. [cited by applicant]
S. Thirumuruganathan et al., “Deep Learning for Blocking in Entity Matching: A Design Space Exploration,” Jul. 2021, pp. 2459-2472. [cited by applicant]
Ristoski, Petar et al., “A Machine Learning Approach for Product Matching and Categorization” https://doi.org/10.3233/SW-18030; (Year 2016); 17 pages. [cited by applicant]