IP Library Granted Patent US 12,265,516
Granted Patent B2
US 12,265,516 · App. 18/080,627 · Granted Apr 1, 2025

Automated document processing for detecting, extracting, and analyzing tables and tabular data

Inventors: Stephen M. Thompson (Bonsall, CA); Iurii Vymenets (St. Petersburg, RU); Donghan Lee (Anaheim, CA); Markus Georg Lust (Freiburg, DE)
Assignee: TUNGSTEN AUTOMATION CORPORATION
G06F16/2282G06V10/70G06V30/412G06V30/413G06V30/414
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 12,265,516
App. No.
18/080,627
Granted
Apr 1, 2025
Kind
B2
Abstract

According to one embodiment, a computer-implemented method for detecting and classifying columns of tables and/or tabular data arrangements within image data includes: detecting one or more tables and/or one or more tabular data arrangements within the image data; extracting the one or more tables and/or the one or more tabular data arrangements from the processed image data; and classifying either: a plurality of columns of the one or more extracted tables; a plurality of columns of the one or more extracted tabular data arrangements; or both the columns of the one or more extracted tables and the columns of the one or more extracted tabular data arrangements. Corresponding systems and computer program products are also disclosed.

Claims (112)

1. A computer-implemented method for detecting and classifying columns of tables and/or tabular data arrangements within image data, the method comprising:

detecting one or more tables and/or one or more tabular data arrangements within the image data;

extracting the one or more tables and/or the one or more tabular data arrangements from the image data; and

classifying either:

a plurality of columns of the one or more extracted tables;

a plurality of columns of the one or more extracted tabular data arrangements; or

both the columns of the one or more extracted tables and the columns of the one or more extracted tabular data arrangements; and

wherein the classifying comprises:

performing a pairwise comparison of one or more feature vectors corresponding to columns of tables and/or tabular data arrangements in a training dataset to one or more feature vectors corresponding to columns of tables and/or tabular data arrangements in a test dataset; and

generating a pairwise similarity score for each pair of compared feature vectors; and

wherein each pairwise similarity score is a function of a number of common OCR elements between the corresponding pair of compared feature vectors.

2. The computer-implemented method as recited in claim 1 , wherein classifying the columns of the one or more extracted tables and/or the columns of the one or more extracted tabular data arrangements comprises:

training at least one machine learning model, using a training dataset representing a plurality of different types of tables and/or tabular data arrangements, wherein the classifying is based at least in part on OCR elements within the tables and/or the tabular data arrangements represented within the training dataset; and

outputting at least one trained column classification model based on the training, wherein each trained column classification model is configured to classify columns of a particular type of table or a particular type of tabular data arrangement represented within the training dataset; and

classifying, using the at least one trained column classification model, a plurality of columns of tables and/or tabular data arrangements represented by a test dataset.

3. The computer-implemented method as recited in claim 2 , wherein the training comprises building a plurality of feature vectors based on the training dataset;

wherein each feature vector corresponds to a unique column of one of the one or more tables and/or one of the one or more tabular data arrangements represented by the training dataset; and

wherein at least some of the feature vectors define an identity of one or more textual elements present in the corresponding column.

4. The computer-implemented method as recited in claim 2 , wherein the trained column classification model(s) each independently comprise:

a plurality of the feature vectors; and

an identification of some or all of the following:

one or more important single values present within the training dataset, wherein the important single values are optical character recognition (OCR) values;

one or more important column descriptor values present within the training dataset, wherein the important column descriptor values are OCR values;

one or more important value pairs present within the training dataset, wherein the important value pairs are OCR values;

one or more column descriptor important value pairs present within the training dataset, wherein the important value pairs are OCR values;

one or more half-important value pairs present within the training dataset, wherein the one or more half-important value pairs are OCR values;

one or more important value triplets present within the training dataset, wherein the one or more important value triplets are OCR values; and/or

sequence information regarding an order and/or a position of adjacent columns of the tables and/or the tabular data arrangements represented by the training dataset, wherein the sequence information comprises labels of one or more columns positioned to the left of a particular class of column in the training dataset, and/or labels of one or more columns positioned to the right of the particular class of column in the training dataset.

5. The computer-implemented method as recited in claim 1 , wherein the classifying further comprises building, based on the test dataset, the one or more feature vectors; and

wherein at least some of the feature vectors define an identity of one or more textual elements present in the corresponding column.

6. The computer-implemented method as recited in claim 1 , wherein classifying the columns of the one or more extracted tables and/or the columns of the one or more extracted tabular data arrangements further comprises:

training at least one machine learning model, using a training dataset representing a plurality of different types of tables and/or tabular data arrangements; and

