System and method for data augmentation for document understanding
The described system addresses the inefficiencies in data augmentation for semi-structured and fixed structured documents by converting documents into images, clustering pages, and training classification models, resulting in improved classification accuracy and efficiency.
Patent Information
- Application Number
- JP2021516751
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-03-23
- Filing Date
- 2021-03-22
- Publication Date
- 2025-04-28
- Estimated Expiration
- 2041-03-22
Smart Images

Figure 0007669038000001 
Figure 0007669038000002 
Figure 0007669038000003
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. patent application Ser. No. 16 / 827,189, filed Mar. 23, 2020, the contents of which are incorporated herein by reference.
[0002] The present invention relates to the field of document understanding, and in particular to data augmentation techniques for creating training sets for machine learning models to classify documents for further processing. [Background technology]
[0003] Data augmentation techniques allow practitioners to significantly increase the diversity of data available for training models. Data augmentation often involves synthesizing new samples from existing ones. For images, there are well-known methods to create sample images by position, e.g., scaling, cropping, rotation, and color, e.g., brightness, contrast, hue. For unstructured text, e.g., documents and emails, data augmentation techniques exist, e.g., replacing words with their synonyms, or paraphrasing sentences using word embeddings, e.g., including Word2vec, Glove, Fasttext, etc. Examples of such data augmentation can be used when the sample set is large. However, there are no proven data augmentation solutions in the domain of semi-structured (e.g., variable structured forms) and fixed structured (e.g., fixed structured forms) documents.
[0004] Within semi-structured and fixed-structured documents, samples of sufficient size are available but are not directly consumed by machine learning classifiers. This occurs when multiple document samples are scanned consecutively as a report. In such a situation, no boundaries are set for the start and end pages of the document. In most cases, a report may contain hundreds or even more samples of documents of a given category. In general, manual understanding of a document requires splitting and recomposing the training set, making traditional data augmentation methods generally inapplicable. Existing solutions include restricting the view to the first few pages of the document, which are very general templates and may not contain relevant document samples. Thus, such existing solutions have poor or limited accuracy. Other solutions spend additional time manually splitting each document into multiple pages, making the process time-consuming and unscalable. Summary of the Invention
[0005] A system and method for data augmentation to enable document classification of multiple documents is disclosed, which includes converting the multiple documents into multiple images, obtaining a vector representation of each page in the multiple documents, creating multiple clusters (sets) from the multiple images based on similarity (each cluster of the multiple clusters represents a distinct page format), selecting one image from each cluster of the multiple clusters, compiling the selected one image from each cluster of the multiple clusters to create a logically complete document, and training a classification based on the complete document.
[0006] A computing device is also disclosed for performing a method of data augmentation to enable document classification of a plurality of documents. The computing device comprises a processor configured to convert the plurality of documents into a plurality of images and a memory configured to store the plurality of images. The processor is configured to obtain a vector representation of each page in the plurality of documents, the processor is configured to create a plurality of clusters from the plurality of images based on similarity, each cluster of the plurality of clusters representing a distinct page format. The processor is configured to select one image from each cluster of the plurality of clusters, the processor is configured to compile the one image selected from each cluster of the plurality of clusters to create a logically complete document, the memory is configured to store the logically complete document, and the processor is configured to train a classification based on the complete document. [Brief description of the drawings]
[0007] A more detailed understanding may be had from the following description, given by way of example in conjunction with the accompanying drawings, in which like reference numbers indicate similar elements and in which:
[0008] [Figure 1A] FIG. 1 illustrates the development, design, operation, or execution of Robotic Process Automation (RPA).
[0009] [Figure 1B] FIG. 2 is another diagram showing the development, design, operation, or execution of RPA.
[0010] [Figure 1C] FIG. 1 illustrates a computing system or environment.
[0011] [Diagram 2] It is a method of data augmentation that enables training a machine learning (ML) model for document classification on multiple documents.
[0012] [Diagram 3] It is a way to identify the logical beginning and end of an individual report within a larger document. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] For methods and processes described herein, the steps described may be performed in any order, out of order, and may include sub-steps not explicitly described or shown. Additionally, "coupled" or "operably coupled" may mean that objects are linked, but may have zero or more intermediate objects between the linked objects. Also, any combination of the disclosed features / elements may be used in one or more embodiments. When a reference to "A or B" is used, it may include A, B, or A and B, and may be expanded as a longer list. When an X / Y notation is used, it may include X or Y. Alternatively, when an X / Y notation is used, it may include X and Y. The X / Y notation may be expanded as a longer list with the same explanatory logic.
[0014] Large training datasets can be augmented using machine learning (ML) models. This data augmentation provides more reliable results when roughly the same number of example documents are provided for the various classes of documents on which the model is trained. In many cases of data augmentation, the example documents may contain multiple pages. Furthermore, multiple examples of the same type of document may be concatenated into one large document. When this occurs, the document may span hundreds or thousands of pages. To train a classifier to understand such classes of documents, it is usually necessary to manually split this large document into individual documents. This is a tedious task, given that the same process must be repeated for each class of documents to be trained.
[0015] The present system and method for data augmentation works for document classification where a large number of training data samples are created to train a model from a smaller set of documents containing multiple pages. First, documents containing multiple pages are converted to images to train the model, and a vector representation of each page is obtained. Then, clusters of similar types of images are formed, with each cluster representing a distinct page format. One image may be randomly selected from each cluster to create a logically complete document. This process may be repeated to train an ML model for document classification. Additionally, the system may also identify the logical beginning and end of a document within a provided set of documents. This is a completely unsupervised mechanism of data sampling and data augmentation.
[0016] FIG. 1A illustrates a diagram of a robotic process automation (RPA) development, design, operation, or execution 100. A designer 102, also referred to as a studio, development platform, development environment, etc., may be configured to generate code, instructions, commands, etc. for a robot to execute or automate one or more workflows. From the selections that a computing system may provide to the robot, the robot may determine representative data for an area of a visual display selected by a user or operator. As part of RPA, multi-dimensional shapes, such as squares, rectangles, circles, polygons, freeforms, etc., may be utilized in the development and runtime of a user interface (UI) robot associated with computer vision (CV) operations or machine learning (ML) models.
[0017] Non-limiting examples of actions that may be accomplished by a workflow may be one or more of: performing a login, filling out a form, information technology (IT) administration, etc. To execute a workflow for UI automation, a robot may need to uniquely identify a particular screen element, e.g., a button, a checkbox, a text field, a label, etc., regardless of application access or application development. Examples of application access may be local, virtual, remote, cloud, Citrix®, VMWare®, VNC®, Windows® Remote Desktop, Virtual Desktop Infrastructure (VDI), etc. Examples of application development may be win32, Java, Flash, Hypertext Markup Language (HTML), HTML5, Extensible Markup Language (XML), JavaScript, C#, C++, Silverlight, etc.
[0018] Workflows may include, but are not limited to, task sequences, flowcharts, finite state machines (FSMs), global exception handlers, etc. Task sequences may be linear processes for handling linear tasks across one or more applications or windows. Flowcharts are configured to handle complex business logic, allowing for the integration of decisions and the connection of activities in more diverse ways through multiple branching logic operators. FSMs may be configured for large-scale workflows. FSMs use a finite number of states at run time, which may be triggered by conditions, transitions, activities, etc. Global exception handlers may be configured to determine workflow behavior when an execution error occurs or to debug the process.
[0019] A robot is an application, applet, script, etc. that can automate a UI that is transparent to the underlying operating system (OS) or hardware. During deployment, one or more robots can be managed, controlled, etc. by a conductor 104 (sometimes referred to as an orchestrator). The conductor 104 can direct or command a robot or automation executor 106 to execute or monitor a workflow in a client, application, or program, such as a mainframe, web, virtual machine, remote machine, virtual desktop, enterprise platform, desktop application, browser, etc. The conductor 104 can act as a central or semi-central point to direct or command multiple robots to automate a computing platform.
[0020] In certain configurations, the conductor 104 may be configured to provide provisioning, deployment, configuration, queuing, monitoring, logging, and / or interconnectivity. Provisioning may include creating and maintaining connections or communications between the robot or automation executors 106 and the conductor 104. Deployment may include ensuring delivery of package versions to robots assigned for execution. Configuration may include maintaining and delivering robot environment and process configurations. Queuing may include providing management of queues and queue items. Monitoring may include tracking robot identification data and maintaining user permissions. Logging may include storing and indexing logs in a database (e.g., a SQL database, etc.) and / or another storage mechanism (e.g., ElasticSearch, which provides the ability to store and quickly query large data sets). The conductor 104 may provide interconnectivity by serving as a centralized point of communication for third-party solutions and / or applications.
[0021] A robot or automation executor 106 may be configured as unattended 108 or attended 110. For unattended 108 operation, the automation may be performed without third party input or control. For attended 110 operation, the automation may be performed by receiving input, commands, instructions, guidance, etc. from a third party component. An unattended 108 or attended 110 robot may be executed or performed in a mobile computing or mobile device environment.
[0022] A robot or automation executor 106 may be an execution agent that executes workflows embedded in the designer 102. One commercial example of a robot for UI or software automation is UiPath Robots™. In some embodiments, the robot or automation executor 106 installs, by default, as a service managed by the Microsoft Windows Service Control Manager (SCM). As a result, such a robot can open an interactive Windows session under the local system account and has the privileges of a Windows service.
[0023] In some embodiments, the robot or automation executor 106 may be installed in user mode, under which a given robot may be installed and may have the same privileges as that user. This feature may also be available for high density (HD) robots, ensuring maximum utilization of each machine with maximum performance, such as in HD environments.
[0024] In certain configurations, the robot or automation executor 106 may be split, distributed, etc. into several components, each dedicated to a particular automation task or activity. Robot components include an SCM-managed robot service, a user-mode robot service, an executor, an agent, a command line, etc. The SCM-managed robot service may manage or monitor Windows sessions and act as a proxy between the conductor 104 and the execution host (i.e., the computing system on which the robot or automation executor 106 executes). Such a service may be entrusted with and manage the credentials of the robot or automation executor 106.
[0025] The user mode Robot Service may manage and monitor Windows sessions and act as a proxy between the conductor 104 and the execution host. The user mode Robot Service may be entrusted with and manage the robot's credentials. If the SCM-managed Robot Service is not installed, a Windows application may be launched automatically.
[0026] An Executor may run a given job in a Windows session (i.e., an Executor may run a workflow). An Executor may be aware of per-monitor dots per inch (DPI) settings. An Agent may be a Windows Presentation Foundation (WPF) application that displays available jobs in a system tray window. An Agent may be a client of this service. An Agent may request to start or stop a job and change settings. A Command Line may be a client of this service. A Command Line is a console application that can request to start a job and wait for its output.
[0027] The configuration in which the robot or automation executor 106 components are separated as described above helps developers, support users, and computing systems to more easily execute, identify, and track execution by each component. Special behaviors may be configured per component in this manner, for example by setting different firewall rules for executors and services. In some embodiments, the executor may be aware of per-monitor DPI settings. As a result, workflows may be executed at any DPI regardless of the configuration of the computing system on which the workflow was created. Projects from the designer 102 may also be independent of the browser zoom level. For applications that are not DPI aware or are marked as not DPI aware intentionally, DPI may be disabled in some embodiments.
[0028] FIG. 1B is another diagram illustrating RPA development, design, operation, or execution 120. A studio component or module 122 may be configured to generate code, instructions, commands, etc. for the robot to perform one or more activities 124. User interface (UI) automation 126 may be performed by the robot on the client using one or more driver components 128. The robot may perform activities using a computer vision (CV) activity module or engine 130. Other drivers 132 may be utilized for UI automation by the robot to obtain elements of the UI. Such drivers may include OS drivers, browser drivers, virtual machine drivers, enterprise drivers, etc. In a particular configuration, the CV activity module or engine 130 may be a driver used for UI automation.
[0029] FIG. 1C illustrates a computing system or environment 140 that may include a bus 142 or other communication mechanism for communicating information or data and one or more processors 144 coupled to the bus 142 for processing. The one or more processors 144 may be any type of general-purpose or special-purpose processor, including a central processing unit (CPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a graphics processing unit (GPU), a controller, a multi-core processing unit, a three-dimensional processor, a quantum computing device, or any combination thereof. The one or more processors 144 may also have multiple processing cores, at least some of which may be configured to perform a specific function. Multiple parallel processes may be configured. Additionally, at least one or more processors 144 may be neuromorphic circuits that include processing elements that mimic biological neurons.
[0030] The memory 146 may be configured to store information, instructions, commands, or data to be executed or processed by the processor 144. The memory 146 may consist of random access memory (RAM), read-only memory (ROM), flash memory, solid-state memory, cache, static storage devices such as magnetic or optical disks, or any other type of non-transitory computer-readable medium, or any combination thereof. The non-transitory computer-readable medium is any medium that can be accessed by the processor 144 and may include volatile media, non-volatile media, etc. The medium may also be removable, non-removable, etc.
[0031] The communication device 148 may be any of a variety of communication technologies, including Frequency Division Multiple Access (FDMA), Single Carrier FDMA (SC-FDMA), Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), Orthogonal Frequency Division Multiplexing (OFDM), Orthogonal Frequency Division Multiple Access (OFDMA), Global System for Mobile Communications (GSM) communications, General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), cdma2000, Wideband-CDMA (W-CDMA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), High Speed Packet Access (HSPA), Long Term Evolution (LTE), LTE Advanced (LTE-A), 802.11x, Wi-Fi, Zigbee, Ultra Wideband (UWB), 802.16x, 802.15, Home Node-B (HnB), Bluetooth, Radio Frequency Identification (RFID), Infrared Data The device may be configured as an Integral Radio Association (IrDA), Near-Field Communications (NFC), 5th Generation (5G), New Radio (NR), or any other wireless or wired device / transceiver for communication via one or more antennas. The antennas may be single, array, phased, switched, beamforming, beamsteering, etc.
[0032] The one or more processors 144 may further be coupled to a display device 150 via bus 142. The display device 150 may be, for example, a plasma, liquid crystal display (LCD), light emitting diode (LED), field emission display (FED), organic light emitting diode (OLED), flexible OLED, flexible substrate display, projection display, 4K display, high definition (HD) display, Retina (copyright) display, in-plane switching (IPS) or the like based display. The display device 150 may be configured as a touch, three dimensional (3D) touch, multi-input touch, or multi-touch display using resistive, capacitive, surface acoustic wave (SAW) capacitive, infrared, optical imaging, dispersive signal technology, acoustic pulse recognition, frustrated total internal reflection, or the like for input / output (I / O) as would be understood by one of ordinary skill in the art.
[0033] A keyboard 152 and control device 154, such as a computer mouse, touch pad, etc., may further be connected to bus 142 for input to computing system or environment 140. Additionally, input may be provided remotely to computing system or environment 140 via another computing system in communication therewith, or computing system or environment 140 may operate autonomously.
[0034] The memory 146 may store software components, modules, engines, etc. that provide functionality when executed or processed by the one or more processors 144. This may include an OS 156 for the computing system or environment 140. The modules may further include custom modules 158, which may perform application specific processes or processes derived therefrom. The computing system or environment 140 may include one or more additional functional modules 160 that include additional functionality.
[0035] The computing system or environment 140 may be adapted or configured to function as a server, an embedded computing system, a personal computer, a console, a personal digital assistant (PDA), a mobile phone, a tablet computing device, a quantum computing device, a cloud computing device, a mobile device, a smartphone, a fixed mobile device, a smart display, a wearable computer, and the like.
[0036] FIG. 2 illustrates a method 200 of data augmentation that enables training of an ML model for document classification of a plurality of documents. The method 200 includes converting the documents to images at step 210. The method 200 includes obtaining a vector representation of each image at step 220. At step 230, clusters are created from the vectors to identify distinct page formats. At step 240, one image may be selected from each cluster to ensure that each format is used to train the model. At step 250, multiple ones of the selected one image may be compiled to create a complete document. At step 260, a classification may be trained based on the complete document.
[0037] In an exemplary embodiment for identifying different types of pages in a document, step 210 of method 200 may include converting the document provided for classification as an image and obtaining a vector representation of each page at step 220. The image and vector representations may be obtained using a pre-trained image model, e.g., VGG, RESNET, etc.
[0038] Such image vectors are used to cluster similar types of images in step 230. The clusters can be formed in six dimensions by dimensionality reduction using ML techniques such as Principal Component Analysis (PCA) or regular VGG-based clusters that provide a page with many dimensions. Using PCA, multi-dimensional information is encoded into fewer concise dimensions, so the first few significant dimensions are sufficient. As will be appreciated, the number of significant dimensions can vary, for example, between 4 and 10 dimensions. In particular, between 5 and 7 dimensions can be used. More particularly, six dimensions can be used.
[0039] After PCA, the total number of clusters (k) that best suits the image features is obtained. The value of k is obtained by performing clustering of the images, and the value of k is varied between 2 and 10. The value of k may be determined using the ELBOW method and the SILHOUETTE index with the minimum error and highest accuracy of clustering. In step 230, both of these methods may be utilized to arrive at the value of k. This results in the creation of clusters, each cluster representing a separate page format. For example, if three clusters are generated, namely "start page", "data page", and "image page", the images classified as "start page" are stored in the "start page" cluster, and similarly, the images classified as "data page" are stored in the "data page" cluster and the images classified as "image page" are stored in the "image page" cluster. Although three types of clusters are used in this example, those skilled in the art will understand that this is merely an example, as any number of clusters may be formed.
[0040] After the clusters are formed in step 230, a random page is selected from each cluster in step 240, and these selected random pages are compiled into a single synthetic document in step 250, which is used to train the ML model in step 260. Multiple document instances can be synthesized from one large page document to create a balanced training set. This process can be repeated selectively across all input documents and across various document classes. This trained ML model is used in the RPA workflow described above as an ML activity to classify documents.
[0041] An exemplary use case for identifying different types of pages in a document according to method 200 is described below: Each page of the document is processed or converted into an image. An image vector for each image is obtained using a pre-trained image model such as VGG, RESNET, etc. Once the vectors are obtained and the images are converted, the image vectors are clustered to allow similar page images to be separated together. The image vectors can be large (and even multi-dimensional). For example, in the context of a VGG-based embedding, the image vectors are 224x224x3, which is 150,528 features / dimensions per page. Instead of clustering on such a large number of dimensions, a reduction to a smaller number of significant dimensions can be performed. For example, a dimensionality reduction by PCA can be used to quantify the six most significant dimensions.
[0042] After PCA, the total number of clusters (k) that best suits the image features can be determined using one or more of several metrics. One metric is used by calculating the clustering accuracy at various values of k ranging from 2 to 10. The ELBOW method can be used to find the k with the smallest error or highest accuracy of clustering. The SILHOUETTE index can be used to find the optimal k. Once k is found using one or more methods, the results can be programmatically combined to arrive at a value for k to perform clustering.
[0043] At this point, each cluster represents a distinct page format (image) within the multi-report document. The data can be augmented by sampling random pages from each of the clusters to create synthetic training documents. Multiple synthetic reports representing classes are then generated from a single multi-report document. The total number of pages sampled from a given cluster to create a report can be proportional to the total number of page samples in the cluster.
[0044] Additionally, the system and method allows for determining the logical start and end of a document within a set of documents. Figure 3 shows a method 300 for identifying the logical start and end of an individual report within a large document. The method 300 includes constructing a Markov chain at step 310. The method 300 includes finding the most common (most frequent) subsequence at step 320. The method 300 includes identifying the logical start / end of an individual report within the large document at step 330.
[0045] Building a Markov chain, also referred to as a state transition diagram, in step 310 may occur after completing method 200 for identifying distinct pages. In the building step 310, the system indexes each page with its corresponding cluster ID. In step 310, a Markov chain is built based on the actual order of the pages, where the cluster IDs indicate the states and the transitions from one page to another, and also indicate the edges between the states. The start state represents the previous page and the end state represents the current page. The edge weights may be used to indicate the total number of times a page from cluster x was followed by a page from cluster y.
[0046] Finding the most common subsequences in step 320 may involve traversing the directed Markov chain constructed in step 310 to enumerate all possible state sequences. Each subsequence is terminated when an already detected state has been revisited. The weight of the entire sequence is the minimum edge weight seen in the entire sequence traversal. After the traversal is completed, all subsequences with corresponding weights are evaluated. The subsequence with the highest weight is selected. If there are multiple subsequences with similar high scores, the first subsequence with the largest length is selected.
[0047] Identifying the logical start / end of individual reports within the larger document in step 330 involves identifying cluster IDs that correspond to the start of the report and the start of the subsequence found in step 320 to mark the end of the report. Thus, all pages in between are determined to be part of the report. The pages are laid out in the order in which they appear in the report, with their corresponding cluster IDs. Once a start cluster ID is found, the reports are grouped together to represent individual reports until an end cluster ID or further start cluster IDs are found. This document segmentation process continues until the end of the document (end).
[0048] The approach disclosed herein can be utilized in the presence of data augmentation, for example, by sampling. The performance of the classifier can be improved by 10%, 20%, 50% from the baseline imbalanced model. The accuracy of the data with the data augmentation and training of the model can be about 99% for all document classes. The approach trains the ML system with more data to improve the accuracy and efficiency of the system. The approach does not require manual annotation of documents. The system can classify documents more accurately and can easily find the beginning and end of reports.
[0049] Furthermore, when this ML service is deployed for classification, the test documents may contain multiple instances of the same document class that are presented for classification as one large document, and the classifier needs to be able to select the appropriate sample of pages for classification as described above, knowing that the first few pages of the sample may be irrelevant and not accurately represent the document class.
[0050] In the examples provided herein, the modules may be implemented as hardware circuitry comprising custom very large scale integrated (VLSI) circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented in programmable hardware devices such as, for example, field programmable gate arrays, programmable array logic, programmable logic devices, graphics processing units, etc.
[0051] The modules may be implemented at least partially in software for execution by various types of processors. An identified unit of executable code may comprise one or more physical or logical blocks of computer instructions, which may be organized as, for example, an object, a procedure, a routine, a subroutine, or a function. The executable files of the identified modules may be co-located or stored in different locations such that when logically combined they constitute a module.
[0052] A module of executable code may be a single instruction, one or more data structures, one or more datasets, multiple instructions, etc., and may be distributed across several different code segments, among different programs, and across several memory devices. Operational or functional data is identified and illustrated herein in modules and may be embodied in any suitable form and organized into any suitable type of data structure.
[0053] In the examples given herein, the computer program may be comprised of hardware, software, or a hybrid implementation. The computer program may be comprised of modules that operatively communicate with each other to pass on information or instructions.
[0054] Although the features and elements are described above in a particular combination, those skilled in the art will understand that each feature or element may be used alone or in any combination with other features, elements. Furthermore, the methods described herein may be implemented in a computer program, software, or firmware embodied in a computer-readable medium for execution by a computer or processor. Examples of computer-readable media include electronic signals (transmitted via wired or wireless connections) and computer-readable storage media. Examples of computer-readable storage media include, but are not limited to, read-only memory (ROM), random access memory (RAM), registers, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto-optical media, optical media such as CD-ROM disks, and digital versatile disks (DVDs).
Claims
1. 1. A method of data augmentation to enable document classification of a plurality of documents, comprising: The method includes a processor of a computing device comprising: converting the plurality of documents into a plurality of images by converting each page of the plurality of documents into an image; obtaining a vector representation of an image of each page in the plurality of documents; creating a plurality of clusters from the plurality of images based on similarity of the vector representations; selecting an image from each cluster of the plurality of clusters; compiling a set of images, one image selected from each cluster of the plurality of clusters, to create a single composite document; training a classification based on the synthetic documents; wherein each cluster of the plurality of clusters represents a distinct page format.
2. 2. The method of claim 1, further comprising selecting one image from each cluster to ensure that each format is used to train the model.
3. 2. The method of claim 1, wherein the plurality of clusters are created from vectors to identify distinct page formats.
4. The method of claim 1 , wherein the image and the vector representation are obtained using a pre-trained image model.
5. The method of claim 4 , wherein the trained image models include at least one of VGG and ResNet.
6. 10. The method of claim 1, wherein the clusters are formed by dimensionality reduction using a machine learning technique called Principal Component Analysis (PCA) or by conventional VGG-based clustering, which provides high-dimensional pages.
7. The method of claim 6, wherein the number of dimensions after dimensionality reduction is six.
8. 7. The method of claim 6, further comprising using PCA to encode multi-dimensional information into fewer, more compact dimensions.
9. The method according to claim 6, wherein the dimension after dimensionality reduction is between 4 and 10 dimensions.
10. 2. The method according to claim 1, characterized in that the total number of clusters (k) optimal for the image features is obtained, the value of k is obtained by performing clustering of the image, the value of k is varied between 2 and 10, and the value of k can be determined with the minimum error and highest accuracy of clustering using the ELBOW method and the SILHOUETTE index.
11. 1. A computing device for performing a method of data augmentation to enable document classification of a plurality of documents, comprising: The computing device comprises: a processor configured to convert the plurality of documents into a plurality of images by converting each page of the plurality of documents into an image; a memory configured to store the plurality of images; Equipped with the processor is configured to obtain a vector representation of an image of each page in the plurality of documents; the processor is configured to create a plurality of clusters from the plurality of images based on similarity of the vector representations, each cluster of the plurality of clusters representing a distinct page format; the processor is configured to select an image from each cluster of the plurality of clusters; the processor is configured to compile a set of images, one image selected from each cluster of the plurality of clusters, to create a single composite document; the memory is configured to store the single compound document; The computing device, wherein the processor is configured to train a classification based on the single synthetic document.
12. 12. The computing device of claim 11, wherein selecting one image from each cluster ensures that each format is used to train the model.
13. 12. The computing device of claim 11, wherein the plurality of clusters are created from vectors to identify distinct page formats.
14. 12. The computing device of claim 11, wherein the image and the vector representation are obtained using a pre-trained image model.
15. 15. The computing device of claim 14, wherein the trained image models include at least one of VGG and ResNet.
16. 12. The computing device of claim 11, wherein the clusters are formed by dimensionality reduction using a machine learning technique called Principal Component Analysis (PCA) or by conventional VGG-based clustering to provide pages with a large number of dimensions.
17. The computing device of claim 11, further comprising: a first layer that encodes multi-dimensional information into fewer, more concise dimensions using principal component analysis (PCA).
18. The computing device of claim 11, wherein a total number of clusters (k) optimal for image features is obtained, the value of k being determinable with minimum clustering error and highest accuracy using the ELBOW method and the SILHOUETTE index.
Citation Information
Patent Citations
Slip recognizing device
JP2004178108A
Method and program for generating genre model for identifying document genre, method and program for identifying document genre, and image processing system
JP2011018316A
Information processor, control method thereof and computer program
JP2017005307A
Form type learning system and image processing apparatus
JP2019109562A
Augmenting a training set for document categorization
US20070112753A1