Computer-implemented method, information processing system, and computer program (adaptive document understanding)

By clustering unstructured pages and assigning tailored machine learning models, the method improves the accuracy of converting diverse document formats into structured data, overcoming format-related conversion challenges in SDU systems.

JP7811067B2Active Publication Date: 2026-02-04INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 11 Cites 0 Cited by

Patent Information

Application Number
JP2022123708
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-08-25
Filing Date
2022-08-03
Publication Date
2026-02-04
Estimated Expiration
2042-08-03

AI Technical Summary

Technical Problem

Existing smart document understanding (SDU) systems face challenges in accurately converting unstructured documents into structured data due to varying page formats, leading to reduced conversion accuracy and bias in document selection.

Method used

The method involves clustering unstructured pages based on feature vectors and assigning specific machine learning models to each cluster, adaptively selecting the optimal model for each page format to improve data conversion accuracy.

Benefits of technology

This approach enhances the accuracy of converting unstructured data into structured data by ensuring each page is processed with the most suitable machine learning model, addressing format variations and improving overall conversion precision.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007811067000001
    Figure 0007811067000001
  • Figure 0007811067000002
    Figure 0007811067000002
  • Figure 0007811067000003
    Figure 0007811067000003
Patent Text Reader

Abstract

To provide an approach in which a method, a system and a program create multiple page clusters in feature space from multiple feature vectors corresponding to multiple unstructured pages.SOLUTION: The method, system and program product assign one of multiple machine learning models to each one of the multiple page clusters based on a relationship in the feature space between the multiple page clusters and multiple training clusters corresponding to the multiple machine learning models. The method, system and program product identify one of the multiple page clusters that corresponds to selected one of the multiple unstructured pages, and transform the selected unstructured page into a structured page using selected one of the multiple machine learning models assigned to the identified page cluster.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] Machine learning algorithms build machine learning models based on sample data, known as training data, to make predictions or decisions without being explicitly programmed. The process of training a machine learning model involves providing the machine learning algorithm with training data to learn from, and the artifact from the training process is a machine learning model. The training data contains correct answers, known as targets or target attributes, and the machine learning algorithm finds patterns in the training data that map input data attributes to target attributes and outputs a machine learning model that captures those patterns.

[0002] Structured data refers to data that is easy to analyze because it resides in fixed fields within a file or record. Unstructured data (or unstructured information) is information that does not have a predefined data model or is not organized in a predefined manner. Unstructured information is typically text-centric but may also include data such as dates and numbers. Unstructured data also typically contains irregularities and ambiguities that make it difficult for traditional programs to interpret.

[0003] Smart Document Understanding (SDU) techniques use machine learning to convert unstructured documents into structured data. In SDU, users input annotations into training documents that are extracted from the input document, and the model is trained using these documents as training images. However, a challenge with current SDU systems is that page formats often vary between pages and various articles. Some pages may be double-column, others may contain graphic images, while others may be traditional paragraph-based text.

[0004] This makes it difficult to cover these various page formats using a single machine learning model, resulting in reduced conversion accuracy. Furthermore, existing SDU training methods only extract a minimal amount of training data effectively for training machine learning models (e.g., random sampling). This can lead to a bias in document selection toward specific formats, which in turn reduces the conversion accuracy of machine learning models. Summary of the Invention [Problem to be solved by the invention]

[0005] According to one embodiment of the present disclosure, a method, system, and program are provided that creates multiple clusters in a feature space from multiple feature vectors corresponding to multiple unstructured pages. [Means for solving the problem]

[0006] The method, system, and program product assigns one of a plurality of machine learning models to each of a plurality of clusters based on a relationship in feature space between a plurality of training clusters corresponding to the plurality of machine learning models and a plurality of page clusters. The method, system, and program product identifies one of a plurality of page clusters corresponding to a selected one of a plurality of unstructured pages, and converts the selected unstructured page into a structured page using the selected one of the plurality of machine learning models assigned to the identified page cluster. In this embodiment, the method, system, and program product improves data conversion accuracy by adaptively selecting an optimal machine learning model from the plurality of machine learning models to convert unstructured data into structured data.

[0007] According to another embodiment of the present disclosure, a method, system, and program product are provided for dividing multiple unstructured documents into multiple unstructured pages. The method, system, and program product select one of the multiple unstructured pages and define a set of character regions and a set of corresponding positions on the selected unstructured page. The method, system, and program product calculates a set of character region feature vectors corresponding to the set of character regions based on the set of corresponding positions and the set of content within the corresponding character regions. In this embodiment, the method, system, and program product calculates multiple fine-tuned feature vectors for each unstructured page based on the content type and position within the page.

[0008] According to another embodiment of the present disclosure, a method, system, and program product calculates a selected one of multiple feature vectors for a selected unstructured page based on a set of character region feature vectors, and maps the selected feature vector to a feature space. In this embodiment, the method, system, and program product combines the multiple feature vectors for a particular unstructured page into a single fine-tuned page feature vector that best describes the content type and the positioning of the content within the unstructured page.

[0009] According to another embodiment of the present disclosure, a method, system, and program product performs hierarchical clustering on a selected feature vector. The method, system, and program product identifies one of a plurality of page cluster centers corresponding to a plurality of page clusters that is closest in feature space to the selected feature vector. The method, system, and program product adds the selected feature vector to the identified one of the plurality of page clusters corresponding to the identified page cluster center. In this embodiment, the method, system, and program product groups the page feature vectors into clusters based on their comparable features that are ultimately assigned to a particular one of a plurality of machine learning models.

