IP Library Granted Patent US 11,074,442
Granted Patent B2
US 11,074,442 · App. 16/593,217 · Granted Jul 27, 2021

Identification of table partitions in documents with neural networks using global document context

Inventor: Stanislav Semenov (Moscow, RU)
Assignee: Abbyy Production LLC
G06K9/00456G06F17/16G06K9/00449G06K9/00463G06K9/344G06K2209/01
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 11,074,442
App. No.
16/593,217
Granted
Jul 27, 2021
Kind
B2
Abstract

Aspects of the disclosure provide for mechanisms for identification of table partitions in documents using neural networks. A method of the disclosure includes obtaining a plurality of symbol sequences of a document having at least one table, determining a plurality of vectors representative of symbol sequences having at least one alphanumeric character or a table graphics element, processing the plurality of vectors using a first neural network to obtain a plurality of recalculated vectors, determining an association between a first recalculated vector and a second recalculated vector, wherein the first recalculated vector is representative of an alphanumeric sequence and the second recalculated vector is associated with a table partition, and determining, based on the association between the first recalculated vector and the second recalculated vector, an association between the alphanumeric sequence and the table partition.

Claims (64)

1. A method, comprising:

obtaining a plurality of symbol sequences of a document, the document having at least one table, wherein each symbol sequence comprises at least one of an alphanumeric character or a table graphics element;

determining a plurality of vectors, wherein a vector of the plurality of vectors is representative of one of the plurality of symbol sequences;

processing, by a processing device, the plurality of vectors using a first neural network to obtain a plurality of recalculated vectors, wherein each of the plurality of recalculated vectors is recalculated based on values of the plurality of vectors;

determining, by the processing device, an association between a first recalculated vector of the plurality of recalculated vectors and a second recalculated vector of the plurality of recalculated vectors, wherein the first recalculated vector is representative of an alphanumeric sequence and the second recalculated vector is associated with a table partition; and

determining, based on the association between the first recalculated vector and the second recalculated vector, an association between the alphanumeric sequence and the table partition.

2. The method of claim 1 , wherein obtaining the plurality of symbol sequences of the document comprises:

performing optical character recognition (OCR) of an image of the document to obtain an OCR text of the document and a plurality of table graphics elements; and

partitioning the OCR text and the plurality of table graphics elements into the plurality of symbol sequences.

3. The method of claim 1 , wherein determining the plurality of vectors representative of the plurality of symbol sequences comprises determining, using a second neural network, a word embedding for each one of the plurality of symbol sequences.

4. The method of claim 1 , wherein the first neural network comprises a plurality of subnetworks, wherein each of the subnetworks comprises at least one hidden layer of neurons.

5. The method of claim 4 , wherein a first subnetwork of the plurality of subnetworks is to recalculate the plurality of vectors in a direction of increasing or decreasing horizontal coordinates of the vectors, and wherein a second subnetwork of the plurality of subnetworks is to recalculate the plurality of vectors in a direction of increasing or decreasing vertical coordinates of the vectors.

6. The method of claim 1 , wherein determining the association between the first recalculated vector of the plurality of recalculated vectors and the second recalculated vector of the plurality of recalculated vectors comprises:

generating, by a third neural network, a plurality of association hypotheses, wherein each of the association hypotheses comprises:

an association of one of the plurality of recalculated vectors with the alphanumeric character; and

an association of another one of the plurality of recalculated vectors with the table partition;

determining a probability of occurrence for each of the plurality of association hypotheses; and

determining that a first association hypothesis of the plurality of association hypotheses has a highest probability of occurrence, wherein the first association hypothesis comprises an association of the first recalculated vector with the second recalculated vector.

7. The method of claim 1 , further comprising:

determining, based on the association between the alphanumeric sequence and the table partition, a location of the table partition; and

storing the location of the table partition.

8. The method of claim 7 , wherein the location of the table partition comprises coordinates of the alphanumeric sequence.

9. The method of claim 7 , wherein the location of the table partition comprises a placement of the alphanumeric sequence relative to at least one other symbol sequence of the plurality of symbol sequences.

10. The method of claim 7 , further comprising:

obtaining a subsequent document;

obtaining a symbol sequence of the subsequent document;

determining that the symbol sequence of the subsequent document has a location in the subsequent document that coincides, within a pre-determined accuracy, with the location of the table partition; and

associating the symbol sequence of the subsequent document with the table partition.

11. The method of claim 1 , wherein the table graphics element is one of a horizontal line, a vertical line, a corner, a three-way line intersection, or a four-way line intersection.

12. The method of claim 1 , wherein the table partition is one of a table cell, a table column, or a table row.

13. A non-transitory machine-readable storage medium including instructions that, when accessed by a processing device, cause the processing device to:

obtain a plurality of symbol sequences of a document, the document having at least one table, wherein each symbol sequence comprises at least one of an alphanumeric character or a table graphics element;

