IP Library Granted Patent US 8,108,764
Granted Patent B2
US 8,108,764 · App. 11/866,423 · Granted Jan 31, 2012

Document recognition using static and variable strings to create a document signature

Assignee: Esker, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,108,764
App. No.
11/866,423
Granted
Jan 31, 2012
Kind
B2
Abstract

Systems and methods of recognizing a business document and creating a document signature. In one embodiment, a business document is scanned and a business document image is created. The business document image is compared to a template database. If a matching template is found, document fields are defined and extracted. If no matching document template is found, the document image is compared to a skeleton database. If a matching document skeleton in found, document fields are defined and extracted. A document skeleton is generated and then stored in the template database. If no matching document skeletons are found in the skeleton database, document fields are manually extracted. A document skeleton is then generated from the identification of static and variable strings and stored in the skeleton database. Document fields are validated after all document fields have been extracted.

Claims (86)

1. A computer-implemented method of recognizing a document and extracting at least one variable document field within the document, the method comprising:

receiving a first document image corresponding to a first instance of the document;

automatically identifying one or more document fields of the first document image;

comparing the one or more identified document fields of the first document image to a plurality of document templates stored in a document template database, the plurality of document templates each including one or more static document fields;

comparing, following an unsuccessful comparison of the one or more document fields to the plurality of document templates, the one or more document fields of the first document image to at least one document skeleton stored in a document skeleton database, the at least one document skeleton including one or more static document fields;

defining, following an unsuccessful comparison of the one or more document fields to the at least one document skeleton, one or more user-identified variable document fields within the first document image for extraction;

extracting the defined one or more variable document fields from the first document image to obtain a set of extracted variable document fields;

identifying a set of static document fields within the first document image based on the set of extracted variable document fields;

generating a document skeleton based on the identified set of static document fields after the first instance of the document;

storing the generated document skeleton in the document skeleton database;

receiving a second document image corresponding to a second instance of the document;

automatically identifying one or more document fields of the second document image;

comparing the one or more identified document fields of the second document image to the plurality of document templates stored in the document template database;

comparing, following an unsuccessful comparison of the one or more identified document fields of the second document image to the plurality of document templates, the one or more identified document fields of the second document image to the at least one document skeleton in the document skeleton database;

automatically generating, following a successful comparison of the one or more identified document fields of the second document image to the at least one document skeleton, a document template based on the comparison of the second document image to the at least one document skeleton in the document skeleton database only after the second instance of the document;

automatically extracting the one or more variable document fields based on the generated document template following receiving the second instance of the document; and

storing the generated document template in the document template database.

2. A method as claimed in claim 1 , further comprising:

scanning the document to create the first document image.

3. A method as claimed in claim 1 , further comprising:

determining a sender ID; and

comparing the sender ID to sender IDs of document skeletons in the document skeleton database.

4. A method as claimed in claim 1 , further comprising:

adjusting the first document image by a scale factor; and

adjusting the first document image by translation.

5. A method as claimed in claim 1 , further comprising:

identifying each static field of the second document image with a set of Cartesian coordinates; and

identifying each static field of the generated document template with a set of Cartesian coordinates.

6. A method as claimed in claim 5 , further comprising:

identifying the static field in the second document image that has the smallest set of Cartesian coordinates;

identifying the static field in the generated document template that has the smallest set of Cartesian coordinates;

identifying the static field in the second document image that has the largest set of Cartesian coordinates; and

identifying the static field in the generated document template that has the largest set of Cartesian coordinates.

7. A method as claimed in claim 6 , further comprising:

identifying the smaller of the document template and the second document image to create a first result; and

identifying the larger of the document template and the second document image to create a second result.

8. A method as claimed in claim 7 , further comprising:

subtracting the coordinates of the static field with the smallest set of Cartesian coordinates of the first result from the coordinates of the static field with the smallest set of Cartesian coordinates of the second result to create a translation correction vector.

9. A method as claimed in claim 8 , further comprising:

applying the translation correction vector to each set of static field Cartesian coordinates associated with the second document image.

10. A method as claimed in claim 7 , further comprising:

subtracting the coordinates of the static field with the largest set of Cartesian coordinates of the first result from the coordinates of the static field with the largest set of Cartesian coordinates of the second result to create a scale correction vector.

