IP Library Granted Patent US 12,061,605
Granted Patent B2
US 12,061,605 · App. 16/983,897 · Granted Aug 13, 2024

System and method for associating records from dissimilar databases

Inventors: Yudhvir Mor (Rohtak, IN); Rakesh Verma (Pune, IN); Sunil Yadav (Bhopal, IN)
Assignee: Genpact USA, Inc.
G06F16/2455G06F16/27G06N20/00G06Q30/04
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 12,061,605
App. No.
16/983,897
Granted
Aug 13, 2024
Kind
B2
Abstract

A method and system are provided for matching database records. According to one embodiment, the method includes receiving a record from a first database, and selecting a sequence of characters within the record. The method also includes identifying a key associated with a second, dissimilar database by comparing the selected sequence with a number of historical records. The comparison is performed using one or more analytical processes, where at least one analytical process is a machine-learning (ML) process. The method further includes matching, using the key, the record from the first database with another record from the second database, where the other record includes the identified key.

Claims (73)

1. A method for matching database records, the method comprising:

receiving a record from a first database;

selecting a sequence of characters within the record;

identifying and extracting, from the sequence of characters, information that is predicted to be an identifier of the record of the first database, the identifier created by and specific to a second, dissimilar database, using one or more analytical processes, wherein the one or more analytical processes are performed by training multiple machine learning (ML) models based on a plurality of historical records and feeding the sequence of characters to the multiple trained ML models to generate the identified information, wherein the multiple ML models include an identity model using regular expression matching, a named entity recognition model using a conditional random field algorithm, and one or more pattern similarity models trained based on term frequency inverse document frequency (TF-IDF) vectors and word embedding vectors;

applying a set of priority rules to prioritize and aggregate the identified information from the multiple ML models of the one or more analytical processes in an order of the identity model, the named entity recognition model, and the one or more pattern similarity models;

determining whether a confidence score associated with the aggregated information exceeds a threshold;

in response to determining that the confidence score associated with the extracted information exceeds the threshold, using the information extracted from the first database as a digital key associated with a user to retrieve a second, dissimilar record from the second, dissimilar database associated with the user;

in response to an alert associated with the extracted information, retraining the one or more analytical processes including regenerating at least one ML model to update subsequent identifier prediction; and

performing post-prediction operations including identifying open records associated with the user based on the digital key and processing and closing the identified records.

2. The method of claim 1 , wherein:

the first database is a bank database;

the record from the first database is included in a bank statement;

the second database is a customer invoice database; and

the digital key is a customer account number.

3. The method of claim 1 , wherein:

the digital key is defined by a regular expression; and

one of the one or more analytical processes is a regular expression based extraction process.

4. The method of claim 3 , wherein the digital key is an invoice number.

5. The method of claim 1 , wherein:

the digital key is a customer name; and

one of the one or more analytical processes is an entity name recognition process.

6. The method of claim 5 , wherein the entity name recognition process uses a conditional random field ML model.

7. The method of claim 1 , wherein one of the one or more analytical processes is performed by:

converting the sequence into a TF-IDF vector; and

comparing the TF-IDF vector with a plurality of TF-IDF model vectors based on historical data, using a cosine similarity score or a root mean square error (RMSE) similarity score.

8. The method of claim 1 , wherein one of the one or more analytical processes comprises:

converting the sequence into a word embedding vector; and

comparing the word embedding vector with a plurality of word embedding model vectors based on historical data, using a root mean square error (RMSE) similarity score.

9. The method of claim 1 , wherein:

identifying and extracting, from the sequence of characters, the information comprises aggregating results of the one or more analytical processes, aggregating the results further comprising:

obtaining a respective candidate key via each of the one or more analytical processes, each analytical process providing the respective confidence score; and

extracting a particular candidate key based on a maximum of confidence scores.

10. The method of claim 9 , wherein the one or more analytical processes include at least two analytical processes, and respective candidate keys provided by the at least two analytical processes are the same.

11. The method of claim 1 , further comprising:

pre-processing and tokenizing the sequence of characters prior to identifying and extracting, from the sequence of characters, the information.

12. A system for matching database records, the system comprising:

a processor; and

a memory in communication with the processor and comprising instructions which, when executed by the processor, program the processor to:

receive a record from a first database;

select a sequence of characters within the record;

