IP Library › Granted Patent US 12,430,661
Granted Patent B2
US 12,430,661 · App. 18/299,305 · Granted Sep 30, 2025

Systems and methods for processing product information using a machine-learning model

Inventor: Anbang Wu (Austin, TX)
Assignee: SHOPIFY INC.
G06Q30/0202
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,430,661
App. No.
18/299,305
Granted
Sep 30, 2025
Kind
B2
Abstract

Although sales history may be used to determine which products are likely to be purchased together, new products or stores may have little to no usable sales history. It is challenging to use the sales history of other products or stores because there is no system for uniquely identifying products that is common to all stores. Aspects of the present disclosure provide systems and methods for processing product information using a machine-learning model to predict the likelihood of products being purchased together. According to some aspects of the present disclosure, product information may be encoded to obtain numerical vectors for input to a machine-learning model to transform product information into a format in which it can be leveraged by the machine-learning model to identify co-purchasing trends that may be common to different stores and/or products.

Claims (59)

1. A computer-implemented method comprising:

encoding, for each product in a first set of products, respective product information to obtain a respective numeric vector for that product;

pairing the numeric vectors to obtain a first set of vector pairs, each vector pair in the first set of vector pairs corresponding to a respective pair of products from the first set of products;

obtaining a machine-learning model that is trained, wherein the machine-learning model was trained by:

encoding, for each product in a second set of products, respective product information to obtain a respective numeric vector for that product;

pairing the numeric vectors for the second set of products to obtain a second set of vector pairs, each vector pair in the second set of vector pairs corresponding to a respective pair of products in the second set of products;

labelling the second set of vector pairs to obtain, for each vector pair in the second set of vector pairs, a label indicative of whether or not the respective pair of products associated with the vector pair have been purchased together;

creating a training set using the set of labels and the second set of vector pairs, wherein creating the training set comprises omitting, from the training set, at least some vector pairs in the second set of vector pairs that are associated with a label indicating that the respective pair of products have not been purchased together; and

training the machine-learning model using the training set without the at least some vector pairs;

inputting the first set of vector pairs into the machine-learning model to obtain, for each pair in the first set of vector pairs, probability information indicating whether the respective pair of products corresponding to the respective vector pair are likely to be purchased together; and

outputting the probability information for use in determining a product recommendation.

2. The computer-implemented method of claim 1 , wherein training the machine-learning model using the training set comprises:

training the machine-learning model using the training set and co-purchase frequency information, the co-purchase frequency information indicating how frequently products have been purchased together.

3. The computer-implemented method of claim 2 , wherein training the machine-learning model using the training set and co-purchase frequency information comprises training the machine-learning model using a loss function that is based on the co-purchase frequency information.

4. The computer-implemented method of claim 1 , wherein the first set of products are from a first online store and the second set of products are from a second online store.

5. The computer-implemented method of claim 1 , wherein the first set of products includes at least one product that is not in the second set of products.

6. The computer-implemented method of claim 1 , wherein the machine-learning model comprises a neural network.

7. The computer-implemented method of claim 1 , wherein, for each product in the first set of products, the product information comprises textual product information.

8. The computer-implemented method of claim 7 , wherein, for each product in the first set of products, the respective numeric vector is based on one or more words in the textual product information for that product.

9. The computer-implemented method of claim 7 , wherein, for each product in the first set of products, the respective numeric vector is based on a meaning of a sequence of words in the textual product information for that product.

10. The computer-implemented method of claim 7 , wherein the machine-learning model comprises a first machine-learning model and wherein encoding, for each product in the first set of products, the respective textual product information to obtain the respective numeric vector for that product comprises:

encoding, for each product in the first set of products, the respective textual product information with a second machine-learning model that uses transfer learning via sentence embeddings to obtain the respective numeric vector for that product.

11. The computer-implemented method of claim 1 , further comprising:

receiving, from a user device over a network, an indication that a customer intends to purchase a particular product in the first set of products, the first set of vector pairs including at least one vector pair that includes the numeric vector for the particular product; and

based on the probability information for the at least one vector pair, providing the product recommendation for output to the customer at a user interface of the user device.

12. The computer-implemented method of claim 1 , wherein pairing the numeric vectors to obtain a first set of vector pairs comprises, for each vector pair in the first set of vector pairs:

concatenating a first numeric vector in the vector pair and a second numeric vector in the vector pair.

13. A system comprising:

a memory to store a machine-learning model; and

a processor to:

encode, for each product in a first set of products, respective product information to obtain a respective numeric vector for that product;

pair the numeric vectors to obtain a first set of vector pairs, each vector pair in the first set of vector pairs corresponding to a respective pair of products from the first set of products;

access the machine-learning model, wherein the machine-learning model was trained by:

encoding, for each product in a second set of products, respective product information to obtain a respective numeric vector for that product;

pairing the numeric vectors for the second set of products to obtain a second set of vector pairs, each vector pair in the second set of vector pairs corresponding to a respective pair of products in the second set of products;

labelling the second set of vector pairs to obtain, for each vector pair in the second set of vector pairs, a label indicative of whether or not the respective pair of products associated with the vector pair have been purchased together;

