Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR AUTOMATICALLY DETECTING ERRORS IN AT LEAST ONE DATA ENTRY USING IMAGE MAPS
Document Type and Number:
WIPO Patent Application WO/2019/200291
Kind Code:
A1
Abstract:
A method for automatically detecting errors in at least one data entry in a database, the at least one data entry including an input string of characters that do not match at least one predefined string of characters. The method includes generating a first image map; generating at least one classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters; determining that the input string of characters correlates to the predefined string of characters; and modifying the at least one data entry to match the predefined string of characters in response to determining that the input string of characters correlates to the predefined string of characters. Various other methods and systems for automatically detecting errors in at least one data entry in a database are also disclosed.

Inventors:
PATEL HIMA (IN)
Application Number:
PCT/US2019/027277
Publication Date:
October 17, 2019
Filing Date:
April 12, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
VISA INT SERVICE ASS (US)
International Classes:
G06F17/00
Foreign References:
US20170004413A12017-01-05
US20150032738A12015-01-29
US20050240569A12005-10-27
US20140095476A12014-04-03
US20050198563A12005-09-08
Attorney, Agent or Firm:
PREPELKA, Nathan, J. et al. (US)
Download PDF:
Claims:
CLAIMS:

1. A method of automatically detecting errors in at least one data entry in a database, the at least one data entry comprising an input string of characters that do not match at least one predefined string of characters, the method comprising:

generating, with at least one processor and based at least partially on the input string of characters, a first image map;

generating, with at least one processor, at least one classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters;

determining, with at least one processor and based at least partially on the classification parameter, that the input string of characters correlates to the predefined string of characters; and

modifying, with at least one processor, the at least one data entry to match the predefined string of characters in response to determining that the input string of characters correlates to the predefined string of characters.

2. The method of claim 1 , wherein determining that the input string of characters correlates to the predefined string of characters comprises:

generating, with at least one processor, a predictive model for determining correlations between image maps, the predictive model based at least partially on image maps generated from historic data entries; and

determining, with at least one processor, that the input string of characters corresponds to the predefined string of characters based at least partially on application of the predictive model to the first image map.

