IP Library Granted Patent US 12,282,946
Granted Patent B2
US 12,282,946 · App. 17/011,543 · Granted Apr 22, 2025

Complementary item recommendations based on multi-modal embeddings

Inventors: Khalifeh Al Jadda (Suwanee, GA); Unaiza Ahsan (Atlanta, GA); San He Wu (Smyrna, GA); Huiming Qu (Atlanta, GA)
Assignee: Home Depot Product Authority, LLC
G06Q30/0631G06F16/9038G06F16/906G06Q30/0629G06Q30/0643
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,282,946
App. No.
17/011,543
Granted
Apr 22, 2025
Kind
B2
Abstract

Systems and methods for providing suggestions of complementary products responsive to an anchor product are disclosed. The method includes receiving a selection of an anchor product. A similarity score between text embeddings of the anchor product and text embeddings of a plurality of products in a product database is calculated. A similarity score between an image feature of the anchor product and an image feature of the plurality of products in the product database is calculated. A weighted score between the two similarity scores as calculated for the anchor product and the plurality of products in the product database is calculated. At least one of the products from the product database having a highest weighted score is selected and returned responsive to the selection of the anchor product.

Claims (54)

1. A system, comprising:

a server; and

a product recommendation system,

wherein the product recommendation system is in electronic communication with the server,

wherein the product recommendation system comprises:

a processor; and

a memory storing instructions that, when executed by the processor, cause the system to perform a method, comprising:

receiving, by the product recommendation system from a user device, a selection of an anchor product;

training, by the processor, a machine learning model with product information for a plurality of products in a product database;

generating, from the machine learning model, text embeddings comprising vector descriptions of text associated with each product of the plurality of products in the product database for each product of the plurality of products, wherein the machine learning model comprises a multi-stream network;

calculating, by the product recommendation system, a similarity score between text embeddings of the anchor product and text embeddings of a plurality of products in a product database;

calculating, by the product recommendation system, a similarity score between an image feature of the anchor product and an image feature of the plurality of products in the product database,

 wherein the image features comprise vector descriptions of color content of the images;

calculating, by the product recommendation system, a weighted score between the two similarity scores as calculated for the anchor product and the plurality of products in the product database, wherein a weight of the similarity score between the image feature of the plurality of products in the product database and a weight of the similarity score between text embeddings of the anchor product and text embeddings of the plurality of products in the product database is varied using a product type determined from the text embeddings of the anchor product;

selecting, by the product recommendation system, at least one of the products from the product database having a highest weighted score; and

returning, to the user device by the product recommendation system, the at least one of the products as selected responsive to the selection of the anchor product, automatically causing the user device to display on a display of the user device the at least one of the products as selected responsive to the selection of the anchor product.

2. The system of claim 1 , wherein the weighted score includes a text weight value based on a product type and an image weight value based on the product type.

3. The system of claim 2 , comprising a first product type and a second product type, the first product type having a greater importance of visual features and a lower importance of textual features, the second product type having a lower importance of visual features and a greater importance of textual features.

4. The system of claim 3 , wherein the text weight value of the first product type is lower than the text weight value of the second product type, and the image weight value of the first product type is greater than the image weight value of the second product type.

5. The system of claim 1 , wherein the image feature includes a red-green-blue (RGB) color histogram on the image.

6. The system of claim 5 , comprising determining, by the product recommendation system, the RGB color histogram for a foreground of the anchor product and the plurality of products in the product database.

7. The system of claim 5 , wherein the RGB channels of the image include 8 bins per channel to obtain a 512-dimensional feature vector for the anchor product and the plurality of products in the product database.

8. The system of claim 1 , wherein the selecting at least one of the products from the product database having a highest weighted score includes selecting a plurality of products and returning at least one of the plurality of products having a different product type than a product type of the anchor product.

9. A method, comprising:

receiving, by a product recommendation system from a user device, a selection of an anchor product;

training, by the product recommendation system, a machine learning model with product information for a plurality of products in a product database;

generating, from the machine learning model, text embeddings comprising vector descriptions of text associated with each product of the plurality of products in the product database for each product of the plurality of products, wherein the machine learning model comprises a multi-stream network;

