IP Library Granted Patent US 11,640,635
Granted Patent B2
US 11,640,635 · App. 17/351,759 · Granted May 2, 2023

Methods and apparatus for item substitution

Inventors: Da Xu (San Jose, CA); Chuanwei Ruan (Sunnyvale, CA); Kamiya Motwani (Sunnyvale, CA); Evren Korpeoglu (San Jose, CA); Sushant Kumar (Sunnyvale, CA); Kannan Achan (Saratoga, CA)
Assignee: Walmart Apollo, LLC
G06Q30/0631G06N20/00G06Q30/0629
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 11,640,635
App. No.
17/351,759
Granted
May 2, 2023
Kind
B2
Abstract

This application relates to apparatus and methods for automatically identifying substitute items. A computing device can generate matrix data that identifies connection values between a plurality of items. The matrix data may be generated based on the application of one or more machine learning algorithms to historical data identifying accepted or denied item substitutions. The computing device may then receive item data identifying at least one second item and at least one attribute of that second item. The computing device may generate a graph based on the matrix data and the item data to determine connection values between the second item and the plurality of first items. The computing device may then determine a substitute item (e.g., a replacement item) for the second item based on the connection values between the second item and the plurality of first items.

Claims (64)

1. A system comprising:

a database; and

a computing device communicatively coupled to the database and configured to:

obtain, from the database, graph data identifying a graph comprising connection values between a plurality of first items;

obtain, from the database, node data identifying at least one second item;

determine a connection value between each of the plurality of first items to the at least one second item;

generate matrix data identifying a matrix for the at least one second item based on the determined connection values;

adjust the graph data based on an application of a graph convolutional network to the matrix data and the graph data; and

store the adjusted graph data in the database.

2. The system of claim 1 , wherein the computing device is configured to determine that the graph data does not include the node data identifying the at least one second item.

3. The system of claim 1 , wherein determining the connection value between each of the plurality of first items to the at least one second item comprises determining a same connection value between each of the plurality of first items to the at least one second item.

4. The system of claim 1 , wherein adjusting the graph data based on the application of the graph convolutional network to the matrix data and the graph data comprises:

generating a probability value between each of the plurality of first items to the at least one second item; and

adjusting the graph data based on the probability values.

5. The system of claim 1 , wherein generating the graph comprises treating the item data as connected to each of the plurality of first items with a same connection value.

6. The system of claim 1 , wherein the graph convolutional network is a Bayesian latent factor model comprising an encoder and a decoder, wherein the encoder is configured to generate latent variables based on prior probability values, and the decoder is configured to generate current probability values based on the node data and the graph data.

7. The system of claim 1 , wherein the computing device is configured to:

receive item data identifying the at least one second item; and

obtain, from the database, at least one attribute of the at least one second item, wherein determining the connection value between each of the plurality of first items to the at least one second item is based on the at least one attribute.

8. The system of claim 7 , wherein the computing device is configured to:

determine at least one substitute item for the at least one second item based on the determined connection values; and

store, within the database, data identifying the at least one substitute item for the at least one second item.

9. The system of claim 8 , wherein the computing device is configured to:

generate a ranking list based on the determined connection values; and

determine the at least one substitute item based on the generated ranking list.

10. The system of claim 9 , wherein the computing device is configured to:

receive a request for a substitute item for the at least one second item;

obtain, from the database, the data identifying the at least one substitute item; and

transmit, in response to the request, the data identifying the at least one substitution item.

11. A method comprising:

obtaining, from a database, graph data identifying a graph comprising connection values between a plurality of first items;

obtaining, from the database, node data identifying at least one second item;

determining a connection value between each of the plurality of first items to the at least one second item;

generating matrix data identifying a matrix for the at least one second item based on the determined connection values;

adjusting the graph data based on an application of a graph convolutional network to the matrix data and the graph data; and

storing the adjusted graph data in the database.

12. The method of claim 11 comprising determining that the graph data does not include the node data identifying the at least one second item.

13. The method of claim 11 wherein determining the connection value between each of the plurality of first items to the at least one second item comprises determining a same connection value between each of the plurality of first items to the at least one second item.

14. The method of claim 11 wherein adjusting the graph data based on the application of the graph convolutional network to the matrix data and the graph data comprises:

generating a probability value between each of the plurality of first items to the at least one second item; and

adjusting the graph data based on the probability values.

15. The method of claim 11 wherein generating the graph comprises treating the item data as connected to each of the plurality of first items with a same connection value.

16. The method of claim 11 , comprising:

receiving item data identifying the at least one second item;

obtaining, from the database, at least one attribute of the at least one second item, wherein determining the connection value between each of the plurality of first items to the at least one second item is based on the at least one attribute;

determining at least one substitute item for the at least one second item based on the determined connection values; and

storing, within the database, data identifying the at least one substitute item for the at least one second item.

17. The method of claim 16 , comprising:

receiving a request for a substitute item for the at least one second item;

obtaining, from the database, the data identifying the at least one substitute item; and

transmitting, in response to the request, the data identifying the at least one substitution item.

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

obtaining, from a database, graph data identifying a graph comprising connection values between a plurality of first items;

obtaining, from the database, node data identifying at least one second item;

determining a connection value between each of the plurality of first items to the at least one second item;

generating matrix data identifying a matrix for the at least one second item based on the determined connection values;

adjusting the graph data based on an application of a graph convolutional network to the matrix data and the graph data; and

storing the adjusted graph data in the database.

19. The non-transitory computer readable medium of claim 18 wherein determining the connection value between each of the plurality of first items to the at least one second item comprises determining a same connection value between each of the plurality of first items to the at least one second item.

20. The non-transitory computer readable medium of claim 18 further comprising instructions stored thereon that, when executed by at least one processor, further cause the device to perform operations comprising:

receiving item data identifying the at least one second item;

obtaining, from the database, at least one attribute of the at least one second item, wherein determining the connection value between each of the plurality of first items to the at least one second item is based on the at least one attribute;

determining at least one substitute item for the at least one second item based on the determined connection values; and

storing, within the database, data identifying the at least one substitute item for the at least one second item.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2021
From: XU, DA; RUAN, CHUANWEI; MOTWANI, KAMIYA; KORPEOGLU, EVREN; KUMAR, SUSHANT; ACHAN, KANNAN
To: WALMART APOLLO, LLC
Reel/Frame 056587/0630 →
Continuity (2)
Continuation 16424799 · May 29, 2019
Related Publication 20210312526A1 · Oct 7, 2021