# US 12,007,980 B2 · AI-driven transaction management system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,007,980 B2
- Document ID: US12007980B2
- Status: Granted
- Kind: B2
- Application number: 16/251,051
- Filed: 2019-01-17
- Published: 2020-07-23
- Granted: 2024-06-11
- Earliest claimed: 2019-01-17
- Assignees: The Boston Consulting Group, Inc.
- Applicants: The Boston Consulting Group, Inc.
- Inventors: Ronny Fehling; Samantha Short; Axel de Goursac; Raphael Dubois; Jörg Erlebach; Karin Von Funck
- Web page: https://patentgrep.com/patent/US12007980B2

## CPC

- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06Q 10/10: Office automation; Time management
- G06F 16/2358: {Change logging, detection, and notification (replication G06F16/27)}
- G06F 16/285: {Clustering or classification}
- G06F 40/40: Processing or translation of natural language (natural language analysis G06F40/20; semantic analysis G06F40/30)
- G06N 5/04: Inference or reasoning models
- G06N 20/00: Machine learning
- G06Q 10/06315: {Needs-based resource requirements planning or analysis}
- G06Q 10/067: Enterprise or organisation modelling
- G06Q 40/12: Accounting
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A largely automated method of categorizing spend data is provided that does not require a prior in-depth knowledge of an organization's transactional data. Natural language processing is applied to text data from transactional data to generate a consolidated cleaned data set (CDS) containing information for categorization. Logs for transactions are clustered based on similarity, forming the minimal data set (MDS). An automated algorithm selects a subset of high-value clusters that are categorized by requesting users to manually categorize one or more representative logs from each cluster of the subset. A model is then trained using the subset of manually categorized clusters and used to predict spend categories for the remaining logs with high accuracy. The AI engine automatically analyzes the predictions based on client context and either auto-tunes the machine learning model or identifies a new subset of clusters to be manually categorized. This loop may continue until 95%-100% of the spend is categorized.

## Claims

### Claim 1

A computer-implemented method for processing transaction records, comprising:
receiving transaction data;
generating, based on the transaction data, a cleaned data set (CDS) comprising a plurality of logs for a plurality of transactions from the transaction data, wherein individual ones of the plurality of logs are associated with text;
clustering at least a subset of the plurality of logs from the CDS based at least in part on the associated text and a similarity threshold, wherein the clustering results in a set of clusters;
identifying a particular subset of the set of clusters having one or more of the plurality of logs to be categorized with different transaction types, based at least in part on one or more metrics of the set of clusters;
determining a representative log to represent a centroid of individual clusters of the particular subset based at least in part on one or more metrics of the plurality of logs in the individual clusters of the particular subset;
receiving a user determination of an individual transaction type of the different transaction types for the representative log in the individual clusters of the particular subset;
assigning, in the individual clusters, the individual transaction type of the representative log to individual logs, based, at least in part, on a context between the individual logs and the representative log that allows the individual logs to be joined together across the particular subset;
training a prediction model using the individual logs from the particular subset and their associated transaction types;
determining, using the prediction model, one of the different transaction types, for the plurality of logs in the CDS not yet associated with a transaction type; and
generating a transaction report, the transaction report comprising a plurality of calculated parameters determined based at least in part on the plurality of logs and their associated transaction types that comprise the determined one of the different transaction types from the prediction model.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
identifying an additional subset of the set of clusters; and
determining, using a set of base mapping rules, further transaction types of the different transaction types to be associated with the plurality of logs of the additional subset of clusters, wherein training the prediction model further comprises training the prediction model using the plurality of logs from the additional subset and their further associated transaction types.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein identifying the particular subset comprises selecting clusters for the subset based at least in part on a transaction value associated with each cluster.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein identifying the particular subset comprises selecting clusters based at least in part on a distance metric between respective clusters of the set of clusters.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein generating the CDS comprises removing out-of-scope or duplicate ones of the plurality of logs.

### Claim 6

A computer-implemented method for processing transaction records, comprising:
receiving transaction data comprising a plurality of logs, the plurality of logs having associated text;
clustering at least a subset of the plurality of logs based on the associated text and a similarity threshold, wherein the clustering results in a set of clusters;
identifying a particular subset of the set of clusters having one or more of the plurality of logs to be categorized with different transaction types, based at least in part on one or more metrics of the set of clusters;
determining a representative log to represent a centroid of individual clusters of the particular subset based at least in part on one or more metrics of the plurality of logs in the individual clusters of the particular subset;
receiving a user determination of an individual transaction type of the different transaction types for the representative log in the individual clusters of the particular subset;
assigning, in the individual clusters, the individual transaction type of the representative log individual logs, based, at least in part, on a context between the individual logs and the representative log that allows the individual logs to be joined together across the particular subset;
training a prediction model using the individual logs from the particular subset and their associated transaction types; and
predicting one of the different transaction types for additional logs of the plurality of using the prediction model.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, further comprising:
identifying an additional subset of the set of clusters; and
determining, using a set of base mapping rules, further transaction types of the different transaction types to be associated with the plurality of logs of the additional subset of clusters, wherein training the prediction model further comprises training prediction model using the plurality of the logs from the additional subset and their further associated transaction types.

