# US 12,216,689 B2 · System and method for generating and implementing context weighted words

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

- Number: US 12,216,689 B2
- Document ID: US12216689B2
- Status: Granted
- Kind: B2
- Application number: 17/026,805
- Filed: 2020-09-21
- Published: 2021-03-25
- Granted: 2025-02-04
- Earliest claimed: 2019-09-20
- Assignees: JPMorgan Chase Bank, N.A.
- Applicants: JPMorgan Chase Bank, N.A.
- Inventors: Robert J. Rappa; Pedro A. Reyes; Erica J. Kim; Chen Trilnik; Michael Harmon; Stephen Farrell
- Web page: https://patentgrep.com/patent/US12216689B2

## CPC

- G06F 16/313: {Selection or weighting of terms for indexing}
- G06F 9/466: {Transaction processing}
- G06F 16/3334: {Selection or weighting of terms from queries, including natural language queries}
- G06F 16/35: Clustering; Classification
- G06F 16/367: {Ontology}
- G06F 40/289: Phrasal analysis, e.g. finite state techniques or chunking
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An embodiment of the present invention is directed to generating an n-gram-based string similarity score where the n-grams sourcing from frequent words, given the context of interest, may be under-weighted and the n-grams sourcing from infrequent words, given the context of interest, may be over-weighted. An embodiment of the present invention is directed to defining a weight for each 2-gram depending on whether or not the word from which it sourced was frequent based on the relevant context.

## Claims

### Claim 1

A system for improving data transaction integrity by utilizing context weighted words to improve an accuracy of an identification of parties within transactions, the system comprising:
an input configured to receive input data relating to the transactions;
a memory configured to store and manage context data and the transaction data; and
a computer processor coupled to the input and the memory and further configured to:
receive the input data comprising a set of transaction data for a plurality of transactions made at a point-of-sale device, the transaction data identifying a merchant and further including electronic funds transfer data;
apply a pre-processing process and a string cleaning process to create a list of unique company names from the set of transaction data, wherein the string cleaning process includes string normalization;
identify a context relating to the set of transaction data, the context comprising a determination of to what the transaction data pertains based on one or more characteristics that are common to the transaction data;
calculate word frequencies for each unique company name from the list of unique company names based on the context, wherein the calculating word frequencies further comprises calculating, in terms of standard deviation, a distance of each of the word frequencies from mean of the word frequencies;
list, within a table, each of the unique company names by rank according to the word frequencies for each unique company name from the list of unique company names, wherein the table comprises: each of the unique company names, the word frequencies for each unique company name from the list of unique company names, a rank for each of the unique company names, and the distance of each of the word frequencies from mean of the word frequencies;
utilize the table to eliminate an artificial inflation of a similarity between different unique company names having matching words by:
creating weights for each of the unique company names in the list from the set of transaction data based on a corresponding calculated word frequency in light of the context, wherein the weighting is inverse to a defined corpus of words, and wherein no weight is given to each of the word frequencies whose distance from the mean is less than three times the standard deviation;
applying a string similarity algorithm for each transaction against candidates, using the weights for each unique company name, in order to identify a best matching record from among each of the unique company names, wherein the string similarity algorithm comprises at least one from among a Jaccard algorithm and an Edit-Distance based string similarity algorithm; and
identifying the best matching record;
generate, by applying the best matching record to at least one from among at least one merchant tag of the input data and at least one counterparty tag of the input data, enriched input data that identifies at least a corporate hierarchy;
create a repository of corresponding counterparties by leveraging internal reference data and the input data relating to the transactions; and
provide, to at least one from among the merchant and at least one corresponding counterparty, the enriched input data that identifies at least the corporate hierarchy.

### Claim 2 (depends on 1)

The system of claim 1, wherein the one or more characteristics comprises industry classifications.

### Claim 3 (depends on 1)

The system of claim 1, wherein the one or more characteristics comprises a common location that is defined by a geographic location.

### Claim 4 (depends on 1)

