IP Library Granted Patent US 11,675,970
Granted Patent B2
US 11,675,970 · App. 17/174,686 · Granted Jun 13, 2023

Machine learning systems and methods for automatically tagging documents to enable accessibility to impaired individuals

Inventors: David Comeau (Ontario, CA); Jeffrey Williams (Markham, CA); Evgeny Kolesnikov (Stouffville, CA); Michael Itkin (North York, CA); June Qiang (Markham, CA); James Relunia (Concord, CA); Brian Sue (Stouffville, CA)
Assignee: OPEN TEXT CORPORATION
G06F40/16G06F40/154G06N20/00G06V30/413
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,675,970
App. No.
17/174,686
Granted
Jun 13, 2023
Kind
B2
Abstract

Systems, methods, and products for auto tagging structured PDF documents that do not have accessibility tags. In one embodiment, structured PDF documents having accessibility tags are first parsed and analyzed to organize the visual components of the documents. The relationships of the identified objects to DOM elements (e.g., tags) are determined, and the objects and related DOM elements are stored in training files. The training files are used to train various classifiers. Untagged PDF documents are then parsed to identify included visual objects, and the classifiers are used to determine DOM elements that should be associated with visual objects identified in the untagged PDF documents. This information is used to construct a DOM structure corresponding to each untagged document. A new PDF is then generated corresponding to each untagged document using the generated DOM structure and visual object information.

Claims (72)

1. A method comprising:

obtaining a set of tagged pdf documents, wherein each of the tagged PDF documents includes one or more visual elements and a document object model (DOM) structure;

pre-processing each tagged PDF document, wherein the pre-processing organizes visual elements of the document into graphical objects;

processing each tagged PDF document, wherein the processing the tagged PDF document identifies relationships between the graphical objects and corresponding elements of the DOM structure, and generates training records corresponding to the identified relationships;

training a machine learning model using the training records, wherein the training trains the machine learning model to determine DOM structure elements that are associated with graphical objects;

obtaining a set of untagged PDF documents; and

automatically tagging each of the untagged PDF documents, the tagging including

identifying one or more graphical objects contained in the untagged PDF document,

determining for each of the identified graphical objects a corresponding DOM structure element using the trained machine learning model, and

generating a tagged PDF document corresponding to the untagged PDF document, wherein the tagged PDF document contains the one or more graphical objects contained in the untagged PDF document and the corresponding DOM structure elements determined by the trained machine learning model.

2. The method of claim 1 , wherein the pre-processing of the tagged PDF documents includes:

parsing the tagged PDF document to identify visual elements of the document;

grouping the identified visual elements into visual objects;

determining, for each of the visual objects, a corresponding visual bounding box;

determining, for each of the visual objects, whether the visual object is a foreground element or a background element; and

generating a cluster tree by performing a plurality of cuts which segment the PDF document into multiple visually separated pieces.

3. The method of claim 2 , wherein grouping the identified visual elements into visual objects comprises grouping text elements and grouping image elements.

4. The method of claim 3 , wherein the text elements comprise text characters and the text characters are grouped based on text size, font, position, and direction.

5. The method of claim 2 , wherein identifying the one or more graphical objects contained in the untagged PDF document is performed in the same manner by which the one or more graphical objects contained in the tagged PDF document are identified.

6. The method of claim 2 , wherein a size of the visual bounding box is different than an extent of the visual object.

7. The method of claim 2 , further comprising pruning the cluster tree by recombining a plurality of leaves of the cluster tree.

8. The method of claim 2 , wherein the processing of the tagged PDF documents includes:

identifying groups of visual objects that are closely positioned visually in the PDF document;

identifying elements of the DOM structure that correspond to the identified groups of visual objects and associating the identified elements of the DOM structure with the corresponding groups of visual objects; and

identifying region segment features which are leaves on the cluster tree and storing indications of neighboring region segment features in the training records.

9. The method of claim 1 , further comprising generating a plurality of training files, wherein each of the training files contains one or more of the generated training records, each training file corresponding to a distinct classifier of the machine learning model.

10. The method of claim 9 , wherein the classifiers include: a text separator classifier; a cluster cut classifier; a cluster join classifier; a layout features classifier; a table cluster join classifier; a complex table cell classifier; and a region segment.

11. A system comprising:

a processor coupled to a memory that stores one or more instructions, the instructions executable by the processor to perform the method comprising:

obtaining a set of tagged pdf documents, wherein each of the tagged PDF documents includes one or more visual elements and a document object model (DOM) structure;

pre-processing each tagged PDF document, wherein the pre-processing organizes visual elements of the document into graphical objects;

processing each tagged PDF document, wherein the processing the tagged PDF document identifies relationships between the graphical objects and corresponding elements of the DOM structure, and generates training records corresponding to the identified relationships;

training a machine learning model using the training records, wherein the training trains the machine learning model to determine DOM structure elements that are associated with graphical objects;