calculating, by the product recommendation system, a similarity score between text embeddings of the anchor product and text embeddings of a plurality of products in a product database,

wherein the text embeddings comprise vector descriptions of text associated with each product of the plurality of products in the product database,

wherein the text embeddings for each product of the plurality of products are generated from a machine learning model, wherein the machine learning model is trained based on product information for each of the plurality of products in the product database for each of the plurality of products;

calculating, by the product recommendation system, a similarity score between an image feature of the anchor product and an image feature of the plurality of products in the product database;

calculating, by the product recommendation system, a weighted score between the two similarity scores as calculated for the anchor product and the plurality of products in the product database,

wherein a weight of the similarity score between the image feature of the plurality of products in the product database and a weight of the similarity score between text embeddings of the anchor product and text embeddings of the plurality of products in the product database is varied using a product type determined from the text embeddings of the anchor product;

selecting, by the product recommendation system, at least one of the products from the product database having a highest weighted score; and

returning, to the user device by the product recommendation system, the at least one of the products as selected responsive to the selection of the anchor product, automatically causing the user device to display on a display of the user device the at least one of the products as selected responsive to the selection of the anchor product.

10. The method of claim 9 , wherein calculating the similarity score between text embeddings of the anchor product and text embeddings of the plurality of products in a database includes calculating a cosine similarity score between the text embeddings of the anchor product and the text embeddings of the plurality of products in the product database.

11. The method of claim 9 , wherein calculating the similarity score between the image feature of the anchor product and the image feature of the plurality of products in the product database includes calculating a cosine similarity score between the image features of the anchor product and the image features of the plurality of products in the product database.

12. The method of claim 9 , comprising separating the background and foreground of the image.

13. The method of claim 12 , wherein the separating comprises a mean adaptive threshold.

14. The method of claim 12 , wherein the image feature includes a red-green-blue (RGB) color histogram on the image, the method comprising determining the RGB color histogram for the foreground of the image following the separating the background and the foreground of the image.

15. The method of claim 14 , wherein the RGB channels of the image include 8 bins per channel to obtain a 512-dimensional feature vector as the image feature for each image.

16. The method of claim 9 , comprising filtering the of the products as selected responsive to selection of the anchor product to be a different product type than the product type of the anchor product.

17. A method, comprising:

receiving, by a product recommendation system from a user device, a selection of an anchor product;

generating, from a machine learning model, text embeddings comprising vector descriptions of text associated with each product of a plurality of products in a product database for each product of the plurality of products, wherein the machine learning model is trained based on product information for each of the plurality of products in the product database for each of the plurality of products, wherein the machine learning model comprises a multi-stream network;

calculating, by the product recommendation system, a cosine similarity score between text embeddings of the anchor product and text embeddings of the plurality of products in the product database;

calculating, by the product recommendation system, a cosine similarity score between an image feature of the anchor product and an image feature of a first subset of the plurality of products in the product database;

calculating, by the product recommendation system, a combined score between the two cosine similarity scores as calculated for the anchor product and the first subset of the plurality of products in the product database,

wherein a weight of the cosine similarity score between the image feature of the anchor product and the image feature of the first subset of the plurality of products in the product database and a weight of the cosine similarity score between text embeddings of the anchor product and text embeddings of the anchor product and text embeddings of the plurality of products in the product database is varied using a product type determined from the text embeddings of the anchor product;

selecting, by the product recommendation system, at least one of the products from the product database having a highest combined score; and

returning, to the user device by the product recommendation system, the at least one of the products as selected responsive to the selection of the anchor product, automatically causing the user device to display on a display of the user device the at least one of the products as selected responsive to the selection of the anchor product.

18. The method of claim 17 , wherein the first subset of the plurality of products includes a selection of the plurality of products having a highest cosine similarity score between the text embeddings of the anchor product and the plurality of products.

19. The method of claim 17 , wherein the combined score is weighted and includes a text weight value based on the product type and an image weight value based on the product type.