outputting at least one trained column classification model based on the training, wherein each trained column classification model is configured to classify columns of a particular type of table or a particular type of tabular data arrangement represented within the training dataset;

classifying, using the at least one trained column classification model, a plurality of columns of tables and/or tabular data arrangements represented by a test dataset;

building, based on the test dataset, a plurality of feature vectors, wherein each feature vector: corresponds to a subregion of a unique column of one of the one or more tables and/or one of the one or more tabular data arrangements represented by the test dataset;

and

adjusting at least some of the similarity scores using at least one weight, wherein the at least one weight is determined based on whether the corresponding subregion(s) comprise:

one or more important single values present within the training set;

one or more important column descriptor values present within the training set;

one or more important value pairs present within the training dataset;

one or more column descriptor important value pairs present within the training set;

one or more half-important value pairs present within the training set; and/or

one or more important value triplets present within the training set.

7. The computer-implemented method as recited in claim 1 , wherein at least some of the plurality of columns of the one or more extracted tables and/or at least some of the plurality of columns of the one or more extracted tabular data arrangements are classified as either “columns of interest” or “columns not of interest”.

8. The computer-implemented method as recited in claim 1 , wherein the classifying comprises determining:

a relevancy of some or all of the columns of the one or more extracted tables; and/or

a relevancy of some or all of the columns of the one or more extracted tabular data arrangements.

9. The computer-implemented method as recited in claim 1 , wherein the classifying comprises identifying column descriptors that fully qualify at least some of the plurality of columns of the one or more extracted tables and/or at least some of the plurality of columns of the one or more extracted tabular data arrangements.

10. The computer-implemented method as recited in claim 1 , wherein the classifying comprises identifying one or more synonym sets within some or all of the columns of the one or more extracted tables and/or some or all of the columns of the one or more extracted tabular data arrangements.

11. The computer-implemented method as recited in claim 1 , wherein the classifying is based on unsupervised learning.

12. A computer program product for detecting and classifying tables and/or tabular data arrangements within image data, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, and wherein the program instructions configured to cause a computer to perform a method comprising:

detecting one or more tables and/or one or more tabular data arrangements within the image data;

extracting the one or more tables and/or the one or more tabular data arrangements from the image data; and

classifying either:

columns of the one or more extracted tables;

columns of the one or more extracted tabular data arrangements; or

both the columns of the one or more extracted tables and the columns of the one or more extracted tabular data arrangements; and

wherein the classifying comprises:

performing a pairwise comparison of one or more feature vectors corresponding to columns of tables and/or tabular data arrangements in a training dataset to one or more feature vectors corresponding to columns of tables and/or tabular data arrangements in a test dataset; and

generating a pairwise similarity score for each pair of compared feature vectors; and

wherein each pairwise similarity score is a function of a number of common OCR elements between the corresponding pair of compared feature vectors.

13. The computer program product as recited in claim 12 , wherein classifying the columns of the one or more extracted tables and/or the columns of the one or more extracted tabular data arrangements comprises:

training at least one machine learning model, using a training dataset representing a plurality of different types of tables and/or tabular data arrangements, wherein the classifying is based at least in part on OCR elements within the tables and/or the tabular data arrangements represented within the training dataset; and

outputting at least one trained column classification model based on the training, wherein each trained column classification model is configured to classify columns of a particular type of table or a particular type of tabular data arrangement represented within the training dataset; and

classifying, using the at least one trained column classification model, a plurality of columns of tables and/or tabular data arrangements represented by a test dataset.

14. The computer program product as recited in claim 13 , wherein the training comprises building a plurality of feature vectors based on the training dataset;

wherein each feature vector corresponds to a unique column of one of the one or more tables and/or one of the one or more tabular data arrangements represented by the training dataset; and

wherein at least some of the feature vectors define an identity of one or more textual elements present in the corresponding column.

15. The computer program product as recited in claim 13 , wherein the trained column classification model(s) each independently comprise:

a plurality of the feature vectors; and

an identification of some or all of the following:

one or more important single values present within the training dataset, wherein the important single values are optical character recognition (OCR) values;

one or more important column descriptor values present within the training dataset, wherein the important column descriptor values are OCR values;

one or more important value pairs present within the training dataset, wherein the important value pairs are OCR values;

one or more column descriptor important value pairs present within the training dataset, wherein the important value pairs are OCR values;

one or more half-important value pairs present within the training dataset, wherein the one or more half-important value pairs are OCR values;

one or more important value triplets present within the training dataset, wherein the one or more important value triplets are OCR values; and/or

sequence information regarding an order and/or a position of adjacent columns of the tables and/or the tabular data arrangements represented by the training dataset, wherein the sequence information comprises labels of one or more columns positioned to the left of a particular class of column in the training dataset, and/or labels of one or more columns positioned to the right of the particular class of column in the training dataset.

