IP Library Granted Patent US 11,507,989
Granted Patent B2
US 11,507,989 · App. 16/658,315 · Granted Nov 22, 2022

Multi-label product categorization

Inventors: Michael Sollami (Cambridge, MA); Yang Zhang (Cambridge, MA)
Assignee: Salesforce, Inc.
G06Q30/0603G06F17/18G06K9/6267G06N3/02G06N20/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 11,507,989
App. No.
16/658,315
Granted
Nov 22, 2022
Kind
B2
Abstract

Systems, device and techniques are disclosed for multi-label product categorization. A catalog entry and a list of categories may be received. The catalog entry may be associated with an item. A textual description may be generated by comparing words in the catalog entry to existing vocabularies of words and applying part-of-speech tagging to the catalog entry. A feature vector may be generated from the textual description by applying any of token frequency feature creation, term frequency-inverse document frequency feature creation, and pre-trained word embeddings to the textual description. A set of probabilities may be determined by inputting the feature vector into a machine learning model. The set of probabilities may include a probability for each category in the list of categories.

Claims (50)

1. A computer-implemented method comprising:

receiving a catalog entry and a list of categories, wherein the catalog entry is associated with an item;

generating a textual description by comparing words in the catalog entry to one or more existing vocabularies of words and applying part-of-speech tagging to the catalog entry;

generating a feature vector from the textual description by applying one or more of token frequency feature creation, term frequency-inverse document frequency feature creation, and pre-trained word embeddings to the textual description; and

determining a set of probabilities by inputting the feature vector into a machine learning model, wherein the set of probabilities comprises a probability for each category in the list of categories.

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

receiving a selection of categories from the list of categories;

comparing the set of probabilities to the selection of categories to determine an error; and

training the machine learning model using the error.

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

receiving additional catalog entries and additional selections from the list of categories;

generating textual descriptions for the additional catalog entries;

generating feature vectors from the textual descriptions;

determining sets of probabilities by inputting the feature vectors into the machine learning model and one or more additional machine learning models;

comparing the sets of probabilities to the additional selections from the list of categories to determine errors for the sets of probabilities; and

discarding at least one machine learning model from among the machine learning model and the one or more additional machine learning models based on the determined errors for the sets of probabilities from the machine learning model and the one or more additional machine learning models.

4. The computer-implemented method of claim 3 , wherein discarding at least one machine learning model from among the machine learning model and the one or more additional machine learning models based on the determined errors for the sets of probabilities from the machine learning model and the one or more additional machine learning models further comprises:

ranking the machine learning model and the one or more additional machine learning models according to the determined errors; and

discarding a percentage of the machine learning model and the one or more additional machine learning models that are the lowest ranked based on having higher determined errors.

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

adding one or more machine learning models to replace the at least one discarded machine learning model.

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

determining, from the set of probabilities, label categories from the list of categories; and

storing the label categories with the catalog entry.

7. The computer-implemented method of claim 1 , wherein generating a textual description by comparing words in the catalog entry to one or more existing vocabularies of words and applying part-of-speech tagging to the catalog entry comprises tokenizing the catalog entry.

8. The computer-implemented method of claim 1 , wherein the machine learning model is a Bayesian model, an ensemble classification tree, or a recurrent neural network.

9. The computer-implemented method of claim 1 , wherein the catalog entry comprises one or more of hyperlinks, XML, tags, and custom notes.

10. A computer-implemented system for multi-label product categorization comprising:

one or more storage devices; and

a processor that receives a catalog entry and a list of categories, wherein the catalog entry is associated with an item, generates a textual description by comparing words in the catalog entry to one or more existing vocabularies of words and applying part-of-speech tagging to the catalog entry, generates a feature vector from the textual description by applying one or more of token frequency feature creation, term frequency-inverse document frequency feature creation, and pre-trained word embeddings to the textual description, and determines a set of probabilities by inputting the feature vector into a machine learning model, wherein the set of probabilities comprises a probability for each category in the list of categories.

11. The computer-implemented system of claim 10 , wherein the processor further receives a selection of categories from the list of categories, compares the set of probabilities to the selection of categories to determine an error, trains the machine learning model using the error.

12. The computer-implemented system of claim 10 , wherein the processor further receives, additional catalog entries and additional selections from the list of categories, generates textual descriptions for the additional catalog entries, generates feature vectors from the textual descriptions, determines sets of probabilities by inputting the feature vectors into the machine learning model and one or more additional machine learning models, compares the sets of probabilities to the additional selections from the list of categories to determine errors for the sets of probabilities, and discards at least one machine learning model from among the machine learning model and the one or more additional machine learning models based on the determined errors for the sets of probabilities from the machine learning model and the one or more additional machine learning models.

13. The computer-implemented system of claim 12 , wherein the processor discards at least one machine learning model from among the machine learning model and the one or more additional machine learning models based on the determined errors for the sets of probabilities from the machine learning model and the one or more additional machine learning models by ranking the machine learning model and the one or more additional machine learning models according to the determined errors and discarding a percentage of the machine learning model and the one or more additional machine learning models that are the lowest ranked based on having higher determined errors.

14. The computer-implemented system of claim 12 , wherein the processor further adds one or more machine learning models to replace the at least one discarded machine learning model.

15. The computer-implemented system of claim 10 , wherein the processor further determines, from the set of probabilities, label categories from the list of categories and stores the label categories with the catalog entry.

16. The computer-implemented system of claim 10 , wherein the processor generates a textual description by comparing words in the catalog entry to one or more existing vocabularies of words and applying part-of-speech tagging to the catalog entry by tokenizing the catalog entry.

17. The computer-implemented system of claim 10 , wherein the machine learning model is a Bayesian model, an ensemble classification tree, or a recurrent neural network.

18. The computer-implemented system of claim 10 , wherein the catalog entry comprises one or more of hyperlinks, XML, tags, and custom notes.

19. A system comprising: one or more computers and one or more storage devices storing instructions which are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving a catalog entry and a list of categories, wherein the catalog entry is associated with an item;

generating a textual description by comparing words in the catalog entry to one or more existing vocabularies of words and applying part-of-speech tagging to the catalog entry;

generating a feature vector from the textual description by applying one or more of token frequency feature creation, term frequency-inverse document frequency feature creation, and pre-trained word embeddings to the textual description; and

determining a set of probabilities by inputting the feature vector into a machine learning model, wherein the set of probabilities comprises a probability for each category in the list of categories.

20. The system of claim 19 , wherein the instructions further cause the one or more computers to perform operations further comprising:

receiving additional catalog entries and additional selections from the list of categories;

generating textual descriptions for the additional catalog entries;

generating feature vectors from the textual descriptions;

determining sets of probabilities by inputting the feature vectors into the machine learning model and one or more additional machine learning models;

comparing the sets of probabilities to the additional selections from the list of categories to determine errors for the sets of probabilities; and

discarding at least one machine learning model from among the machine learning model and the one or more additional machine learning models based on the determined errors for the sets of probabilities from the machine learning model and the one or more additional machine learning models.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0452 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2019
From: SOLLAMI, MICHAEL; ZHANG, YANG
To: SALESFORCE.COM, INC.
Reel/Frame 050774/0187 →
Continuity (1)
Related Publication 20210118024A1 · Apr 22, 2021