IP Library › Granted Patent US 10,534,782
Granted Patent B1
US 10,534,782 · App. 15/232,584 · Granted Jan 14, 2020

Systems and methods for name matching

Inventors: Madhu Sudhan Reddy Gudur (Phoenix, AZ); Vinod Yadav (Phoenix, AZ); Ajay Kumar Punia (Phoenix, AZ); Sandeep Bose (Phoenix, AZ); Anand Bhushan (New York, NY); Hui-Ping W. Chao (Phoenix, AZ)
Assignee: AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC.
G06F16/24578G06F17/277G06F17/278
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 10,534,782
App. No.
15/232,584
Granted
Jan 14, 2020
Kind
B1
Abstract

A system and method may allow for improved accuracy for name matching. The system may receive a name input and preprocess the name input. The name input may be tokenized to create a name token. The name token may be compared to a stored name. The system may calculate a first name matching score based on the comparison. The system may permute the name token to form a second level permutation name, compare the second level permutation name with the stored name, and calculate a second name matching score based on the comparison. The first name matching score may be compared with the second name matching score to improve accuracy in name matching.

Claims (56)

1. A method, comprising:

identifying, by a processor, each string in a name input separated by a space or a non-alphanumeric character;

parsing, by the processor and based on the identifying, the name input into a first subset of the name input and a second subset of the name input;

tokenizing, by the processor and based on the parsing, the name input to create a first name token and a second name token, wherein the first name token comprises the first subset of the name input and the second name token comprises the second subset of the name input;

determining, by the processor, that at least one of the first name token or the second name token match a short form name from a database;

replacing, by the processor, at least one of the first name token or the second name token with a full name associated with the short form name;

determining, by the processor, a first stored name that has a first similarity to the first name token;

determining, by the processor, a second stored name that has a second similarity to the second name token;

calculating, by the processor, a first name matching score based on an estimate of the first similarity, a first string length of the first name token, a missing first string, and a location of the missing first string;

calculating, by the processor, a second name matching score based on an estimate of the second similarity, a second string length of the second name token a missing second string, and a location of the missing second string;

permuting, by the processor, the first name token and the second name token to create a second level permutation name, wherein the second level permutation name is created by combining the first name token with the second name token based on a permutation order, and wherein the permutation order comprises at least one of adding the first name token to a start of the second name token or an end of the second name token, or adding the second name token to a start of the first name token or an end of the first name token, and

improving, by the processor and based on the permuting, an accuracy of a name match using the first name token and the second name token.

2. The method of claim 1 , further comprising comparing, by the processor, the second level permutation name to at least one of the first stored name or the second stored name.

3. The method of claim 1 , further comprising refining, by the processor, the calculating of the second name matching score based on the comparing the second level permutation name to at least one of the first stored name or the second stored name.

4. The method of claim 1 , further comprising comparing, by the processor, the first name matching score to the second name matching score.

5. The method of claim 1 , further comprising permuting, by the processor, the first name token and the second name token to create a third level permutation name, in response to the second name matching score being greater than the first name matching score, wherein the third level permutation name is different from the second level permutation name.

6. The method of claim 1 , wherein the calculating is based on a scoring factor that comprises at least one of a scoring penalty, or a scoring penalty weight.

7. The method of claim 1 , wherein the calculating the first name matching score is further based on at least one of a missing business identifier or a poorly matched business identifier.

8. The method of claim 1 , wherein the name match is used in at least one of a search engine, a bank transaction, a merchant fraud verification, or a legal context.

9. The method of claim 1 , further comprising preprocessing, by the processor, the name input by at least one of removing a leading white space, removing a trailing white space, converting each lowercase character to an uppercase character, or converting each uppercase character to a lowercase character.

10. A system comprising:

a processor; and

a tangible, non-transitory memory configured to communicate with the processor,

the tangible, non-transitory memory having instructions stored thereon that, in response to execution by the processor, cause the processor to perform operations comprising:

identifying, by the processor, each string in a name input separated by a space or a non-alphanumeric character;

parsing, by the processor and based on the identifying, the name input into a first subset of the name input and a second subset of the name input;

tokenizing, by the processor and based on the parsing, the name input to create a first name token and a second name token, wherein the first name token comprises the first subset of the name input and the second name token comprises the second subset of the name input;

determining, by the processor, that at least one of the first name token or the second name token match a short form name from a database;

replacing, by the processor, at least one of the first name token or the second name token with a full name associated with the short form name;

determining, by the processor, a first stored name that has a first similarity to the first name token;

determining, by the processor, a second stored name that has a second similarity to the second name token;

calculating, by the processor, a first name matching score based on an estimate of the first similarity, a first string length of the first name token, a missing first string, and a location of the missing first string;

calculating, by the processor, a second name matching score based on an estimate of the second similarity, a second string length of the second name token a missing second string, and a location of the missing second string;

