IP Library Granted Patent US 12,106,351
Granted Patent B1
US 12,106,351 · App. 17/807,861 · Granted Oct 1, 2024

System and method for automatic product matching

Inventors: Nitin Verma (Natick, MA); Randall L. Cogill (Dedham, MA); Michael Bhaskaran (Sherborn, MA)
Assignee: Staples, Inc.
G06Q30/0629G06F18/2431G06N20/00
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,106,351
App. No.
17/807,861
Granted
Oct 1, 2024
Kind
B1
Abstract

The technology includes an example method for determining matching items. In some implementations, the method may determine a first set and second set of attributes and attribute types associated with a first and second item, respectively, based on description data associated with the items. The method may determine an attribute-type indicator for a pairing of a first attribute of the first set with a second attribute of the second set based on attribute types of the attributes, compute an attribute value for the pairing based on a similarity between the first and second attribute, and compute a match score for a combination of the first and second items based on the attribute value and attribute-type indicator. The method may also, in response to receiving a data query identifying the first item, provide a graphical user interface including a graphical element representing the second item based on the match score.

Claims (90)

1. A computer-implemented method comprising:

determining, by a processor, a first attribute-type weight for a first attribute type, the first attribute-type weight indicating an impact of the first attribute type in determining similarity between items;

determining, by the processor, a first attribute of the first attribute type for a first item and a second attribute of the first attribute type for a second item, a first and second item pairing including the first item and the second item;

determining, by the processor, a first attribute value for the first attribute and the second attribute, the first attribute value indicating a first level of similarity between the first attribute and the second attribute;

modifying, by the processor, the first attribute value using the first attribute-type weight;

computing, by the processor, a match score for the first and second item pairing based on the modified first attribute value; and

in response to receiving a data query identifying the first item, providing, by the processor, a graphical user interface including a graphical element representing the second item based on the match score.

2. The computer-implemented method of claim 1 , wherein determining the first attribute-type weight for the first attribute type includes:

receiving a training data set indicating combinations of items having the first attribute type;

receiving a plurality of match-class descriptors associated with match scores for the combinations of items; and

training the first attribute-type weight using the training data set and the plurality of match-class descriptors.

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

determining, by the processor, the first item and the second item from a category of items, the category being selected from a plurality of categories; and

determining, by the processor, the first attribute-type weight from a plurality of attribute-type weights based on the selected category of items.

4. The computer-implemented method of claim 3 , wherein:

the plurality of attribute-type weights for the plurality of categories each describe a common attribute type.

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

determining, by the processor, a second attribute-type weight for a second attribute type, the second attribute-type weight indicating an impact of the second attribute type in determining similarity between the items;

determining, by the processor, a third attribute of the second attribute type for the first item and a fourth attribute of the second attribute type for the second item;

determining, by the processor, a second attribute value for the third attribute and the fourth attribute, the second attribute value indicating a second level of similarity between the third attribute and the fourth attribute;

modifying, by the processor, the second attribute value using the second attribute-type weight;

calculating, by the processor, one or more sums for the first and second item pairing including the modified first attribute value and the modified second attribute value; and

computing, by the processor, the match score for the first and second item pairing based on the one or more sums.

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

determining a match-class descriptor for the first and second item pairing based on the match score including selecting the match-class descriptor from a plurality of match-class descriptors indicating levels of similarity between items, a plurality of match score buckets being defined by a plurality of match score thresholds, each of the plurality of match score buckets being associated with a match-class descriptor of the plurality of match-class descriptors.

7. The computer-implemented method of claim 6 , further comprising:

providing, by the processor, an administrative graphical user interface identifying the first and second item pairing and the match-class descriptor;

receiving, by the processor, an input via the administrative graphical user interface modifying the match-class descriptor for the first and second item pairing;

identifying, by the processor, the first and second item pairing as reviewed in a computer-accessible matching database;

training, by the processor, a machine learning model based on the modified match-class descriptor for the first and second item pairing; and

using, by the processor, the machine learning model to determine the first attribute-type weight.

8. The computer-implemented method of claim 7 , wherein:

training the machine learning model includes training a random forest multi-class classifier.

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

determining, by the processor, an attribute-type indicator for a pairing of the first attribute with the second attribute based on the first item and the second item having a matching type for the first attribute type; and

computing, by the processor, the match score for the first and second item pairing further based on the attribute-type indicator.

10. A system comprising:

one or more processors; and

a computer-readable memory storing instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

determining a first attribute-type weight for a first attribute type, the first attribute-type weight indicating an impact of the first attribute type in determining similarity between items;

determining a first attribute of the first attribute type for a first item and a second attribute of the first attribute type for a second item, a first and second item pairing including the first item and the second item;

determining a first attribute value for the first attribute and the second attribute, the first attribute value indicating a first level of similarity between the first attribute and the second attribute;

modifying the first attribute value using the first attribute-type weight;

computing a match score for the first and second item pairing based on the modified first attribute value; and

in response to receiving a data query identifying the first item, providing a graphical user interface including a graphical element representing the second item based on the match score.

11. The system of claim 10 , wherein determining the first attribute-type weight for the first attribute type includes:

receiving a training data set indicating combinations of items having the first attribute type;