The system of claim 1, wherein the one or more characteristics comprises a timing that is defined by a season.

### Claim 5 (depends on 1)

The system of claim 1, wherein the context is inferred from additional transaction data.

### Claim 6 (depends on 1)

The system of claim 1, wherein the transaction data further comprises one or more of: electronic funds transfer data, point-of-sale data and company names.

### Claim 7 (depends on 1)

The system of claim 1, wherein the defined corpus of words includes all known company names in a region.

### Claim 8 (depends on 1)

The system of claim 1, wherein the pre-processing process comprises: defining the context based on a history of prior transactions.

### Claim 9 (depends on 1)

The system of claim 1, wherein the corresponding counterparties comprise counterparties that transact with clients.

### Claim 10

A method for improving data transaction integrity by utilizing context weighted words to improve an accuracy of an identification of parties within transactions, the method comprising:
receiving, via an input, the input data relating to the transactions, the input data comprising a set of transaction data for a plurality of transactions made at a point-of-sale device, the transaction data identifying a merchant and further including electronic funds transfer data;
applying, via a computer processor, a pre-processing process and a string cleaning process to create a list of unique company names from the set of transaction data, wherein the string cleaning process includes string normalization;
identifying, via the computer processor, a context relating to the set of transaction data, the context comprising a determination of to what the transaction data pertains based on one or more characteristics that are common to the transaction data, and wherein the context further comprises an industry of a specified region;
calculating, via the computer processor, word frequencies for each unique company name from the list of unique company names based on the context, wherein the calculating word frequencies further comprises calculating, in terms of standard deviation, a distance of each of the word frequencies from mean of the word frequencies;
listing, within a table, each of the unique company names by rank according to the word frequencies for each unique company name from the list of unique company names, wherein the table comprises: each of the unique company names, the word frequencies for each unique company name from the list of unique company names, a rank for each of the unique company names, and the distance of each of the word frequencies from mean of the word frequencies;
utilizing the table to eliminate an artificial inflation of a similarity between different unique company names having matching words by:
creating, via the computer processor, weights for each of the unique company names in the list from the set of transaction data based on a corresponding calculated word frequency in light of the context, wherein the weighting is inverse to a defined corpus of words, and wherein no weight is given to each of the word frequencies whose distance from the mean is less than three times the standard deviation;
applying, via the computer processor, a string similarity algorithm for each transaction against candidates, using the weights for each unique company name, in order to identify a best matching record from among each of the unique company names, wherein the string similarity algorithm comprises at least one from among a Jaccard algorithm and an Edit-Distance based string similarity algorithm; and
identifying the best matching record;
generating, by applying the best matching record to at least one from among at least one merchant tag of the input data and at least one counterparty tag of the input data, enriched input data that identifies at least a corporate hierarchy;
creating a repository of corresponding counterparties by leveraging internal reference data and the input data relating to the transactions; and
providing, to at least one from among the merchant and at least one corresponding counterparty, the enriched input data that identifies at least the corporate hierarchy.

### Claim 11 (depends on 10)

The method of claim 10, wherein the one or more characteristics comprises industry classifications.

### Claim 12 (depends on 10)

The method of claim 10, wherein the one or more characteristics comprises a common location that is defined by a geographic location.

### Claim 13 (depends on 10)

The method of claim 10, wherein the one or more characteristics comprises a timing that is defined by a season.

### Claim 14 (depends on 10)

The method of claim 10, wherein the context is inferred from additional transaction data.

### Claim 15 (depends on 10)

The method of claim 10, wherein the transaction data further comprises one or more of: electronic funds transfer data, point-of-sale data and company names.

### Claim 16 (depends on 10)

The method of claim 10, wherein the defined corpus of words includes all known company names in a region.

### Claim 17 (depends on 10)

The method of claim 10, wherein the pre-processing process comprises: defining the context based on a history of prior transactions.

### Claim 18 (depends on 10)

The method of claim 10, wherein the corresponding counterparties comprise counterparties that transact with clients.