[0010] According to another embodiment of the present disclosure, a method, system, and program product are provided for calculating multiple page cluster centers based on multiple page clusters. The method, system, and program product calculates multiple training cluster centers based on multiple training clusters. The method, system, and program product selects one of the multiple page cluster centers. The method, system, and program product identifies one of the multiple training cluster centers that is closest in feature space to the selected page cluster center. The method, system, and program product assigns one of the multiple machine learning models corresponding to the identified training cluster center to the page cluster corresponding to the selected page cluster center. In this embodiment, the method, system, and program product adaptively assigns each machine learning model to a specific page cluster center, so that each page cluster uses its own machine learning model to convert unstructured data into structured data.

[0011] According to another embodiment of the present disclosure, a method, system, and program product identifies a different one of a plurality of page clusters corresponding to a different one of a plurality of unstructured pages. The method, system, and program product converts the different unstructured pages into different structured pages using a different one of a plurality of machine learning models assigned to the different page clusters. In this embodiment, the method, system, and program product converts the different unstructured pages into structured pages using a different machine learning model if the different unstructured pages have different characteristics from a previously converted unstructured page.

[0012] According to another embodiment of the present disclosure, a method, system, and program product trains a selected machine learning model using portions of a plurality of unstructured documents corresponding to the identified page clusters. The method, system, and program product performs transformations using the trained machine learning model and adds the trained machine learning model to the plurality of machine learning models. In this embodiment, the method, system, and program product further trains each of the machine learning models on portions of the unstructured pages to further improve the transformation capabilities of each of the machine learning models.

[0013] According to another embodiment of the present disclosure, there is provided a technique in which the plurality of unstructured pages includes a plurality of unstructured page types, and one of a plurality of machine learning models is assigned to each one of the plurality of unstructured page types to perform the transformation. In this embodiment, the method, system, and program product assigns a specific machine learning model to transform each specific unstructured page into a structured page based on the type of the unstructured page.

[0014] The foregoing is a summary and, as such, contains necessarily simplifications, generalizations, and omissions of detail. Consequently, those skilled in the art will appreciate that this summary is illustrative only and is not intended to be in any way limiting. Other aspects, inventive features, and advantages of the present disclosure, as defined solely by the claims, will become apparent in the non-limiting detailed description set forth below. The present disclosure may be better understood, and its numerous objects, features, and advantages may become apparent to those skilled in the art by reference to the accompanying drawings. [Brief explanation of the drawings]

[0015] [Figure 1] 1 is a block diagram of a data processing system in which the methods described herein may be implemented; [Figure 2] An extension of the information handling system environment shown in FIG. 1 is provided to illustrate that the methods described herein may be performed on a wide variety of information handling systems operating in a networked environment. [Figure 3] FIG. 1 is an exemplary diagram illustrating an adaptive document understanding system that trains a machine learning model and utilizes the trained machine learning model for structure extraction. [Figure 4] FIG. 3 is an exemplary diagram illustrating an adaptive document understanding system 300 that uses unstructured documents to train a model 335. [Figure 5] FIG. 3 is an exemplary diagram illustrating an adaptive document understanding system 300 that determines an appropriate machine learning model for each unstructured page and converts each unstructured page into a structured page using the selected machine learning model. [Figure 6] 4 is an exemplary flowchart illustrating steps taken to train a model 335 using a document 400. [Figure 7] 1 is an exemplary flowchart illustrating steps taken in hierarchical clustering. [Figure 8] 4 is an exemplary flowchart illustrating steps taken to use the model 335 for specific model inference of an unstructured page 420. [Figure 9] FIG. 3 is an exemplary diagram illustrating an adaptive document understanding system 300 that segments a page into character regions, creates character region feature vectors for these character regions, and creates page feature vectors from these character region feature vectors. [Figure 10] FIG. 3 is an exemplary diagram illustrating an adaptive document understanding system 300 that maps document pages to a feature space during a model training phase. [Figure 11] FIG. 3 is an exemplary diagram illustrating an adaptive document understanding system 300 that maps page feature vectors to a feature space and selects machine learning to apply to a page based on a distance measure from a cluster center. DETAILED DESCRIPTION OF THE INVENTION

[0016] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly dictates otherwise. It will be further understood that as used herein, the terms "comprises" and / or "comprising" specify the presence of stated features, integers, steps, operations, elements, or components, or combinations thereof, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or groups thereof, or combinations thereof.

[0017] In the following claims, equivalent structure, material, acts, and all means-plus-function or step-plus-function element equivalents are intended to include any structure, material, or act for performing a function as specifically claimed in combination with other claimed elements. The description of the present disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the disclosure in the form disclosed. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the disclosure. The embodiments were chosen and described to best explain the principles and practical applications of the disclosure and to enable those skilled in the art to understand the disclosure in various embodiments with various modifications suitable for the particular use contemplated.

[0018] The present invention may be a system, method, or computer program product, or combination thereof, at any conceivable level of technical detail integration. The computer program product may include one or more computer-readable storage media having computer-readable program instructions for causing a processor to perform aspects of the present invention.

[0019] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD), memory stick, floppy disk, mechanically encoded devices such as punch cards or ridge structures in grooves that record instructions, and any suitable combination of the above. As used herein, a computer-readable storage medium should not be construed as being a transitory signal per se, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse passing through a fiber optic cable), or an electrical signal transmitted over a wire.

[0020] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium into each computing / processing device, or may be downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing / processing device.

[0021] Computer-readable program instructions for carrying out operations of the present invention may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk® or C++, and procedural programming languages ​​such as the “C” programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry to perform aspects of the present invention.

