IP Library Granted Patent US 11,755,582
Granted Patent B2
US 11,755,582 · App. 16/862,667 · Granted Sep 12, 2023

Adaptive field-level matching

Inventors: Arun Kumar Jagota (Sunnyvale, CA); Ajitesh Jain (San Mateo, CA); Rahul Mathias Madan (Sunnyvale, CA); Shravani Madhavaram (Mountain View, CA)
Assignee: Salesforce, Inc.
G06F16/24558G06F16/24564G06N20/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,755,582
App. No.
16/862,667
Granted
Sep 12, 2023
Kind
B2
Abstract

Adaptive field-level matching is described. A system identifies first elements in a field of a prospective record for a database, and second elements in the field of a candidate record, in the database, for matching the prospective record. The system identifies features corresponding to any of the first elements that are identical to any of the second elements, any of the first elements that are absent from the second elements, and any of the second elements that are absent from the first elements. A machine-learning model uses the features to determine a field match score for the candidate record's field. Another machine-learning model weighs the field match score and weighs another field match score for another field of the candidate record to determine a record match score for the candidate record. If the record match score satisfies a threshold, the system identifies the candidate record as matching the prospective record.

Claims (42)

1. A system for adaptive field-level matching, the system comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:

identify first elements in a field of a prospective record for a database, and second elements in the field of a candidate record, in the database, for matching the prospective record;

identify features corresponding to any of the first elements that are identical to any of the second elements, any of the first elements that are absent from the second elements, and any of the second elements that are absent from the first elements;

determine, by a machine-learning model, a field match score, based on the features, for the second elements in the field of the candidate record;

determine, by another machine-learning model, a record match score, based on weighing the field match score and weighing another field match score for another field of the candidate record, for the candidate record;

determine whether the record match score satisfies a threshold; and

identify the candidate record as matching the prospective record, in response to a determination that the record match score satisfies the threshold.

2. The system of claim 1 , wherein the plurality of instructions further causes the processor to train the machine-learning model to determine field match scores, based on features associated with elements in fields of prospective records and elements in the fields of candidate records, for the elements in the fields of the candidate records.

3. The system of claim 1 , wherein the plurality of instructions further causes the processor to train the other machine-learning model to generate weights for field match scores, and determine record match scores, based on using the weights for weighing the field match scores, for candidate records.

4. The system of claim 1 , wherein the field comprises a postal code field, the first elements and the second elements comprise first characters and second characters, and the features comprise at least one of consecutive characters of the first characters which correspond to and are identical to consecutive characters of the second characters, a suffix comprising at least one of the first characters that lacks correspondence to any of the second characters, a prefix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters, and a suffix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters.

5. The system of claim 1 , wherein the field comprises a phone number field, the first elements and the second elements comprise first characters and second characters, and the features comprise at least one of consecutive characters of the first characters which correspond to and are identical to consecutive characters of the second characters, a prefix comprising at least one of the first characters that lacks correspondence to any of the second characters, a prefix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters, and a suffix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters.

6. The system of claim 1 , wherein the field comprises a personal first name field, the first elements and the second elements comprise first characters and second characters, and the features comprise at least one of consecutive characters of the first characters which correspond to and are identical to consecutive characters of the second characters, a prefix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters, a prefix comprising at least one of the first characters that lacks correspondence to any of the second characters, a suffix comprising at least one of the first characters that corresponds and differs from at least one of the second characters, and a suffix comprising at least one of the first characters that lacks correspondence to any of the second characters.

7. The system of claim 1 , wherein the field comprises an organization name field, the first elements and the second elements comprise first words and second words, and the features comprise at least one of matched words, which comprise each of the first words that are identical to any of the second words, and a probability that each of the matched words is in a list of organization names, and unmatched words, which comprise each of the first words that are absent from the second words and each of the second words that are absent from the first words, and a probability that each of the unmatched words is in the list of organization names.

8. A computer program product comprising computer-readable program code to be executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code including instructions to:

identify first elements in a field of a prospective record for a database, and second elements in the field of a candidate record, in the database, for matching the prospective record;

identify features corresponding to any of the first elements that are identical to any of the second elements, any of the first elements that are absent from the second elements, and any of the second elements that are absent from the first elements;

determine, by a machine-learning model, a field match score, based on the features, for the second elements in the field of the candidate record;

determine, by another machine-learning model, a record match score, based on weighing the field match score and weighing another field match score for another field of the candidate record, for the candidate record;

determine whether the record match score satisfies a threshold; and

identify the candidate record as matching the prospective record, in response to a determination that the record match score satisfies the threshold.

9. The computer program product of claim 8 , wherein the program code includes further instructions to train the machine-learning model to determine field match scores, based on features associated with elements in fields of prospective records and elements in the fields of candidate records, for the elements in the fields of the candidate records.

10. The computer program product of claim 8 , wherein the program code includes further instructions to train the other machine-learning model to generate weights for field match scores, and determine record match scores, based on using the weights for weighing the field match scores, for candidate records.

