IP Library Patent Application 19223267
Patent Application
App. No. 19/223,267

CATEGORY CLASSIFICATION OF RECORDS OF E-PROCUREMENT TRANSACTIONS

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 None
App. No.
19/223,267
Abstract

Commodity category values can be determined automatically for suppliers in an e-procurement system using a computer-implemented process that is supplier-focused and uses successive heuristics, supplemented with machine learning models that predict category and subcategory values based on supplier names and invoice descriptions. Embodiments can support community intelligence applications to enable buyer computers to query and obtain lists of suppliers corresponding to categories and to generate graphs or charts that aggregate historic invoice data based on canonical category values that have been determined for suppliers.

Claims (47)

1 . A computer-implemented method, comprising:

using an application server computer in a federated, multi-tenant e-procurement system having a plurality of hosted applications, transmitting a first query to a taxonomy database to obtain customer commodities data and a second query to a current invoice database to obtain supplier description data and invoice description data;

using at least two trained machine learning models, evaluating the customer commodities data, the supplier description data, and the invoice description data and outputting a first prediction of a first set and a second prediction of a second set, wherein the first prediction and the second prediction each comprise candidate categories with probability values specifying probabilities that each of the candidate categories is correct;

storing the first set and the second set as a row in a supplier database associated with a first supplier name or a first supplier description;

using the application server computer, receiving input comprising a second supplier name or a second supplier description;

using the application server computer, transmitting a third query including the second supplier name to the supplier database, receiving a result set from the supplier database, and determining from the result set whether the second supplier name is in the supplier database;

in response to determining that the second supplier name is in the supplier database, retrieving the first set;

first, in response to determining that the first set comprises one category value, populating a primary category attribute of the row using the one category value;

thereafter, in response to determining that the first set comprises more than one category, retrieving the second set;

selecting two particular candidate category values having two highest probability values;

populating the primary category attribute and a secondary category attribute of the row using the two particular candidate category values having two highest probability values; and

displaying, using a computer, a graphical user interface (GUI) comprising a plurality of active hyperlinks and selectable buttons, wherein the GUI is configured to generate a display of information representing supplier data and commodity data based on a selection of the plurality of active hyperlinks and selectable buttons.

2 . The computer-implemented method of claim 1 , each of the at least two trained machine learning models comprising any of: an ensemble of a naïve Bayes classifier, a feature extraction vectorizer, a logistic regression model or linear classifier; a transformer-based sentence extraction model.

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

comparing the first set to the second set; and

when the first set and the second set overlap, returning a category value having a maximum probability value among the first set and the second set as an output of the primary category attribute.

4 . The computer-implemented method of claim 3 , further comprising, when the first set and the second set overlap, returning a first category value having the maximum probability value among the first set and the second set as an output of the primary category attribute and returning a second category value having a second-highest probability value among the first set and the second set as the output of the secondary category attribute.

5 . The computer-implemented method of claim 3 , further comprising, when the first set and the second set do not overlap, returning a default category value as the output of the primary category attribute.

6 . The computer-implemented method of claim 1 , further comprising training the at least two trained machine learning models using a first dataset specifying customer commodities, a second dataset comprising supplier descriptions, and a third dataset specifying a set of invoice descriptions.

7 . The computer-implemented method of claim 1 , the first set and the second set each specifying a UNSPSC category value.

8 . The computer-implemented method of claim 1 , the invoice description data being obtained from a free-form text field of the current invoice database.

9 . The computer-implemented method of claim 1 , the current invoice database comprising an invoice line item detail table that comprises invoice descriptions and supplier names corresponding to a plurality of invoice records for electronic invoices.

10 . The computer-implemented method of claim 1 , wherein receiving the input comprises a buyer computer entering a supplier name in a supplier name field of an application to retrieve other information about a corresponding supplier, the method further comprising invoking a micro-service or function programmed to execute the transmitting, evaluating, storing, transmitting, determining, selecting, populating, and displaying.

11 . The computer-implemented method of claim 1 , wherein determining that the first set comprises one category value further comprises reading a default category value of the row.

12 . One or more non-transitory computer-readable storage media storing one or more sequences of instructions which, when executed using one or more processors, cause the one or more processors to execute:

using an application server computer in a federated, multi-tenant e-procurement system having a plurality of hosted applications, transmitting a first query to a taxonomy database to obtain customer commodities data and a second query to a current invoice database to obtain supplier description data and invoice description data;