identify and extract, from the sequence of characters, information that is predicted to be an identifier of the record of the first database, the identifier created by and specific to a second, dissimilar database, using one or more analytical processes, wherein the one or more analytical processes are performed by training multiple machine learning (ML) models based on a plurality of historical records and feeding the sequence of characters to the multiple trained ML models to generate the identified information, wherein the multiple ML models include an identity model using regular expression matching, a named entity recognition model using a conditional random field algorithm, and one or more pattern similarity models trained based on term frequency inverse document frequency (TF-IDF) vectors and word embedding vectors;

apply a set of priority rules to prioritize and aggregate the identified information from the multiple ML models of the one or more analytical processes in an order of the identity model, the named entity recognition model, and the one or more pattern similarity models;

determine whether a confidence score associated with the aggregated information exceeds a threshold;

in response to determining that the confidence score associated with the extracted information exceeds the threshold, use the information extracted from the first database as a digital key associated with a user to retrieve a second, dissimilar record from the second, dissimilar database associated with the user;

in response to an alert associated with the extracted information, retrain the one or more analytical processes including regenerating at least one ML model to update subsequent identifier prediction; and

perform post-prediction operations including identifying open records associated with the user based on the digital key and processing and closing the identified records.

13. The system of claim 12 , wherein:

the first database is a bank database;

the record from the first database is included in a bank statement;

the second database is a customer invoice database; and

the digital key is a customer account number.

14. The system of claim 12 , wherein:

the digital key is defined by a regular expression; and

one of the one or more analytical processes is a regular expression based extraction process.

15. The system of claim 13 , wherein the digital key is an invoice number.

16. The system of claim 12 , wherein:

the digital key is a customer name; and

one of the one or more analytical processes is an entity name recognition process.

17. The system of claim 16 , wherein the entity name recognition process uses a conditional random field ML model.

18. The system of claim 12 , wherein to perform one of the one or more analytical processes, the instructions program the processor to:

convert the sequence into a TF-IDF vector; and

compare the TF-IDF vector with a plurality of TF-IDF model vectors based on historical data, using a cosine similarity score or a root mean square error (RMSE) similarity score.

19. The system of claim 12 , wherein to perform one of the one or more analytical processes the instructions program the processor to:

convert the sequence into a word embedding vector; and

compare the word embedding vector with a plurality of word embedding model vectors based on historical data, using a root mean square error (RMSE) similarity score.

20. The system of claim 12 , wherein:

to identify and extract, from the sequence of characters, the information, the instructions program the processor to aggregate results of the one or more analytical processes; and

to aggregate the results, the instructions further program the processor to:

obtain a respective candidate key via each of the one or more analytical processes, each analytical process providing the respective confidence score; and

extract a particular candidate key based on a maximum of confidence scores.

21. The system of claim 20 , wherein the one or more analytical processes include at least two analytical processes, and respective candidate keys provided by the at least two analytical processes are the same.

22. The system of claim 12 , wherein the instructions further program the processor to:

pre-process and tokenize the sequence of characters prior to identifying and extracting, from the sequence of characters, the information.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYANCE TYPE OF MERGER PREVIOUSLY RECORDED ON REEL 66511 FRAME 683. ASSIGNOR(S) HEREBY CONFIRMS THE CONVEYANCE TYPE OF ASSIGNMENT. Recorded Feb 26, 2024
From: GENPACT LUXEMBOURG S.À R.L. II
To: GENPACT USA, INC.
Reel/Frame 067211/0020 →
MERGER Recorded Feb 7, 2024
From: GENPACT LUXEMBOURG S.À R.L. II
To: GENPACT USA, INC.
Reel/Frame 066511/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2022
From: MOR, YUDHVIR; VERMA, RAKESH; YADAV, SUNIL
To: GENPACT LUXEMBOURG S.À R.L. II
Reel/Frame 059564/0881 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2021
From: GENPACT LUXEMBOURG S.À R.L., A LUXEMBOURG PRIVATE LIMITED LIABILITY COMPANY (SOCIÉTÉ À RESPONSABILITÉ LIMITÉE)
To: GENPACT LUXEMBOURG S.À R.L. II, A LUXEMBOURG PRIVATE LIMITED LIABILITY COMPANY (SOCIÉTÉ À RESPONSABILITÉ LIMITÉE)
Reel/Frame 055104/0632 →