METHOD AND SYSTEM FOR EXTRACTION OF TABLE DATA FROM DOCUMENTS FOR ROBOTIC PROCESS AUTOMATION
Improved techniques to access content from documents in an automated fashion. The improved techniques permit content of tables within documents to be retrieved and then used by computer systems operating various software programs (e.g., application programs). Consequently, Robotic Process Automation (RPA) systems are able to accurately understand the content of tables within documents so that users, application programs and/or software robots can operate on the documents with increased reliability and flexibility. The documents being received and processed can be electronic images of documents. For example, the documents can be business transaction documents which include tables, such as purchase orders, invoices, delivery receipts, bills of lading, etc.
1 . A computer-implemented method for extracting data from an image of a document, the computer-implemented method comprising:
detecting a plurality of objects that are detected in the image of the document, the plurality of objects detected including at least a table, table header and table header elements from the detected object;
identifying columns within the table;
selecting at least one of the columns;
identifying rows within the table based on positions of data items within the selected column;
identifying cells within the table at the intersection of the identified rows and the identified columns; and
extracting content from the identified cells.
2 . A computer-implemented method as recited in claim 1 , wherein the identifying identifies the columns within the table based on the table header elements.
3 . A computer-implemented method as recited in claim 1 , wherein the object data denotes at least a portion of the document having the detected object.
4 . A computer-implemented method as recited in claim 1 , wherein the object data denotes at least an object type for the detected object, and wherein the object type denotes a table.
5 . A computer-implemented method as recited in claim 1 , wherein the object data retrieved by the retrieving is retrieved using at least in part a Natural Language Processing Model trained for data extraction of data from object blocks pertaining to tables.
6 . A computer-implemented method for extracting data from an image of a document, the computer-implemented method comprising:
receiving the image for the document;
detecting objects within the document image;
identifying a table, table header and table header elements from the detected objects;
identifying columns within the table;
selecting at least one of the columns;
identifying rows within the table based on positions of data items within the selected column;
identifying cells within the table at the intersection of the identified rows and the identified columns; and
extracting content from the identified cells.
7 . A computer-implemented method as recited in claim 6 , wherein the identifying rows within the table comprises:
identifying the data items in the selected column; and
drawing bounding boxes around the data items within the selected column; and
identifying rows within the table based on positions of bounding boxes around the data items within the selected column.
8 . A computer-implemented method as recited in claim 6 , wherein the data items are word blocks.
9 . A computer-implemented method as recited in claim 6 , wherein the selected column is selected based on the table header element associated with the selected column.
10 . A computer-implemented method as recited in claim 6 , wherein the table header element for the selected column pertains to quantity or a substitute descriptor therefor.
11 . A computer-implemented method as recited in claim 6 , wherein the table header element for the selected column pertains to price/amount or a substitute descriptor therefor.
12 . A computer-implemented method as recited in claim 6 , wherein the selected column is a left-most column in the table.
13 . A computer-implemented method as recited in claim 6 , wherein the selecting of the selected column comprises:
determining whether one or more of the table header elements are same or equivalent to one or more of a set of predetermined descriptors; and
selecting the selected column based on the one or more of the table header elements that are determined to be the same or equivalent to one or more of the set of predetermined descriptors.
14 . A non-transitory computer readable medium including at least computer program code tangibly stored thereon for extracting data from an image of a document, the computer readable medium comprising:
computer program code for detecting a plurality of objects that are detected in the image of the document, the plurality of objects detected including at least a table, table header and table header elements from the detected object;
computer program code for identifying columns within the table;
computer program code for selecting at least one of the columns;
computer program code for identifying rows within the table based on positions of data items within the selected column;
computer program code for identifying cells within the table at the intersection of the identified rows and the identified columns; and
computer program code for extracting content from the identified cells.
15 . A non-transitory computer readable medium as recited in claim 14 , wherein the computer program code for identifying identifies the columns within the table based on the table header elements.
16 . A non-transitory computer readable medium as recited in claim 14 , wherein the object data denotes at least a portion of the document having the detected object.
17 . A non-transitory computer readable medium as recited in claim 15 , wherein the object data denotes at least an object type for the detected object, and wherein the object type denotes a table.
18 . A non-transitory computer readable medium as recited in claim 17 , wherein the computer program code for identifying columns identifies the columns within the table based on the table header elements.
19 . A non-transitory computer readable medium including at least computer program code tangibly stored thereon for extracting data from an image of a document, the computer readable medium comprising:
computer program code for identifying a table and table header elements from objects detected within the image of the document, the table header elements are part of a table header for the table;
computer program code for identifying columns within the table;
computer program code for selecting at least one of the columns;
computer program code for identifying rows within the table based on positions of data items within the selected column;
computer program code for identifying cells within the table at the intersection of the identified rows and the identified columns; and
computer program code for extracting content from the identified cells.
20 . A non-transitory computer readable medium as recited in claim 19 , wherein the computer program code for identifying rows within the table comprises:
computer program code for identifying the data items in the selected column; and
computer program code for drawing bounding boxes around the data items within the selected column; and
computer program code for identifying rows within the table based on positions of bounding boxes around the data items within the selected column.
21 . A non-transitory computer readable medium as recited in claim 20 , wherein the data items are word blocks.
22 . A non-transitory computer readable medium as recited in claim 19 , wherein the selected column is selected based on the table header element associated with the selected column.
23 . A non-transitory computer readable medium as recited in claim 22 , wherein the table header element for the selected column pertains to quantity or a substitute descriptor therefor.
24 . A non-transitory computer readable medium as recited in claim 22 , wherein the table header element for the selected column pertains to price/amount or a substitute descriptor therefor.
25 . A non-transitory computer readable medium as recited in any of claim 19 , wherein the selected column is a left-most column in the table.
26 . A non-transitory computer readable medium as recited in claim 19 , wherein the computer program code for selecting of the selected column comprises:
computer program code for determining whether one or more of the table header elements are same or equivalent to one or more of a set of predetermined descriptors; and
computer program code for selecting the selected column based on the one or more of the table header elements that are determined to be the same or equivalent to one or more of the set of predetermined descriptors.