20. The method of claim 17 , comprising filtering the products as selected responsive to selection of the anchor product to be a different product type than a product type of the anchor product.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2021
From: AL JADDA, KHALIFEH
To: HOME DEPOT PRODUCT AUTHORITY, LLC
Reel/Frame 055862/0722 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2021
From: AHSAN, UNAIZA; WU, SAN HE; QU, HUIMING
To: HOME DEPOT PRODUCT AUTHORITY, LLC
Reel/Frame 055456/0336 →
Continuity (2)
Provisional Application 62896383 · Sep 5, 2019
Related Publication 20210073891A1 · Mar 11, 2021
References Cited (40)
US 7593602B2 · Stentiford · 2009 [cited by examiner]
US 8996527B1 · Leung et al. · 2015 [cited by applicant]
US 10715862B2 · Li · 2020 [cited by examiner]
US 20040039657A1 · Behrens et al. · 2004 [cited by applicant]
US 20070058858A1 · Harville et al. · 2007 [cited by applicant]
US 20100268661A1 · Levy · 2010 [cited by examiner]
US 20110307294A1 · Barkai et al. · 2011 [cited by applicant]
US 20150095185A1 · Katukuri et al. · 2015 [cited by applicant]
US 20150100943A1 · Gabel et al. · 2015 [cited by applicant]
US 20150178786A1 · Claessens · 2015 [cited by applicant]
US 20170193582A1 · Guo et al. · 2017 [cited by applicant]
US 20170193587A1 · Caster et al. · 2017 [cited by applicant]
US 20170193588A1 · Loui · 2017 [cited by examiner]
US 20170316486A1 · Barkan et al. · 2017 [cited by applicant]
US 20180032882A1 · Joshi · 2018 [cited by examiner]
US 20180047083A1 · Agarwal et al. · 2018 [cited by applicant]
US 20180137551A1 · Zheng et al. · 2018 [cited by applicant]
US 20180150879A1 · Vasile et al. · 2018 [cited by applicant]
US 20180204113A1 · Galron et al. · 2018 [cited by applicant]
US 20180247363A1 · Agarwal · 2018 [cited by examiner]
US 20180300296A1 · Ziraknejad · 2018 [cited by examiner]
US 20190095978A1 · Gabbai · 2019 [cited by applicant]
US 20190130285A1 · Snyder et al. · 2019 [cited by applicant]
US 20190236679A1 · Kumar et al. · 2019 [cited by applicant]
US 20190286656A1 · Yerva et al. · 2019 [cited by applicant]
US 20190297039A1 · Rodriquez et al. · 2019 [cited by applicant]
US 20190311301A1 · Pyati · 2019 [cited by applicant]
US 20190340649A1 · Ayush et al. · 2019 [cited by applicant]
US 20190362233A1 · Aizawa et al. · 2019 [cited by applicant]
US 20190370879A1 · Bhattacharjee · 2019 [cited by applicant]
US 20190378204A1 · Ayush et al. · 2019 [cited by applicant]
US 20200074242A1 · Chen et al. · 2020 [cited by applicant]
US 20210256588A1 · Moosaei · 2021 [cited by examiner]
CA 2813644A1 · 2006 [cited by examiner]
WO WO2012110754A1 · 2012 [cited by examiner]
Cardoso, et al., “Product Characterisation towards Personlisation: Learning Attributes from Unstructured Data to Recommend Fashion Products,” Applied Data Science Track Paper; KDD 2018, Aug. 19-23, London, UK; Associati… [cited by examiner]
Johnson et al., “Billion-scale similarity search with GPUs,” arXiv e-prints, Feb. 2017, 12pp. (Year: 2017). [cited by examiner]
Angelo Cardoso; Fabio Daolio; Saul Vargas, Product Characterisation towards Personlisation: Learning Attributes from Unstructured Data to Recommend Fashion Products, Applied Data Science Track Paper; KDD 2018, August 19… [cited by applicant]
Haitian Zheng; Kefei Wu; Jong-Hwi Park; Wei Zhu; Jiebo Luo, Personalized Fashion Recommendation from Personal Social Media Data: An item-to-Set Metric Learning Approach, ACMMM 2020; Oct. 12-16, 2020, Seattle WA; arXiv p… [cited by applicant]
ISA/US, International Search Report and Written Opinion issued in PCT/US20/49439, dated Nov. 30, 2020, 9 pgs. [cited by applicant]
Cited By (1)
US 12,579,566