[0022] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0023] These computer-readable program instructions may be provided to a computer processor or other programmable data processing apparatus to produce a machine, such that the instructions, executed by the computer processor or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may be stored on a computer-readable storage medium that can direct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that the computer-readable storage medium having the instructions stored thereon comprises an article of manufacture containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0024] The computer-readable program instructions may be loaded onto a computer, other programmable data processing apparatus, or other device and cause the computer, other programmable apparatus, or other device to perform a series of operational steps to generate a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0025] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may actually be realized as a single step and executed concurrently, substantially concurrently, in a partially or fully overlapping manner, or the blocks may sometimes be executed in reverse order, depending on the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a special-purpose hardware-based system that performs the specified functions or operations or executes a combination of special-purpose hardware and computer instructions. The following detailed description generally follows the summary of the disclosure as set forth above, and, where necessary, further explains and expands upon definitions of various aspects and embodiments of the disclosure.

[0026] 1 illustrates an information processing system 100, a simplified example of a computer system capable of performing the computational operations described herein. The information processing system 100 includes one or more processors 110 coupled to a processor interface bus 112. The processor interface bus 112 connects the processors 110 to a northbridge 115, also known as a memory controller hub (MCH). The northbridge 115 connects to system memory 120 and provides a means for the processors 110 to access the system memory. A graphics controller 125 also connects to the northbridge 115. In one embodiment, a peripheral component interconnect (PCI) express bus 118 connects the northbridge 115 to the graphics controller 125. The graphics controller 125 connects to a display device 130, such as a computer monitor.

[0027] Northbridge 115 and Southbridge 135 connect to each other using bus 119. In some embodiments, the bus is a Direct Media Interface (DMI) bus, which transfers data between Northbridge 115 and Southbridge 135 at high speeds in each direction. In some embodiments, a PCI bus connects the Northbridge and Southbridge. Southbridge 135, also known as an Input / Output (I / O) Controller Hub (ICH), is a chip that generally implements capabilities that operate at lower speeds than those provided by the Northbridge. Southbridge 135 typically provides various buses used to connect various components. These buses include, for example, PCI and PCI Express buses, ISA buses, System Management Buses (SMBus or SMB), or Low Pin Count (LPC) buses, or combinations thereof. The LPC bus often connects low-bandwidth devices such as Boot ROM 196 and "legacy" I / O devices (which use "Super I / O" chips). The "legacy" I / O devices 198 may include, for example, serial and parallel ports, a keyboard, a mouse, or a floppy disk controller, or a combination thereof. Other components often included in the southbridge 135 include a direct memory access (DMA) controller, a programmable interrupt controller (PIC), and a storage device controller, which connects the southbridge 135 to a non-volatile storage device 185, such as a hard disk drive, using bus 184.

[0028] Express card 155 is a slot that connects hot-pluggable devices to the information handling system. Express card 155 connects to southbridge 135 using both a Universal Serial Bus (USB) and a PCI Express bus, supporting both PCI Express and USB connectivity. Southbridge 135 includes USB controller 140, which provides USB connectivity to devices that connect to USB. These devices include a webcam (camera) 150, an infrared (IR) receiver 148, a keyboard and trackpad 144, and a Bluetooth® device 146, which provides a wireless personal area network (PAN). USB controller 140 also provides USB connectivity to a wide variety of other USB-connected devices 142, such as a mouse, a removable nonvolatile storage device 145, a modem, a network card, an Integrated Services Digital Network (ISDN) connector, a fax machine, a printer, a USB hub, and many other types of USB-connected devices. Although the removable non-volatile storage device 145 is shown as a USB-connected device, the removable non-volatile storage device 145 may be connected using a different interface, such as a Firewire interface.

[0029] Wireless local area network (LAN) devices 175 connect to Southbridge 135 via PCI or PCI Express bus 172. LAN devices 175 typically implement one of the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards for wireless modulation, all of which use the same protocol for wireless communication between information handling system 100 and another computer system or device. Optical storage devices 190 connect to Southbridge 135 using Serial Analog Telephone Adapter (ATA) (SATA) bus 188. Serial ATA adapters and devices communicate over a high-speed serial link. The Serial ATA bus also connects Southbridge 135 to other forms of storage devices, such as hard disk drives. Audio circuitry 160, such as a sound card, connects to Southbridge 135 via bus 158. Audio circuitry 160 also provides functionality associated with audio hardware, such as an audio line-in and optical digital audio input port 162, an optical digital output and headphone jack 164, an internal speaker 166, and an internal microphone 168. Ethernet controller 170 connects to southbridge 135 using a bus such as a PCI or PCI Express bus. Ethernet controller 170 connects information handling system 100 to computer networks, such as local area networks (LANs), the Internet, and other public and private computer networks.

[0030] 1 illustrates one information processing system, information processing systems may take many forms. For example, an information processing system may take the form of a desktop, a server, a portable device, a laptop, a notebook, or other form factor computer or data processing system. An information processing system may also take other form factors, such as a personal digital assistant (PDA), a gaming device, an automated teller machine (ATM), a mobile phone device, a communications device, or other device that includes a processor and memory.

[0031] FIG. 2 provides an expansion of the information handling system environment shown in FIG. 1 to illustrate that the methods described herein may be performed on a wide variety of information handling systems operating in a networked environment. Types of information handling systems range from small handheld devices, such as handheld computer / cell phone 210, to large mainframe systems, such as mainframe computer 270. Examples of handheld computers 210 include personal digital assistants (PDAs), personal entertainment devices, such as MP3 players, portable televisions, and compact disc players. Other examples of information handling systems include pen or tablet computers 220, laptop or notebook computers 230, workstations 240, personal computer systems 250, and servers 260. Other types of information handling systems not individually shown in FIG. 2 are represented by information handling system 280. As shown, these various information handling systems may be networked together using computer network 200. Types of computer networks that may be used to interconnect these various information handling systems include local area networks (LANs), wireless local area networks (WLANs), the Internet, public switched telephone networks (PSTNs), other wireless networks, and any other network topology that may be used to interconnect information handling systems. Many information handling systems include a non-volatile data store, such as a hard drive or non-volatile memory, or both. The embodiment of the information handling system shown in FIG. 2 includes separate non-volatile data stores (more specifically, server 260 utilizes non-volatile data store 265, mainframe computer 270 utilizes non-volatile data store 275, and information handling system 280 utilizes non-volatile data store 285). The non-volatile data stores may be components external to these various information handling systems or may be internal to one of these information handling systems.Additionally, the removable non-volatile storage device 145 may be shared between two or more information handling systems using various techniques, such as connecting the removable non-volatile storage device 145 to a USB port or other connector on the information handling systems.