creating a training set using the set of labels and the second set of vector pairs, wherein creating the training set comprises omitting, from the training set, at least some vector pairs in the second set of vector pairs that are associated with a label indicating that the respective pair of products have not been purchased together; and

training the machine-learning model using the training set without the at least some vector pairs;

input the first set of vector pairs into the machine-learning model to obtain, for each pair in the first set of vector pairs, probability information indicating whether the respective pair of products corresponding to the respective vector pair are likely to be purchased together; and

output the probability information for use in determining a product recommendation.

14. The system of claim 13 , wherein the first set of products are from a first online store and the second set of products are from a second online store.

15. The system of claim 13 , wherein, for each product in a first set of products, the product information comprises textual product information and the respective numeric vector is based on a meaning of a sequence of words in the textual product information for that product.

16. A non-transitory computer readable medium having stored thereon computer-executable instructions that, when executed by a computer, cause the computer to perform operations comprising:

encoding, for each product in a first set of products, respective product information to obtain a respective numeric vector for that product;

pairing the numeric vectors to obtain a first set of vector pairs, each vector pair in the first set of vector pairs corresponding to a respective pair of products from the first set of products;

obtaining a machine-learning model that is trained, wherein the machine-learning model was trained by:

encoding, for each product in a second set of products, respective product information to obtain a respective numeric vector for that product;

pairing the numeric vectors for the second set of products to obtain a second set of vector pairs, each vector pair in the second set of vector pairs corresponding to a respective pair of products in the second set of products;

labelling the second set of vector pairs to obtain, for each vector pair in the second set of vector pairs, a label indicative of whether or not the respective pair of products associated with the vector pair have been purchased together;

creating a training set using the set of labels and the second set of vector pairs, wherein creating the training set comprises omitting, from the training set, at least some vector pairs in the second set of vector pairs that are associated with a label indicating that the respective pair of products have not been purchased together; and

training the machine-learning model using the training set without the at least some vector pairs;

inputting the first set of vector pairs into the machine-learning model to obtain, for each pair in the first set of vector pairs, probability information indicating whether the respective pair of products corresponding to the respective vector pair are likely to be purchased together; and

outputting the probability information for use in determining a product recommendation.

17. The system of claim 13 , wherein training the machine-learning model using the training set comprises:

training the machine-learning model using the training set and co-purchase frequency information, the co-purchase frequency information indicating how frequently products have been purchased together.

18. The system of claim 17 , wherein training the machine-learning model using the training set and co-purchase frequency information comprises training the machine-learning model using a loss function that is based on the co-purchase frequency information.

19. The system of claim 13 , wherein, for each product in the first set of products, the product information comprises textual product information.

20. The system of claim 19 , wherein the machine-learning model comprises a first machine-learning model and wherein the processor is to encode, for each product in the first set of products, the respective textual product information to obtain the respective numeric vector for that product by performing operations including:

encoding, for each product in the first set of products, the respective textual product information with a second machine-learning model that uses transfer learning via sentence embeddings to obtain the respective numeric vector for that product.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2024
From: SHOPIFY (USA) INC.
To: SHOPIFY INC.
Reel/Frame 066153/0628 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2023
From: SHOPIFY (USA) INC.
To: SHOPIFY INC.
Reel/Frame 064208/0840 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED ON REEL 063466 FRAME 0526. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 2, 2023
From: WU, ANBANG
To: SHOPIFY (USA) INC.
Reel/Frame 063515/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: WU, ANBANG
To: SHOPIFY (USA) INC.
Reel/Frame 063466/0526 →
Continuity (2)
Provisional Application 63448896 · Feb 28, 2023
Related Publication 20240289823A1 · Aug 29, 2024
References Cited (15)
US 20040015386A1 · Abe · 2004 [cited by examiner]
US 20100049538A1 · Frazer · 2010 [cited by examiner]
US 20100268661A1 · Levy · 2010 [cited by examiner]
US 20190220694A1 · Biswas · 2019 [cited by examiner]
US 20190347668A1 · Williams · 2019 [cited by examiner]
US 20200074242A1 · Chen · 2020 [cited by examiner]
US 20210049442A1 · Menon et al. · 2021 [cited by applicant]
US 20210304121A1 · Lee et al. · 2021 [cited by applicant]
US 20220253643A1 · Afshar et al. · 2022 [cited by applicant]
US 20220327583A1 · Fotso · 2022 [cited by examiner]
C. Ghanwat, Pratik, et al., “Improved personalized recommendation system with better user experience”, 2017 International Conference on Advances in Computing, Communications, and Informatics (ICACCI) (2017, pp. 1216-122… [cited by examiner]
Cer, Daniel, et al. “Universal Sentence Encoder”. Apr. 12, 2018. 7 pages. [cited by applicant]
Yang, Yinfei, et al. “Multilingual Universal Sentence Encoder for Semantic Retrieval”. Jul. 9, 2019. 6 pages. [cited by applicant]
McAuley, Julian, et al. “Inferring Networks of Substitutable and Complementary Products”. Jul. 1, 2015. 12 pages. [cited by applicant]
Google, “universal-sentence-encoder”, available at https://tfhub.dev/google/collections/universal-sentence-encoder/1, publication date unknown (not listed on webpage), accessible as of Apr. 10, 2023. Accessed on Apr. 10… [cited by applicant]