# US 12,111,839 B1 · Entity matching with machine learning fuzzy logic

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

- Number: US 12,111,839 B1
- Document ID: US12111839B1
- Status: Granted
- Kind: B1
- Application number: 18/333,975
- Filed: 2023-06-13
- Granted: 2024-10-08
- Earliest claimed: 2021-03-04
- Assignees: Palantir Technologies Inc.
- Applicants: Palantir Technologies Inc.
- Inventors: Elliot Hirsch; Johannes Beil; Lauren Brown; Nicolas Prettejohn; Paul Baseotto
- Web page: https://patentgrep.com/patent/US12111839B1

## CPC

- G06F 16/215: Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
- G06F 16/2468: {Fuzzy queries}
- G06F 16/248: Presentation of query results
- G06F 16/35: Clustering; Classification
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A fuzzy matching system matching data records in one or more data sets based on user-customized selection of multiple fuzzy matching algorithms. Possible matches may be displayed to a user, who provides feedback on the accuracy of the matches, which may then be used by a machine learning algorithm to update weightings and parameters of the multiple fuzzy matching algorithms, such as based on machine learning analysis of the matching results and the user feedback.

## Claims

### Claim 1

A computerized method, performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform the computerized method comprising:
identifying, for individual properties associated with a first and second set of data records, a matching algorithm selected from a plurality of matching algorithms that are configured to output a match score indicative of likelihood of a match between property values of two data records, wherein at least some of the matching algorithms are token matching, substring searches, trigram, edit-distance, metaphone, term frequency model, initialization weighting, or phrase matching;
for respective pairs of data records:
determining the matching algorithms associated with respective properties of the first and second sets of data records;
executing the plurality of matching algorithms on respective property values of the pair of data records to generate a corresponding plurality of match scores; and
determining an overall match score for the pair of data records based on at least some of the plurality of match scores; and
displaying a results user interface indicating at least a first candidate pair of data records having a highest overall match score.

### Claim 2 (depends on 1)

The computerized method of claim 1, wherein the overall match score is determined based on weightings associated with respective matching algorithms, wherein the weightings are indicative of relative weights of particular matching algorithms in calculating the overall match score.

### Claim 3 (depends on 1)

The computerized method of claim 1, further comprising:
determining accuracy of the overall match scores; and
updating one or more of the weightings associated with matching algorithms based on the determined accuracy.

### Claim 4 (depends on 3)

The computerized method of claim 3, wherein said updating is based on machine learning analysis of the weightings associated with the selected matching algorithms.

### Claim 5 (depends on 1)

The computerized method of claim 1, wherein the respective pairs of data records each include a first data record of a first data set and a second data record of a second data set.

### Claim 6 (depends on 5)

The computerized method of claim 5, wherein the first data set and the second data set are the same data set.

### Claim 7 (depends on 1)

The computerized method of claim 1, wherein the results user interface further displays values of a matched attribute in the first candidate pair of data records.

### Claim 8 (depends on 7)

The computerized method of claim 7, wherein the results user interface further displays values of an unmatched attribute in the first candidate pair of data records.

### Claim 9 (depends on 1)

The computerized method of claim 1, wherein attributes include one or more of name, address, phone number, email address, citizenship, identification code, account number, or transaction amount.

### Claim 10

A computing system comprising:
a hardware computer processor;
a non-transitory computer readable medium having software instructions stored thereon, the software instructions executable by the hardware computer processor to cause the computing system to perform operations comprising:
identifying, for individual properties associated with a first and second set of data records, a matching algorithm selected from a plurality of matching algorithms that are configured to output a match score indicative of likelihood of a match between property values of two data records, wherein at least some of the matching algorithms are token matching, substring searches, trigram, edit-distance, metaphone, term frequency model, initialization weighting, or phrase matching;
for respective pairs of data records:
determining the matching algorithms associated with respective properties of the first and second sets of data records;
executing the plurality of matching algorithms on respective property values of the pair of data records to generate a corresponding plurality of match scores; and
determining an overall match score for the pair of data records based on at least some of the plurality of match scores; and
displaying a results user interface indicating at least a first candidate pair of data records having a highest overall match score.

### Claim 11 (depends on 10)

The computing system of claim 10, wherein the overall match score is determined based on weightings associated with respective matching algorithms, wherein the weightings are indicative of relative weights of particular matching algorithms in calculating the overall match score.

### Claim 12 (depends on 10)

The computing system of claim 10, further comprising:
determining accuracy of the overall match scores; and
updating one or more of the weightings associated with matching algorithms based on the determined accuracy.

### Claim 13 (depends on 12)

The computing system of claim 12, wherein said updating is based on machine learning analysis of the weightings associated with the selected matching algorithms.

### Claim 14 (depends on 10)

The computing system of claim 10, wherein the respective pairs of data records each include a first data record of a first data set and a second data record of a second data set.

### Claim 15 (depends on 14)

The computing system of claim 14, wherein the first data set and the second data set are the same data set.

### Claim 16 (depends on 10)

The computing system of claim 10, wherein the results user interface further displays values of a matched attribute in the first candidate pair of data records.

### Claim 17 (depends on 16)

The computing system of claim 16, wherein the results user interface further displays values of an unmatched attribute in the first candidate pair of data records.

### Claim 18 (depends on 10)

The computing system of claim 10, wherein attributes include one or more of name, address, phone number, email address, citizenship, identification code, account number, or transaction amount.

### Claim 19

A non-transitory computer readable medium having software instructions stored thereon, the software instructions executable by a hardware computer processor to cause a computing system to perform operations comprising:
identifying, for individual properties associated with a first and second set of data records, a matching algorithm selected from a plurality of matching algorithms that are each configured to output a match score indicative of likelihood of a match between property values of two data records, wherein at least some of the matching algorithms are token matching, substring searches, trigram, edit-distance, metaphone, term frequency model, initialization weighting, or phrase matching;
for respective pairs of data records:
determining the matching algorithms associated with respective properties of the first and second sets of data records;
executing the plurality of matching algorithms on respective property values of the pair of data records to generate a corresponding plurality of match scores; and
determining an overall match score for the pair of data records based on at least some of the plurality of match scores; and
displaying a results user interface indicating at least a first candidate pair of data records having a highest overall match score.

### Claim 20 (depends on 19)

The non-transitory computer readable medium of claim 19, wherein the overall match score is determined based on weightings associated with respective matching algorithms, wherein the weightings are indicative of relative weights of particular matching algorithms in calculating the overall match score.