[0032] As discussed above, unstructured data exists in many different formats, but existing smart document understanding (SDU) methods only provide a minimal method for extracting training data for training. This can lead to document selection biased toward suboptimal formats, resulting in reduced conversion accuracy. Figures 3 to 11 show a method that can be implemented on an information processing system to adaptively train multiple machine learning models and select the optimal one to convert unstructured data into structured data, thereby improving conversion accuracy. This method automatically converts documents into feature data (feature vectors) based on character regions, clusters the feature vectors in a feature space based on their formats, and trains multiple machine learning models specialized for each format based on the clustering.

[0033] Then, once the machine learning models are trained, the technique adaptively selects the best machine learning model to convert a particular page of unstructured data into structured data based on the page's feature vectors mapped to the feature space. In one embodiment, clustering is performed using similarity between images or similarity between words in a sentence. In another embodiment, feature values ​​are used for style extraction to create a more meaningful segmentation model from the clustering. In this embodiment, feature values ​​are shared with subsequent style extraction, saving time, resources, and providing high application compatibility.

[0034] 3 is an exemplary diagram illustrating an adaptive document understanding system that trains multiple machine learning models and utilizes the trained machine learning models to intelligently transform unstructured data into structured data. The adaptive document understanding (ADU) system 300 includes two phases: a model training phase 310 and a model inference phase 320. As discussed herein, the model training phase 310 independently trains models 335, which include model A 340, model B 350, model C 360, and model n 370. The model inference phase 320 then uses the models 335 to transform the unstructured data in the document store 330 into structured data.

[0035] The document store 330 contains a variety of unstructured document types, such as double-column articles, financial articles with graphic images, and traditional paragraph-based text. The model training phase 310 divides documents from the document store 330 into pages and then extracts text from each of these pages (e.g., text passages, images, etc.). The model training phase 310 converts each of these pages into feature data (vectors) that indicate its format based on information about the size and position of the extracted text on that page and stores the feature information in a feature space 380. The model training phase 310 then divides the pages into clusters based on the feature data using hierarchical clustering and determines the centroid of each page cluster, referred to herein as a page cluster center or page cluster center vector (see Figures 4, 6, 7, 10, and corresponding text for further details).

[0036] Next, the model training phase 310 compares the page cluster centers to training cluster centers in feature space, which correspond to the training clusters used to initially train the machine learning models 335. The model training phase 310 then assigns one of the machine learning models 335 as a base model to each of the page cluster centers (see FIG. 10 and corresponding text for further details).

[0037] Next, the model training phase 310 randomly extracts unstructured pages from each of the page clusters and inputs annotations to the extracted unstructured pages. The model training phase 310 then uses the annotated unstructured pages to train models 340, 350, 360, and 370 for each page cluster. For example, if model A340 is assigned to page cluster A1000 in FIG. 10, model A340 is trained on annotated unstructured pages randomly extracted from page cluster A1000. The model training phase 310 then stores models 335 and their corresponding cluster center vectors in the model store 390.

[0038] In one embodiment, the models 335 have a predisposition for different content types, such as images, text, etc. In this embodiment, the adaptive document understanding system 300 selects which of the models 335 best fits a particular cluster based on the cluster's location in the feature space 380 (e.g., a cluster with a high image feature value is assigned to an image-based machine learning model).

[0039] Once the model 335 has completed training, the model inference phase 320 divides the documents from the document store 330 into pages, or uses these pages as is if they have already been divided by the model training phase 310. The model inference phase 320 then selects one of these pages, extracts characters from the selected page, and converts the selected page into feature data (a vector) that indicates the format of the selected page based on information about the size and position of the extracted characters on that page (see FIG. 9 and corresponding text for further details).

[0040] Next, model inference phase 320 maps the feature vectors of the selected page to feature space 380 and identifies the closest page cluster center in model store 390 (see FIG. 11 and corresponding text for further details). Model inference phase 320 then selects one of models 335 from model store 390 that corresponds to the closest page cluster center. Model inference phase 320 then uses the selected one of models 335 to transform the selected unstructured page into structured data.

[0041] Next, the model inference phase 320 selects a different unstructured page in the document store 330, selects a best-fit model for the different page, and transforms the different unstructured page into a different structured page using the selected best-fit model. The model inference phase repeats this process, selecting a best-fit model to transform each of the unstructured pages in the document store 330 into a structured page (see FIG. 5 and corresponding text for further details).

[0042] 4 is an exemplary diagram illustrating an adaptive document understanding system 300 that uses unstructured documents to select and train a model 335. The adaptive document understanding system 300, and in particular the model training phase 310, trains an unstructured document 400 into a page set (d i,p), where i is the document index and p is the page index.

[0043] The adaptive document understanding system 300 then uses conventional OCR technology implemented in the SDU or existing technology in one embodiment to extract character regions from each of the unstructured pages 420. Optical character recognition (OCR) is the conversion of an image of typed, handwritten, or printed text into machine-encoded text, whether from a scanned document, a photograph of a document, a scene photograph, or from subtitle text superimposed on an image.