### Claim 8 (depends on 6)

The computer-implemented method of claim 6, the method further comprising:
generating a cleaned data set (CDS) from the plurality of logs, wherein generating the CDS comprises processing at least a portion of the associated text associated with the plurality of logs using natural language processing (NLP).

### Claim 9 (depends on 8)

The computer-implemented method of claim 8 wherein generating the CDS further comprises removing out-of-scope or duplicate ones of the plurality of logs from the plurality of logs.

### Claim 10 (depends on 6)

The computer-implemented method of claim 6, further comprising:
providing for display the representative log in the individual clusters of the particular subset prior to receiving the user determination of the individual transaction type of the different transaction types for the individual clusters of the particular subset.

### Claim 11 (depends on 6)

The computer-implemented method of claim 6, further comprising:
providing, for display, two representative logs in the individual clusters of the particular subset;
receiving different user determinations of the different transaction types for the two representative logs; and
splitting one of the individual clusters based at least in part on the different user determinations for the transaction types.

### Claim 12 (depends on 6)

The computer-implemented method of claim 6, further comprising:
validating the predicted one of the different types provided by the prediction model for additional logs using a Human-in-the-Loop method.

### Claim 13 (depends on 6)

The computer-implemented method of claim 6, wherein identifying the particular subset comprises selecting clusters for the subset based at least in part on a transaction value associated with each cluster.

### Claim 14 (depends on 6)

The computer-implemented method of claim 6, further comprising:
performing an automated quality and error analysis of the predicted one of the different transaction types; and
modifying at least one model parameter of the prediction model based on the quality and error analysis.

### Claim 15 (depends on 6)

The computer-implemented method of claim 6, further comprising:
performing an automated quality and error analysis of the predicted one of the different transaction types;
identifying one or more of the plurality of logs for manual tagging based on the quality and error analysis; and
receiving the user determination of the individual transaction type of the different transaction types for each of the one or more of the plurality of logs.

### Claim 16 (depends on 6)

The computer-implemented method of claim 6, further comprising:
training the prediction model using the individual logs and their associated transaction types.

### Claim 17 (depends on 6)

The computer-implemented method of claim 6, wherein predicting one of the different transaction types for the additional logs results in logs being associated with more than 95% of the plurality of logs.

### Claim 18 (depends on 6)

The computer-implemented method of claim 6, further comprising using the prediction model to predict one of the different transaction types for another plurality of logs from other transaction data.

### Claim 19

A non-transitory computer-readable storage medium comprising instructions for processing transaction records, the instructions when executed by a processor causing the processor to:
receive transaction data comprising a plurality of logs, the plurality of logs having associated text;
cluster at least a subset of the plurality of logs based on the associated text and a similarity threshold to result in a set of clusters;
identify a particular subset of the set of clusters having one or more of the plurality of logs to be categorized with different transaction types, based at least in part on one or more metrics of the set of clusters;
determine a representative log to represent a centroid of individual clusters of the particular subset based at least in part on one or more metrics of the plurality of logs in the individual clusters of the particular subset;
receive a user determination of an individual transaction type of the different transaction types for the representative log in the individual clusters of the particular subset;
assign, in the individual clusters, the individual transaction type of the representative log individual logs, based, at least in part, on a context between the individual logs and the representative log that allows the individual logs to be joined together across the particular subset;
train a prediction model using the individual logs from the particular subset and their associated transaction types; and
predict one of the different transaction types for additional logs of the plurality of using the prediction model.

### Claim 20 (depends on 19)

The non-transitory computer-readable storage medium of claim 19, wherein the instructions that when executed by the processor further cause the processor to:
identify an additional subset of the set of clusters; and
determine, using a set of base mapping rules, further transaction types of the different transaction types to be associated with the plurality of logs of the additional subset of clusters, wherein training the prediction model further comprises training prediction model using the plurality of the logs from the additional subset and their further associated transaction types; and
train the prediction model using the plurality of logs from the additional subset and their further associated transaction types.
