IP Library › Granted Patent US 12,749,107
Granted Patent B2
US 12,749,107 · App. 18/543,484 · Granted Sep 29, 2026

Systems and methods for determining substitutions

Inventors: Kamiya Motwani (Sunnyvale, CA); Sushant Kumar (San Jose, CA); Kannan Achan (Saratoga, CA); Vidya Sagar Kalidindi (Milpitas, CA); Rahul Ramkumar (Santa Clara, CA); Derrick Lagomarsino (San Mateo, CA)
Assignee: WALMART APOLLO, LLC
G06Q30/0631G06Q30/0627G06Q30/0629G06Q30/06291G06Q30/06313
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,749,107
App. No.
18/543,484
Granted
Sep 29, 2026
Kind
B2
Abstract

A system including one or more processors and one or more non-transitory computer-readable media storing computing instructions that, when executed on the one or more processors, cause the one or more processors to perform operations: training, using labeled training data and a list of substitutes for an item, a machine learning algorithm; determining, using the machine learning algorithm, as trained, a respective similarity score for each substitute of the list of substitutes; ranking each substitute of the list of substitutes based on its respective similarity score; and re-training the machine learning algorithm based on at least the labeled training data and a highest ranked substitute of the list of substitutes. Other embodiments are disclosed herein.

Claims (95)

1 . A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing computing instructions that, when executed on the one or more processors, cause the one or more processors to perform operations comprising:

training, using labeled training data, a machine learning algorithm, wherein the labeled training data comprises positive and negative historical acceptance data, regarding interactions with a graphical user interface (GUI) via one or more devices, that includes at least one of:

a probability of a similarity between a historical title for a historical element of the GUI and a historical description of a historical substitute,

a taxonomy difference for the historical element and the historical substitute,

a difference between the historical element and the historical substitute, or

a normalized rank comparison for the historical element and the historical substitute;

using, based on current data and without requiring use of historical substitute data for an element, the machine learning algorithm, as trained, to determine machine learning outputs for a list of substitutes for the element; and

re-training the machine learning algorithm based on at least the labeled training data and a highest ranked substitute from a ranking of the list of substitutes based on the machine learning outputs.

2 . The system of claim 1 , wherein the computing instructions, when executed on the one or more processors, further cause the one or more processors to perform an operation comprising:

determining the list of substitutes comprising:

accessing an item taxonomy database comprising a respective item taxonomy for each item in a catalog of items;

identifying a specific item taxonomy for the item;

filtering out non-matching items of the catalog of items, wherein the non-matching items comprise a different item taxonomy than the specific item taxonomy of the item; and

adding matching items of the catalog of items to the list of substitutes, wherein the matching items of the catalog of items comprise the specific item taxonomy.

3 . The system of claim 1 , wherein the machine learning outputs are based on comparisons of a respective attribute for each substitute of the list of substitutes and an attribute of the element.

4 . The system of claim 1 , wherein the operations further comprise:

storing information, based on a selection of the highest ranked substitute, as additional training data for the labeled training data.

5 . The system of claim 1 , wherein the operations further comprise:

determining the ranking of the list of substitutes comprises by:

when two or more substitutes of the list of substitutes have approximately similar final scores, determining a quantity ratio comprising a ratio of a quantity for the element to a respective quantity for each substitute of the list of substitutes, wherein:

the quantity for the element comprises:

either (i) a weight of the element or (ii) a volume of the element, divided by a count of the element; and

the respective quantity for each substitute of the list of substitutes comprises:

either (i) a respective weight of each substitute of the list of substitutes or (ii) a respective volume of each substitute of the list of substitutes, divided by a respective count of each substitute of the list of substitutes.

6 . The system of claim 1 , wherein the computing instructions, when executed on the one or more processors, further cause the one or more processors to perform an operation comprising:

determining a respective historical substitution score comprising:

determining a respective number of successful substitutions for each substitute of the list of substitutes;

determining a respective number of unsuccessful substitutions for each substitute of the list of substitutes;

calculating a respective historical acceptance rate for each substitute of the list of substitutes using the respective number of successful substitutions for each substitute of the list of substitutes and the respective number of unsuccessful substitutions for each substitute of the list of substitutes; and

assigning the respective historical substitution score based on the respective historical acceptance rate for each substitution substitute of the list of substitutes and the respective number of successful substitutions for each substitute of the list of substitutes.

7 . The system of claim 1 , wherein the computing instructions, when executed on the one or more processors, further cause the one or more processors to perform an operation comprising:

inputting a respective similarity score for each substitute of the list of substitutes and a respective historical substitution score for each substitute of the list of substitutes into a feed-forward neural network comprising one or more rectifiers having ReLU non-linearity,

wherein the feed-forward neural network is trained without unsupervised pre-training.

8 . The system of claim 1 , wherein the computing instructions, when executed on the one or more processors, further cause the one or more processors to perform operations comprising:

determining respective qualities for each substitute of the list of substitutes;

facilitating a display, on a user interface of a user device, of the highest ranked substitute of the list of substitutes;

receiving, from the user interface of the user device, a selection of the highest ranked substitute;

after receiving the selection of the highest ranked substitute, substituting the highest ranked substitute;

receiving a respective title for each substitute of the list of substitutes; and

identifying a respective brand for each substitute of the list of substitutes using the respective title for each substitute of the list of substitutes.

9 . The system of claim 1 , wherein the computing instructions, when executed on the one or more processors, further cause the one or more processors to perform operations comprising:

when an item, corresponding to the element, is out of stock, comparing a respective dietary restriction for each substitute of the list of substitutes with a dietary restriction of the item; and

when a dietary restriction of a substitute of a list of substitutions does not match the dietary restriction of the item, removing the substitute of the list of substitutions from the list of substitutes.

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

training, using labeled training data, a machine learning algorithm, wherein the labeled training data comprises positive and negative historical acceptance data that includes at least one of:

a probability of a similarity between a historical title for a historical item and a historical description of a historical substitute,

a taxonomy difference for the historical item and the historical substitute,

a difference between the historical item and the historical substitute, or

a normalized rank comparison for the historical item and the historical substitute;

using, based on current data and without requiring use of historical substitute data for an item, the machine learning algorithm, as trained, to determine a ranking of a list of substitutes for the item; and

re-training the machine learning algorithm based on at least the labeled training data and a highest ranked substitute from the ranking of the list of substitutes.

11 . The method of claim 10 , further comprising:

determining the list of substitutes for the item comprising:

accessing an item taxonomy database comprising a respective item taxonomy for each item in a catalog of items;

identifying a specific item taxonomy for the item;

filtering out non-matching items of the catalog of items, wherein the non-matching items comprise a different item taxonomy than the specific item taxonomy of the item; and

adding matching items of the catalog of items to the list of substitutes, wherein the matching items of the catalog of items comprise the specific item taxonomy.

12 . The method of claim 10 , further comprising:

determining a respective title similarity score for each substitute of the list of substitutes by comparing:

a respective brand for each substitute of the list of substitutes;

a respective attribute for each substitute of the list of substitutes and an attribute of the item; and

a respective product for each substitute of the list of substitutes and a product of the item.

13 . The method of claim 10 , further comprising:

storing information, based on a selection of the highest ranked substitute, as additional training data for the labeled training data.

14 . The method of claim 10 , wherein ranking each substitute of the list of substitutes further comprises further comprising:

when two or more substitutes of the list of substitutes have approximately similar final scores, determining the ranking of the list of substitutes based on a quantity ratio comprising a ratio of a quantity for the item to a respective quantity for each substitute of the list of substitutes, wherein:

the quantity for the item comprises:

either (i) a weight of the item or (ii) a volume of the item, divided by a count of the item; and

the respective quantity for each substitute of the list of substitutes comprises:

either (i) a respective weight of each substitute of the list of substitutes or (ii) a respective volume of each substitute of the list of substitutes, divided by a respective count of each substitute of the list of substitutes.

15 . The method of claim 10 further comprising:

determining a respective historical substitution score comprising:

determining a respective number of successful substitutions for each substitute of the list of substitutes;

determining a respective number of unsuccessful substitutions for each substitute of the list of substitutes;

calculating a respective historical acceptance rate for each substitute of the list of substitutes using the respective number of successful substitutions for each substitute of the list of substitutes and the respective number of unsuccessful substitutions for each substitute of the list of substitutes; and

assigning the respective historical substitution score based on the respective historical acceptance rate for each substitution substitute of the list of substitutes and the respective number of successful substitutions for each substitute of the list of substitutes.

16 . The method of claim 10 , further comprising:

inputting a respective similarity score for each substitute of the list of substitutes and a respective historical substitution score for each substitute of the list of substitutes into a feed-forward neural network comprising one or more rectifiers having ReLU non-linearity, wherein the feed-forward neural network is trained without unsupervised pre-training.

17 . The method of claim 10 , further comprising:

facilitating a display, on a user interface of a user device, of information identifying the highest ranked substitute of the list of substitutes;

receiving, from the user interface of the user device, a selection of the highest ranked substitute of the list of substitutes; and

after receiving the selection of the highest ranked substitute, substituting the highest ranked substitute for the item.

18 . A non-transitory, computer-readable medium comprising instructions that, when executed by a processing resource, cause the processing resource to:

train, using labeled training data, a machine learning algorithm, wherein the labeled training data comprises positive and negative historical acceptance data that includes at least one of:

a probability of a similarity between a historical title for a historical item and a historical description of a historical substitute,

a taxonomy difference for the historical item and the historical substitute,

a difference between the historical item and the historical substitute, or

a normalized rank comparison for the historical item and the historical substitute;

use the machine learning algorithm, as trained, to determine a ranking of a list of substitutes for an item without requiring use of historical substitute data for the item; and