[0044] For each page of the unstructured pages 420, the adaptive document understanding system 300 classifies the character regions into feature data F={f i,p} (see Figure 9 and corresponding text for further details).

[0045] The adaptive document understanding system 300 maps each of the feature vectors to a feature space 380. The adaptive document understanding system 300 then segments the unstructured pages 420 into clusters based on their feature mappings. For example, image-intensive pages are mapped to a particular region of the feature space 380, and text-intensive pages are mapped to a different region of the feature space 380. The feature vectors of the adaptive document understanding system 300 also take into account the location of images and text on the page during mapping (see Figures 9, 10 and corresponding text for further details). Figure 4 shows the results of the feature space clustering as page type A 430, page type B 440, and page type C 450.

[0046] In one embodiment, the adaptive document understanding system 300 creates an optimal number of page clusters (430, 440, 450) useful for training by dividing the unstructured pages 420 into documents whose distance (difference) from each other is greater than or equal to a threshold Lth using hierarchical clustering based on the feature data F (see FIG. 7 and corresponding text for further details).

[0047] The adaptive document understanding system 300 compares the page cluster centers with the training cluster centers corresponding to the training clusters used to initially train the machine learning models 335. The adaptive document understanding system 300 then assigns one of the machine learning models 335 as a base model to each of the page cluster centers (see FIG. 10 and corresponding text for further details).

[0048] The adaptive document understanding system 300 randomly extracts training page samples 435, 445, and 455 from the page cluster, annotates each of the extracted training page samples, and uses the annotated documents to train model A 340, model B 350, and model C 360, respectively.

[0049] 5 is an exemplary diagram illustrating an adaptive document understanding system 300 that selects an appropriate machine learning model for each unstructured page and converts each unstructured page into a structured page using the selected machine learning model. The adaptive document understanding system 300, and in particular the model inference phase 320, divides the unstructured document 400 into unstructured pages 420. The adaptive document understanding system 300 extracts character regions from each of the unstructured pages 420 using conventional OCR technology implemented in the SDU or existing technology, and then segments these character regions into feature data F={f i,p} (see Figure 9 and corresponding text for further details).

[0050] Next, the adaptive document understanding system 300 selects one of the unstructured pages 420 and maps the feature vector to the feature space 380. The adaptive document understanding system 300 then identifies the page cluster center (gct) that is closest to the mapped feature vector (see FIG. 11 and corresponding text for further details). The adaptive document understanding system 300 then selects one of the models 335 that corresponds to the identified closest cluster center. This is a machine learning model that is trained with the unstructured pages in the corresponding cluster. The adaptive document understanding system 300 then uses one of the selected models 335 to convert the selected unstructured page 420 into a structured page 540. The adaptive document understanding system 300 repeats this process, individually selecting one of the models 335 for each of the unstructured pages 420 to transform the unstructured data into structured data.

[0051] Figure 6 is an exemplary flowchart showing steps taken to train model 335 using unstructured document 400. Processing in Figure 6 begins at 600. Then, in step 610, the process divides unstructured document 400 from document store 330 into unstructured pages 420. In step 620, the process extracts character regions from the page and converts these character regions into feature vectors f(i,p) (see Figure 9 and corresponding text for further details). The process then maps the feature vectors onto feature space 380 (see Figure 10 and corresponding text for further details).

[0052] At predefined process block 630, the process uses hierarchical clustering to find the vector set F={f i,p} into clusters whose distance (difference) from each other is greater than or equal to a threshold "Lth" (see FIG. 7 and corresponding text for further details). Referring to FIG. 10, the process groups the vectors into page cluster A 1000, page cluster B 1040, and page cluster C 1080.

[0053] In step 635, the process calculates the center-to-center distance between the page cluster center corresponding to the existing machine learning model and the training cluster center (see FIG. 10 and corresponding text for further details). The process determines whether the center-to-center distance between the page cluster center and the training cluster center is equal to or less than a threshold Lth, such as half the minimum center-to-center distance between clusters (decision 640). That is, in one embodiment, the process determines whether to assign a particular machine learning model to a particular page cluster center. In another embodiment, the process may identify a portion of page cluster centers that are close to the training cluster center and assign multiple particular machine learning models to some of the page cluster centers, while not assigning other page cluster centers to a particular machine learning model.

[0054] If the center-to-center distance between the page cluster center and the training cluster center is not less than or equal to the threshold Lth, decision 640 branches to the "No" branch. Then, in step 650, the process randomly initializes model 335 to indicate that each page cluster is sufficiently different from each training cluster in feature space 380 so that no model is trained using the individual data.

[0055] On the other hand, if the center-to-center distance between the page cluster center and the training cluster center is equal to or less than the threshold Lth, decision 640 branches to the "Yes" branch. At step 660, the process assigns the closest existing machine learning model to the page cluster center as a base model for transfer learning and fine-tuning (described below). For example, a user may have a machine learning model already trained on papers from "Conference A," and the process uses that machine learning model as a base model to be trained on papers from "Conference B" to create a new model if the papers are similar in format.

[0056] In step 670, the process randomly extracts a set of training pages from each page cluster and annotates the extracted pages. In step 675, the process selects an initial set of annotated pages and a corresponding machine learning model (e.g., Type A samples 430). In step 675, the process trains the selected model using the corresponding set of annotated training pages. Referring to Figure 4, the process trains Model A 340 using the annotated Type A samples 435.

[0057] In step 685, the process stores the trained model in model store 335 and the corresponding page cluster centers of the page clusters in model store 390. The process of FIG.

[0058] 7 is an exemplary flowchart showing steps taken to cluster unstructured page feature vectors in a feature space. The processing of FIG. 7 begins at 700. Then, at step 710, the process selects an initial "t", where "t" is a cluster identifier. Each document belongs to a distinct cluster.