permuting, by the processor, the first name token and the second name token to create a second level permutation name, wherein the second level permutation name is created by combining the first name token with the second name token based on a permutation order, and wherein the permutation order comprises at least one of adding the first name token to a start of the second name token or an end of the second name token, or adding the second name token to a start of the first name token or an end of the first name token; and

improving, by the processor and based on the permuting, an accuracy of a name match using the first name token and the second name token.

11. The system of claim 10 , further comprising comparing, by the processor, the second level permutation name to at least one of the first stored name or the second stored name.

12. The system of claim 10 , further comprising permuting, by the processor, the first name token and the second name token to create a third level permutation name, in response to the second name matching score being greater than the first name matching score, wherein the third level permutation name is different from the second level permutation name.

13. The system of claim 10 , wherein the calculating is based on a scoring factor that comprises at least one of a scoring penalty, or a scoring penalty weight.

14. The system of claim 10 , further comprising preprocessing, by the processor, the name input by at least one of removing a leading white space, removing a trailing white space, converting each lowercase character to an uppercase character, or converting each uppercase character to a lowercase character.

15. An article of manufacture including a non-transitory, tangible computer readable storage medium having instructions stored thereon that, in response to execution by a computer based system, cause the computer based system to perform operations comprising:

identifying, by the computer based system, each string in a name input separated by a space or a non-alphanumeric character;

parsing, by the computer based system and based on the identifying, the name input into a first subset of the name input and a second subset of the name input;

tokenizing, by the computer based system and based on the parsing, the name input to create a first name token and a second name token, wherein the first name token comprises the first subset of the name input and the second name token comprises the second subset of the name input;

determining, by the computer based system, that at least one of the first name token or the second name token match a short form name from a database;

replacing, by the computer based system, at least one of the first name token or the second name token with a full name associated with the short form name;

determining, by the computer based system, a first stored name that has a first similarity to the first name token;

determining, by the computer based system, a second stored name that has a second similarity to the second name token;

calculating, by the computer based system, a first name matching score based on an estimate of the first similarity, a first string length of the first name token, a missing first string, and a location of the missing first string;

calculating, by the computer based system, a second name matching score based on an estimate of the second similarity, a second string length of the second name token a missing second string, and a location of the missing second string;

permuting, by the computer based system, the first name token and the second name token to create a second level permutation name, wherein the second level permutation name is created by combining the first name token with the second name token based on a permutation order, and wherein the permutation order comprises at least one of adding the first name token to a start of the second name token or an end of the second name token, or adding the second name token to a start of the first name token or an end of the first name token; and

improving, by the computer based system and based on the permuting, an accuracy of a name match using the first name token and the second name token.

16. The article of manufacture of claim 15 , further comprising comparing, by the computer based system, the second level permutation name to at least one of the first stored name or the second stored name.

17. The article of manufacture of claim 15 , further comprising refining, by the computer based system, the calculating of the second name matching score based on the comparing the second level permutation name to at least one of the first stored name or the second stored name.

18. The article of manufacture of claim 15 , further comprising permuting, by the computer based system, the first name token and the second name token to create a third level permutation name, in response to the second name matching score being greater than the first name matching score, wherein the third level permutation name is different from the second level permutation name.

19. The article of manufacture of claim 15 , wherein the calculating is based on a scoring factor that comprises at least one of a scoring penalty, or a scoring penalty weight.

20. The article of manufacture of claim 15 , further comprising preprocessing, by the computer based system, the name input by at least one of removing a leading white space, removing a trailing white space, converting each lowercase character to an uppercase character, or converting each uppercase character to a lowercase character.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE 4TH INVENTORS NAME THAT WAS MISSPELLED PREVIOUSLY RECORDED ON REEL 048938 FRAME 0456. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECTIVE ASSIGNMENT. Recorded May 21, 2019
From: BHUSHAN, ANAND; BOSE, SANDEEP; CHAO, HUI-PING W.; GUDUR, MADHU SUDHAN REDDY; PUNIA, AJAY KUMAR; YADAV, VINOD
To: AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC.
Reel/Frame 049819/0198 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 4TH INVENTOR LISTED MISSPELLED LAST NAME PREVIOUSLY RECORDED ON REEL 039387 FRAME 0701. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT. Recorded Apr 17, 2019
From: BHUSHAN, ANAND; BOSE, SANDEEP; CHAO, HUI-PING W.; GUDUR, MADHU SUDAN REDDY; PUNIA, AJAY KUMAR; YADAV, VINOD
To: AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC.
Reel/Frame 048938/0456 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2016
From: BHUSHAN, ANAND; BOSE, SANDEEP; CHAO, HUI-PING W.; GUDAR, MADHU SUDHAN REDDY; PUNIA, AJAY KUMAR; YADAV, VINOD
To: AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC.
Reel/Frame 039387/0701 →
Cited By (1)
US 12,333,249