16. The computer program product as recited in claim 12 , wherein the classifying further comprises building, based on the test dataset, the one or more feature vectors; and

wherein at least some of the feature vectors define an identity of one or more textual elements present in the corresponding column.

17. The computer program product as recited in claim 12 , wherein classifying the columns of the one or more extracted tables and/or the columns of the one or more extracted tabular data arrangements further comprises:

training at least one machine learning model, using a training dataset representing a plurality of different types of tables and/or tabular data arrangements; and

outputting at least one trained column classification model based on the training, wherein each trained column classification model is configured to classify columns of a particular type of table or a particular type of tabular data arrangement represented within the training dataset;

classifying, using the at least one trained column classification model, a plurality of columns of tables and/or tabular data arrangements represented by a test dataset;

building, based on the test dataset, a plurality of feature vectors, wherein each feature vector: corresponds to a subregion of a unique column of one of the one or more tables and/or one of the one or more tabular data arrangements represented by the test dataset;

and

adjusting at least some of the similarity scores using at least one weight, wherein the at least one weight is determined based on whether the corresponding subregion(s) comprise:

one or more important single values present within the training set;

one or more important column descriptor values present within the training set;

one or more important value pairs present within the training dataset;

one or more column descriptor important value pairs present within the training set;

one or more half-important value pairs present within the training set; and/or one or more important value triplets present within the training set.

18. A computer-implemented method for detecting and classifying columns of tables and/or tabular data arrangements within image data, the method comprising:

detecting one or more tables and/or one or more tabular data arrangements within the image data;

extracting the one or more tables and/or the one or more tabular data arrangements from the image data; and

classifying either:

a plurality of columns of the one or more extracted tables;

a plurality of columns of the one or more extracted tabular data arrangements; or

both the columns of the one or more extracted tables and the columns of the one or more extracted tabular data arrangements; and

wherein the classifying comprises:

training at least one machine learning model, using a training dataset representing a plurality of different types of tables and/or tabular data arrangements; and

outputting at least one trained column classification model based on the training, wherein each trained column classification model is configured to classify columns of a particular type of table or a particular type of tabular data arrangement represented within the training dataset;

classifying, using the at least one trained column classification model, a plurality of columns of tables and/or tabular data arrangements represented by a test dataset;

building, based on the test dataset, a plurality of feature vectors, wherein each feature vector: corresponds to a subregion of a unique column of one of the one or more tables and/or one of the one or more tabular data arrangements represented by the test dataset

comparing each of the feature vectors of the trained classification model to a plurality of feature vectors built based on the training dataset;

generating a pairwise similarity score based on each comparison; and

adjusting at least some of the similarity scores using at least one weight, wherein the at least one weight is determined based on whether the corresponding subregion(s) comprise:

one or more important single values present within the training set;

one or more important column descriptor values present within the training set;

one or more important value pairs present within the training dataset;

one or more column descriptor important value pairs present within the training set;