[0059] In step 720, the process sets the feature data f(i,p) of each page as one cluster c(t) and sets the cluster center g(ct)=f(i,p). In step 730, the process calculates the distance l(ct,c't) between each pair of g(ct) and g(c't) (e.g., Euclidean distance calculation). In step 740, the process combines the clusters of pairs whose distance l(ct,c't) is less than a threshold Lth in order of shortest distance to create a set of new clusters c(t'). In this step, adjacent clusters are merged and created as one new cluster, and t' represents the generated new identifier.

[0060] The process determines whether new clusters are to be created (decision 750). If new clusters are to be created, decision 750 branches to the "Yes" branch. In step 760, the process calculates, for each cluster c(t'), a set of new page cluster centers g(c') based on the f(i,p) belonging to page cluster c(t'). The process then loops back to steps 730 and 740 to calculate new distances between cluster centers and combine clusters as needed. This loop continues until the clusters are adequately separated from each other and no new clusters remain to be created. At that point, decision 750 branches to the "No" branch, which ends the loop. The process of FIG. 7 then returns to the calling routine at 795 (see FIG. 6 and corresponding text for further details).

[0061] 8 is an exemplary flowchart showing steps taken to use model 335 for specific model inference of unstructured pages 420. Processing in FIG. 8 begins at 800. Then, in step 810, the process divides unstructured document 400 into unstructured pages 420. In step 820, the process extracts character regions from the page and converts these character regions into feature vectors f(i,p). As previously discussed, in one embodiment, the process may omit steps 810 and 820 if steps 610 and 620 have been recently performed.

[0062] In step 830, the process selects an initial unstructured page, and in step 835, the process maps the feature vector of the selected unstructured page to feature space 380. In step 840, the process calculates the distance in feature space 380 between f(i,p) of the selected page and all page cluster centers from the training phase (see FIG. 11 and corresponding text for further details).

[0063] In step 850, the process identifies the page cluster center that is closest to f(i,p) and selects a model to assign to the identified page cluster center. Referring to Figure 11, the process selects model A 340 because cluster center A 1010 is closest to feature vector 1110. In step 860, the process uses the selected model to convert the selected unstructured page into structured page 540. In step 870, the process stores the structured document in document store 330.

[0064] The process determines whether there are more unstructured pages to convert to structured pages (decision 880). If there are more pages to convert, decision 880 branches to the "yes" branch, which loops back to select and process the next unstructured page. This loop continues until each of the pages has been processed, at which point decision 880 branches to the "no" branch, which ends the loop. The processing of Figure 8 then ends at 895.

[0065] FIG. 9 is an exemplary diagram illustrating an adaptive document understanding system 300 that segments a page into character regions, creates feature vectors for these character regions, and creates page feature vectors from these character region feature vectors.

[0066] The adaptive document understanding system 300 analyzes the unstructured page 900 and divides the page 900 into three character regions x 910, y 920, and z 930. The adaptive document understanding system 300 then captures the data and position information corresponding to each region (data x / position x 940, data y / position y 945, data z / position z 950) using techniques such as OCR described above.

[0067] The adaptive document understanding system 300 then uses a feature vector generator 960 to generate respective region vectors x 960, y 970, and z 980 based on their corresponding data / location data. The feature vector generator 960 then combines the region vectors x 960, y 970, and z 980 into a single feature vector 990 that matches the unstructured page. The adaptive document understanding system 300 then creates a page feature vector 990 from the character region feature vectors. In one embodiment, the adaptive document understanding system 300 i) applies summation or averaging among character regions with similar font sizes, ii) uses only the N largest character regions, or iii) sorts the character region vectors by surface area or coordinates to identify multiple different unstructured page types, or a combination thereof.

[0068] Next, the adaptive document understanding system 300 maps the page feature vector 990 to the feature space 380 to determine which of the models 330 to select to transform the unstructured page 900 into a structured page (see FIG. 11 and corresponding text for further details).

[0069] FIG. 10 is an exemplary diagram illustrating an adaptive document understanding system 300 that maps unstructured pages to a feature space and clusters these mappings during a model training phase. FIG. 10 shows various unstructured page mappings (dots). The adaptive document understanding system 300 clusters these mappings into cluster A 100, cluster B 1020, and cluster C 1040, for example, using a hierarchical clustering step such as that shown in FIG. 7. As discussed herein, the adaptive document understanding system 300 uses cluster analysis to group sets of mappings such that mappings within the same group are more similar to each other than to mappings within other groups. Similarity between mappings is often determined using distance measures across various dimensions within a dataset.

[0070] 10 also shows various training clusters containing feature data (e.g., pages) utilized to initially train model 335. Training cluster A 1020 corresponds to the feature data used to train model A 340. Training cluster B 1070 corresponds to the feature data used to train model B 350. Training cluster C 1090 corresponds to the feature data used to train model C 360.

[0071] The adaptive document understanding system 300 calculates the distance between the page cluster centers and the training cluster centers and assigns an appropriate machine learning model to each page cluster center. FIG. 10 shows that distance d1 is the closest distance between page cluster center A 1010 and training cluster center A 1030. Therefore, model A 340 is assigned to page cluster center A 1010. Distance d2 is the closest distance between page cluster center B 1050 and training cluster center B 1070. Therefore, model B 350 is assigned to page cluster center B 1050. Distance d3 is the closest distance between page cluster center C 1085 and training cluster center C 1095. Therefore, model C 360 is assigned to page cluster center C 1085.

[0072] Once the adaptive document understanding system 300 completes the model training phase, the adaptive document understanding system 300 uses the feature space locations of page cluster center A 1010, page cluster center B 1050, and page cluster center C 1085 to determine which machine learning model to select to transform a particular unstructured page into a structured page (see Figure 11 and corresponding text for further details).