obtaining a set of untagged PDF documents; and

automatically tagging each of the untagged PDF documents, the tagging including

identifying one or more graphical objects contained in the untagged PDF document,

determining for each of the identified graphical objects a corresponding DOM structure element using the trained machine learning model, and

generating a tagged PDF document corresponding to the untagged PDF document, wherein the tagged PDF document contains the one or more graphical objects contained in the untagged PDF document and the corresponding DOM structure elements determined by the trained machine learning model.

12. The system of claim 11 , wherein the pre-processing of the tagged PDF documents includes:

parsing the tagged PDF document to identify visual elements of the document;

grouping the identified visual elements into visual objects;

determining, for each of the visual objects, a corresponding visual bounding box;

determining, for each of the visual objects, whether the visual object is a foreground element or a background element; and

generating a cluster tree by performing a plurality of cuts which segment the PDF document into multiple visually separated pieces.

13. The system of claim 12 , wherein identifying the one or more graphical objects contained in the untagged PDF document is performed in the same manner by which the one or more graphical objects contained in the tagged PDF document are identified.

14. The system of claim 12 , wherein the processing of the tagged PDF documents includes:

identifying groups of visual objects that are closely positioned visually in the PDF document;

identifying elements of the DOM structure that correspond to the identified groups of visual objects and associating the identified elements of the DOM structure with the corresponding groups of visual objects; and

identifying region segment features which are leaves on the cluster tree and storing indications of neighboring region segment features in the training records.

15. The system of claim 11 , further comprising generating a plurality of training files, wherein each of the training files contains one or more of the generated training records, each training file corresponding to a distinct classifier of the machine learning model, wherein the classifiers include one or more of: a text separator classifier; a cluster cut classifier; a cluster join classifier; a layout features classifier; a table cluster join classifier; a complex table cell classifier; and a region segment.

16. A computer program product comprising a non-transitory computer-readable medium storing instructions executable by a processor to perform:

obtaining a set of tagged pdf documents, wherein each of the tagged PDF documents includes one or more visual elements and a document object model (DOM) structure;

pre-processing each tagged PDF document, wherein the pre-processing organizes visual elements of the document into graphical objects;

processing each tagged PDF document, wherein the processing the tagged PDF document identifies relationships between the graphical objects and corresponding elements of the DOM structure, and generates training records corresponding to the identified relationships;

training a machine learning model using the training records, wherein the training trains the machine learning model to determine DOM structure elements that are associated with graphical objects;

obtaining a set of untagged PDF documents; and

automatically tagging each of the untagged PDF documents, the tagging including

identifying one or more graphical objects contained in the untagged PDF document,

determining for each of the identified graphical objects a corresponding DOM structure element using the trained machine learning model, and

generating a tagged PDF document corresponding to the untagged PDF document, wherein the tagged PDF document contains the one or more graphical objects contained in the untagged PDF document and the corresponding DOM structure elements determined by the trained machine learning model.

17. The computer program product of claim 16 , wherein the pre-processing of the tagged PDF documents includes:

parsing the tagged PDF document to identify visual elements of the document;

grouping the identified visual elements into visual objects;

determining, for each of the visual objects, a corresponding visual bounding box;

determining, for each of the visual objects, whether the visual object is a foreground element or a background element; and

generating a cluster tree by performing a plurality of cuts which segment the PDF document into multiple visually separated pieces.

18. The computer program product of claim 17 , wherein identifying the one or more graphical objects contained in the untagged PDF document is performed in the same manner by which the one or more graphical objects contained in the tagged PDF document are identified.

19. The computer program product of claim 17 , wherein the processing of the tagged PDF documents includes:

identifying groups of visual objects that are closely positioned visually in the PDF document;

identifying elements of the DOM structure that correspond to the identified groups of visual objects and associating the identified elements of the DOM structure with the corresponding groups of visual objects; and

identifying region segment features which are leaves on the cluster tree and storing indications of neighboring region segment features in the training records.

20. The computer program product of claim 16 , further comprising generating a plurality of training files, wherein each of the training files contains one or more of the generated training records, each training file corresponding to a distinct classifier of the machine learning model, wherein the classifiers include one or more of: a text separator classifier; a cluster cut classifier; a cluster join classifier; a layout features classifier; a table cluster join classifier; a complex table cell classifier; and a region segment.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2021
From: SUE, BRIAN
To: OPEN TEXT CORPORATION
Reel/Frame 057089/0372 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: COMEAU, DAVID; WILLIAMS, JEFFREY; KOLESNIKOV, EVGENY; ITKIN, MICHAEL; QIANG, JUNE; RELUNIA, JAMES
To: OPEN TEXT CORPORATION
Reel/Frame 057016/0749 →
Continuity (2)
Provisional Application 62976808 · Feb 14, 2020
Related Publication 20210271805A1 · Sep 2, 2021