Apparatus and Method for Identifying Text that does not Match Exactly using Dual Authentication
AssigneeBottomline Technologies (DE) Inc.
InventorsBrian Amend, Sean Glerum, Melissa Kutsch, Jessica Moran
Life of this patent
Estimating the term…
Abstract
A computer-implemented method for matching user inputted text to stored text. The user inputted text is compared to each of the text strings stored in a database using a Levenshtein distance algorithm. For each comparison, the Levenshtein distance is analyzed to determine exact matches, non-matches, and probable matches. Probable matches are further analyzed using a keyboard distance algorithm to differentiate between matches and non-matches.
Claims20
An apparatus for improving automated matching of user inputted text to a database of text strings, the apparatus comprising:
- an input device configured to receive the user inputted text;
- a memory electrically connected to the input device, said memory storing the user inputted text and the database of text strings;
- a processor, electrically connected to the memory and to the input device, where the processor is configured to accept the user inputted text and place the user inputted text in the memory, and then loop through each text string in the database, comparing a Levenshtein distance between the text string and the user inputted text, and
- if the Levenshtein distance is zero, a match is outputted by the processor;
- if the Levenshtein distance is greater than or equal to a Levenshtein threshold value, continuing the loop of each text string with the next text string in the database;
- and
- if the Levenshtein distance is less than a Levenshtein threshold value, looping through each character of the text string and the user inputted text until a mismatch between a text string character and a user inputted text character is found, and determining a keyboard distance between the text string character and the user inputted text character,
- if the keyboard distance is greater than or equal to a keyboard distance threshold, continuing the loop of each text string with the next text string in the database;
- if the keyboard distance is less than the keyboard distance threshold, continuing the loop through each character of the text string and the user inputted text;
- until each character of the text string and the user inputted text has been compared, upon which a match is outputted by the processor;
- until each text string in the database is compared, upon which a non-match is outputted by the processor.
A method for improving automated matching of user inputted text to a database of text strings, the method comprising:
- accepting the user inputted text by a processor from an input device;
- placing, by the processor, the user inputted text in a memory;
- looping through each text string in the database of text strings stored in the memory;
- comparing, within the loop of each text string in the memory, a Levenshtein distance between the text string and the user inputted text, and
- if the Levenshtein distance is zero, outputting a match by the processor;
- if the Levenshtein distance is greater than or equal to a Levenshtein threshold value, continuing the loop of each text string with the next text string in the database;
- and
- if the Levenshtein distance is less than a Levenshtein threshold value, looping through each character of the text string and the user inputted text until a mismatch between a text string character and a user inputted text character is found, and determining a keyboard distance between the text string character and the user inputted text character,
- if the keyboard distance is greater than or equal to a keyboard distance threshold, stopping the loop through each character of the text string and the user inputted text and continuing the loop of each text string with the next text string in the database;
- if the keyboard distance is less than the keyboard distance threshold, continuing the loop through each character of the text string and the user inputted text;
- until each character of the text string and the user inputted text has been compared, then outputting a match the processor;
- until each text string in the database is compared, the outputting a non-match by the processor.
Dependencies are inferred from the claim text.