one or more half-important value pairs present within the training set; and/or one or more important value triplets present within the training set.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2024
From: KOFAX, INC.
To: TUNGSTEN AUTOMATION CORPORATION
Reel/Frame 067428/0392 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2023
From: THOMPSON, STEPHEN M.; VYMENETS, IURII; LEE, DONGHAN; LUST, MARKUS GEORG
To: KOFAX, INC.
Reel/Frame 063051/0702 →
Continuity (3)
Continuation 17571327 · Jan 7, 2022
Provisional Application 63170268 · Apr 2, 2021
Related Publication 20230237040A1 · Jul 27, 2023
References Cited (72)
US 5588072A · Wang · 1996 [cited by applicant]
US 5854853A · Wang · 1998 [cited by applicant]
US 7783106B2 · Cooper · 2010 [cited by examiner]
US 8145677B2 · Al-Shameri · 2012 [cited by applicant]
US 8345981B2 · Schmidtler et al. · 2013 [cited by applicant]
US 8677279B2 · Gan et al. · 2014 [cited by applicant]
US 9576196B1 · Natarajan · 2017 [cited by applicant]
US 10360703B2 · Bekas et al. · 2019 [cited by applicant]
US 10685462B2 · Bekas et al. · 2020 [cited by applicant]
US 10726252B2 · Messina et al. · 2020 [cited by applicant]
US 10970535B2 · Mallick et al. · 2021 [cited by applicant]
US 11977533B2 · Thompson et al. · 2024 [cited by applicant]
US 11977534B2 · Thompson et al. · 2024 [cited by applicant]
US 12197412B2 · Thompson et al. · 2025 [cited by applicant]
US 20060082595A1 · Liu · 2006 [cited by examiner]
US 20100223276A1 · Al-Shameri et al. · 2010 [cited by applicant]
US 20110249905A1 · Singh et al. · 2011 [cited by applicant]
US 20110261049A1 · Cardno et al. · 2011 [cited by applicant]
US 20130051610A1 · Roach et al. · 2013 [cited by applicant]
US 20160034441A1 · Nguyen et al. · 2016 [cited by applicant]
US 20180204360A1 · Bekas et al. · 2018 [cited by applicant]
US 20180276462A1 · Davis · 2018 [cited by examiner]
US 20180336405A1 · Messina et al. · 2018 [cited by applicant]
US 20190130614A1 · Bekas et al. · 2019 [cited by applicant]
US 20190164047A1 · ter Haar Romenij · 2019 [cited by examiner]
US 20200089946A1 · Mallick et al. · 2020 [cited by applicant]
US 20200097713A1 · Cramer · 2020 [cited by examiner]
US 20200151444A1 · Price · 2020 [cited by examiner]
US 20200364451A1 · Ammar et al. · 2020 [cited by applicant]
US 20210056429A1 · Gangeh et al. · 2021 [cited by applicant]
US 20210133556A1 · Iwamori et al. · 2021 [cited by applicant]
US 20210158187A1 · Chavan et al. · 2021 [cited by applicant]
US 20210201018A1 · Patel et al. · 2021 [cited by applicant]
US 20210216761A1 · Srinivas et al. · 2021 [cited by applicant]
US 20210256097A1 · Jayaraman et al. · 2021 [cited by applicant]
US 20210350211A1 · Dalli et al. · 2021 [cited by applicant]
US 20210366099A1 · Liao · 2021 [cited by examiner]
US 20220067365A1 · Agrawal et al. · 2022 [cited by applicant]
US 20220318224A1 · Thompson et al. · 2022 [cited by applicant]
US 20220405265A1 · Thompson et al. · 2022 [cited by applicant]
US 20240362197A1 · Thompson et al. · 2024 [cited by applicant]
AU 2019201016A1 · 2019 [cited by applicant]
CA 2734613C · 2020 [cited by applicant]
CN 107862303A · 2019 [cited by applicant]
CN 111259873B · 2021 [cited by applicant]
DE 69432585T2 · 2004 [cited by applicant]
EP 0660256A2 · 1995 [cited by applicant]
EP 1061469A1 · 2000 [cited by applicant]
EP 3825909A1 · 2021 [cited by applicant]
GB 2574608A · 2019 [cited by applicant]
JP H07234918A · 1995 [cited by applicant]
JP 3754716B2 · 2006 [cited by applicant]
TW 258803B · 1995 [cited by applicant]
WO 2019104879A1 · 2019 [cited by applicant]
WO 2021034841A1 · 2021 [cited by applicant]
Gatterbauer et al., “Table Extraction Using Spatial Reasoning on the CSS2 Visual Box Model,” American Association for Artificial Intelligence, 2006, pp. 1313-1318. [cited by applicant]
Kurama, V., “Table Detection, Information Extraction and Structuring using Deep Learning,” Nanoets, 2021, 34 pages, retrieved from https://nanonets.com/blog/table-extraction-deep-learning/#table-detection. [cited by applicant]
Tengli et al., “Learning Table Extraction from Examples,” Proceedings of the 20th international conference on Computational Linguistics (COLING'04), Aug. 2004, 7 pages. [cited by applicant]
Thompson et al., U.S. Appl. No. 17/571,327, filed Jan. 7, 2022. [cited by applicant]
Thompson et al., U.S. Appl. No. 17/850,835, filed Jun. 27, 2022. [cited by applicant]
Non-Final Office Action from U.S. Appl. No. 17/571,327, dated Apr. 13, 2023. [cited by applicant]
Non-Final Office Action from U.S. Appl. No. 17/850,835, dated Apr. 13, 2023. [cited by applicant]
Final Office Action from U.S. Appl. No. 17/571,327, dated Sep. 28, 2023. [cited by applicant]
Final Office Action from U.S. Appl. No. 17/850,835, dated Oct. 12, 2023. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 17/850,835, dated Feb. 23, 2024. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 17/571,327, dated Jan. 25, 2024. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 17/571,327, dated Mar. 5, 2024. [cited by applicant]
Thompson et al., U.S. Appl. No. 18/763,909, filed Jul. 3, 2024. [cited by applicant]
Non-Final Office Action from U.S. Appl. No. 18/763,909, dated Sep. 5, 2024. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 18/763,909, dated Nov. 13, 2024. [cited by applicant]
Thompson et al., U.S. Appl. No. 18/965,861, filed Dec. 2, 2024. [cited by applicant]
Thompson et al., U.S. Appl. No. 18/967,469, filed Dec. 3, 2024. [cited by applicant]