11. A method as claimed in claim 10 , further comprising:

applying the scale correction vector to each set of static field Cartesian coordinates associated with the second document image.

12. A document recognition system for recognizing a document and extracting at least one variable document field within the document, the system comprising:

a user input device;

a document input device configured to generate a first document image corresponding to a first instance of the document and generate a second document image corresponding to a second instance of the document;

a display; and

a computer connected to the user input device, the document input device, and the display, the computer configured to

automatically identify one or more document fields of the first document image;

compare the one or more identified document fields of the first document image to a plurality of document templates stored in a document template database, the plurality of document templates each including one or more static document fields;

compare, following an unsuccessful comparison of the one or more document fields to the plurality of document templates, the one or more document fields of the first document image to at least one document skeleton stored in a document skeleton database, the at least one document skeleton including one or more static document fields;

define, following an unsuccessful comparison of the one or more document fields to the at least one document skeleton, one or more user-identified variable document fields within the first document image for extraction;

extract the defined one or more variable document fields from the first document image to obtain a set of extracted variable document fields;

identify a set of static document fields within the first document image based on the set of extracted variable document fields;

generate a document skeleton based on the identified set of static document fields after the first instance of the document;

store the generated document skeleton in the document skeleton database;

automatically identify one or more document fields of the second document image;

compare the one or more identified document fields of the second document image to the plurality of document templates stored in the document template database;

compare, following an unsuccessful comparison of the one or more identified document fields of the second document image to the plurality of document templates, the one or more identified document fields of the second document image to the at least one document skeleton in the document skeleton database;

automatically generate, following a successful comparison of the one or more identified document fields of the second document image to the at least one document skeleton, a document template based on the comparison of the second document image to the at least one document skeleton in the document skeleton database only after the second instance of the document;

automatically extract the one or more variable document fields based on the generated document template following receiving the second instance of the document; and

store the generated document template in the document template database.

13. A system as claimed in claim 12 , wherein the computer is further configured to determine whether the first document image and the second document image are substantially similar to a document template stored in the template database.

14. A system as claimed in claim 13 , wherein the computer is further configured to

determine a sender ID; and

compare the sender ID to sender IDs of document skeletons in the document skeleton database.

15. A system as claimed in claim 14 , wherein the computer is further configured to adjust the image by a scale factor; and adjust the image by translation.

16. A document recognition system comprising:

a user input device;

a display; and

a computer connected to the user input device and the display, the computer configured to

automatically identify one or more document fields of a first document image corresponding to a first instance of a document;

compare the one or more identified document fields of the first document image to a plurality of document templates stored in a document template database, the plurality of document templates each including one or more static document fields;

compare, following an unsuccessful comparison of the one or more document fields to the plurality of document templates, the one or more document fields of the first document image to at least one document skeleton stored in a document skeleton database, the at least one document skeleton including one or more static document fields;

define, following an unsuccessful comparison of the one or more document fields to the at least one document skeleton, one or more user-identified variable document fields within the first document image for extraction;

extract the defined one or more variable document fields from the first document image to obtain a set of extracted variable document fields;

identify a set of static document fields within the first document image based on the set of extracted variable document fields;

generate a document skeleton based on the identified set of static document fields after the first instance of the document;

store the generated document skeleton in the document skeleton database;

automatically identify one or more document fields of a second document image corresponding to a second instance of the document;

comparing the one or more identified document fields of the second document image to the plurality of document templates stored in the document template database;

compare, following an unsuccessful comparison of the one or more identified document fields of the second document image to the plurality of document templates, the one or more identified document fields of the second document image to the at least one document skeleton in the document skeleton database;

automatically generate, following a successful comparison of the one or more identified document fields of the second document image to the at least one document skeleton, a document template based on the comparison of the second document image to the at least one document skeleton in the document skeleton database only after the second instance of the document;

automatically extract the one or more variable document fields based on the generated document template following receiving the second instance of the document; and

store the generated document template in the document template database.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2007
From: BERARD, JEAN-JACQUES; LICHTENBERGER, STEPHANE
To: ESKER, INC
Reel/Frame 019911/0829 →
Continuity (1)
Related Publication 20090092320A1 · Apr 9, 2009