re-train the machine learning algorithm based on at least the labeled training data and a highest ranked substitute from the ranking of the list of substitutes.

19 . The non-transitory, computer-readable medium of claim 18 , wherein the instructions are further to cause the processing resource to:

determining the list of substitutes for the item by accessing an item taxonomy database comprising a respective item taxonomy for each item in a catalog of items.

20 . The non-transitory, computer-readable medium of claim 18 , wherein the positive and negative historical acceptance data includes the probability of the similarity between the historical title for the historical item and the historical description of the historical substitute.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2024
From: MOTWANI, KAMIYA; KUMAR, SUSHANT; ACHAN, KANNAN; KALIDINDI, VIDYA SAGAR; RAMKUMAR, RAHUL; LAGOMARSINO, DERRICK
To: WALMART APOLLO, LLC
Reel/Frame 067210/0530 →
Continuity (3)
Continuation 17833090 · Jun 6, 2022
Continuation 16287740 · Feb 27, 2019
Related Publication 20240119504A1 · Apr 11, 2024
References Cited (51)
US 7328842B2 · Wagner et al. · 2008 [cited by applicant]
US 7552098B1 · Haffner · 2009 [cited by examiner]
US 9202246B1 · Bundy et al. · 2015 [cited by applicant]
US 9519620B1 · Pinel · 2016 [cited by examiner]
US 10354656B2 · Zhao · 2019 [cited by examiner]
US 10423861B2 · Gao et al. · 2019 [cited by applicant]
US 10430854B2 · Guo et al. · 2019 [cited by applicant]
US 10490182B1 · Madhavaraj et al. · 2019 [cited by applicant]
US 10585900B2 · Byron et al. · 2020 [cited by applicant]
US 10755182B2 · Allen · 2020 [cited by examiner]
US 11068960B2 · Xu et al. · 2021 [cited by applicant]
US 11100558B1 · Chanda · 2021 [cited by examiner]
US 11244340B1 · Morin · 2022 [cited by examiner]
US 11354719B2 · Motwani et al. · 2022 [cited by applicant]
US 11367119B2 · Joshi · 2022 [cited by examiner]
US 11373231B2 · Soohoo · 2022 [cited by examiner]
US 11435873B1 · Sharma · 2022 [cited by examiner]
US 11455656B2 · Ma · 2022 [cited by examiner]
US 11756101B2 · Joshi · 2023 [cited by examiner]
US 11847685B2 · Motwani · 2023 [cited by examiner]
US 12008622B2 · Cho · 2024 [cited by examiner]
US 12154158B2 · Xu · 2024 [cited by examiner]
US 12367518B2 · Cho · 2025 [cited by examiner]
US 20040093274A1 · Vanska et al. · 2004 [cited by applicant]
US 20040143600A1 · Musgrove et al. · 2004 [cited by applicant]
US 20040199401A1 · Wagner et al. · 2004 [cited by applicant]
US 20090049002A1 · He et al. · 2009 [cited by applicant]
US 20090055330A1 · Medasani et al. · 2009 [cited by applicant]
US 20120011477A1 · Sivadas · 2012 [cited by examiner]
US 20140280201A1 · Vuong et al. · 2014 [cited by applicant]
US 20170032275A1 · Lytkin · 2017 [cited by examiner]
US 20170193582A1 · Guo et al. · 2017 [cited by applicant]
US 20170193592A1 · Avidan · 2017 [cited by examiner]
US 20180046937A1 · Allen · 2018 [cited by examiner]
US 20180144209A1 · Kim · 2018 [cited by examiner]
US 20180165747A1 · Patten et al. · 2018 [cited by applicant]
US 20180336386A1 · Holub et al. · 2018 [cited by applicant]
US 20180374486A1 · Zhao · 2018 [cited by examiner]
US 20190012725A1 · Chen et al. · 2019 [cited by applicant]
US 20190057401A1 · Subramanya · 2019 [cited by examiner]
US 20190102693A1 · Yates · 2019 [cited by examiner]
US 20190130005A1 · Byron et al. · 2019 [cited by applicant]
US 20190244088A1 · Yang · 2019 [cited by applicant]
US 20200250729A1 · Soohoo et al. · 2020 [cited by applicant]
US 20200250731A1 · Soohoo et al. · 2020 [cited by applicant]
US 20200380578A1 · Xu et al. · 2020 [cited by applicant]
US 20210233143A1 · Cho et al. · 2021 [cited by applicant]
US 20210233145A1 · Joshi et al. · 2021 [cited by applicant]
US 20220261873A1 · Xu et al. · 2022 [cited by applicant]
US 20220277377A1 · Joshi et al. · 2022 [cited by applicant]
Zhang, W., et al., “Inferring Substitutable Products With Deep Network Embedding,” Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence (IJCAI-19), pp. 4306-4312 Oct. 18, 2018. [cited by applicant]