determine a plurality of vectors, wherein a vector of the plurality of vectors is representative of one of the plurality of symbol sequences;

process, by a processing device, the plurality of vectors using a first neural network to obtain a plurality of recalculated vectors, wherein each of the plurality of recalculated vectors is recalculated based on values of the plurality of vectors;

determine, by the processing device, an association between a first recalculated vector of the plurality of recalculated vectors and a second recalculated vector of the plurality of recalculated vectors, wherein the first recalculated vector is representative of an alphanumeric sequence and the second recalculated vector is associated with a table partition; and

determine, based on the association between the first recalculated vector and the second recalculated vector, an association between the alphanumeric sequence and the table partition.

14. The non-transitory machine-readable storage medium of claim 13 , wherein to cause the processing device to obtain the plurality of symbol sequences of the document the instructions are to cause the processing device to:

perform optical character recognition (OCR) of an image of the document to obtain an OCR text of the document and a plurality of table graphics elements; and

partition the OCR text and the plurality of table graphics elements into the plurality of symbol sequences.

15. The non-transitory machine-readable storage medium of claim 13 , wherein to cause the processing device to determine the association between the first recalculated vector of the plurality of recalculated vectors and the second recalculated vector of the plurality of recalculated vectors the instructions are to cause the processing device to:

generate, by a third neural network, a plurality of association hypotheses, wherein each of the association hypotheses comprises:

an association of one of the plurality of recalculated vectors with the alphanumeric character; and

an association of another one of the plurality of recalculated vectors with the table partition;

determine a probability of occurrence for each of the plurality of association hypotheses; and

determine that a first association hypothesis of the plurality of association hypotheses has a highest probability of occurrence, wherein the first association hypothesis comprises an association of the first recalculated vector with the second recalculated vector.

16. The non-transitory machine-readable storage medium of claim 13 , wherein the table graphics element is one of a horizontal line, a vertical line, a corner, a three-way line intersection, or a four-way line intersection, and wherein the table partition is one of a table cell, a table column, or a table row.

17. A system comprising:

a memory; and

a processing device operatively coupled to the memory, the processing device to:

obtain a plurality of symbol sequences of a document, the document having at least one table, wherein each symbol sequence comprises at least one of an alphanumeric character or a table graphics element;

determine a plurality of vectors, wherein a vector of the plurality of vectors is representative of one of the plurality of symbol sequences;

process, by a processing device, the plurality of vectors using a first neural network to obtain a plurality of recalculated vectors, wherein each of the plurality of recalculated vectors is recalculated based on values of the plurality of vectors;

determine, by the processing device, an association between a first recalculated vector of the plurality of recalculated vectors and a second recalculated vector of the plurality of recalculated vectors, wherein the first recalculated vector is representative of an alphanumeric sequence and the second recalculated vector is associated with a table partition; and

determine, based on the association between the first recalculated vector and the second recalculated vector, an association between the alphanumeric sequence and the table partition.

18. The system of claim 17 , wherein to obtain the plurality of symbol sequences of the document the processing device is to:

perform optical character recognition (OCR) of an image of the document to obtain an OCR text of the document and a plurality of table graphics elements; and

partition the OCR text and the plurality of table graphics elements into the plurality of symbol sequences.

19. The system of claim 17 , wherein to determine the association between the first recalculated vector of the plurality of recalculated vectors and the second recalculated vector of the plurality of recalculated vectors the processing device is to:

generate, by a third neural network, a plurality of association hypotheses, wherein each of the association hypotheses comprises:

an association of one of the plurality of recalculated vectors with the alphanumeric character; and

an association of another one of the plurality of recalculated vectors with the table partition;

determine a probability of occurrence for each of the plurality of association hypotheses; and

determine that a first association hypothesis of the plurality of association hypotheses has a highest probability of occurrence, wherein the first association hypothesis comprises an association of the first recalculated vector with the second recalculated vector.

20. The system of claim 17 , wherein the table graphics element is one of a horizontal line, a vertical line, a corner, a three-way line intersection, or a four-way line intersection, and wherein the table partition is one of a table cell, a table column, or a table row.

Assignments (4)
SECURITY INTEREST Recorded Aug 14, 2023
From: ABBYY INC.; ABBYY USA SOFTWARE HOUSE INC.; ABBYY DEVELOPMENT INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 064730/0964 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2022
From: ABBYY PRODUCTION LLC
To: ABBYY DEVELOPMENT INC.
Reel/Frame 059249/0873 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2021
From: SEMENOV, STANISLAV
To: ABBYY PRODUCTION LLC
Reel/Frame 058366/0019 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2019
From: SEMENOV, STANISLAV
To: ABBYY PRODUCTION LLC
Reel/Frame 050653/0884 →
Cited By (4)
US 12,190,622 US 12,340,319 US 12,346,649 US 12,573,225