receiving a plurality of match-class descriptors associated with match scores for the combinations of items; and

training the first attribute-type weight using the training data set and the plurality of match-class descriptors.

12. The system of claim 10 , wherein the instructions further cause the system to perform operations comprising:

determining the first item and the second item from a category of items, the category being selected from a plurality of categories; and

determining the first attribute-type weight from a plurality of attribute-type weights based on the selected category of items.

13. The system of claim 12 , wherein:

the plurality of attribute-type weights for the plurality of categories each describe a common attribute type.

14. The system of claim 10 , wherein the instructions further cause the system to perform operations comprising:

determining a second attribute-type weight for a second attribute type, the second attribute-type weight indicating an impact of the second attribute type in determining similarity between the items;

determining a third attribute of the second attribute type for the first item and a fourth attribute of the second attribute type for the second item;

determining a second attribute value for the third attribute and the fourth attribute, the second attribute value indicating a second level of similarity between the third attribute and the fourth attribute;

modifying the second attribute value using the second attribute-type weight;

calculating one or more sums for the first and second item pairing including the modified first attribute value and the modified second attribute value; and

computing the match score for the first and second item pairing based on the one or more sums.

15. The system of claim 10 , wherein the instructions further cause the system to perform operations comprising:

determining a match-class descriptor for the first and second item pairing based on the match score including selecting the match-class descriptor from a plurality of match-class descriptors indicating levels of similarity between items, a plurality of match score buckets being defined by a plurality of match score thresholds, each of the plurality of match score buckets being associated with a match-class descriptor of the plurality of match-class descriptors.

16. The system of claim 15 , wherein the instructions further cause the system to perform operations comprising:

providing an administrative graphical user interface identifying the first and second item pairing and the match-class descriptor;

receiving an input via the administrative graphical user interface modifying the match-class descriptor for the first and second item pairing;

identifying the first and second item pairing as reviewed in a computer-accessible matching database;

training a machine learning model based on the modified match-class descriptor for the first and second item pairing; and

using the machine learning model to determine the first attribute-type weight.

17. The system of claim 16 , wherein:

training the machine learning model includes training a random forest multi-class classifier.

18. The system of claim 10 , wherein the instructions further cause the system to perform operations comprising:

determining an attribute-type indicator for a pairing of the first attribute with the second attribute based on the first item and the second item having a matching type for the first attribute type; and

computing the match score for the first and second item pairing further based on the attribute-type indicator.

19. A computer-implemented method comprising:

determining, by a processor, a first attribute-type weight for a first attribute type, the first attribute-type weight indicating an impact of the first attribute type in determining similarity between items based on a machine learning model:

determining, by the processor, a first attribute of the first attribute type for a first item and a second attribute of the first attribute type for a second item, a first and second item pairing including the first item and the second item;

determining, by the processor, a first attribute value for the first attribute and the second attribute, the first attribute value indicating a first level of similarity between the first attribute and the second attribute;

modifying, by the processor, the first attribute value using the first attribute-type weight;

determining, by the processor, a second attribute-type weight for a second attribute type, the second attribute-type weight indicating an impact of the second attribute type in determining similarity between the items;

determining, by the processor, a third attribute of the second attribute type for the first item and a fourth attribute of the second attribute type for the second item;

determining, by the processor, a second attribute value for the third attribute and the fourth attribute, the second attribute value indicating a second level of similarity between the third attribute and the fourth attribute;

modifying, by the processor, the second attribute value using the second attribute-type weight;

calculating, by the processor, one or more sums for the first and second item pairing including the modified first attribute value and the modified second attribute value;

computing, by the processor, a match score for the first and second item pairing based on the one or more sums; and

in response to receiving a data query identifying the first item, providing, by the processor, a graphical user interface including a graphical element representing the second item based on the match score.

20. The computer-implemented method of claim 19 , further comprising:

determining, by the processor, a match-class descriptor associated with the match score for the first and second item pairing;

receiving, by the processor, an input via the graphical user interface modifying the match-class descriptor for the first and second item pairing; and

training, by the processor, the machine learning model based on the modified match-class descriptor for the first and second item pairing.

Assignments (4)
SECURITY INTEREST Recorded Jun 12, 2024
From: STAPLES, INC.
To: COMPUTERSHARE TRUST COMPANY, NATIONAL ASSOCIATION, AS NOTES AGENT
Reel/Frame 067711/0239 →
SECURITY INTEREST Recorded Jun 11, 2024
From: STAPLES, INC.
To: UBS AG, STAMFORD BRANCH, AS TERM LOAN AGENT
Reel/Frame 067687/0558 →
SECURITY INTEREST Recorded Jun 11, 2024
From: STAPLES, INC.
To: COMPUTERSHARE TRUST COMPANY, NATIONAL ASSOCIATION, AS NOTES AGENT
Reel/Frame 067697/0639 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2022
From: VERMA, NITIN; COGILL, RANDALL L.; BHASKARAN, MICHAEL
To: STAPLES, INC.
Reel/Frame 060294/0066 →
Continuity (2)
Continuation 16288105 · Feb 28, 2019
Provisional Application 62778195 · Dec 11, 2018
Cited By (1)
US 12,493,655