using at least two trained machine learning models, evaluating the customer commodities data, the supplier description data, and the invoice description data and outputting a first prediction of a first set and a second prediction of a second set, wherein the first prediction and the second prediction each comprise candidate categories with probability values specifying probabilities that each of the candidate categories is correct;

storing the first set and the second set as a row in a supplier database associated with a first supplier name or a first supplier description;

using the application server computer, receiving input comprising a second supplier name or a second supplier description;

using the application server computer, transmitting a third query including the second supplier name to the supplier database, receiving a result set from the supplier database, and determining from the result set whether the second supplier name is in the supplier database;

in response to determining that the second supplier name is in the supplier database, retrieving the first set;

first, in response to determining that the first set comprises one category value, populating a primary category attribute of the row using the one category value;

thereafter, in response to determining that the first set comprises more than one category, retrieving the second set;

selecting two particular candidate category values having two highest probability values;

populating the primary category attribute and a secondary category attribute of the row using the two particular candidate category values having two highest probability values; and

displaying, using a computer, a graphical user interface (GUI) comprising a plurality of active hyperlinks and selectable buttons, wherein the GUI is configured to generate a display of information representing supplier data and commodity data based on a selection of the plurality of active hyperlinks and selectable buttons.

13 . The non-transitory computer-readable storage media of claim 12 , each of the at least two trained machine learning models comprising any of: an ensemble of a naïve Bayes classifier, a feature extraction vectorizer, a logistic regression model or linear classifier; a transformer-based sentence extraction model.

14 . The non-transitory computer-readable storage media of claim 12 , further comprising sequences of instructions which, when executed using one or more processors, cause the one or more processors to execute:

comparing the first set to the second set; and

when the first set and the second set overlap, returning a category value having a maximum probability value among the first set and the second set as an output of the primary category attribute.

15 . The non-transitory computer-readable storage media of claim 14 , further comprising sequences of instructions which, when executed using one or more processors, cause the one or more processors to execute, when the first set and the second set overlap, returning a first category value having the maximum probability value among the first set and the second set as an output of the primary category attribute and returning a second category value having a second-highest probability value among the first set and the second set as the output of the secondary category attribute.

16 . The non-transitory computer-readable storage media of claim 14 , further comprising sequences of instructions which, when executed using one or more processors, cause the one or more processors to execute, when the first set and the second set do not overlap, returning a default category value as the output of the primary category attribute.

17 . The non-transitory computer-readable storage media of claim 12 , further comprising sequences of instructions which, when executed using one or more processors, cause the one or more processors to execute training the at least two trained machine learning models using a first dataset specifying customer commodities, a second dataset comprising supplier descriptions, and a third dataset specifying a set of invoice descriptions.

18 . The non-transitory computer-readable storage media of claim 12 , the first set and the second set each specifying a UNSPSC category value.

19 . The non-transitory computer-readable storage media of claim 12 , the invoice description data being obtained from a free-form text field of the current invoice database.

20 . The non-transitory computer-readable storage media of claim 12 , the current invoice database comprising an invoice line item detail table that comprises invoice descriptions and supplier names corresponding to a plurality of invoice records for electronic invoices.

21 . The non-transitory computer-readable storage media of claim 12 , wherein the sequences of instructions for receiving the input further comprise sequences of instructions which, when executed using one or more processors, cause the one or more processors to execute a buyer computer entering a supplier name in a supplier name field of an application to retrieve other information about a corresponding supplier, the non-transitory computer-readable storage media further comprising sequences of instructions which, when executed using one or more processors, cause the one or more processors to execute invoking a micro-service or function programmed to execute the transmitting, evaluating, storing, transmitting, determining, selecting, populating, and displaying.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 71262 FRAME 595. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNOR'S INTEREST. Recorded Jun 2, 2025
From: RATNAPU, KIRAN; NARANG, ANKIT; MURAKONDA, HARI TEJA; HOSOAI, YUTAKA; SISSON, BRENT
To: COUPA SOFTWARE INCORPORATED
Reel/Frame 071490/0653 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2025
From: RATNAPU, KIRAN; NARANG, ANKIT; MURAKONDA, HARI TEJA; HOSOAI, YUTAKA; SISSON, BRENT
To: COUPA SOFTWARE CORPORATION
Reel/Frame 071262/0595 →