3. The method of claim 1 , wherein the first image map and the second image map each comprise: (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining a matrix, wherein each character represented by the first image map and the second image map is represented by a location in the matrix associated with a column and a row.

4. The method of claim 1 , wherein a length of the input string of characters is different from a length of the predefined string of characters, and wherein the first image map and the second image map are generated to have a same dimension corresponding to either the length of the input string of characters or the length of the predefined string of characters.

5. The method of claim 1 , wherein the first image map and the second image map are compressed prior to generating the classification parameter.

6. The method of claim 1 , wherein the at least one data entry is manually inputted by a user into a freeform input field.

7. A method of automatically detecting errors in at least one data entry in a database, the at least one data entry comprising an input string of characters that do not match at least one predefined string of characters, the method comprising:

generating, with at least one processor and based at least partially on the input string of characters of the at least one data entry, a first image map;

generating, with at least one processor, a first classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters;

determining, with at least one processor and based at least partially on the first classification parameter, that the input string of characters does not correlate to the predefined string of characters;

in response to determining that the input string of characters does not correlate to the predefined string of characters, generating a second classification parameter by comparing the first image map to a third image map, the third image map based at least partially on a stored string of characters representative of a prior non-correlated data entry; and

storing, with at least one processor and based at least partially on the second classification parameter, the at least one data entry in a database in association with the prior non-correlated data entry, such that the input string of characters and/or the stored string of characters form a new predefined string of characters for comparison to subsequent data entries.

8. The method of claim 7, wherein determining that the input string of characters does not correlate to the predefined string of characters comprises:

generating, with at least one processor, a predictive model for determining correlations between image maps, the predictive model based at least partially on image maps generated from historic data entries; and

determining, with at least one processor, that the input string of characters does not correspond to the predefined string of characters based at least partially on application of the predictive model to the first image map.

9. The method of claim 7, wherein the first image map, the second image map, and the third image map each comprise: (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining a matrix, wherein each character represented by the first image map and the second image map is represented by a location in the matrix associated with a column and a row.

10. The method of claim 7, wherein a length of the input string of characters is different from a length of the predefined string of characters, and wherein the first image map and the second image map are generated to have a same dimension corresponding to either the length of the input string of characters or the length of the predefined string of characters.

11. The method of claim 7, wherein the first image map, the second image map, and the third image map are compressed prior to generating the classification parameter.

12. The method of claim 7, wherein the at least one data entry is manually inputted by a user into a freeform input field.

13. A system for automatically detecting errors in at least one data entry in a database, the at least one data entry comprising an input string of characters that do not match at least one predefined string of characters, the system comprising at least one processor configured to: generate, based at least partially on the input string of characters, a first image map;

generate at least one classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters;

determine, based at least partially on the classification parameter, whether the input string of characters correlates to the predefined string of characters; and

modify the at least one data entry to match the predefined string of characters in response to determining that the input string of characters correlates to the predefined string of characters.

14. The system of claim 13, wherein, to determine that the input string of characters correlates to the predefined string of characters, the at least one processor is further programmed and/or configured to:

generate a predictive model for determining correlations between image maps, the predictive model based at least partially on image maps generated from historic data entries; and

determine that the input string of characters corresponds to the predefined string of characters based at least partially on application of the predictive model to the first image map.

15. The system of claim 13, wherein the first image map and the second image map each comprise: (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining a matrix, wherein each character represented by the first image map and the second image map is represented by a location in the matrix associated with a column and a row.

16. The system of claim 13, wherein a length of the input string of characters is different from a length of the predefined string of characters, and wherein the first image map and the second image map are generated to have a same dimension corresponding to either the length of the input string of characters or the length of the predefined string of characters.

17. The system of claim 13, wherein the first image map and the second image map are compressed prior to generating the classification parameter.

18. The system of claim 13, wherein the at least one data entry is manually inputted by a user into a freeform input field.

19. The system of claim 13, wherein in response to determining that the input string of characters does not correlate to the predefined string of characters, the at least one processor is further programmed and/or configured to generate a second classification parameter by comparing the first image map to a third image map, the third image map based at least partially on a stored string of characters representative of a prior non-correlated data entry.

20. The system of claim 19, wherein the at least one processor is further programmed and/or configured to store, based at least partially on the second classification parameter, the at least one data entry in a database in association with the prior non-correlated data entry, such that the input string of characters and/or the stored string of characters form a new predefined string of characters for comparison to subsequent data entries.

21. A method of automatically detecting errors in at least one data entry in a database, the at least one data entry comprising an input string of characters that do not match at least one predefined string of characters, the method comprising:

generating, with at least one processor and based at least partially on the input string of characters, a first image map;

generating, with at least one processor, at least one classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters;

determining, with at least one processor and based at least partially on the classification parameter, that the input string of characters correlates to the predefined string of characters; and modifying, with at least one processor, the at least one data entry to match the predefined string of characters in response to determining that the input string of characters correlates to the predefined string of characters.

22. The method of claim 21 , wherein determining that the input string of characters correlates to the predefined string of characters comprises:

generating, with at least one processor, a predictive model for determining correlations between image maps, the predictive model based at least partially on image maps generated from historic data entries; and

determining, with at least one processor, that the input string of characters corresponds to the predefined string of characters based at least partially on application of the predictive model to the first image map.

23. The method of claim 21 or 22, wherein the first image map and the second image map each comprise: (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining a matrix, wherein each character represented by the first image map and the second image map is represented by a location in the matrix associated with a column and a row.

24. The method of any of claims 21-23, wherein a length of the input string of characters is different from a length of the predefined string of characters, and wherein the first image map and the second image map are generated to have a same dimension corresponding to either the length of the input string of characters or the length of the predefined string of characters.

25. The method of any of claims 21-24, wherein the first image map and the second image map are compressed prior to generating the classification parameter.

26. The method of any of claims 21-25, wherein the at least one data entry is manually inputted by a user into a freeform input field.

27. A method of automatically detecting errors in at least one data entry in a database, the at least one data entry comprising an input string of characters that do not match at least one predefined string of characters, the method comprising:

generating, with at least one processor and based at least partially on the input string of characters of the at least one data entry, a first image map;

generating, with at least one processor, a first classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters;

determining, with at least one processor and based at least partially on the first classification parameter, that the input string of characters does not correlate to the predefined string of characters;

in response to determining that the input string of characters does not correlate to the predefined string of characters, generating a second classification parameter by comparing the first image map to a third image map, the third image map based at least partially on a stored string of characters representative of a prior non-correlated data entry; and

storing, with at least one processor and based at least partially on the second classification parameter, the at least one data entry in a database in association with the prior non-correlated data entry, such that the input string of characters and/or the stored string of characters form a new predefined string of characters for comparison to subsequent data entries.

28. The method of claim 27, wherein determining that the input string of characters does not correlate to the predefined string of characters comprises:

generating, with at least one processor, a predictive model for determining correlations between image maps, the predictive model based at least partially on image maps generated from historic data entries; and

determining, with at least one processor, that the input string of characters does not correspond to the predefined string of characters based at least partially on application of the predictive model to the first image map.

29. The method of claim 27 or 28, wherein the first image map, the second image map, and the third image map each comprise: (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining a matrix, wherein each character represented by the first image map and the second image map is represented by a location in the matrix associated with a column and a row.

30. The method of any of claims 27-29, wherein a length of the input string of characters is different from a length of the predefined string of characters, and wherein the first image map and the second image map are generated to have a same dimension corresponding to either the length of the input string of characters or the length of the predefined string of characters.

31. The method of any of claims 27-30, wherein the first image map, the second image map, and the third image map are compressed prior to generating the classification parameter.

32. The method of any of claims 27-31 , wherein the at least one data entry is manually inputted by a user into a freeform input field.

33. A system for automatically detecting errors in at least one data entry in a database, the at least one data entry comprising an input string of characters that do not match at least one predefined string of characters, the system comprising at least one processor configured to:

generate, based at least partially on the input string of characters, a first image map;

generate at least one classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters;

determine, based at least partially on the classification parameter, whether the input string of characters correlates to the predefined string of characters; and modify the at least one data entry to match the predefined string of characters in response to determining that the input string of characters correlates to the predefined string of characters.

34. The system of claim 33, wherein, to determine that the input string of characters correlates to the predefined string of characters, the at least one processor is further programmed and/or configured to:

generate a predictive model for determining correlations between image maps, the predictive model based at least partially on image maps generated from historic data entries; and

determine that the input string of characters corresponds to the predefined string of characters based at least partially on application of the predictive model to the first image map.

35. The system of claim 33 or 34, wherein the first image map and the second image map each comprise: (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining a matrix, wherein each character represented by the first image map and the second image map is represented by a location in the matrix associated with a column and a row.

36. The system of any of claims 33-35, wherein a length of the input string of characters is different from a length of the predefined string of characters, and wherein the first image map and the second image map are generated to have a same dimension corresponding to either the length of the input string of characters or the length of the predefined string of characters.

37. The system of any of claims 33-36, wherein the first image map and the second image map are compressed prior to generating the classification parameter.

38. The system of any of claims 33-37, wherein the at least one data entry is manually inputted by a user into a freeform input field.

39. The system of any of claims 33-38, wherein in response to determining that the input string of characters does not correlate to the predefined string of characters, the at least one processor is further programmed and/or configured to generate a second classification parameter by comparing the first image map to a third image map, the third image map based at least partially on a stored string of characters representative of a prior non-correlated data entry.

40. The system of any of claims 33-39, wherein the at least one processor is further programmed and/or configured to store, based at least partially on the second classification parameter, the at least one data entry in a database in association with the prior non-correlated data entry, such that the input string of characters and/or the stored string of characters form a new predefined string of characters for comparison to subsequent data entries.

41. A method of automatically detecting errors in at least one data entry in a database, the at least one data entry comprising an input string of characters that do not match at least one predefined string of characters, the method comprising:

generating, with at least one processor and based at least partially on the input string of characters, a first image map;

generating, with at least one processor, at least one classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters;

determining, with at least one processor and based at least partially on the classification parameter, that the input string of characters correlates to the predefined string of characters; and

modifying, with at least one processor, the at least one data entry to match the predefined string of characters in response to determining that the input string of characters correlates to the predefined string of characters.

42. The method of claim 41 , wherein determining that the input string of characters correlates to the predefined string of characters comprises: generating, with at least one processor, a predictive model for determining correlations between image maps, the predictive model based at least partially on image maps generated from historic data entries; and

determining, with at least one processor, that the input string of characters corresponds to the predefined string of characters based at least partially on application of the predictive model to the first image map.

43. The method of claim 41 or 42, wherein the first image map and the second image map each comprise: (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining a matrix, wherein each character represented by the first image map and the second image map is represented by a location in the matrix associated with a column and a row.

44. The method of any of claims 41-43, wherein a length of the input string of characters is different from a length of the predefined string of characters, and wherein the first image map and the second image map are generated to have a same dimension corresponding to either the length of the input string of characters or the length of the predefined string of characters.

45. The method of any of claims 41-44, wherein the first image map and the second image map are compressed prior to generating the classification parameter.

46. The method of any of claims 41-45, wherein the at least one data entry is manually inputted by a user into a freeform input field.

47. A method of automatically detecting errors in at least one data entry in a database, the at least one data entry comprising an input string of characters that do not match at least one predefined string of characters, the method comprising:

generating, with at least one processor and based at least partially on the input string of characters of the at least one data entry, a first image map; generating, with at least one processor, a first classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters;

determining, with at least one processor and based at least partially on the first classification parameter, that the input string of characters does not correlate to the predefined string of characters;

in response to determining that the input string of characters does not correlate to the predefined string of characters, generating a second classification parameter by comparing the first image map to a third image map, the third image map based at least partially on a stored string of characters representative of a prior non-correlated data entry; and

storing, with at least one processor and based at least partially on the second classification parameter, the at least one data entry in a database in association with the prior non-correlated data entry, such that the input string of characters and/or the stored string of characters form a new predefined string of characters for comparison to subsequent data entries.

48. A system for automatically detecting errors in at least one data entry in a database, the at least one data entry comprising an input string of characters that do not match at least one predefined string of characters, the system comprising at least one processor configured to:

generate, based at least partially on the input string of characters, a first image map;

generate at least one classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters;

determine, based at least partially on the classification parameter, whether the input string of characters correlates to the predefined string of characters; and

modify the at least one data entry to match the predefined string of characters in response to determining that the input string of characters correlates to the predefined string of characters.

49. The system of claim 48, wherein, to determine that the input string of characters correlates to the predefined string of characters, the at least one processor is further programmed and/or configured to:

generate a predictive model for determining correlations between image maps, the predictive model based at least partially on image maps generated from historic data entries; and

determine that the input string of characters corresponds to the predefined string of characters based at least partially on application of the predictive model to the first image map.

50. The system of claim 48 or 49, wherein the first image map and the second image map each comprise: (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining a matrix, wherein each character represented by the first image map and the second image map is represented by a location in the matrix associated with a column and a row.

51. The system of any of claims 48-50, wherein a length of the input string of characters is different from a length of the predefined string of characters, and wherein the first image map and the second image map are generated to have a same dimension corresponding to either the length of the input string of characters or the length of the predefined string of characters.

52. The system of any of claims 48-51 , wherein the first image map and the second image map are compressed prior to generating the classification parameter.

53. The system of any of claims 48-52, wherein the at least one data entry is manually inputted by a user into a freeform input field.

54. The system of any of claims 48-53, wherein in response to determining that the input string of characters does not correlate to the predefined string of characters, the at least one processor is further programmed and/or configured to generate a second classification parameter by comparing the first image map to a third image map, the third image map based at least partially on a stored string of characters representative of a prior non-correlated data entry.

55. The system of claim 54, wherein the at least one processor is further programmed and/or configured to store, based at least partially on the second classification parameter, the at least one data entry in a database in association with the prior non-correlated data entry, such that the input string of characters and/or the stored string of characters form a new predefined string of characters for comparison to subsequent data entries.

Description:
METHOD AND SYSTEM FOR AUTOMATICALLY DETECTING ERRORS IN AT LEAST ONE DATA ENTRY USING IMAGE MAPS

CROSS REFERENCE TO RELATED APPLICATION

[0001] This application claims priority to U.S. Patent Application No. 15/952,699, filed April 13, 2018, entitled“Method and System for Automatically Detecting Errors in at Least One Data Entry Using Image Maps,” the disclosure of which is hereby incorporated by reference in its entirety.

BACKGROUND

Technical Field

[0002] This disclosure relates to methods and systems for automatically detecting errors in at least one data entry.

Technical Considerations

[0003] Freeform fields completed by users as user input can include errors, such as spelling errors, shortened versions, or additional“junk” characters that confuse the actual and the intended data entries. User input errors compromise the database in which they are entered with misinformation.

[0004] In many cases, the data entered into a database is then used to complete other tasks. As one example, data included in a database (e.g., address information, account data, merchant information, and the like) can be used to complete tasks associated with transactions, such as authorization of the transaction, shipment of the goods associated with the transaction, and many more. Therefore, the user input errors in the database can lead to errors occurring during completion of the transaction. User input errors can also frustrate downstream tasks in many other scenarios in which data from a database is used to complete further tasks or can even generate misleading results when that data is used for activities associated with analytics.

SUMMARY

[0005] Accordingly, provided are improved methods and systems for automatically detecting errors in at least one data entry.

[0006] According to some non-limiting embodiments or aspects, provided is a method of automatically detecting errors in at least one data entry in a database, the at least one data entry including an input string of characters that do not match at least one predefined string of characters, the method including: generating, with at least one processor and based at least partially on the input string of characters, a first image map; generating, with at least one processor, at least one classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters; determining, with at least one processor and based at least partially on the classification parameter, that the input string of characters correlates to the predefined string of characters; and modifying, with at least one processor, the at least one data entry to match the predefined string of characters in response to determining that the input string of characters correlates to the predefined string of characters.

[0007] In some non-limiting embodiments or aspects, determining that the input string of characters correlates to the predefined string of characters may include: generating, with at least one processor, a predictive model for determining correlations between image maps, the predictive model based at least partially on image maps generated from historic data entries; and determining, with at least one processor, that the input string of characters corresponds to the predefined string of characters based at least partially on application of the predictive model to the first image map. The first image map and the second image map may each include: (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining a matrix, where each character represented by the first image map and the second image map is represented by a location in the matrix associated with a column and a row. A length of the input string of characters may be different from a length of the predefined string of characters. The first image map and the second image map may be generated to have a same dimension corresponding to either the length of the input string of characters or the length of the predefined string of characters. The first image map and the second image map may be compressed prior to generating the classification parameter. The at least one data entry may be manually inputted by a user into a freeform input field.

[0008] According to some non-limiting embodiments or aspects, provided is a method of automatically detecting errors in at least one data entry in a database, the at least one data entry including an input string of characters that do not match at least one predefined string of characters, the method including: generating, with at least one processor and based at least partially on the input string of characters of the at least one data entry, a first image map; generating, with at least one processor, a first classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters; determining, with at least one processor and based at least partially on the first classification parameter, that the input string of characters does not correlate to the predefined string of characters; in response to determining that the input string of characters does not correlate to the predefined string of characters, generating a second classification parameter by comparing the first image map to a third image map, the third image map based at least partially on a stored string of characters representative of a prior non-correlated data entry; and storing, with at least one processor and based at least partially on the second classification parameter, the at least one data entry in a database in association with the prior non-correlated data entry, such that the input string of characters and/or the stored string of characters form a new predefined string of characters for comparison to subsequent data entries.

[0009] In some non-limiting embodiments or aspects, determining that the input string of characters does not correlate to the predefined string of characters may include: generating, with at least one processor, a predictive model for determining correlations between image maps, the predictive model based at least partially on image maps generated from historic data entries; and determining, with at least one processor, that the input string of characters does not correspond to the predefined string of characters based at least partially on application of the predictive model to the first image map. The first image map, the second image map, and the third image map may each include: (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining a matrix, where each character represented by the first image map and the second image map is represented by a location in the matrix associated with a column and a row. A length of the input string of characters may be different from a length of the predefined string of characters. The first image map and the second image map may be generated to have a same dimension corresponding to either the length of the input string of characters or the length of the predefined string of characters. The first image map, the second image map, and the third image map may be compressed prior to generating the classification parameter. The at least one data entry may be manually inputted by a user into a freeform input field.

[0010] According to some non-limiting embodiments or aspects, provided is a system for automatically detecting errors in at least one data entry in a database, the at least one data entry including an input string of characters that do not match at least one predefined string of characters, the system including at least one server computer including at least one processor, the at least one server computer programmed and/or configured to: generate, based at least partially on the input string of characters, a first image map; generate at least one classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters; determine, based at least partially on the classification parameter, whether the input string of characters correlates to the predefined string of characters; and modify the at least one data entry to match the predefined string of characters in response to determining that the input string of characters correlates to the predefined string of characters.

[0011] In some non-limiting embodiments or aspects, to determine that the input string of characters correlates to the predefined string of characters, the at least one server computer may be further programmed and/or configured to: generate a predictive model for determining correlations between image maps, the predictive model based at least partially on image maps generated from historic data entries; and determine that the input string of characters corresponds to the predefined string of characters based at least partially on application of the predictive model to the first image map. The first image map and the second image map may each include: (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining a matrix, where each character represented by the first image map and the second image map is represented by a location in the matrix associated with a column and a row. A length of the input string of characters may be different from a length of the predefined string of characters. The first image map and the second image map may be generated to have a same dimension corresponding to either the length of the input string of characters or the length of the predefined string of characters. The first image map and the second image map may be compressed prior to generating the classification parameter. The at least one data entry may be manually inputted by a user into a freeform input field. [0012] In some non-limiting embodiments or aspects, in response to determining that the input string of characters does not correlate to the predefined string of characters, the at least one processor may be further programmed and/or configured to generate a second classification parameter by comparing the first image map to a third image map, the third image map based at least partially on a stored string of characters representative of a prior non-correlated data entry. The at least one processor may be further programmed and/or configured to store, based at least partially on the second classification parameter, the at least one data entry in a database in association with the prior non-correlated data entry, such that the input string of characters and/or the stored string of characters form a new predefined string of characters for comparison to subsequent data entries.

[0013] Further non-limiting embodiments or aspects are set forth in the following numbered clauses:

[0014] Clause 1 : A method of automatically detecting errors in at least one data entry in a database, the at least one data entry comprising an input string of characters that do not match at least one predefined string of characters, the method comprising: generating, with at least one processor and based at least partially on the input string of characters, a first image map; generating, with at least one processor, at least one classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters; determining, with at least one processor and based at least partially on the classification parameter, that the input string of characters correlates to the predefined string of characters; and modifying, with at least one processor, the at least one data entry to match the predefined string of characters in response to determining that the input string of characters correlates to the predefined string of characters.

[0015] Clause 2: The method of clause 1 , wherein determining that the input string of characters correlates to the predefined string of characters comprises: generating, with at least one processor, a predictive model for determining correlations between image maps, the predictive model based at least partially on image maps generated from historic data entries; and determining, with at least one processor, that the input string of characters corresponds to the predefined string of characters based at least partially on application of the predictive model to the first image map. [0016] Clause 3: The method of clause 1 or 2, wherein the first image map and the second image map each comprise: (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining a matrix, wherein each character represented by the first image map and the second image map is represented by a location in the matrix associated with a column and a row.

[0017] Clause 4: The method of any of clauses 1-3, wherein a length of the input string of characters is different from a length of the predefined string of characters, and wherein the first image map and the second image map are generated to have a same dimension corresponding to either the length of the input string of characters or the length of the predefined string of characters.

[0018] Clause 5: The method of any of clauses 1-4, wherein the first image map and the second image map are compressed prior to generating the classification parameter.

[0019] Clause 6: The method of any of clauses 1-5, wherein the at least one data entry is manually inputted by a user into a freeform input field.

[0020] Clause 7: A method of automatically detecting errors in at least one data entry in a database, the at least one data entry comprising an input string of characters that do not match at least one predefined string of characters, the method comprising: generating, with at least one processor and based at least partially on the input string of characters of the at least one data entry, a first image map; generating, with at least one processor, a first classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters; determining, with at least one processor and based at least partially on the first classification parameter, that the input string of characters does not correlate to the predefined string of characters; in response to determining that the input string of characters does not correlate to the predefined string of characters, generating a second classification parameter by comparing the first image map to a third image map, the third image map based at least partially on a stored string of characters representative of a prior non-correlated data entry; and storing, with at least one processor and based at least partially on the second classification parameter, the at least one data entry in a database in association with the prior non-correlated data entry, such that the input string of characters and/or the stored string of characters form a new predefined string of characters for comparison to subsequent data entries.

[0021] Clause 8: The method of clause 7, wherein determining that the input string of characters does not correlate to the predefined string of characters comprises: generating, with at least one processor, a predictive model for determining correlations between image maps, the predictive model based at least partially on image maps generated from historic data entries; and determining, with at least one processor, that the input string of characters does not correspond to the predefined string of characters based at least partially on application of the predictive model to the first image map.

[0022] Clause 9: The method of clause 7 or 8, wherein the first image map, the second image map, and the third image map each comprise: (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining a matrix, wherein each character represented by the first image map and the second image map is represented by a location in the matrix associated with a column and a row.

[0023] Clause 10: The method of any of clauses 7-9, wherein a length of the input string of characters is different from a length of the predefined string of characters, and wherein the first image map and the second image map are generated to have a same dimension corresponding to either the length of the input string of characters or the length of the predefined string of characters.

[0024] Clause 11 : The method of any of clauses 7-10, wherein the first image map, the second image map, and the third image map are compressed prior to generating the classification parameter.

[0025] Clause 12: The method of any of clauses 7-11 , wherein the at least one data entry is manually inputted by a user into a freeform input field.

[0026] Clause 13: A system for automatically detecting errors in at least one data entry in a database, the at least one data entry comprising an input string of characters that do not match at least one predefined string of characters, the system comprising at least one processor configured to: generate, based at least partially on the input string of characters, a first image map; generate at least one classification parameter by comparing the first image map to a second image map, the second image map based at least partially on the predefined string of characters; determine, based at least partially on the classification parameter, whether the input string of characters correlates to the predefined string of characters; and modify the at least one data entry to match the predefined string of characters in response to determining that the input string of characters correlates to the predefined string of characters.

[0027] Clause 14: The system of clause 13, wherein, to determine that the input string of characters correlates to the predefined string of characters, the at least one processor is further programmed and/or configured to: generate a predictive model for determining correlations between image maps, the predictive model based at least partially on image maps generated from historic data entries; and determine that the input string of characters corresponds to the predefined string of characters based at least partially on application of the predictive model to the first image map.

[0028] Clause 15: The system of clause 13 or 14, wherein the first image map and the second image map each comprise: (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining a matrix, wherein each character represented by the first image map and the second image map is represented by a location in the matrix associated with a column and a row.

[0029] Clause 16: The system of any of clauses 13-15, wherein a length of the input string of characters is different from a length of the predefined string of characters, and wherein the first image map and the second image map are generated to have a same dimension corresponding to either the length of the input string of characters or the length of the predefined string of characters.

[0030] Clause 17: The system of any of clauses 13-16, wherein the first image map and the second image map are compressed prior to generating the classification parameter.

[0031] Clause 18: The system of any of clauses 13-17, wherein the at least one data entry is manually inputted by a user into a freeform input field.

[0032] Clause 19: The system of any of clauses 13-18, wherein in response to determining that the input string of characters does not correlate to the predefined string of characters, the at least one processor is further programmed and/or configured to generate a second classification parameter by comparing the first image map to a third image map, the third image map based at least partially on a stored string of characters representative of a prior non-correlated data entry. [0033] Clause 20: The system of any of clauses 13-19, wherein the at least one processor is further programmed and/or configured to store, based at least partially on the second classification parameter, the at least one data entry in a database in association with the prior non-correlated data entry, such that the input string of characters and/or the stored string of characters form a new predefined string of characters for comparison to subsequent data entries.

[0034] These and other features and characteristics of the present disclosure, as well as the methods of operation and functions of the related elements of structures and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the disclosure. As used in the specification and the claims, the singular form of“a”,“an”, and“the” include plural referents unless the context clearly dictates otherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Additional advantages and details of the disclosure are explained in greater detail below with reference to the exemplary embodiments or aspects that are illustrated in the accompanying schematic figures, in which:

[0036] FIG. 1A shows a non-limiting embodiment or aspect of a graphical user interface having a freeform input field;

[0037] FIG. 1 B shows a non-limiting embodiment or aspect of a back-end of a database containing data input by users of the graphical user interface of FIG. 1A, the data containing typographical errors;

[0038] FIG. 1C shows a non-limiting embodiment or aspect of a modified backend of the database of FIG. 1 B with the typographical errors automatically corrected;

[0039] FIG. 2 is a non-limiting embodiment or aspect of a system for automatically detecting errors in at least one data entry;

[0040] FIG. 3 shows a non-limiting embodiment or aspect of an image map of an input string; [0041] FIG. 4 shows a non-limiting embodiment or aspect of classification parameters associated with an image-based comparison of the input string and predefined strings;

[0042] FIG. 5 shows a non-limiting embodiment or aspect of an input string, predefined strings, and non-matching strings;

[0043] FIG. 6 is a non-limiting embodiment or aspect of a method for automatically detecting errors in at least one data entry; and

[0044] FIG. 7 is a non-limiting embodiment or aspect of another method for automatically detecting errors in at least one data entry.

DETAILED DESCRIPTION

[0045] For purposes of the description hereinafter, the terms “end”, “upper”, “lower”,“right”,“left”,“vertical”,“horizon tal”,“top”,“bottom”,“lateral”,“longitudinal , and derivatives thereof, shall relate to the disclosure as it is oriented in the drawing figures. However, it is to be understood that the disclosure may assume various alternative variations and step sequences, except where expressly specified to the contrary. It is also to be understood that the specific devices and processes illustrated in the attached drawings, and described in the following specification, are simply exemplary embodiments or aspects of the disclosure. Hence, specific dimensions and other physical characteristics related to the embodiments or aspects disclosed herein are not to be considered as limiting.

[0046] No aspect, component, element, structure, act, step, function, instruction, and/or the like used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles“a” and“an” are intended to include one or more items and may be used interchangeably with“one or more” and“at least one.” Furthermore, as used herein, the term“set” is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, etc.) and may be used interchangeably with“one or more” or“at least one.” Where only one item is intended, the term“one” or similar language is used. Also, as used herein, the terms“has,”“have,”“having,” or the like are intended to be open-ended terms. Further, the phrase“based on” is intended to mean“based at least partially on” unless explicitly stated otherwise.

[0047] Some non-limiting embodiments or aspects are described herein in connection with thresholds. As used herein, satisfying a threshold may refer to a value being greater than the threshold, more than the threshold, higher than the threshold, greater than or equal to the threshold, less than the threshold, fewer than the threshold, lower than the threshold, less than or equal to the threshold, equal to the threshold, and/or the like.

[0048] As used herein, the terms“communication” and“communicate” may refer to the reception, receipt, transmission, transfer, provision, and/or the like, of information (e.g., data, signals, messages, instructions, commands, and/or the like). For one unit (e.g., a device, a system, a component of a device or system, combinations thereof, and/or the like) to be in communication with another unit means that the one unit is able to directly or indirectly receive information from and/or transmit information to the other unit. This may refer to a direct or indirect connection (e.g., a direct communication connection, an indirect communication connection, and/or the like) that is wired and/or wireless in nature. Additionally, two units may be in communication with each other even though the information transmitted may be modified, processed, relayed, and/or routed between the first and second unit. For example, a first unit may be in communication with a second unit even though the first unit passively receives information and does not actively transmit information to the second unit. As another example, a first unit may be in communication with a second unit if at least one intermediary unit (e.g., a third unit located between the first unit and the second unit) processes information received from the first unit and communicates the processed information to the second unit. In some non-limiting embodiments or aspects, a message may refer to a network packet (e.g., a data packet, and/or the like) that includes data. It will be appreciated that numerous other arrangements are possible.

[0049] As used herein, the term“account identifier” may refer to one or more types of identifiers associated with an account (e.g., a unique identifier of an account, an account number, a primary account number (PAN), a card number, a payment card number, a token, and/or the like) of a user. In some non-limiting embodiments or aspects, an issuer may provide an account identifier to a user that uniquely identifies one or more accounts associated with that user. In some nonlimiting embodiments or aspects, an account identifier may be embodied on a physical financial instrument (e.g., a portable financial device, a payment card, a credit card, a debit card, and/or the like) and/or may be electronic information communicated to the user that the user may use for electronic payment transactions. In some non-limiting embodiments or aspects, an account identifier may be an original account identifier, where the original account identifier was provided to a user at the creation of the account associated with the account identifier. In some non-limiting embodiments or aspects, the account identifier may be an account identifier (e.g., a supplemental account identifier) that is provided to a user after the original account identifier was provided to the user. For example, if the original account identifier is forgotten by the user, stolen from the user, and/or the like, a supplemental account identifier may be provided to the user. In some non-limiting embodiments or aspects, an account identifier may be directly or indirectly associated with an issuer such that an account identifier may be a token that maps to a PAN or other type of identifier. Account identifiers may be alphanumeric, any combination of characters and/or symbols, and/or the like.

[0050] As used herein, the term“merchant” may refer to an individual or entity that provides goods and/or services, or access to goods and/or services, to customers based on a transaction, such as a payment transaction. The term“merchant” or “merchant system” may also refer to one or more computer systems operated by or on behalf of a merchant, such as a server computer executing one or more software applications. A“point-of-sale (POS) system,” as used herein, may refer to one or more computers and/or peripheral devices used by a merchant to engage in payment transactions with customers, including one or more card readers, near-field communication (NFC) receivers, RFID receivers, and/or other contactless transceivers or receivers, contact-based receivers, payment terminals, computers, servers, input devices, and/or other like devices that can be used to initiate a payment transaction.

[0051] As used herein, the term“computing device” may refer to one or more electronic devices that are configured to directly or indirectly communicate with or over one or more networks. The computing device may be a mobile device. As an example, a mobile device may include a cellular phone (e.g., a smartphone or standard cellular phone), a portable computer, a wearable device (e.g., watches, glasses, lenses, clothing, and/or the like), a personal digital assistant (PDA), and/or other like devices. The computing device may not be a mobile device, such as a desktop computer. Furthermore, the term“computer” may refer to any computing device that includes the necessary components to receive, process, and output data, and normally includes a display, a processor, a memory, an input device, and a network interface. An“application” or“application program interface” (API) refers to computer code or other data sorted on a computer-readable medium that may be executed by a processor to facilitate the interaction between software components, such as a client-side front-end and/or server-side back-end for receiving data from the client. An “interface” refers to a generated display, such as one or more graphical user interfaces (GUIs) with which a user may interact, either directly or indirectly (e.g., through a keyboard, mouse, etc.).

[0052] As used herein, the term“mobile device” may refer to one or more portable electronic devices configured to communicate with one or more networks. As an example, a mobile device may include a cellular phone (e.g., a smartphone or standard cellular phone), a portable computer (e.g., a tablet computer, a laptop computer, etc.), a wearable device (e.g., a watch, pair of glasses, lens, clothing, and/or the like), a PDA, and/or other like devices. The term“client device,” as used herein, refers to any electronic device that is configured to communicate with one or more servers or remote devices and/or systems. A client device may include a mobile device, a network-enabled appliance (e.g., a network-enabled television, refrigerator, thermostat, and/or the like), a computer, a POS system, and/or any other device or system capable of communicating with a network.

[0053] As used herein, the term“portable financial device” may refer to a payment device, an electronic payment device, a payment card (e.g., a credit or debit card), a gift card, a smartcard, smart media, a payroll card, a healthcare card, a wrist band, a machine-readable medium containing account information, a keychain device or fob, an RFID transponder, a retailer discount or loyalty card, a cellular phone, an electronic wallet mobile application, a PDA, a pager, a security card, a computer, an access card, a wireless terminal, a transponder, and/or the like. In some non-limiting embodiments or aspects, the portable financial device may include volatile or nonvolatile memory to store information (e.g., an account identifier, a name of the account holder, and/or the like).

[0054] The term“selectable option,” as used herein, refers to one or more buttons, radio buttons, checkboxes, links, drop-down menus, text boxes, icons, and/or other like options that are selectable by a user through any type of input.

[0055] As used herein, the term“server” or“processor” may refer to one or more devices that provide a functionality to one or more devices (e.g., one or more client devices) via a network (e.g., a public network, a private network, the Internet, and/or the like). For example, a server may include one or more computing devices. [0056] As used herein, the term“system” may refer to one or more devices, such as one or more processors, servers, client devices, computing devices that include software applications, and/or the like.

[0057] As used herein, the term “computing device” may refer to one or more electronic devices that are configured to directly or indirectly communicate with or over one or more networks. The computing device may be a mobile device. As an example, a mobile device may include a cellular phone (e.g., a smartphone or standard cellular phone), a portable computer, a wearable device (e.g., watches, glasses, lenses, clothing, and/or the like), a PDA, and/or other like devices. The computing device may not be a mobile device, such as a desktop computer. Furthermore, the term “computer” may refer to any computing device that includes the necessary components to receive, process, and output data, and normally includes a display, a processor, a memory, an input device, and a network interface. An“application” or“application program interface” (API) refers to computer code or other data sorted on a computer-readable medium that may be executed by a processor to facilitate the interaction between software components, such as a client-side front-end and/or server-side back-end for receiving data from the client. An“interface” refers to a generated display, such as one or more GUIs with which a user may interact, either directly or indirectly (e.g., through a keyboard, mouse, etc.).

[0058] In some non-limiting embodiments or aspects, reference to“a server” or“a processor,” as used herein, may refer to a previously-recited server and/or processor that is recited as performing a previous step or function, a different server and/or processor, and/or a combination of servers and/or processors. For example, as used in the specification and the claims, a first server and/or a first processor that is recited as performing a first step or function may refer to the same or different server and/or a processor recited as performing a second step or function.

[0059] Non-limiting embodiments or aspects of the disclosure are directed to methods and systems for automatically detecting errors in at least one data entry in a database. Non-limiting embodiments or aspects of the methods and systems allow for the modification of data entries including errors, modifying including replacing, amending, or otherwise altering the incorrect data entry (such as a misspelling, abbreviation, or entry with junk text) with the intended, correct data entry to result in a more accurate database. Non-limiting embodiments or aspects of the disclosure include predefined strings of characters that may be compared to the data entry including an error in the image domain so as to identify the intended and accurate data entry. Non-limiting embodiments or aspects provide for a modified database that contains fewer incorrect data entries because data entries containing errors can be automatically identified and updated. Non-limiting embodiments or aspects of the disclosure convert the data entry from a text domain to an image domain, generating specific patterns from the data entry, which may then be compressed. The compressed patterns make data entries containing errors appear more similar to images of similar text entries without the errors, leading to a more effective correlation determination compared to correlation determinations conducted only in the text domain. Non-limiting embodiments or aspects of the disclosure also provide for the reduction of errors of downstream processes (transaction processing or analytics, for example) that use data entries in databases because the data entries used have been modified to remove errors associated with faulty user input. Nonlimiting embodiments or aspects of the disclosure also allow for entries not included in the predefined strings database, but which have been added to the database by multiple different users (suggesting that the entry actually does not contain an error), to be added to the predefined strings database according to certain rules. In this way, the system can self-learn new, correct data entries, as opposed to identifying them as potential misinformation and improve itself over time.

[0060] Referring to FIG. 1A, a non-limiting embodiment or aspect of a GUI 100 is shown. The GUI 100 may include freeform input fields 10, which allow a user to manually specify the character or string of characters to be inputted in the freeform input field 10. Characters, as used herein, refers to letters, numbers, punctuation, a null value, or any other type of character and/or symbol. String of characters, as used herein, refers to any combination of two or more characters. In the GUI 100 shown in FIG. 1A, “First Name”, “Last Name”, “Street Address”, “City”, “State”, “Payment Card Number”, and“Zip” are all freeform input fields 10. Other types of fields may be included in the GUI 100. For instance, the GUI may include various selectable options, such as the radio buttons for“T-Shirt Size” and“T-Shirt Color” in FIG. 1A.

[0061] Referring to FIGS. 1 B and 1 C, non-limiting embodiments or aspects of back-end databases 110, 120 containing data input from users of the GUI 100 of FIG. 1A are shown. The back-end of the databases 110, 120 may include data entries (e.g., 112a-c and 122a-c), which correspond to data entered by the user into the input fields of the GUI 100 of FIG. 1A. The data entries 112a-c, 122a-c may include strings of characters, as shown.

[0062] Referring to FIG. 1 B, an original back-end database 110 includes the data entries 112a-c exactly as they were entered into the GUI 100 from FIG. 1A by a user. Certain of the data entries 112a-c include various errors, and these flawed entries are circled in FIG. 1 B. The errors can be of the same type as shown in FIG. 1 B, or any other type of data entry error is contemplated.

[0063] Referring to FIG. 1 C, a modified back-end database 120 includes modified data entries 122a-c, which correct the flawed data entries 112a-c from FIG. 1 B. Data entry 112a from FIG. 1 B (“Fo8t4r City”) was modified to“Foster City”. Data entry 112b from FIG. 1 B (“SanFrancisco”) was modified to“San Francisco”. Data entry 112c from FIG. 1 B (“Picksburgh”) was modified to“Pittsburgh”. Thus, the modified back-end database 120 contains fewer errors compared to the original back-end database 110. In some examples, the data entries are modified before they are included in a back-end database, such that the original back-end database 110 is not included. In this manner, the flawed data entries from the user are modified before that data entry is ever included in the back-end database. In other non-limiting embodiments or aspects, the data is first written to the original back-end database 110 without checking for data entry errors, and then the data entries are each automatically reviewed for errors.

[0064] Referring to FIG. 2, a non-limiting embodiment or aspect of a system 2000 for automatically detecting errors in at least one data entry is shown. In this nonlimiting exemplary system 2000, a user 200 enters data into freeform inputs fields using a computing device 202. The computing device 202 may be any type of computing device, such as a mobile device or a desktop computer or other type of non-mobile computer. The data entries input by the user 200 may be communicated to an entry database 204 for storage. The computing device 202 may transmit the data entries to the entry database 204, or the entry database 204 may communicate with the computing device 202 to retrieve the data entries. The data entries may be communicated to the entry database 204 continuously in real time or according to a batch process. In some non-limiting embodiments or aspects, the computing device 202 first communicates with a modifying processor 206 to transmit the data entries to the modifying processor 206 before they are stored in the entry database 204. The modifying processor 206 may be a processor in the computing device 202 or a separate processor. The modifying processor 206 may be remote or local to the computing device 202.

[0065] With continued reference to FIG. 2, the modifying processor 206 is configured to automatically detect errors in the data entries entered by the user 200 into the computing device 202. The modifying processor 206 receives the data entries from the computing device 202 and/or the entry database 204 in order to automatically detect errors in the data entries. The modifying processor 206 may communicate with a predefined strings database 208 and/or a non-matching strings database 210 to detect errors in the data entries. Once the modifying processor 206 detects an error in a data entry, the modifying processor 206 may modify the data entry. Modifying the data entry may include communicating the modified data entry to the entry database 204 for storage or communicating with the entry database 204 to update the flawed data entry already stored in the entry database 204 with the modified data entry. However, other processes of modifying the flawed data entries may be used such that the entry database 204 stores the modified data entry.

[0066] With continued reference to FIG. 2, the predefined strings database 208 may include strings of characters known to be valid data entries. The predefined strings database 208 may store lists of data entries known to be valid. For example, for a freeform input field that asks for a city name, the predefined strings database 208 may include a list of known city names. As another example, for a freeform input field that asks for a merchant name, the predefined strings database 208 may include a list of known merchant names. Thus, the lists stored in the predefined strings database 208 may include anticipated data entries that are known to be correct. In some non-limiting embodiments or aspects, the database may be continually updated through results of the system or by a third party.

[0067] With continued reference to FIG. 2, the non-matching strings database 210 may include data entries previously reviewed by the modifying processor 206 but not determined to correlate with any data entries in the predefined strings database 208. After the modifying database 206 determines that a data entry does not match any data entries in the predefined strings database 208, it does not modify the data entry in the entry database 204, and it may also communicate that data entry (which did not correlate with a predefined data entry) to the non-matching strings database 210 for storage. The data entries stored in the non-matching strings database 210 may later be determined to be a valid data entry based on further user data input and may then become a data entry in the predefined strings database 208.

[0068] The result of the system 2000 shown in FIG. 2 is a more accurate entry database 204 containing fewer errors than the original data entries submitted to the computing device 202 by the user 200. The modifying processor 206 may automatically detect errors in data entries using any suitable method.

[0069] Referring to FIGS. 3-5, the modifying processor 206 may automatically detect errors in the data entries using an image-based comparison protocol. In one non-limiting embodiment, the modifying processor 206 may generate a first image map based at least partially on the data entry (e.g., the input string of characters of the data entry). As used herein, the term “image map” may refer to any multidimensional representation of the text form data entry, such as a matrix or image representation of the text data entry.

[0070] FIG. 3 shows one non-limiting embodiment of generating an image map 304 based at least partially on the data entry. In FIG. 3, a data entry 300 (string of characters) is“abf . The modifying processor 206 utilizes a rules-based protocol 302 to convert the data entry 300 into the graphical representation that is the image map 304. In the rules-based protocol 302 in FIG. 3, the image map 304 is a matrix which includes (i) columns corresponding to character position within a respective string of characters and (ii) rows corresponding to a character index in a character set, the columns and rows defining the matrix. Each character represented by the image map 304 is represented by a location in the matrix associated with a column and a row. According to the rules-based protocol 302, the‘a’ in the data entry 300 is located at [0,0] of the image map 304, with the first coordinate Ό’ representing the first position in the string and the second coordinate Ό’ representing the first letter of the alphabet. This is because the numeral Ό’ is used as the first column and row of the matrix, as opposed to using numeral Ύ. According to the rules-based protocol 302, the‘b’ in the data entry 300 is located at [1 ,1] of the image map 304 (matrix), based on being the second position in the string of characters and‘b’ being the second letter of the alphabet. According to the rules-based protocol 302, the‘f in the data entry 300 is located at [2,5] of the image map 304 (matrix), based on being the third position in the string of characters and ‘b’ being the sixth letter of the alphabet. Thus, for the data entry 300“abf, the image map 304 is generated to graphically represent the data entry 300. An active cell of the matrix (e.g., [0,0], [1 ,1], [2,5]) may have a , a dot, or some other character and/or symbol placed therein, whereas non-active cells may have a O’, a null value, or some other character and/or symbol placed therein.

[0071] It will be appreciated that any conceivable string of characters can be represented in matrix form based on the previously-described rules-based protocol 302 to form an image representation (image map 304) of the string of characters. It will also be appreciated that alternative rules-based protocols that differently represent the characters in the string of characters to form an image representation of the string of characters may be used. For example, the image map may include an image of the data entry 300“abf .

[0072] In some examples, a length of the data entry (e.g., characters in the input string) may be the same as a length of a predefined string. However, in other examples, a length of the data entry may be different from a length of a predefined string. In this example, the modifying processor 206 may generate image maps for the data entry and the predefined string having a same dimension corresponding to either the length of the data entry’s string of characters or a length of the predefined string of characters, or some other length of characters different from both.

[0073] Referring to FIG. 4, the modifying processor 206 may generate at least one classification parameter by comparing the image map associated with the data entry from the computing device 202 with image maps based at least partially on the predefined strings in the predefined strings database 208. In other words, the image map of the data entry from the computing device 202 is compared with each image map representation of the predefined strings in the predefined strings database 208. Prior to generating the classification parameter, the image maps to be compared to generate the classification parameter may be compressed. The classification parameter may represent how similar the data entry from the computing device 202 is to each image map representation of the predefined strings in the predefined strings database 208. The classification parameter may be, for instance, a value, such that a high value represents similar image maps and a low value represents dissimilar image maps. The value may be on a scale, such as 1-10, 1-100, or any other suitable scale. The classification parameter may be a grade, such that the assigned grade represents how similar/dissimilar the image maps are to one another. Any other type of classification parameter may be used to quantify and/or qualify how similar/dissimilar the image maps are to one another. [0074] With continued reference to FIG. 4, a specific example of generating classification parameters is shown. The example in FIG. 4 is not meant to be limiting. In this example, the data entry from the computing device 202 is input string 400“Fo8t4r Ci6y”, which is in response to a freeform input field of“City Name”. In this system, the predefined strings database 208 includes the 5 cities shown in FIG. 4 as expected and known predefined strings 402a-e. The modifying processor 206 generates an image map for “Fo8t4r Ci6y”, which is not shown herein. The modifying processor 206 also generates an image map for each of the known predefined strings 402a-e, which are not shown herein. By comparing the image map for“Fo8t4r Ci6y” with the image map for each of the known predefined strings 402a-e, the modifying processor 206 may generate a classification parameter 404a- e for each known predefined string 402a-e. As shown in the example, predefined string 402c“Foster City” is similar to“Fo8t4r Ci6y”, and a comparison of its image maps by the modifying processor 206 generates a comparatively high classification parameter of 85 (on a 1-100 scale). In comparison, predefined string 402b“Boston” is dissimilar to“Fo8t4r Ci6y”, and a comparison of its image maps by the modifying processor 206 generates a comparatively low classification parameter of 2 (on a 1- 100 scale).

[0075] With continued reference to FIG. 4, the modifying processor 206 may determine, based at least partially on the classification parameter, whether data entry 400 (which does not exactly match predefined strings 402a-e from the predefined strings database 208)“correlates” to a predetermined string 402a-e of characters from the predefined strings database 208. “Correlate”, as used herein, means that the data entry, while not exactly matching the predetermined string of characters from the predefined strings database 208 is similar enough, based at least in part by the classification parameter, that the data entry is considered as intending to be the same as the predetermined string of characters from the predefined strings database 208, such that the data entry should be modified to match exactly the predetermined string of characters from the predefined strings database 208.

[0076] The data entry may be determined to correlate with one of the predefined string using any suitable method. In one example, the data entry may be determined to correlate with one of the predefined strings using a rules-based protocol. For instance, if the classification parameter between the data entry and the predefined strings is above a certain threshold, the rules-based protocol may determine that the data entry correlates with the predefined string. In some non-limiting embodiments or aspects, the rules-based protocol may specify that the data entry may automatically correlate with the predefined string with which it has the highest classification parameter (e.g., is most similar to).

[0077] In another non-limiting embodiment, to determine whether there is a correlation, the modifying processor 206 may generate a predictive model. For example, the predictive model may be based at least in part on images generated from historic data entries. In this way, the system may learn from previous image maps found to correlate with one another. For example, classifiers (e.g., SVM, Random Forrest, and the like) may be used for learning whether a correlation exists. The modifying processor 206 may determine that the data entry correlates with the predefined string based at least partially on application of the predictive model to the image map of the data entry.

[0078] In response to determining that the data entry correlates with the predefined string, the modifying processor 206 may communicate with the entry database 204, such that the modified data entry (matching the predefined string) is stored in the entry database 204.

[0079] Referring to FIG. 5, a data entry 500 may be determined to not correlate with any predefined string 502a-e from the predefined strings database 208. In some non-limiting embodiments or aspects, the input string 500 that has been determined to not correlate with any predefined string 502a-e from the predefined strings database 208 may be compared to another string that is a previously nonmatching string 504a-c. A previously non-matching string 504a-c may be a string that was previously compared to the predefined strings 502a-e but was also determined to not correlate with any predefined string 502a-e.

[0080] The data entry 500 may be compared against the previously non-matching strings 504a-c using the same methods previously described. For example, the modifying processor 206 may generate a classification parameter by comparing the image map for the data entry 500 to the each image map of the previously nonmatching strings 504a-c. In some non-limiting embodiments or aspects, the data entry 500 may need to have a classification parameter that corresponds to the data entry 500 exactly matching one of the previously non-matching strings 504a-c. [0081] With continued reference to FIG. 5, upon the modifying processor 206 determining that the data entry 500 correlates to one of the previously non-matching strings 504a-c, the modifying processor 206 may store the data entry 500 or the correlating non-matching string 504a-c in the predefined strings database 208 such that the data entry 500 or the correlating non-matching string 504a-c becomes a new predefined string (to be compared against subsequent data entries). By way of example, in FIG. 5, the data entry 500 is“Pittsburg” (such as Pittsburg, Kansas), but the city“Pittsburg” is not included in the predefined strings 502a-e. However, past users have entered“Pittsburg” (because it corresponds to a real city in the United States) and it was stored by the modifying processor 206 in the non-matching strings database 210 as a previously non-matching string 504a. The modifying processor 206 determines that data entry 500 matches previously non-matching string 504a (e.g., by comparing image maps and generating a classification parameter), which is then stored in the predefined strings database 208 as a new predefined string for comparison with subsequent data entries.

[0082] In some non-limiting embodiments or aspects, a data entry 500 that matches a non-matching string a single time may trigger the data entry 500 and/or the non-matching string being stored as a predefined string. However, in some nonlimiting embodiments or aspects, a predetermined number of identical input strings that match the non-matching string must first be entered before the data entry 500 and/or the non-matching string is stored as a predefined string. For instance, various users may need to enter the same non-matching data entry at least 10 times before the system determines that the non-matching data entry is a correct data entry and should be classified as a predefined data entry. Various rules may be implemented as to when a repeated non-matching string becomes a predefined string. In this way, the system may be self-learning by determining that data entries previously determined to be non-matching and considered to contain an error may be subsequently considered a predefined, correct data entry based on the data entry being entered by multiple users.

[0083] Referring to FIG. 6, a non-limiting method 6000 for automatically detecting errors in at least one data entry is shown. At a step 602, the modifying processor 206 may receive a data entry from the entry database 204 or the computing device 202. At a step 604, the modifying processor 206 may determine whether the data entry is an exact match with a predefined string from the predefined strings database 208. This matching may occur using any of the previously-described image-based comparison processes or may be based on a textual comparison of the data entry and the predefined strings. If the data entry is determined by the modifying processor 206 to exactly match a predefined string, the process may end. If the data entry is determined by the modifying processor 206 to not exactly match any predefined string, the process may continue to step 606. At step 606, the modifying processor 206 may generate an image map of the data entry. The modifying processor 206 may also generate an image map of at least one of the predefined strings. The image maps may be generated as previously described. At a step 608, the modifying processor 206 may generate a classification parameter by comparing the image map of the data entry with the image map of one of the predefined strings. At a step 610, the modifying processor 206 may determine if the data entry correlates to the predefined strings. Steps 606-610 may be repeated for comparing the data entry with each predefined string in the predefined strings database 208, if necessary (e.g., until a correlation is determined). At a step 612, upon the modifying processor 206 determining that the data entry correlates to a predefined string, the modifying processor 206 may modify the data entry to match the predefined string, which may be stored in the entry database 204 (so the entry database 204 contains the updated/modified data entry). If the data entry is determined to not correlate with any of the predefined strings the data entry in the entry database 204 is not modified (step 614). At a step 616, the modifying processor 206 may store the non-matching data entry in the non-matching strings database 210.

[0084] Referring to FIG. 7, another non-limiting method 7000 for automatically detecting errors in at least one data entry is shown. Step 702 of method 7000 may be identical to step 602 of method 6000. Step 704 of method 7000 may be identical to step 604 of method 6000. Step 706 of method 7000 may be identical to step 606 of method 6000. Step 708 of method 7000 may be identical to step 608 of method 6000. Step 710 of method 7000 may be identical to step 610 of method 6000. Step 712 of method 7000 may be identical to step 612 of method 6000. At a step 714, upon the modifying processor 206 determining that the data entry does not correlate with a predefined string, the modifying processor 206 may generate a classification parameter based on a comparison of the image map of the data entry with an image map of each previously non-matching string from the non-matching strings database 210. At a step 716, the modifying processor 206 may determine if the data entry correlates with any previously non-matching string, as previously described. At a step 718, if the modifying processor 206 determines that the data entry correlates with a previously non-matching string, the modifying processor 206 may store the data entry and/or the previously non-matching string in the predefined strings database 208 as a new predefined string. In some non-limiting embodiments or aspects, Step 718 may be performed by the modifying processor 206 upon the data entry exactly matching a previously non-matching string. In some non-limiting embodiments or aspects, step 718 may be performed by the modifying processor 206 upon the data entry correlating to the previously non-matching string a predetermined number of times (multiple users inputting the same data entry identifying a pattern and indicating that the entry is a valid entry) before the data entry and/or the previously non-matching string is stored as a predefined string. At a step 720, upon the modifying processor 206 determining that the data entry does not correlate to any of the previously non-matching strings, the modifying processor 206 may store the data entry in the non-matching strings database 210.

[0085] Although the disclosure has been described in detail for the purpose of illustration based on what is currently considered to be the most practical and preferred embodiments or aspects, it is to be understood that such detail is solely for that purpose and that the disclosure is not limited to the disclosed embodiments or aspects, but, on the contrary, is intended to cover modifications and equivalent arrangements that are within the spirit and scope of the appended claims. For example, it is to be understood that the present disclosure contemplates that, to the extent possible, one or more features of any embodiment can be combined with one or more features of any other embodiment.