11. The computer program product of claim 8 , wherein the field comprises a postal code field, the first elements and the second elements comprise first characters and second characters, and the features comprise at least one of consecutive characters of the first characters which correspond to and are identical to consecutive characters of the second characters, a suffix comprising at least one of the first characters that lacks correspondence to any of the second characters, a prefix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters, and a suffix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters.

12. The computer program product of claim 8 , wherein the field comprises a phone number field, the first elements and the second elements comprise first characters and second characters, and the features comprise at least one of consecutive characters of the first characters which correspond to and are identical to consecutive characters of the second characters, a prefix comprising at least one of the first characters that lacks correspondence to any of the second characters, a prefix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters, and a suffix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters.

13. The computer program product of claim 8 , wherein the field comprises a personal first name field, the first elements and the second elements comprise first characters and second characters, and the features comprise at least one of consecutive characters of the first characters which correspond to and are identical to consecutive characters of the second characters, a prefix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters, a prefix comprising at least one of the first characters that lacks correspondence to any of the second characters, a suffix comprising at least one of the first characters that corresponds and differs from at least one of the second characters, and a suffix comprising at least one of the first characters that lacks correspondence to any of the second characters.

14. The computer program product of claim 8 , wherein the field comprises an organization name field, the first elements and the second elements comprise first words and second words, and the features comprise at least one of matched words, which comprise each of the first words that are identical to any of the second words, and a probability that each of the matched words is in a list of organization names, and unmatched words, which comprise each of the first words that are absent from the second words and each of the second words that are absent from the first words, and a probability that each of the unmatched words is in the list of organization names.

15. A computer-implemented method for adaptive field-level matching, the computer-implemented method comprising:

identifying first elements in a field of a prospective record for a database, and second elements in the field of a candidate record, in the database, for matching the prospective record;

identifying features corresponding to any of the first elements that are identical to any of the second elements, any of the first elements that are absent from the second elements, and any of the second elements that are absent from the first elements;

determining, by a machine-learning model, a field match score, based on the features, for the second elements in the field of the candidate record;

determining, by another machine-learning model, a record match score, based on weighing the field match score and weighing another field match score for another field of the candidate record, for the candidate record;

determining whether the record match score satisfies a threshold; and

identifying the candidate record as matching the prospective record, in response to a determination that the record match score satisfies the threshold.

16. The computer-implemented method of claim 15 , wherein the computer-implemented method further comprises:

training the machine-learning model to determine field match scores, based on features associated with elements in fields of prospective records and elements in the fields of candidate records, for the elements in the fields of the candidate records; and

training the other machine-learning model to generate weights for the field match scores, and determine record match scores, based on using the weights for weighing the field match scores, for candidate records.

17. The computer-implemented method of claim 15 , wherein the field comprises a postal code field, the first elements and the second elements comprise first characters and second characters, and the features comprise at least one of consecutive characters of the first characters which correspond to and are identical to consecutive characters of the second characters, a suffix comprising at least one of the first characters that lacks correspondence to any of the second characters, a prefix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters, and a suffix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters.

18. The computer-implemented method of claim 15 , wherein the field comprises a phone number field, the first elements and the second elements comprise first characters and second characters, and the features comprise at least one of consecutive characters of the first characters which correspond to and are identical to consecutive characters of the second characters, a prefix comprising at least one of the first characters that lacks correspondence to any of the second characters, a prefix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters, and a suffix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters.

19. The computer-implemented method of claim 15 , wherein the field comprises a personal first name field, the first elements and the second elements comprise first characters and second characters, and the features comprise at least one of consecutive characters of the first characters which correspond to and are identical to consecutive characters of the second characters, a prefix comprising at least one of the first characters that corresponds to and differs from at least one of the second characters, a prefix comprising at least one of the first characters that lacks correspondence to any of the second characters, a suffix comprising at least one of the first characters that corresponds and differs from at least one of the second characters, and a suffix comprising at least one of the first characters that lacks correspondence to any of the second characters.

20. The computer-implemented method of claim 15 , wherein the field comprises an organization name field, the first elements and the second elements comprise first words and second words, and the features comprise at least one of matched words, which comprise each of the first words that are identical to any of the second words, and a probability that each of the matched words is in a list of organization names, and unmatched words, which comprise each of the first words that are absent from the second words and each of the second words that are absent from the first words, and a probability that each of the unmatched words is in the list of organization names.

Assignments (3)
CHANGE OF NAME Recorded Sep 25, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065019/0954 →
CORRECTIVE ASSIGNMENT TO CORRECT THE GIVEN NAME OF INVENTOR JAGOTA TO RECITE "ARUN KUMAR" PREVIOUSLY RECORDED ON REEL 052533 FRAME 0722. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 6, 2020
From: JAGOTA, ARUN KUMAR; JAIN, AJITESH; MADAN, RAHUL MATHIAS; MADHAVARAM, SHRAVANI
To: SALESFORCE.COM, INC.
Reel/Frame 052594/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2020
From: JAGOTA, ARUIN KUMAR; JAIN, AJITESH; MADAN, RAHUL MATHIAS; MADHAVARAM, SHRAVANI
To: SALESFORCE.COM, INC.
Reel/Frame 052533/0722 →
Continuity (1)
Related Publication 20210342353A1 · Nov 4, 2021