[0073] FIG. 11 is an exemplary diagram illustrating an adaptive document understanding system 300 that maps page feature vectors to a feature space and selects which machine learning model to select for transforming a particular unstructured page into a structured page.

[0074] The adaptive document understanding system 300 (e.g., model inference phase 320) generates the page feature vector 990 using the technique shown in Figure 9. Next, the adaptive document understanding system 300 calculates the distance from the mapping 1110 to page cluster center A 1010 (distance A), the distance to page cluster center B 1050 (distance B), and the distance to page cluster center C 1085 (distance C). The adaptive document understanding system 300 then selects an appropriate machine learning model based on these distance measures. Figure 11 shows that because distance A is the shortest, the adaptive document understanding system 300 selects model A 340 to apply to the unstructured page 900 to transform the page from an unstructured page to a structured page.

[0075] While particular embodiments of the present disclosure have been illustrated and described, it will be apparent to those skilled in the art that, based on the teachings herein, changes and modifications can be made without departing from the present disclosure and its broader aspects. Accordingly, the appended claims are to encompass within their scope all such changes and modifications as are within the true spirit and scope of the present disclosure. It is to be further understood that the present disclosure is defined solely by the appended claims. Those skilled in the art will recognize that where a specific number of introduced claim elements is intended, such intention will be expressly recited in the claims, and that, in the absence of such recitation, no such limitation exists. As a non-limiting example, and to aid in understanding, the following appended claims include the use of the introductory phrases "at least one" and "one or more" to introduce claim elements. However, the use of such phrases should not be construed as suggesting that the introduction of a claim element with the indefinite article "a" or "an" limits any particular claim containing such introduced claim element to a disclosure containing only one such element, even if the introductory phrase "one or more" or "at least one" and an indefinite article such as "a" or "an" are included in the same claim. The same applies to the use of definite articles in the claims.

Claims

1. 1. A computer-implemented method comprising: creating a plurality of page clusters in a feature space from a plurality of feature vectors corresponding to a plurality of unstructured pages; assigning one of a plurality of machine learning models to each one of the plurality of page clusters based on a relationship in the feature space between a plurality of training clusters corresponding to the plurality of machine learning models and the plurality of page clusters; identifying one of the plurality of page clusters corresponding to a selected one of the plurality of unstructured pages; converting the selected unstructured pages into structured pages using a selected one of the plurality of machine learning models assigned to the identified page cluster; A method for providing

2. dividing a plurality of unstructured documents into said plurality of unstructured pages; selecting one of the plurality of unstructured pages; defining a set of character regions and a set of corresponding locations in the selected unstructured page; calculating a set of character region feature vectors corresponding to the set of character regions based on their corresponding set of locations and the set of content within their corresponding character regions; The method of claim 1 further comprising:

3. calculating a selected one of the plurality of feature vectors for the selected unstructured page based on the set of character region feature vectors; mapping the selected feature vectors into the feature space; The method of claim 2 further comprising:

4. performing hierarchical clustering on the selected feature vectors, the hierarchical clustering comprising: identifying one of a plurality of page cluster centers corresponding to the plurality of page clusters that is closest in feature space to the selected feature vector; adding the selected feature vector to an identified one of the plurality of page clusters corresponding to the identified page cluster center; The step of performing The method of claim 3 further comprising:

5. calculating a plurality of page cluster centers based on the plurality of page clusters; calculating a plurality of training cluster centers based on the plurality of training clusters; selecting one of the plurality of page cluster centers; identifying one of the plurality of training cluster centers that is closest in feature space to the selected page cluster center; assigning one of the plurality of machine learning models corresponding to the identified training cluster center to the page cluster corresponding to the selected page cluster center; The method of claim 1 further comprising:

6. identifying different ones of the plurality of page clusters corresponding to different ones of the plurality of unstructured pages; converting the different unstructured pages into different structured pages using different ones of the plurality of machine learning models assigned to the different page clusters; The method of claim 1 further comprising:

7. training the selected machine learning model using portions of the plurality of unstructured documents that correspond to the identified page clusters; performing the transformation using the trained machine learning model; adding the trained machine learning model to the plurality of machine learning models; The method of claim 2 further comprising:

8. 8. The method of claim 1, wherein the plurality of unstructured pages comprises a plurality of unstructured page types, and wherein one of the plurality of machine learning models is assigned to each one of the plurality of unstructured page types to perform the transformation.

9. An information processing system, one or more processors; a memory coupled to at least one of the one or more processors; stored in the memory and executed by at least one of the one or more processors, creating a plurality of page clusters in a feature space from a plurality of feature vectors corresponding to a plurality of unstructured pages; assigning one of a plurality of machine learning models to each one of the plurality of page clusters based on a relationship in the feature space between a plurality of training clusters corresponding to the plurality of machine learning models and the plurality of page clusters; identifying one of the plurality of page clusters corresponding to a selected one of the plurality of unstructured pages; converting the selected unstructured page into a structured page using a selected one of the plurality of machine learning models assigned to the identified page cluster; a set of computer program instructions that are executed to perform the An information processing system comprising:

10. the one or more processors: dividing a plurality of unstructured documents into said plurality of unstructured pages; selecting one of the plurality of unstructured pages; defining a set of character regions and corresponding sets of locations in the selected unstructured page; calculating a set of character region feature vectors corresponding to the set of character regions based on their corresponding sets of locations and the set of content within their corresponding character regions; 10. The information handling system of claim 9, further comprising:

11. the one or more processors: calculating a selected one of the plurality of feature vectors for the selected unstructured page based on the set of character region feature vectors; mapping the selected feature vectors into the feature space; 11. The information handling system of claim 10, further comprising:

12. the one or more processors: An operation of performing hierarchical clustering on the selected feature vectors, the hierarchical clustering comprising: identifying one of a plurality of page cluster centers corresponding to the plurality of page clusters that is closest in feature space to the selected feature vector; adding the selected feature vector to an identified one of the plurality of page clusters corresponding to the identified page cluster center; performing the action of 12. The information handling system of claim 11, further comprising:

13. the one or more processors: calculating a plurality of page cluster centers based on the plurality of page clusters; calculating a plurality of training cluster centers based on the plurality of training clusters; selecting one of the plurality of page cluster centers; identifying one of the plurality of training cluster centers that is closest in feature space to the selected page cluster center; assigning one of the plurality of machine learning models corresponding to the identified training cluster center to the page cluster corresponding to the selected page cluster center; 10. The information handling system of claim 9, further comprising:

14. the one or more processors: identifying different ones of the plurality of page clusters corresponding to different ones of the plurality of unstructured pages; transforming the different unstructured pages into different structured pages using different ones of the plurality of machine learning models assigned to the different page clusters; 10. The information handling system of claim 9, further comprising:

15. the one or more processors: training the selected machine learning model using portions of the plurality of unstructured documents that correspond to the identified page clusters; performing the transformation using the trained machine learning model; adding the trained machine learning model to the plurality of machine learning models; 11. The information handling system of claim 10, further comprising:

16. 16. The information processing system of claim 9, wherein the plurality of unstructured pages includes a plurality of unstructured page types, and wherein one of the plurality of machine learning models is assigned to each one of the plurality of unstructured page types to perform the conversion.

17. Information processing systems, creating a plurality of page clusters in a feature space from a plurality of feature vectors corresponding to a plurality of unstructured pages; assigning one of a plurality of machine learning models to each one of the plurality of page clusters based on a relationship in the feature space between a plurality of training clusters corresponding to the plurality of machine learning models and the plurality of page clusters; identifying one of the plurality of page clusters corresponding to a selected one of the plurality of unstructured pages; converting the selected unstructured pages into structured pages using a selected one of the plurality of machine learning models assigned to the identified page cluster; A computer program for executing

18. The information processing system, dividing a plurality of unstructured documents into said plurality of unstructured pages; selecting one of the plurality of unstructured pages; defining a set of character regions and corresponding sets of locations in the selected unstructured page; calculating a set of character region feature vectors corresponding to the set of character regions based on their corresponding set of locations and the set of content within their corresponding character regions; 20. The computer program of claim 17, further comprising:

19. The information processing system, calculating a selected one of the plurality of feature vectors for the selected unstructured page based on the set of character region feature vectors; mapping the selected feature vectors into the feature space; 20. The computer program of claim 18, further comprising:

20. The information processing system, A step of performing hierarchical clustering on the selected feature vectors, the hierarchical clustering comprising: identifying one of a plurality of page cluster centers corresponding to the plurality of page clusters that is closest in feature space to the selected feature vector; adding the selected feature vector to an identified one of the plurality of page clusters corresponding to the identified page cluster center; performing the steps of:

20. The computer program of claim 19, further comprising:

21. The information processing system, calculating a plurality of page cluster centers based on the plurality of page clusters; calculating a plurality of training cluster centers based on the plurality of training clusters; selecting one of the plurality of page cluster centers; identifying one of the plurality of training cluster centers that is closest in feature space to the selected page cluster center; assigning one of the plurality of machine learning models corresponding to the identified training cluster center to the page cluster corresponding to the selected page cluster center; 20. The computer program of claim 17, further comprising:

22. The information processing system, identifying different ones of the plurality of page clusters corresponding to different ones of the plurality of unstructured pages; transforming the different unstructured pages into different structured pages using different ones of the plurality of machine learning models assigned to the different page clusters; 20. The computer program of claim 17, further comprising:

23. The information processing system, training the selected machine learning model using portions of the plurality of unstructured documents that correspond to the identified page clusters; performing the transformation using the trained machine learning model; adding the trained machine learning model to the plurality of machine learning models; 20. The computer program of claim 18, further comprising:

24. 24. The computer program product of claim 17, wherein the plurality of unstructured pages comprises a plurality of unstructured page types, and wherein one of the plurality of machine learning models is assigned to each one of the plurality of unstructured page types to perform the transformation.

25. 1. A computer-implemented method comprising: dividing each of a plurality of unstructured documents into a plurality of unstructured pages; calculating a plurality of feature vectors for the plurality of unstructured pages; mapping each of the plurality of feature vectors into a feature space, the feature space also including a plurality of training cluster centers corresponding to a plurality of sets of training data utilized to train a plurality of machine learning models; creating a plurality of page clusters in the feature space from the plurality of feature vectors; calculating a plurality of page cluster centers based on the plurality of page clusters; determining a selected one of the plurality of training cluster centers that is closest in the feature space to a selected one of the plurality of page cluster centers; identifying one of the plurality of machine learning models that corresponds to the selected training cluster center; assigning the identified machine learning model to the selected page cluster center; selecting one of the plurality of feature vectors corresponding to a selected one of the plurality of unstructured pages; mapping the selected feature vectors into the feature space; converting the selected unstructured pages into structured pages using the identified machine learning model in response to determining that the selected page cluster centers are closest in the feature space to the selected feature vector; A method for providing

Citation Information

Patent Citations

  • Phishing website detection method

    CN104166725A

  • Webpage information autonomous searching and screening system within specified demand range

    CN112597370A

  • Case document sorting method and related equipment

    CN112632948A

  • Document classification support device, document classification support method and program

    JP2014067154A

  • Chart area detection device and chart area detection method

    JP2015099536A