WO2022215433A1 - 情報表現構造解析装置、および情報表現構造解析方法 - Google Patents

情報表現構造解析装置、および情報表現構造解析方法 Download PDF

Info

Publication number
WO2022215433A1
WO2022215433A1 PCT/JP2022/010905 JP2022010905W WO2022215433A1 WO 2022215433 A1 WO2022215433 A1 WO 2022215433A1 JP 2022010905 W JP2022010905 W JP 2022010905W WO 2022215433 A1 WO2022215433 A1 WO 2022215433A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
expression
extraction target
grammar
representation
Prior art date
Application number
PCT/JP2022/010905
Other languages
English (en)
French (fr)
Inventor
康志 宮田
理 竹内
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to US18/285,886 priority Critical patent/US20240184985A1/en
Publication of WO2022215433A1 publication Critical patent/WO2022215433A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/383Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities

Definitions

  • the present invention relates to an information representation structure analysis device and an information representation structure analysis method.
  • Patent Document 1 from the image of printed materials and typed materials read by an image scanner, optical character recognition (OCR: optical character recognition) technology
  • OCR optical character recognition
  • the system recognizes the layout structure of a document (columns, authors, titles, footnotes, etc.) by grammatically parsing the visual structure of the document using two-dimensional adaptation of statistical analysis algorithms; Interpret the structural components of a document.
  • Patent Document 1 recognizes the layout structure of a document by grammatically analyzing the visual structure of the document and interprets the structural components of the document.
  • the system described in the document does not provide information other than the text and the two-dimensional arrangement between the texts, such as tables, spaces, tabs, HTML tags (HTML: HyperText Markup Language), etc. included in the document.
  • Control characters, information written outside the document such as headers and footers, information that is invisible on the document (information that does not appear on the surface of the document), and other useful clues for interpreting the structure of the document. Not used. Therefore, it is not always possible to efficiently extract the desired information from the non-fixed form document.
  • an information representation structure analysis device which is configured using an information processing device, and includes information to be extracted from the information representation, which is a form of information representation in an atypical document, and information to be extracted from the information representation. and basis information that is information that serves as a basis for extracting the extraction object from the information expression; and extraction of the extraction object based on the extraction object and the basis information.
  • an information expression grammar specifying unit that specifies an information expression grammar that is a grammar describing the information expression that is the source; and support information that is information used when extracting the extraction target from the information expression.
  • a support information type identifying unit that identifies a support information type that is a structure-based classification, wherein the storage unit has a function of extracting the extraction target for each combination of the information expression grammar and the support information type.
  • An information expression template which is a template used for generating an information expression pattern, which is program code for realizing the non-fixed form document, is stored, and based on the information expression grammar and the support information type specified for the information expression, the non-fixed form document an information expression template searching unit for specifying the information expression template used for generating the information expression pattern used for extracting the extraction target from and an information representation pattern generation unit that generates the information representation pattern.
  • FIG. 1 is a diagram showing a schematic configuration of a document information management system
  • FIG. It is an example of an information processing apparatus that constitutes a document information management system. This is an example of an atypical document. It is an example of an information expression pattern. It is an example of an information representation template. It is an example of an information representation template table.
  • 10 is a flowchart for explaining information expression pattern generation processing; 10 is a flowchart for explaining information expression grammar identification processing; 8 is a flowchart for explaining support information type identification processing;
  • FIG. 10 is a diagram showing a schematic configuration of a document information management system according to a second embodiment;
  • FIG. 10 is a flowchart for explaining specific support information acquisition processing; It is an example of a specific support information acquisition screen.
  • FIG. 12 is a diagram showing a schematic configuration of a document information management system according to a third embodiment
  • FIG. 10 is a flowchart for explaining information expression pattern verification processing
  • It is an example of an information expression pattern verification result display screen.
  • FIG. 1 shows a schematic configuration of an information processing system (hereinafter referred to as "document information management system 1") described as the first embodiment.
  • the document information management system 1 includes an irregular document management device 2 , a user device 3 and an information representation structure analysis device 100 .
  • Each of them is configured using an information processing device (computer), and is connected to each other via a communication network 5 in a state in which two-way communication is possible.
  • the communication network 5 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, a dedicated line, and various public communication networks.
  • the non-routine document management device 2 handles non-routine documents (forms, statements, financial statements, various registration forms, etc., which have different formats depending on the issuer (for example, Rich Text Format)).
  • Information that the user intends to extract (hereinafter referred to as “extracted information”) is extracted from the standard document”), and the extracted information is provided to the user via the user device 2 .
  • Atypical documents include text data of words and sentences (hereinafter referred to as "text"), structural information (tables, spaces, tabs, information written outside the document, information invisible on the document ( Regular expressions, dictionary matches, meta information, control characters such as HTML (HyperText Markup Language) tags)), etc.
  • structural information it is called “structural information”.
  • information representation includes, for example, document data in a predetermined data format handled by application software such as word processing software, data describing web pages, and image data (image scanner) obtained by optical character recognition (OCR) technology. extracted from the image data acquired by
  • the non-standard document management device 2 has functions of a non-standard document management unit 21, an information extraction unit 22, an extraction information management unit 23, and an extraction information provision unit 24.
  • the non-standard document management unit 21 acquires non-standard documents by user input via the user device 3 or provision from other information processing devices via the communication network 5, and processes the acquired non-standard documents. Manage form documents.
  • the information extraction unit 22 acquires (extracts) extraction information from the non-standard document.
  • the information extracting unit 22 executes a program code (or pseudo code) (hereinafter referred to as "information expression pattern") for realizing a function of acquiring extracted information from an atypical document (pattern matching of information expression is executed). perform) to obtain extracted information from the non-fixed form document.
  • This information representation pattern is generated by the information representation structure analysis device 100 .
  • the information representation pattern can also be edited by the user via the user device 3 .
  • the extracted information management unit 23 manages the extracted information acquired by the information extraction unit 22.
  • the extracted information providing unit 24 provides the extracted information managed by the extracted information managing unit 23 to the user device 3 .
  • the user device 3 has functions of a various setting unit 31 and an extracted information using unit 32.
  • the various setting unit 31 performs various settings necessary for the information representation structure analysis apparatus 100 to generate and edit information representation patterns.
  • the extracted information utilization section 32 requests the extracted information requested by the user from the non-standard document management apparatus 2, receives the extracted information sent from the non-standard document management apparatus 2, and provides it to the user.
  • the information representation structure analysis device 100 generates an information representation pattern and provides it to the irregular document management device 2 .
  • the information representation structure analysis apparatus 100 has functions of a storage section 110, an information representation structure analysis section 120, and an information representation pattern generation section .
  • the storage unit 110 stores extraction target information 101, ground information group 102, information expression group 111, information expression template group 112, information expression template table 113, information expression pattern group 114, and various dictionaries 115.
  • the extraction target information 101 includes one or more extraction targets that the user intends to extract from the non-standard document.
  • the extraction target information 101 is set by the user via the user device 2, for example.
  • the basis information group 102 includes one or more basis information that serve as the basis for extracting extraction targets from information expressions.
  • the basis information group 102 is set by the user via the user device 2, for example.
  • the information expression group 111 includes one or more information expressions extracted from non-standard documents.
  • the information representation group 111 is set by the user via the user device 2, for example. For example, when trying to generate an information expression pattern to be used for extracting extracted information from a large number of non-standard documents, the user selects the information expressions extracted from the non-standard documents as the information representation group 111, and the information representation structure analysis apparatus 100 to register.
  • the information expression template group 112 includes one or more program codes (hereinafter referred to as "information expression templates") that are templates of information expression patterns. Details of the information representation template will be described later.
  • the information representation template table 113 is referred to by the information representation structure analysis unit 120 when selecting an information representation template used to generate an information representation pattern.
  • the information representation pattern group 114 includes one or more information representation patterns generated by the information representation pattern generation unit 130 .
  • the various dictionaries 115 include various dictionaries (word dictionaries, regular expression dictionaries, etc.) used by the information expression structure analysis unit 120 and the information expression pattern generation unit 130 .
  • the information representation structure analysis unit 120 analyzes information (information representation grammar and support information type, which will be described later) used for searching an information representation template from the information representation template table 113 based on the information representation (text, structure information) of the information representation group 111 . ).
  • the information representation structure analysis unit 120 has the functions of a text information extraction unit 121, a structure information extraction unit 122, an information representation grammar identification unit 123, and a support information type identification unit 124.
  • the text information extraction unit 121 extracts text from the information representation.
  • the structural information extraction unit 122 extracts structural information from the information representation.
  • the information representation grammar specifying unit 123 also specifies a grammar for describing information representation (hereinafter referred to as "information representation grammar") based on the text and structural information extracted from the information representation.
  • the support information type identification unit 124 identifies the later-described support information type corresponding to the information expression from the information expression template table 113 based on the text and structure information extracted from the information expression.
  • the information expression pattern generation unit 130 shown in FIG. 1 searches for an information expression template from the information expression template table 113 based on the information expression grammar and the support information type specified by the information expression structure analysis unit 120, and uses the searched information expression template. , an information expression pattern is generated by applying a specific extraction target (text, etc.) and basis information (configuration information, etc.).
  • the information representation pattern generation unit 130 has the functions of an information representation template search unit 131 and an information representation component replacement unit 132 .
  • the information expression template search unit 131 searches the information expression template table 113 for an information expression template corresponding to the combination of the information expression grammar and the support information type specified by the information expression structure analysis unit 120 .
  • the information representation component replacement unit 132 applies (substitutes) a specific extraction target (text, etc.) and basis information (configuration information, etc.) to the information representation template retrieved by the information representation template search unit 131. Generate an information representation template.
  • FIG. 2 shows an example of the hardware configuration of the information processing devices (the irregular document management device 2, the user device 3, and the information representation structure analysis device 100) that make up the document information management system 1.
  • the illustrated information processing apparatus 10 includes a processor 11 , a main memory device 12 , an auxiliary memory device 13 , an input device 14 , an output device 15 and a communication device 16 .
  • the information processing device 10 is, for example, a personal computer, an office computer, a server device, a smart phone, a tablet, or the like.
  • the information processing apparatus 10 uses virtual information processing resources, all or part of which are provided using virtualization technology, process space separation technology, etc., such as a virtual server provided by a cloud system, for example. It may be realized by Also, all or part of the functions provided by the information processing apparatus 10 may be implemented by services provided by the cloud system via an API (Application Programming Interface) or the like, for example. In addition, all or part of the functions provided by the information processing device 10 are realized using, for example, SaaS (Software as a Service), PaaS (Platform as a Service), IaaS (Infrastructure as a Service), etc. can be anything.
  • SaaS Software as a Service
  • PaaS Platinum as a Service
  • IaaS Infrastructure as a Service
  • At least two or more of the irregular document management device 2, the user device 3, and the information representation structure analysis device 100 may be realized by the same information processing device 10 (common hardware).
  • the processor 11 shown in FIG. Intelligence chip or the like.
  • the main memory device 12 is a device that stores programs and data, such as ROM (Read Only Memory), RAM (Random Access Memory), and nonvolatile memory (NVRAM (Non Volatile RAM)).
  • ROM Read Only Memory
  • RAM Random Access Memory
  • NVRAM Non Volatile RAM
  • the auxiliary storage device 13 is, for example, an SSD (Solid State Drive), a hard disk drive, an optical storage device (CD (Compact Disc), DVD (Digital Versatile Disc), etc.), a storage system, an IC card, an SD card, or an optical recording device. They are a read/write device for a recording medium such as a medium, a storage area of a cloud server, and the like. Programs and data can be read into the auxiliary storage device 13 via a recording medium reading device or the communication device 16 . Programs and data stored (stored) in the auxiliary storage device 13 are read into the main storage device 12 at any time.
  • SSD Solid State Drive
  • CD Compact Disc
  • DVD Digital Versatile Disc
  • a storage system such as a medium, a storage area of a cloud server, and the like.
  • Programs and data can be read into the auxiliary storage device 13 via a recording medium reading device or the communication device 16 . Programs and data stored (stored) in the auxiliary storage device 13 are read
  • the input device 14 is an interface that receives input from the outside, and includes, for example, a keyboard, mouse, touch panel, card reader, pen-input tablet, voice input device, and the like.
  • the output device 15 is an interface that outputs various types of information such as processing progress and processing results.
  • the output device 15 is, for example, a display device (liquid crystal monitor, LCD (Liquid Crystal Display), graphic card, etc.) that visualizes the above various information, a device that converts the above various information into sound (audio output device (speaker, etc.)) , a device (printing device, etc.) that converts the above various information into characters.
  • the information processing device 10 may be configured to input and output information with another device via the communication device 16 .
  • the input device 14 and the output device 15 constitute a user interface that realizes interactive processing (acceptance of information, presentation of information, etc.) with the user.
  • the communication device 16 is a device that realizes communication with other devices.
  • the communication device 16 is a wired or wireless communication interface that realizes communication with other devices via the communication network 5.
  • a NIC Network Interface Card
  • a wireless communication module e.g., a Wi-Fi module
  • a USB module e.g., a USB interface card
  • an operating system for example, an operating system, file system, DBMS (DataBase Management System) (relational database, NoSQL, etc.), KVS (Key-Value Store), etc. may be installed in the information processing device 10 .
  • DBMS DataBase Management System
  • NoSQL NoSQL
  • KVS Key-Value Store
  • the functions of the irregular document management device 2, the user device 3, and the information representation structure analysis device 100 are stored in the main storage device 12 of the information processing device 10, respectively, by the processor 11 of the information processing device 10, which constitutes each. It is realized by reading out and executing the stored program, or by the hardware (FPGA, ASIC, AI chip, etc.) of the information processing device 10 constituting each.
  • the irregular document management device 2, the user device 3, and the information representation structure analysis device 100 store the various types of information (data) described above, for example, as a database table or a file managed by a file system.
  • the illustrated atypical document 300 is a document submitted when an organization such as a company applies for a loan to a financial institution.
  • the atypical document 300 includes text and various structural information (tables, spaces, tabs, control characters such as HTML tags, information written outside the document, information invisible on the document, etc.) as information representation.
  • the illustrated non-fixed form document 300 has header 310, body 320, and footer 330 columns.
  • the header 310 describes the application date 301 .
  • the body 320 includes a company registration date 321 and a financial table 322 showing the financial status of the company.
  • a page number 331 is described in the footer 330 .
  • the company registration date 321 described in the body 320 includes texts "Registration” and "07/16/2007” as information expressions, and structural information that these are described on the same line. .
  • this information expression as a pattern and generating an information expression pattern (program code)
  • Fig. 4 shows an example of an information expression pattern.
  • the exemplified information expression pattern 400 uses a function "same_line_word” 420 that takes a date 410 included in a document as an input and obtains words that exist on the same line as the date 410.
  • the result of the function "same_line_word” 420 is the word “Registration” It implements a function to determine whether or not is included.
  • the illustrated information expression pattern 400 returns "TRUE” if the word “Registration” is included in the execution result of the function "same_line_word” 420, and returns "FALSE” if the word is not included.
  • FIG. 5 is an example of an information representation template used to generate the information representation pattern 400 illustrated in FIG.
  • the illustrated information representation template 500 includes columns for type “Type” 510 , description “Description” 520 , and template code “Template Code” 530 .
  • Type 510 elements of the information expression grammar of the information expression targeted by the information expression template 500 (in this example, C (information extraction target), [Position], [Word]; hereinafter referred to as "grammatical expression element”) and a symbol string written in square brackets (“C[P][W]” in this example) are described. [Position] and [Word] written in square brackets are to be replaced when the information expression template is converted into the information expression pattern.
  • Description "Description” 520 describes information describing the logic of the information expression template in natural language.
  • the description “Description” 520 describes information indicating that “C (information extraction target) is in a predetermined positional relationship (Position) with a word or word group”.
  • a program code model representing the logic of information expression is described.
  • an information expression pattern is generated. For example, if the information expression is the company registration date 321 of the non-standard document 300 illustrated in FIG. 4 is generated by replacing C with "same_line” and replacing C with "date”.
  • function(Position) is a function that returns a function that acquires a word group based on the argument "Position”. In the case of FIG. 4, function(Position) returns the function "same_line_word” 420 shown in FIG. 4 by replacing the argument "Position” with "in same_line” which means the same line.
  • the illustrated information representation template table 113 is composed of a plurality of entries (records) having items of row number 1131, grammatical representation element 1132, information representation grammar 1133, and support information type 1134 respectively.
  • One entry in the information representation template table 113 corresponds to one information representation grammar.
  • the line number 1131 stores an identifier (line number) assigned to each entry in the information representation template table 113.
  • the grammatical expression element 1132 stores the aforementioned grammatical expression element of the information expression grammar.
  • the information expression grammar 1133 stores the contents of the information expression grammar expressed by a predetermined notation method (for example, a notation method conforming to the notation method of natural language grammar).
  • the support information type 1134 is set with a support information type that is a classification based on the structure of the information expression of the support information that is information used when extracting an extraction target from the information expression.
  • the support information type classifies information expression templates used for generating information expression patterns in more detail, in addition to distinction based on information expression grammar.
  • “regular expression”, “dictionary match”, “meta information (page number, etc.)”, “HTML structure”, “set”, and “structure” are exemplified as support information types.
  • the figure shows examples of nine information expression grammars distinguished by line numbers #1 to #9.
  • the information expression grammar 1133 “Cis the [Same] as [Words].” with the line number “#1” is “C (information extraction target) is predetermined information (word) or information group (word group) [Same] has the same meaning as [Words].”
  • the grammatical expression element 1132 of the line stores "C[S][W]” indicating the grammatical expression element of the information expression grammar.
  • identifiers of information expression templates "Template1" to “Template4" are stored in “regular expression”, “dictionary match”, “meta information”, and “HTML structure”, respectively.
  • the information expression template "Template2" stored in the support information type "dictionary match” contains a program code that determines whether or not C (information extraction target) matches a word contained in the dictionary set by the user. template is described. For example, in the case of the non-fixed form document 300 in FIG. 1, the program code determines whether the company name "AAA Company" matches the words included in the company name list in the dictionary. .
  • C information extraction target
  • C information extraction target
  • C is not expressed as a character string on the document, for example, the total number of pages or creation of electronic documents
  • a program code template is described for determining whether or not a character string contained in the author, date of creation, etc. matches. For example, in the case of the non-fixed form document 300 in FIG. 1, if C (information extraction target) is the date "07/16/2007" that exists on the last page of a plurality of pages, the above program code It is determined whether or not the number and the number of pages on which the date "07/16/2007" exists match.
  • the information expression grammar 1133 ⁇ C is the [Position] of [Ranges].'' with the line number ⁇ #2'' is ⁇ The position [Position] of C (information extraction target) belongs to a region or region group [Ranges]. ” is the content.
  • the grammatical expression element 1132 of the line stores "C[P][R]" indicating the grammatical expression element of the information expression grammar.
  • HTML structure "HTML structure”, “set”, and “structure” of the support information type 1134 of the row store the identifiers "Template5" to "Template7" of the information expression templates, respectively.
  • C information extraction target
  • HTML HyperText Markup Language
  • a program code template is described for determining whether or not a group of regions [Ranges] exists in a specific positional relationship [Position]. For example, if the non-fixed form document 300 in FIG. 1 is a document written in HTML, the above program code is such that C (information extraction target) having the date "07/16/2007" existing below the header 310 is It is determined whether or not it exists after the end position of the HTML ⁇ header> tag.
  • the information expression template "Template6" stored in the support information type "set” contains a program that determines whether C (information extraction target) exists in a specific positional relationship [Position] with the area group [Ranges]. Code templates are described. For example, if C (information extraction target) is the date "07/16/2007" near the center of the body 320 of the non-standard document 300 in FIG. It is determined whether or not it exists between 20% of the upper area and 20% of the lower area.
  • the information expression grammar 1133 ⁇ Cis the [Position] of [Words].'' with the line number ⁇ #3'' indicates that ⁇ the position [Position] of C (information extraction target) is predetermined information (word) or information group ( word group) has a predetermined positional relationship with [Words].".
  • the grammatical expression element 1132 of the line stores "C[P][W]” indicating the grammatical expression element of the information expression grammar.
  • Identifiers "Template8" to "Template10" of information expression templates are stored in "HTML structure", “set”, and “structure” of the support information type 1134 of the row, respectively. These information expression templates are obtained by replacing the region group [Ranges] with the word group [Words] in the information expression templates "Template5" to "Template7” with the line number "#2".
  • the information expression grammar 1133 “Cis the [Relation] of [Words]” with the line number “#4” is “C (information extraction target) is given information (word) or information group (word group) [Words] and has a predetermined relationship [Relation].”
  • the grammatical expression element 1132 of the line stores "C[R][W]” indicating the grammatical expression element of the information expression grammar.
  • the information expression template determines whether or not C (information extraction target) has a specific relationship [Relation] with a group of words [Words].
  • the relation [Relation] refers to a relation specified by a comparison operation such as "equal”, "greater than”, “less than”, “maximum”, and "minimum”.
  • the information expression grammar 1133 ⁇ Cis the [Position] of [Words (C)].'' with the line number ⁇ #5'' indicates that ⁇ the position [Position] of the first C (information extraction target) is the second C It has a predetermined positional relationship with the information (word) or information group (word group) [Words] that is (information extraction target).".
  • the grammatical expression element 1132 of the line stores "C[P][C]" indicating the grammatical expression element of the information expression grammar.
  • Identifiers "Template12" to “Template14” of information expression templates are stored in "HTML structure”, “set”, and “structure” of the support information type 1134 of the row, respectively.
  • the first C information extraction target
  • HTML embedded control characters
  • a model (template) of the program code for determining whether or not it exists in a specific positional relationship [Position] with the target second C (information extraction target) is described. For example, if the non-fixed form document 300 in FIG. 1 is written in HTML and the first C (information extraction target) is "2007” and the second C (information extraction target) is "$100,000", In order to extract the sales information for each fiscal year, the above program code determines whether the first and second Cs (information extraction target) are adjacent to each other with HTML ⁇ td> tags.
  • the word group [Words] where the first C (information extraction target) includes the second C (information extraction target) and the specific position It describes a program code template that determines whether or not the relation [Position] exists. For example, when extracting information from the non-standard document 300 in FIG. 1 to calculate the average value of Net Profit, for example, the first C (information extraction target) is "Net Profit” and the second C ( information extraction target) is either "$10,000", "$30,000", or "$30,000", the above program code determines whether the first and second C (information extraction target) exist in the same column do.
  • the information expression grammar 1133 ⁇ C & C is the [Position] of [Ranges].'' with the line number ⁇ #6'' is ⁇ the first C (information extraction target) and the second C (information extraction target) All positions [Position] belong to a predetermined region or region group [Ranges].”.
  • the grammatical expression element 1132 of the line stores "CC[R][W]" indicating the grammatical expression element of the information expression grammar.
  • Identifiers "Template15” to “Template17” of information expression templates are stored in "HTML structure”, “set”, and “structure” of the support information type 1134 of the row, respectively.
  • the first C (information extraction target) and the first 2 describes a program code template for determining whether or not C (information extraction target) of 2 exists in one of the area groups [Ranges] and a specific positional relationship [Position]. For example, if the non-fixed form document 300 in FIG. For example, the code determines whether the first and second Cs (information extraction targets) are included in the same HTML ⁇ tr> tag in order to extract the sales for each year.
  • the first C (information extraction target) and the second C (information extraction target) have a specific positional relationship with the area group [Ranges].
  • a program code template that determines whether or not it is in [Position] is described. For example, if the first C (information extraction target) is "2007” and the second C (information extraction target) is "$100,000" in the non-fixed form document 300 of FIG. and the second C (information extraction target) are both included in the area in which the column name of the non-standard document 300 is described and the area in the first column to which the serial number is assigned.
  • the first C (information extraction target) and the second C (information extraction target) are specified as one of the range group [Ranges].
  • a program code template for determining whether or not there is a positional relationship [Position] is described. For example, if the first C (information extraction target) is "2007” and the second C (information extraction target) is "$100,000" in the non-fixed form document 300 of FIG. and the second C (information extraction target) both exist below the area in which the column names of the non-standard document 300 are described.
  • the information expression grammar 1133 ⁇ C & C is the [Position] of [Words].'' with the line number ⁇ #7'' is ⁇ the first C (information extraction target) and the second C (information extraction target) Each position [Position] has a specific positional relationship with predetermined information (word) or information group (word group) [Words].".
  • the grammatical expression element 1132 of the line stores "CC[P][W]" indicating the grammatical expression element of the information expression grammar.
  • Identifiers "Template18” to “Template20” of information expression templates are stored in "HTML structure”, “set”, and “structure” of the support information type 1134 of the row, respectively.
  • These information expression templates “Template18” to “Template20” are obtained by replacing the region group [Ranges] in the information expression templates “Template15” to “Template17” with the line number “#6” with the word group [Words]. is.
  • the first C (information extraction target) and the second C (information extraction target) are 1 of the word group [Words]. It describes a template of program code that determines whether or not it exists in a specific positional relationship [Position]. For example, if the non-fixed form document 300 in FIG. The code determines whether the first and second Cs (information extraction targets) are both in the same column as the serial number "1".
  • the information expression grammar 1133 “Cis the [Relation] of C.” with the line number “#8” is “the first C (information extraction target) and the second C (information extraction target) are in a predetermined relationship [ Relation].”
  • the grammatical expression element 1132 of the line stores "C[R]C” indicating the grammatical expression element of the information expression grammar.
  • the relation [Relation] refers to a relation specified by a comparison operation such as "equal”, "greater than”, “less than”, “maximum”, and "minimum”.
  • “Set” of the support information type 1134 of the row stores the identifier "Template21” of the information expression template.
  • This information expression template "Template21” contains a program code template ( template) is described. For example, when extracting a combination of Sales and Net Profit from the non-standard document 300 in FIG. If C (information extraction target) in 2 is set to "$100,000", the above program code, for example, determines a large C (information extraction target) as sales and a small C (information extraction target) as profit. .
  • the information expression grammar 1133 ⁇ C & C is the [Relation] of [Words]. It has predetermined information (words) or information groups (words) [Words] and a predetermined relationship [Relation].".
  • the grammatical expression element 1132 of the line stores "CC[R][W]” indicating the grammatical expression element of the information expression grammar.
  • the relation [Relation] refers to a relation specified by a comparison operation such as "equal”, "greater than”, “less than”, “maximum”, and "minimum".
  • “Set” of the support information type 1134 of the row stores the identifier "Template22" of the information expression template.
  • “Template22” whether or not the first C (information extraction target) and the second C (information extraction target) have a specific word group [Words] and a specific relationship [Relation].
  • a model (template) of the program code to be judged is described. For example, when extracting a combination of sales (Sales) and profit (Net Profit) from the non-standard document 300 in FIG.
  • C (information extraction target) in 2 is set to "$100,000"
  • the above program code compares the number of digits with the number of digits of the serial number and the numerical value of the year in order to separate it from the serial number and the numerical value of the year, and the second C (information extraction target) are both large.
  • FIG. 7 shows a process in which the information representation structure analysis unit 120 analyzes the information representation contained in the non-fixed form document, and the information representation pattern generation unit 130 uses the result to generate an information representation pattern (hereinafter referred to as "information representation pattern generation processing S700”).
  • the information expression pattern generation processing S700 will be described below with reference to FIG.
  • the information representation structure analysis unit 120 acquires information representation from the non-fixed form document and registers it in the information representation group 111 (S701). For example, if the non-standard document is the non-standard document 300 illustrated in FIG. area) as an information representation. Information representations included in a range specified by the user via the user device 3, for example, may be obtained.
  • the text information extraction unit 121 extracts the text related to the extraction target from the information expression acquired in S701 (S702). For example, when the information representation is the company registration date 321 acquired from the non-standard document 300 illustrated in FIG. Extract "07/16/2007" as text.
  • the structural information extraction unit 122 extracts structural information related to the text extracted in S702 from the information expression acquired in S701 (S703).
  • the information expression is the company registration date 321 obtained from the non-standard document 300 illustrated in FIG. 07/16/2007”
  • the coordinates of the region surrounding each character string are extracted as structural information.
  • the above coordinates are represented, for example, by a set of upper left coordinates (xs, ys) and lower right coordinates (xe, ye) of the area surrounding the character string.
  • the information representation grammar specifying unit 123 specifies the information representation grammar 1133 corresponding to the extracted text and structural information from the information representation template table 113 (S704).
  • the details of this process hereinafter referred to as "information expression grammar specifying process S704") will be described later.
  • the support information type identification unit 124 identifies the support information type corresponding to the extracted text and structure information from the support information type 1134 of the information representation template table 113 (S705).
  • the details of this process (hereinafter referred to as "support information type identification process S705") will be described later.
  • the information expression template search unit 131 of the information expression pattern generation unit 130 extracts from the information expression template table 113 an information expression template corresponding to the combination of the information expression grammar identified in S703 and the support information type identified in S704. (S706).
  • the information representation component replacement unit 132 of the information representation pattern generation unit 130 generates an information representation pattern by replacing the notation with square brackets in the information representation template acquired in S706 with the extraction target and ground information (S707 ).
  • FIG. 8 is a flowchart explaining the details of the information expression grammar identification process S704 shown in FIG.
  • the information representation grammar identification process S704 will be described below with reference to FIG. In the following, it is determined which information expression grammar 1133 in the information expression template table 113 shown in FIG. 6 corresponds to the information expression acquired in S701 of FIG. A case of specifying will be described as an example.
  • the information expression grammar identification unit 123 first collects information to be extracted from the information expression (one or more Cs (information extraction target)) and information to be used for determining whether or not it is an extraction target (hereinafter referred to as “foundation information”). ) is acquired (S801). Note that the basis information does not necessarily have to be acquired. These pieces of information are received from the user via the user device 3, for example. For example, C (information extraction target) is displayed on the display device, and the user clicks and designates the target word by operating the mouse. Further, the ground information is similarly displayed on the display device, and the user clicks the target word or designates the range of the target area by operating the mouse. If the basis information is invisible, for example, only C (information extraction target) is clicked with a mouse.
  • the information expression grammar identification unit 123 determines whether the number of Cs (information extraction targets) acquired in S801 is one or more (S802). If there is one C (information extraction target) (S802: YES), the process proceeds to S803, and if there are multiple Cs (information extraction targets), the process proceeds to S820.
  • the information expression grammar identification unit 123 determines the presence or absence of basis information. If the basis information has not been acquired in S801 (S803: NO), the process proceeds to S804, and if the basis information has been acquired in S801 (S803: YES), the process proceeds to S805.
  • the information expression grammar identification unit 123 determines that the basis information is invisible information on the document (regular expression, dictionary match, meta information, control characters such as HTML tags, etc.), and that the information expression is an information expression template It is determined that it corresponds to the information expression grammar of row number “#1” in Table 113 . After that, the information representation grammar identification process S704 ends.
  • the information expression grammar identification unit 123 determines whether or not the basis information is range specification (S805). If the basis information is range specification (S805: YES), the process proceeds to S806, and the information expression grammar specifying unit 123 determines that the information expression corresponds to the information expression grammar of line number "#2" of the information expression template table 113. judge. After that, the information representation grammar identification process S704 ends. If the basis information does not designate a range (S805: NO), the process proceeds to S807.
  • the information expression grammar identification unit 123 determines whether or not the basis information is information (words) or an information group (word group) whose size cannot be compared with C (information extraction target) in the information expression. do. If the basis information is information (words) or information groups (word groups) whose size cannot be compared (S807: NO), the process proceeds to S808, and the information expression grammar specifying unit 123 determines that the information expression is the information expression template table. 113 line number "#3". After that, the information representation grammar identification process S704 ends.
  • the process proceeds to S809, and the information expression grammar specifying unit 123 determines that the information expression is information expression It is determined that it corresponds to the information expression grammar of line number “#4” of the template table 113 . After that, the information representation grammar identification process S704 ends.
  • the information expression grammar identification unit 123 determines the presence or absence of basis information. If the basis information has not been acquired (S820: NO), the process proceeds to S821, and if the basis information has been acquired (S820: YES), the process proceeds to S830.
  • the information expression grammar identification unit 123 determines whether C (information extraction target) is a numerical value or the like and can be compared in magnitude. If C (information extraction target) is a numerical value or the like and the magnitude relationship can be compared (S821: YES), the process proceeds to S822, and the information expression grammar specifying unit 123 identifies the information expression template table 113 with the line number "#8". It is determined that it corresponds to the information expression grammar. After that, the information representation grammar identification process S704 ends.
  • the process proceeds to S823, and the information expression grammar specifying unit 123 determines that the information expression corresponds to the information expression grammar of line number "#5" of the information expression template table 113. do. After that, the information representation grammar identification process S704 ends.
  • the information expression grammar identification unit 123 determines whether or not the basis information is range specification. If the basis information is range specification (S830: YES), the process proceeds to S831, and the information expression grammar specifying unit 123 determines that the information expression corresponds to the information expression grammar of line number "#6" of the information expression template table 113. judge. After that, the information representation grammar identification process S704 ends. On the other hand, if the basis information does not specify a range (S830: NO), the process proceeds to S833.
  • the information expression grammar identification unit 123 determines whether C (information extraction target) is a numerical value or the like and can be compared in magnitude. If C (information extraction target) is a numerical value or the like and the magnitude relationship can be compared (S833: YES), the process proceeds to S834, and the information expression grammar specifying unit 123 determines that the information expression is the line number "#9" of the information expression template table 113. It is determined that it corresponds to the information expression grammar. After that, the information representation grammar identification process S704 ends.
  • FIG. 9 is a flow chart explaining the details of the support information type identification process S705 shown in FIG.
  • the support information type identification processing S705 will be described below with reference to FIG. In the following description, it is determined to which support information type 1134 in the information representation template table 113 shown in FIG. 6 the information representation acquired in S701 of FIG. A case of specifying will be described as an example.
  • the support information type identification unit 124 acquires the information expression grammar identified in the information expression grammar identification process S704 (S901).
  • the support information type identification unit 124 determines whether the acquired information expression grammar is the information expression grammar of line number "#1" (S902). If the acquired information expression grammar is the information expression grammar of line number "#1" (S902: YES), the process proceeds to S903, and if it is not the information expression grammar of line number "#1" (S902: NO), the process proceeds to S910.
  • the support information type identification unit 124 determines whether the support information type of the information expression is "regular expression". Specifically, the support information type identifying unit 124 reads the regular expression dictionary of the various dictionaries 115 and determines whether or not C (information extraction target) matches the regular expression, thereby performing the above determination. If the support information type identification unit 124 determines that the support information type of the information expression is "regular expression" (S903: YES), the support information type identification process S705 ends. On the other hand, when the support information type identification unit 124 determines that the support information type of the information expression is not "regular expression" (S903: NO), the process proceeds to S904.
  • the support information type identification unit 124 determines whether or not the support information type of the information expression corresponds to "dictionary match". Specifically, the support information type identifying unit 124 reads the word dictionary of the various dictionaries 115 and determines whether or not it matches C (information extraction target), thereby performing the above determination. As a result of the determination, if the support information type of the information expression is determined to be "dictionary match" (S904: YES), the support information type identification process S705 ends. On the other hand, if the support information type specifying unit 124 determines that the support information type of the information expression is not "dictionary match" (S904: NO), the process proceeds to S905.
  • the support information type of the information expression matches both "regular expression” and "dictionary match". The selection may be made, or the process may be ended without narrowing down the candidates to "regular expression” or "dictionary match".
  • the support information type identification unit 124 extracts the meta information from the non-fixed form document and presents it to the user so that the user can select whether or not the basis information exists. If the user determines that ground information exists in the presented meta information (S905: YES), the support information type identification unit 124 sets the support information type of the information representation to "meta information" (page number, etc.). Then, the support information type identification processing S705 ends. On the other hand, if the user determines that there is no basis information in the presented meta information (S905: NO), the process proceeds to S907.
  • the support information type identification unit 124 determines whether or not the non-fixed form document describing the information expression is written in HTML. If the non-fixed form document is written in HTML (S907: YES), the support information type identification unit 124 determines that the support information type of the information expression is "HTML structure", and the support information type identification process S705 ends. . On the other hand, if the atypical document is not described in HTML (S907: NO), the support information type identification unit 124 determines that there is no support information type corresponding to the information expression (not applicable), and identifies the support information type. Processing S705 ends. Note that if it is determined that there is no applicable, the support information type identification unit 124 prompts the user to input a regular expression or dictionary information, and determines that the support information type of the information expression is "regular expression" or "dictionary match". may
  • the support information type identification unit 124 determines whether the information expression grammar acquired in S901 matches any of the information expression grammars with line numbers "#4", "#8", and "#9". judge. If it matches with any information expression grammar (S910: YES), the support information type identification unit 124 determines that the support information type of the information expression is "set", and the support information type identification processing S705 ends. If none of the information expression grammars match (S910: NO), the process proceeds to S911.
  • the support information type identification unit 124 determines whether C (information extraction target) and basis information are numerical values or dates, and whether or not the magnitude relationship can be compared. If the magnitude relationship can be compared (S911: YES), the support information type identification unit 124 determines that the support information type of the information expression is "set", and the support information type identification processing S705 ends. If the magnitude relationship cannot be compared (S911: NO), the process proceeds to S912.
  • the support information type identification unit 124 determines whether or not the non-fixed form document describing the information expression is written in HTML. If the non-fixed form document is written in HTML (S912: YES), the support information type identification unit 124 determines that the support information of the information expression is "HTML structure", and the support information type identification process S705 ends. If the atypical document is not written in HTML (S912: NO), the support information type identifying unit 124 determines that the support information is "structure".
  • the structure of the information representation contained in the non-standard document is analyzed, and the information representation pattern used for extracting information from the non-standard document is calculated. can be generated. Then, the non-standard document management device 2 can efficiently extract the information that the user wants to acquire from various non-standard documents with different formats using the generated information expression pattern.
  • FIG. 10 shows a schematic configuration of the document information management system 1 shown as the second embodiment.
  • the information representation structure analysis apparatus 100 in the document information management system 1 of the second embodiment further includes an information representation grammar specification support processing unit 140 in addition to the functions provided by the information representation structure analysis apparatus 100 of the first embodiment.
  • the information expression grammar identification support processing unit 140 provides information necessary for the information expression structure analysis unit 120 to identify the information expression grammar (C (information extraction target), basis information, etc., hereinafter referred to as "specification support information”. ).
  • the information expression grammar identification support processing unit 140 presents the user with a screen (hereinafter referred to as a "specification support information acquisition screen 1200") for accepting the above information via the user device 3, and provides the identification support information.
  • the above information is acquired from the user via the acquisition screen 1200 .
  • the specific support information acquisition screen 1200 by presenting the specific support information acquisition screen 1200 and guiding the user to input necessary information, for example, even if the user does not have sufficient knowledge or experience in generating an information expression pattern, , the specific support information can be obtained efficiently.
  • FIG. 11 shows the processing performed by the information expression grammar identification support processing unit 140 to present the identification support information acquisition screen 1200 to the user and obtain the identification support information (hereinafter referred to as “specification support information acquisition processing S1100”). ) is a flowchart for explaining. The specific support information acquisition processing S1100 will be described below with reference to FIG.
  • the information expression grammar identification support processing unit 140 presents to the user the identification support information acquisition screen 1200 displaying the non-fixed form document, and receives the designation of the first C (information extraction target) from the user (S1101).
  • FIG. 12 shows an example of a specific support information acquisition screen 1200 presented to the user at this time.
  • the user has specified the date "07/16/2007" 1211 as the first C (information extraction target), so the area is highlighted with a solid line frame.
  • the information expression grammar identification support processing unit 140 accepts from the user the ground information used to extract the first C (information extraction target) or the specification of the second C (information extraction target). (S1102).
  • FIG. 13 shows an example of a specific support information acquisition screen 1200 presented to the user at this time.
  • the user has specified the word "Registration" 1212 as the basis information, so the region is highlighted with a dotted line frame.
  • the information expression grammar identification support processing unit 140 subsequently determines whether or not the specification of the second C (information extraction target) has been received from the user in S1102 (S1103). If the designation of the second C (information extraction target) has been accepted (S1103: YES), the process proceeds to S1104; otherwise (S1103: NO), the process proceeds to S1121.
  • the information expression grammar identification support processing unit 140 receives from the user a selection of one of the types of support information from among "HTML structure”, “set”, and “structure” via the identification support information acquisition screen 1200. .
  • FIG. 14 shows an example of a specific support information acquisition screen 1200 presented to the user at this time.
  • a selection field 1213 is displayed on the left side of the specific support information acquisition screen 1200 to receive selection of one of "HTML structure", “set”, and "structure”.
  • the information expression pattern generated when each support information type is selected may be presented to the user.
  • the identification support information acquisition processing S1100 ends, and the information expression grammar identification support processing unit 140 identifies the information expression grammar from the information expression template table 113 using the received support information type.
  • the information expression grammar identification support processing unit 140 selects one of "regular expression”, “dictionary match”, “meta information”, and "HTML structure” via the identification support information acquisition screen 1200. Accepts selection of one of the support information types from the user.
  • FIG. 15 shows an example of a specific support information acquisition screen 1200 presented to the user at this time.
  • a selection field 1214 is displayed on the left side of the identification support information acquisition screen 1200 to receive selection of one of "regular expression", “dictionary match”, “meta information”, and "HTML structure".
  • the information expression pattern generated when each support information type is selected may be presented to the user.
  • the information expression grammar identification support processing unit 140 subsequently determines whether or not the user has selected "regular expression” or "dictionary match” on the identification support information acquisition screen 1200 of FIG. (S1122). If the user selects "regular expression” or "dictionary match” (S1122: YES), the process proceeds to S1123; otherwise (S1122: NO), the process proceeds to S1124.
  • the information expression grammar identification support processing unit 140 receives input of a regular expression or dictionary from the user via the identification support information acquisition screen 1200.
  • FIG. 16 shows an example of a specific support information acquisition screen 1200 presented to the user at this time.
  • an input field 1215 for accepting input of regular expressions or dictionaries is displayed on the left side of the specific support information acquisition screen 1200 .
  • the identification support information acquisition processing S1100 ends, and the information expression grammar identification support processing unit 140 identifies the information expression grammar from the information expression template table 113 using the contents of the received regular expression or dictionary.
  • the information expression grammar identification support processing unit 140 determines whether or not the user has selected "meta information" on the identification support information acquisition screen 1200 of FIG. If the user has selected "meta information" (S1124: YES), the process proceeds to S1125; otherwise (S1124: NO), the process proceeds to S1126.
  • the information expression grammar identification support processing unit 140 receives a designation of meta information from the user via the identification support information acquisition screen 1200.
  • FIG. 17 shows an example of a specific support information acquisition screen 1200 presented to the user at this time.
  • a selection field 1216 for receiving selection of meta information is displayed on the left side of the specific support information acquisition screen 1200 .
  • the identification support information acquisition processing S1100 ends, and the information expression grammar identification support processing unit 140 identifies the information expression grammar from the information expression template table 113 using the received meta information.
  • the information expression grammar identification support processing unit 140 accepts the HTML tag designation from the user via the identification support information acquisition screen 1200.
  • FIG. 18 shows an example of a specific support information acquisition screen 1200 presented to the user at this time.
  • a selection field 1217 for receiving selection of HTML tags is displayed on the left side of the specific support information acquisition screen 1200 .
  • the identification support information acquisition processing S1100 ends, and the information expression grammar identification support processing unit 140 identifies the information expression grammar from the information expression template table 113 using the received HTML tags.
  • the identification support information can be efficiently acquired from the user, and the information expression grammar and the support information type can be specified using the identification support information.
  • a more appropriate information representation template can be acquired and an information representation pattern can be efficiently generated.
  • FIG. 19 shows a schematic configuration of the document information management system 1 of the third embodiment.
  • the information representation structure analysis apparatus 100 of the document information management system 1 of the third embodiment further includes an information representation pattern verification section 150 in addition to the functions provided by the information representation structure analysis apparatus 100 of the first embodiment.
  • the information expression pattern verification unit 150 applies the information expression pattern generated by the information expression pattern generation unit 130 to the non-fixed form document, and presents the result to the user via the user device 3 .
  • the user can verify whether the information expression pattern generated by the information expression pattern generation unit 130 can correctly extract the desired information from the non-standard document. Also, for example, when there is a plurality of target information, the user can verify whether or not each information can be extracted correctly. If it is found that the target information cannot be extracted, the user resets, for example, C (information extraction target) and basis information, and regenerates the information expression pattern.
  • C information extraction target
  • FIG. 20 shows a process performed by the information representation pattern verification unit 150 when verifying whether or not the information representation pattern generated by the information representation pattern generation unit 130 can correctly extract the extracted information from the non-standard document (hereinafter referred to as , "information expression pattern verification processing S2000").
  • the information representation pattern verification processing S2000 will be described below with reference to FIG.
  • the information representation pattern verification unit 150 acquires the information representation pattern generated by the information representation pattern generation unit 130 from the information representation pattern group 114 (S2001).
  • the information expression pattern verification unit 150 extracts all texts that can be C (information extraction target) from a predetermined non-standard document (S2002).
  • the information representation pattern verification unit 150 inputs the text extracted in S2002 to the information representation pattern acquired in S2001, and confirms whether or not the execution result of the information representation pattern is "TRUE" (S2003). .
  • the information representation pattern verification unit 150 generates a screen (hereinafter referred to as an "information representation pattern verification result display screen 2100") that highlights the "TRUE" text together with the non-fixed form document, An information representation pattern verification result display screen 2100 is presented to the user via the user device 3 .
  • FIG. 21 shows an information representation pattern verification result display screen 2100 .
  • the non-fixed form document is displayed on the information expression pattern verification result display screen 2100, and the text 2111 that is "TRUE" is highlighted with a dashed frame.
  • the user can efficiently verify whether or not the information representation pattern functions correctly.
  • each of the above configurations, functional units, processing units, processing means, etc. may be implemented in hardware, for example, by designing a part or all of them using an integrated circuit.
  • each of the above configurations, functions, etc. may be realized by software by a processor interpreting and executing a program for realizing each function.
  • Information such as programs, tables, and files that implement each function can be stored in recording devices such as memories, hard disks, SSDs (Solid State Drives), and recording media such as IC cards, SD cards, and DVDs.
  • the configuration of the database (schema, etc.) that stores the various types of data described above can be flexibly changed from the viewpoint of efficient use of resources, improvement of processing efficiency, improvement of access efficiency, improvement of search efficiency, etc.
  • Document information management system 2 Atypical document management device 21 Atypical document management unit 22 Information extraction unit 23 Extracted information management unit 24 Extracted information providing unit 3 User device 31 Various settings unit 32 Extracted information usage Unit, 100 Information representation structure analysis device, 110 Storage unit, 101 Extraction target information, 102 Base information group, 111 Information representation group, 112 Information representation template group, 113 Information representation template table, 114 Information representation pattern group, 115 Various dictionaries, 120 information expression structure analysis unit 121 text information extraction unit 122 structure information extraction unit 123 information expression grammar identification unit 124 support information type identification unit 130 information expression pattern generation unit 131 information expression template search unit 132 information expression Component replacement unit 140 Information expression grammar identification support processing unit 150 Information expression pattern verification unit S700 Information expression pattern generation processing S704 Information expression grammar identification processing S705 Support information type identification processing S1100 Identification support information acquisition processing 1200 Identification support information acquisition screen, S2000 Information representation pattern verification process, 2100 Information representation pattern verification result display screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

非定型書類から目的とする情報を効率よく抽出する。情報表現構造解析装置は、情報表現文法と抽出対象の抽出に際して用いる情報であるサポート情報の分類であるサポート情報種別との組合せ毎に、抽出対象を抽出する機能を実現するためのプログラムコードである情報表現パターンの生成に用いるテンプレートである情報表現テンプレートを記憶し、情報表現について特定された、情報表現文法とサポート情報種別とに基づき、非定型書類からの抽出対象の抽出に用いる情報表現パターンの生成に用いる情報表現テンプレートを特定し、特定した情報表現テンプレートに抽出対象および情報表現から抽出対象を抽出する際の根拠となる情報である根拠情報を適用することにより情報表現パターンを生成する。

Description

情報表現構造解析装置、および情報表現構造解析方法
 本発明は、情報表現構造解析装置、および情報表現構造解析方法に関する。
 本出願は、2021年4月8日に出願された日本特許出願特願2021-065806号に基づく優先権を主張し、その開示全体を援用して本出願に取り込むものである。
 特許文献1には、印刷された資料や活字の資料をイメージスキャナ(Image Scanner)により読み込んだ画像から、光学式文字認識(OCR:optical character recognition)技術によりテキストを抽出する際の文書の正確かつ効率的な認識を可能にすることを目的として構成されたシステムについて記載されている。上記システムは、文書の視覚構造を統計解析アルゴリズムの2次元の適応(adaptation)を利用して文法的に解析することにより文書のレイアウト構造(段組、著者、タイトル、脚注等)を認識し、文書の構造コンポーネントを解釈する。
特表2009-500755号公報
 特許文献1に記載のシステムは、文書の視覚構造を文法的に解析することにより文書のレイアウト構造を認識し、文書の構造コンポーネントを解釈する。しかし、同文献に記載のシステムは、テキストおよびテキスト間の2次元的な配置以外の情報、例えば、文書に含まれている、表、スペース、タブ、HTMLタグ(HTML:HyperText Markup Language)等の制御文字、ヘッダやフッタ等の文書外に記載されている情報、文書上で不可視の情報(文書の表面には現れない情報)等の文書の構造を解釈する上で有用な手がかりとなる情報を利用していない。そのため、非定型の書類から目的とする情報を必ずしも効率よく抽出することができない。
 本発明は、こうした背景に鑑みてなされたもので、非定型書類から目的とする情報を効率よく抽出することを可能にする情報表現構造解析装置、および情報表現構造解析方法を提供することを目的とする。
 上記課題を解決するために、情報表現構造解析装置であって、情報処理装置を用いて構成され、非定型書類における情報の表現の態様である前記情報表現、前記情報表現から抽出しようとする情報である抽出対象、および、前記情報表現から前記抽出対象を抽出する際の根拠となる情報である根拠情報、を記憶する記憶部と、前記抽出対象および前記根拠情報に基づき、前記抽出対象の抽出元となる前記情報表現を記述している文法である情報表現文法を特定する情報表現文法特定部と、前記情報表現からの前記抽出対象の抽出に際して用いる情報であるサポート情報の、前記情報表現の構造に基づく分類であるサポート情報種別を特定するサポート情報種別特定部と、を備え、前記記憶部は、前記情報表現文法と前記サポート情報種別との組合せ毎に、前記抽出対象を抽出する機能を実現するためのプログラムコードである情報表現パターンの生成に用いるテンプレートである情報表現テンプレートを記憶し、前記情報表現について特定された、前記情報表現文法と前記サポート情報種別とに基づき、前記非定型書類からの前記抽出対象の抽出に用いる前記情報表現パターンの生成に用いる前記情報表現テンプレートを特定する情報表現テンプレート検索部と、特定した前記情報表現テンプレートに前記抽出対象および前記根拠情報を適用することにより前記情報表現パターンを生成する情報表現パターン生成部と、を備える。
 その他、本願が開示する課題、およびその解決方法は、発明を実施するための形態の欄、および図面により明らかにされる。
 本発明によれば、非定型書類から目的とする情報を効率よく抽出することが可能になる。
文書情報管理システムの概略的な構成を示す図である。 文書情報管理システムを構成する情報処理装置の一例である。 非定型書類の一例である。 情報表現パターンの一例である。 情報表現テンプレートの一例である。 情報表現テンプレート表の一例である。 情報表現パターン生成処理を説明するフローチャートである。 情報表現文法特定処理を説明するフローチャートである。 サポート情報種別特定処理を説明するフローチャートである。 第2実施形態の文書情報管理システムの概略的な構成を示す図である。 特定支援情報取得処理を説明するフローチャートである。 特定支援情報取得画面の一例である。 特定支援情報取得画面の一例である。 特定支援情報取得画面の一例である。 特定支援情報取得画面の一例である。 特定支援情報取得画面の一例である。 特定支援情報取得画面の一例である。 特定支援情報取得画面の一例である。 第3実施形態の文書情報管理システムの概略的な構成を示す図である。 情報表現パターン検証処理を説明するフローチャートである。 情報表現パターン検証結果表示画面の一例である。
 以下、実施形態について図面を参照しつつ説明する。尚、以下の記載および図面は、本発明を説明するための例示に過ぎず、説明の明確化のため、適宜、省略もしくは簡略化がなされている。本発明は、他の種々の形態でも実施することが可能である。とくに限定しない限り、各構成要素は単数でも複数でも構わない。
 以下の説明において、同一のまたは類似する構成について同一の符号を付して重複した説明を省略することがある。また、以下の説明において、符号の前に付した「S」の文字は処理ステップを意味する。また、以下の説明では「情報」、「データ」、「表」等の表現にて各種情報を説明することがあるが、各種情報は例示した以外のデータ構造により取り扱ってもよい。
[第1実施形態]
 図1に第1実施形態として説明する情報処理システム(以下、「文書情報管理システム1」と称する。)の概略的な構成を示している。同図に示すように、文書情報管理システム1は、非定型書類管理装置2、ユーザ装置3、および情報表現構造解析装置100を含む。これらはいずれも情報処理装置(コンピュータ)を用いて構成されており、通信ネットワーク5を介して互いに双方向通信が可能な状態で接続されている。通信ネットワーク5は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、専用線、各種公衆通信網である。
 非定型書類管理装置2は、非定型の書類(帳票、明細書、決算書類、各種登録用紙等の発行元により書式が異なる書類(例えば、リッチテキスト形式(Rich Text Format))。以下、「非定型書類」と称する。)から、ユーザが抽出しようとする情報(以下、「抽出情報」と称する。)を抽出し、抽出情報をユーザ装置2を介してユーザに提供する。
 非定型書類は、単語や文章のテキストデータ(以下、「テキスト」と称する。)と、構造的な情報(表、スペース、タブ、文書外に記載されている情報、文書上で不可視の情報(正規表現、辞書マッチ、メタ情報、HTML(HyperText Markup Language)タグ等の制御文字))等。以下、「構造情報」と称する。)とを含む。以下、非定型書類に含まれている、非定型書類における情報の表現の態様(テキストや構造情報による情報の表現)のことを「情報表現」と総称する。情報表現は、例えば、ワープロソフト等のアプリケーションソフトウェアが取り扱う所定のデータ型式の文書データやWebページを記述しているデータや、光学式文字認識(OCR:optical character recognition)技術によって画像データ(イメージスキャナにより取得された画像データ)から抽出される。
 同図に示すように、非定型書類管理装置2は、非定型書類管理部21、情報抽出部22、抽出情報管理部23、および抽出情報提供部24の各機能を有する。
 このうち非定型書類管理部21は、ユーザ装置3を介して行われるユーザの入力や、通信ネットワーク5を介した他の情報処理装置からの提供等により、非定型書類を取得し、取得した非定型書類を管理する。
 情報抽出部22は、非定型書類から抽出情報を取得(抽出)する。尚、情報抽出部22は、非定型書類から抽出情報を取得する機能を実現するプログラムコード(もしくは疑似コード)(以下、「情報表現パターン」と称する。)を実行する(情報表現のパターンマッチングを行う)ことにより、非定型書類から抽出情報を取得する。この情報表現パターンは、情報表現構造解析装置100によって生成される。情報表現パターンは、ユーザ装置3を介してユーザが編集することもできる。
 抽出情報管理部23は、情報抽出部22によって取得された抽出情報を管理する。抽出情報提供部24は、抽出情報管理部23が管理する抽出情報をユーザ装置3に提供する。
 ユーザ装置3は、各種設定部31および抽出情報利用部32の各機能を有する。各種設定部31は、情報表現構造解析装置100が情報表現パターンの生成や編集を行うために必要となる各種の設定を行う。抽出情報利用部32は、ユーザが要求する抽出情報を非定型書類管理装置2に要求し、非定型書類管理装置2から送られてくる抽出情報を受信してユーザに提供する。
 情報表現構造解析装置100は、情報表現パターンを生成して非定型書類管理装置2に提供する。同図に示すように、情報表現構造解析装置100は、記憶部110、情報表現構造解析部120、および情報表現パターン生成部130の各機能を有する。
 同図に示すように、記憶部110は、抽出対象情報101、根拠情報群102、情報表現群111、情報表現テンプレート群112、情報表現テンプレート表113、情報表現パターン群114、および各種辞書115を記憶する。
 抽出対象情報101は、ユーザが非定型書類から抽出しようとする1つ以上の抽出対象を含む。抽出対象情報101は、例えば、ユーザ装置2を介してユーザが設定する。
 根拠情報群102は、情報表現から抽出対象を抽出する際の根拠となる1つ以上の根拠情報を含む。根拠情報群102は、例えば、ユーザ装置2を介してユーザが設定する。
 情報表現群111は、非定型書類から抽出された1つ以上の情報表現を含む。情報表現群111は、例えば、ユーザ装置2を介してユーザが設定する。例えば、多数の非定型書類からの抽出情報の抽出に用いる情報表現パターンを生成しようとする場合、ユーザは、それらの非定型書類から抽出した情報表現を情報表現群111として情報表現構造解析装置100に登録する。
 情報表現テンプレート群112は、情報表現パターンの雛型(テンプレート)である1つ以上のプログラムコード(以下、「情報表現テンプレート」と称する。)を含む。情報表現テンプレートの詳細については後述する。
 情報表現テンプレート表113は、情報表現パターンの生成に用いる情報表現テンプレートの選択に際し情報表現構造解析部120によって参照される。
 情報表現パターン群114は、情報表現パターン生成部130によって生成された1つ以上の情報表現パターンを含む。
 各種辞書115は、情報表現構造解析部120や情報表現パターン生成部130によって利用される各種の辞書(単語辞書、正規表現辞書等)を含む。
 情報表現構造解析部120は、情報表現群111の情報表現(テキスト、構造情報)に基づき、情報表現テンプレート表113からの情報表現テンプレートの検索に用いる情報(後述する、情報表現文法およびサポート情報種別)を特定する。
 同図に示すように、情報表現構造解析部120は、テキスト情報抽出部121、構造情報抽出部122、情報表現文法特定部123、およびサポート情報種別特定部124の各機能を有する。
 このうちテキスト情報抽出部121は、情報表現からテキストを抽出する。また、構造情報抽出部122は、情報表現から構造情報を抽出する。また、情報表現文法特定部123は、情報表現から抽出したテキストと構造情報に基づき、情報表現を記述する文法(以下、「情報表現文法」と称する。)を特定する。また、サポート情報種別特定部124は、情報表現から抽出したテキストと構造情報に基づき、情報表現に対応する後述のサポート情報種別を情報表現テンプレート表113から特定する。
 図1に示す情報表現パターン生成部130は、情報表現構造解析部120が特定した情報表現文法およびサポート情報種別に基づき、情報表現テンプレート表113から情報表現テンプレートを検索し、検索した情報表現テンプレートに、具体的な抽出対象(テキスト等)と根拠情報(構成情報等)を適用することにより情報表現パターンを生成する。
 同図に示すように、情報表現パターン生成部130は、情報表現テンプレート検索部131および情報表現構成要素置換部132の各機能を有する。
 このうち情報表現テンプレート検索部131は、情報表現構造解析部120が特定した情報表現文法およびサポート情報種別の組合せに対応する情報表現テンプレートを情報表現テンプレート表113から検索する。
 また、情報表現構成要素置換部132は、情報表現テンプレート検索部131が検索した情報表現テンプレートに、具体的な抽出対象(テキスト等)と根拠情報(構成情報等)を適用(代入)することにより情報表現テンプレートを生成する。
 図2に、文書情報管理システム1を構成する情報処理装置(非定型書類管理装置2、ユーザ装置3、および情報表現構造解析装置100)のハードウェア構成例を示す。例示する情報処理装置10は、プロセッサ11、主記憶装置12、補助記憶装置13、入力装置14、出力装置15、および通信装置16を備える。情報処理装置10は、例えば、パーソナルコンピュータ、オフィスコンピュータ、サーバ装置、スマートフォン、タブレット等である。
 情報処理装置10は、その全部または一部が、例えば、クラウドシステムによって提供される仮想サーバのように、仮想化技術やプロセス空間分離技術等を用いて提供される仮想的な情報処理資源を用いて実現されるものであってもよい。また、情報処理装置10によって提供される機能の全部または一部は、例えば、クラウドシステムがAPI(Application Programming Interface)等を介して提供するサービスによって実現してもよい。また、情報処理装置10によって提供される機能の全部または一部は、例えば、SaaS(Software as a Service)、PaaS(Platform as a Service)、IaaS(Infrastructure as a Service)等を利用して実現されるものであってもよい。
 尚、例えば、非定型書類管理装置2、ユーザ装置3、および情報表現構造解析装置100のうちの少なくとも2つ以上を、同じ情報処理装置10(共通のハードウェア)によって実現してもよい。
 同図に示すプロセッサ11は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、AI(Artificial Intelligence)チップ等を用いて構成されている。
 主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性メモリ(NVRAM(Non Volatile RAM))等である。
 補助記憶装置13は、例えば、SSD(Solid State Drive)、ハードディスクドライブ、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDカードや光学式記録媒体等の記録媒体の読取/書込装置、クラウドサーバの記憶領域等である。補助記憶装置13には、記録媒体の読取装置や通信装置16を介してプログラムやデータを読み込むことができる。補助記憶装置13に格納(記憶)されているプログラムやデータは主記憶装置12に随時読み込まれる。
 入力装置14は、外部からの入力を受け付けるインタフェースであり、例えば、キーボード、マウス、タッチパネル、カードリーダ、ペン入力方式のタブレット、音声入力装置等である。
 出力装置15は、処理経過や処理結果等の各種情報を出力するインタフェースである。出力装置15は、例えば、上記の各種情報を可視化する表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、上記の各種情報を音声化する装置(音声出力装置(スピーカ等))、上記の各種情報を文字化する装置(印字装置等)である。尚、例えば、情報処理装置10が通信装置16を介して他の装置との間で情報の入力や出力を行う構成としてもよい。
 入力装置14と出力装置15は、ユーザとの間での対話処理(情報の受け付け、情報の提示等)を実現するユーザインタフェースを構成する。
 通信装置16は、他の装置との間の通信を実現する装置である。通信装置16は、通信ネットワーク5を介して他の装置との間の通信を実現する、有線方式または無線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USBモジュール等である。
 情報処理装置10には、例えば、オペレーティングシステム、ファイルシステム、DBMS(DataBase Management System)(リレーショナルデータベース、NoSQL等)、KVS(Key-Value Store)等が導入されていてもよい。
 非定型書類管理装置2、ユーザ装置3、および情報表現構造解析装置100の機能は、夫々を構成する情報処理装置10のプロセッサ11が、夫々を構成する情報処理装置10の主記憶装置12に格納されているプログラムを読み出して実行することにより、もしくは、夫々を構成する情報処理装置10のハードウェア(FPGA、ASIC、AIチップ等)自体によって実現される。
 非定型書類管理装置2、ユーザ装置3、および情報表現構造解析装置100は、前述した各種の情報(データ)を、例えば、データベースのテーブルやファイルシステムが管理するファイルとして記憶する。
 図3に非定型書類の一例を示す。例示する非定型書類300は、企業等の組織が金融機関に融資を申し込む際に提出する書類である。非定型書類300は、情報表現として、テキストと様々な構造情報(表、スペース、タブ、HTMLタグ等の制御文字、文書外に記載の情報、文書上で不可視の情報等))を含む。
 同図に示すように、例示する非定型書類300は、ヘッダ310、ボディ320、およびフッタ330の各欄を有する。このうちヘッダ310には、申込日301が記載されている。ボディ320には、会社登録日321や会社の財務状況を示す財務表322が記載されている。フッタ330には、ページ番号331が記載されている。
 ここで例えば、ボディ320に記載されている会社登録日321は、情報表現として「Registration」および「07/16/2007」というテキストと、これらが同一行に記載されているという構造情報とを含む。例えば、この情報表現をパターンとして捉えて情報表現パターン(プログラムコード)を生成することで、多様な非定型書類から会社登録日をパターンマッチングにより自動的に取得することが可能になる。
 図4に、情報表現パターンの一例を示す。例示する情報表現パターン400は、書類に含まれる日付(date)410を入力として、その日付(date)410と同一行に存在する単語を取得する関数「same_line_word」420の結果に、単語「Registration」が含まれているか否かを判定する機能を実現する。例示する情報表現パターン400は、関数「same_line_word」420の実行結果に単語「Registration」が含まれていれば「TRUE」を返し、当該単語が含まれていなければ「FALSE」を返す。
 図5は、図4に例示した情報表現パターン400の生成に用いる情報表現テンプレートの一例である。例示する情報表現テンプレート500は、種別「Type」510、説明「Description」520、およびテンプレートコード「Template Code」530の各欄を含む。
 種別「Type」510には、当該情報表現テンプレート500が対象とする情報表現の情報表現文法の要素(本例では、C(情報抽出対象)、[Position]、[Word]。以下、「文法表現要素」と称する。)の頭文字と角括弧付で表記した記号列(本例では「C[P][W]」)が記述される。尚、角括弧付で表記されている[Position]、[Word]は、情報表現テンプレートから情報表現パターンに変換する際に置き換えの対象となる。
 説明「Description」520には、情報表現テンプレートのロジックを自然言語で説明した情報が記述される。本例では、説明「Description」520に、「C(情報抽出対象)が単語または単語群と所定の位置関係(Position)にある」ことを示す情報が記述されている。
 テンプレートコード「Template Code」530には、情報表現のロジックを表すプログラムコードの雛型(テンプレート)が記述される。テンプレートコード「Template Code」530の角括弧の部分を具体的な内容に置き換えることで、情報表現パターンが生成される。例えば、情報表現が図3に例示した非定型書類300の会社登録日321である場合、テンプレートコード「Template Code」530の[Word]を単語「Registration」に置き換え、[Position]を同一行「in same_line」に置き換え、Cを「date」に置き換えることで、図4に示した情報表現パターン400が生成される。尚、function(Position)は、引数「Position」に基づき単語群を取得する関数を返す関数である。同図の場合、引数「Position」が同一行を意味する「in same_line」に置き換えられることにより、function(Position)は、図4に示す関数「same_line_word」420を返す。
 図6に、情報表現テンプレート表113の一例を示す。例示する情報表現テンプレート表113は、行番号1131、文法表現要素1132、情報表現文法1133、およびサポート情報種別1134の各項目を有する複数のエントリ(レコード)で構成される。情報表現テンプレート表113の1つのエントリは、1つの情報表現文法に対応している。
 上記項目のうち、行番号1131には、情報表現テンプレート表113のエントリ毎に付与される識別子(行番号)が格納される。
 文法表現要素1132には、当該情報表現文法の前述した文法表現要素が格納される。
 情報表現文法1133には、当該情報表現文法を所定の表記方法(例えば、自然言語文法の表記方法に準じた表記方法)で表現した内容が格納される。
 サポート情報種別1134には、情報表現からの抽出対象の抽出に際して用いる情報であるサポート情報の、情報表現の構造に基づく分類であるサポート情報種別が設定される。サポート情報種別は、情報表現文法による区別に加え、情報表現パターンの生成に用いる情報表現テンプレートをより細かく分類する。本例では、サポート情報種別として、「正規表現」、「辞書マッチ」、「メタ情報(ページ番号等)」、「HTML構造」、「集合」、「構造」を例示している。例示するサポート情報種により情報表現テンプレートを分類することで、様々な書式の非定型書類について網羅的に対応することができる。
 同図には、行番号#1~#9で区別される9つの情報表現文法を例示している。
 このうち行番号が「#1」の情報表現文法1133「C is the [Same] as [Words].」は、「C(情報抽出対象)が所定の情報(単語)または情報群(単語群)[Words]と同じ意味を有する[Same]。」という内容である。当該行の文法表現要素1132には、当該情報表現文法の文法表現要素を示す「C[S][W]」が格納されている。このように抽出対象と所定の情報または情報群との意味的な関係を表す情報表現文法を分類の一つとすることで、適切な情報表現テンプレートを効率よく特定することが可能になる。
 当該行のサポート情報種別1134のうち、「正規表現」、「辞書マッチ」、「メタ情報」、「HTML構造」には、夫々、情報表現テンプレートの識別子「Template1」~「Template4」が格納されている。
 サポート情報種別「正規表現」に格納されている情報表現テンプレート「Template1」には、C(情報抽出対象)の表現が正規表現と一致するか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、図1の非定型書類300の場合、上記プログラムコードは、C(情報抽出対象)である日付「07/16/2007」について、「数値/数値/数値」のような3つの数値がスラッシュで区切られた正規表現と一致するか否かを判定する。
 サポート情報種別「辞書マッチ」に格納されている情報表現テンプレート「Template2」には、C(情報抽出対象)がユーザ等により設定された辞書に含まれる単語と一致するか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、図1の非定型書類300の場合、上記プログラムコードは、「AAA Company」という会社名に対して、辞書である会社名の名簿に含まれている単語と一致するか否かを判定する。
 サポート情報種別「メタ情報」に格納されている情報表現テンプレート「Template3」には、C(情報抽出対象)が書類上に文字列として表現されない、例えば、総ページ数や電子化された書類の作成者、作成日等に含まれる文字列と一致するか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、図1の非定型書類300の場合、C(情報抽出対象)が、複数ページ中の最終ページに存在する日付「07/16/2007」であれば、上記プログラムコードは、書類の全ページ数と日付「07/16/2007」が存在するページ数が一致するか否かを判定する。
 サポート情報種別「HTML構造」に格納されている情報表現テンプレート「Template4」には、非定型書類が、制御文字が埋め込まれて整形されたHTMLのような書類である場合、C(情報抽出対象)を表示するための制御文字が特定の制御文字と一致するか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、図1の非定型書類300がHTMLで記述されている場合、C(情報抽出対象)がヘッダ310に存在する申込日「09/22/2010」であれば、上記プログラムコードは、HTMLの<header>タグが制御文字として付与されている日付がC(情報抽出対象)と一致するか否かを判定する。
 行番号が「#2」の情報表現文法1133「C is the [Position] of [Ranges].」は、「C(情報抽出対象)の位置[Position]が領域または領域群[Ranges] に属する。」という内容である。当該行の文法表現要素1132には、当該情報表現文法の文法表現要素を示す「C[P][R]」が格納されている。このように抽出対象の位置と領域または領域群との関係を表す情報表現文法を分類の一つとすることで、適切な情報表現テンプレートを効率よく特定することが可能になる。
 当該行のサポート情報種別1134のうち「HTML構造」、「集合」、「構造」には、夫々、情報表現テンプレートの識別子「Template5」~「Template7」が格納されている。
 サポート情報種別「HTML構造」に格納されている情報表現テンプレート「Template5」には、制御文字が埋め込まれて整形されたHTMLのような書類を前提として、C(情報抽出対象)がHTMLで表現された領域群[Ranges]と特定の位置関係[Position]に存在するか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、図1の非定型書類300がHTMLで記述された書類である場合、上記プログラムコードは、ヘッダ310より下に存在する日付「07/16/2007」であるC(情報抽出対象)が、HTMLの<header>タグの終了位置以降に存在するか否かを判定する。
 サポート情報種別「集合」に格納されている情報表現テンプレート「Template6」には、C(情報抽出対象)が領域群[Ranges]と特定の位置関係[Position]に存在するか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、C(情報抽出対象)が図1の非定型書類300のボディ320の中央付近の日付「07/16/2007」である場合、上記プログラムコードは、例えば、対象となる日付がボディ320の上方領域20%、下方領域20%の間に存在するか否かを判定する。
 サポート情報種別「構造」に格納されている情報表現テンプレート「Template7」には、C(情報抽出対象)が領域群[Ranges]のうち一つの領域と特定の位置関係[Position]に存在するか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、C(情報抽出対象)が、図1の非定型書類300の上方に存在する申込日「09/22/2010」である場合、上記プログラムコードは、例えば、対象となる日付が非定型書類300の上方の10%の範囲に存在するか否かを判定する。
 行番号が「#3」の情報表現文法1133「C is the [Position] of [Words].」は、「C(情報抽出対象)の位置[Position]が所定の情報(単語)または情報群(単語群)[Words]と所定の位置関係を有する。」という内容である。当該行の文法表現要素1132には、当該情報表現文法の文法表現要素を示す「C[P][W]」が格納されている。このように抽出対象の位置と所定の情報または情報群との位置関係を表す情報表現文法を分類の一つとすることで、適切な情報表現テンプレートを効率よく特定することが可能になる。
 当該行のサポート情報種別1134のうち「HTML構造」、「集合」、「構造」には、夫々、情報表現テンプレートの識別子「Template8」~「Template10」が格納されている。尚、これらの情報表現テンプレートは、夫々、行番号が「#2」の情報表現テンプレート「Template5」~「Template7」において領域群[Ranges]を単語群[Words]に置き換えたものである。
 例えば、サポート情報種別「HTML構造」に格納されている情報表現テンプレート「Template8」には、例えば、C(情報抽出対象) が図1の非定型書類300の年度「2007」である場合、単語「Year」が、同一列に存在する<td>タグ内に存在するか否かを判定するプログラムコードの雛型(テンプレート)が記述される。
 行番号が「#4」の情報表現文法1133「C is the [Relation] of [Words]」は、「C(情報抽出対象)が所定の情報(単語)または情報群(単語群)[Words]と所定の関係[Relation]を有する。」という内容である。当該行の文法表現要素1132には、当該情報表現文法の文法表現要素を示す「C[R][W]」が格納されている。このように抽出対象の位置と所定の情報または情報群との関係を表す情報表現文法を分類の一つとすることで、適切な情報表現テンプレートを効率よく特定することが可能になる。
 当該行のサポート情報種別1134のうち「集合」には、情報表現テンプレートの識別子「Template11」が格納されている。当該情報表現テンプレートは、C(情報抽出対象)が単語群[Words]と特定の関係[Relation]を有するか否かを判定する。ここで関係[Relation] は、例えば、「同等」、「より大きい」、「より小さい」、「最大」、「最小」等の比較演算により特定される関係をいう。当該情報表現テンプレートには、例えば、C(情報抽出対象)が図1の非定型書類300の最新の年度「2009」である場合、「Year」という単語が、同じ列に存在する「2007」、「2008」、「2009」のうち、「2009」が最新(最大値)となるか否かを判定するプログラムコードの雛型(テンプレート)が記述される。
 行番号が「#5」~「#9」の情報表現文法は、いずれも複数のC(情報抽出対象)を含む場合である。
 行番号が「#5」の情報表現文法1133「C is the [Position] of [Words(C)].」は、「第1のC(情報抽出対象)の位置[Position]が第2のC(情報抽出対象)である情報(単語)または情報群(単語群)[Words]と所定の位置関係にある。」という内容である。当該行の文法表現要素1132には、当該情報表現文法の文法表現要素を示す「C[P][C]」が格納されている。このように第1の抽出対象と第2の抽出対象の位置関係を表す情報表現文法を分類の一つとすることで、適切な情報表現テンプレートを効率よく特定することが可能になる。
 当該行のサポート情報種別1134のうち「HTML構造」、「集合」、「構造」には、夫々、情報表現テンプレートの識別子「Template12」~「Template14」が格納されている。
 サポート情報種別「HTML構造」に格納されている情報表現テンプレート「Template12」には、HTMLのような制御文字が埋め込まれて整形された書類を前提に、第1のC(情報抽出対象)が組合せ対象となる第2のC(情報抽出対象)と特定の位置関係[Position]に存在するか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、図1の非定型書類300がHTMLで記述されており、例えば、第1のC(情報抽出対象)が「2007」、第2のC(情報抽出対象)が「$100,000」である場合、上記プログラムコードは、各年度の売上情報を抽出するため、第1および第2のC(情報抽出対象)が、夫々HTMLの<td>タグで隣接するか否かを判定する。
 サポート情報種別「集合」に格納されている情報表現テンプレート「Template13」には、第1のC(情報抽出対象)が第2のC(情報抽出対象)を含む単語群[Words]と特定の位置関係[Position]に存在するか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、図1の非定型書類300から利益(Net Profit)の平均値を計算するために情報抽出する場合、例えば、第1のC(情報抽出対象)が「Net Profit」、第2のC(情報抽出対象)が「$10,000」、「$30,000」、「$30,000」のいずれかとした場合、上記プログラムコードは、第1および第2のC(情報抽出対象)が同一列に存在するか否かを判定する。
 行番号が「#6」の情報表現文法1133「C & C is the [Position] of [Ranges].」は、「第1のC(情報抽出対象)と第2のC(情報抽出対象)の位置[Position]がいずれも所定の領域または領域群[Ranges]に属する。」という内容である。当該行の文法表現要素1132には、当該情報表現文法の文法表現要素を示す「CC[R][W]」が格納されている。このように第1の抽出対象と第2の抽出対象の夫々の位置と所定の領域または領域との関係を表す情報表現文法を分類の一つとすることで、適切な情報表現テンプレートを効率よく特定することが可能になる。
 当該行のサポート情報種別1134のうち「HTML構造」、「集合」、「構造」には、夫々、情報表現テンプレートの識別子「Template15」~「Template17」が格納されている。
 サポート情報種別「HTML構造」に格納されている情報表現テンプレート「Template15」には、HTMLのような制御文字が埋め込まれて整形された書類を前提に、第1のC(情報抽出対象)と第2のC(情報抽出対象)が領域群[Ranges]の1つと特定の位置関係[Position]に存在するか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、図1の非定型書類300がHTMLで記述されており、第1のC(情報抽出対象)が「2007」、第2のC(情報抽出対象)が「$100,000」である場合、上記プログラムコードは、例えば、各年度の売上を抽出するため、第1および第2のC(情報抽出対象)がともに同じHTMLの<tr>タグに含まれるか否かを判定する。
 サポート情報種別「集合」に格納されている情報表現テンプレート「Template16」には、第1のC(情報抽出対象)と第2のC(情報抽出対象)が領域群[Ranges]と特定の位置関係[Position]にあるか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、図1の非定型書類300において第1のC(情報抽出対象)が「2007」、第2のC(情報抽出対象)が「$100,000」である場合、上記プログラムコードは、例えば、第1および第2のC(情報抽出対象)がともに非定型書類300の列名が記述されている領域および通し番号が割り振られている1列目の領域に含まれているか否かを判定する。
 サポート情報種別「構造」に格納されている情報表現テンプレート「Template17」には、第1のC(情報抽出対象)と第2のC(情報抽出対象)が領域群[Ranges]の1つと特定の位置関係[Position]にあるか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、図1の非定型書類300において第1のC(情報抽出対象)が「2007」、第2のC(情報抽出対象)が「$100,000」である場合、上記プログラムコードは、例えば、第1および第2のC(情報抽出対象)がともに非定型書類300の列名が記述されている領域より下に存在するか否かを判定する。
 行番号が「#7」の情報表現文法1133「C & C is the [Position] of [Words].」は、「第1のC(情報抽出対象)と第2のC(情報抽出対象)の位置[Position]がいずれも所定の情報(単語)または情報群(単語群)[Words]と特定の位置関係を有する。」という内容である。当該行の文法表現要素1132には、当該情報表現文法の文法表現要素を示す「CC[P][W]」が格納されている。このように第1の抽出対象と第2の抽出対象の夫々の位置と所定の情報または情報群との位置関係を表す情報表現文法を分類の一つとすることで、適切な情報表現テンプレートを効率よく特定することが可能になる。
 当該行のサポート情報種別1134のうち「HTML構造」、「集合」、「構造」には、夫々、情報表現テンプレートの識別子「Template18」~「Template20」が格納されている。これらの情報表現テンプレート「Template18」~「Template20」は、夫々、行番号が「#6」の情報表現テンプレート「Template15」~「Template17」における領域群[Ranges]を単語群[Words]に置き換えたものである。
 例えば、サポート情報種別「HTML構造」に格納されている情報表現テンプレート「Template18」には、第1のC(情報抽出対象)と第2のC(情報抽出対象)が単語群[Words]の1つと特定の位置関係[Position]に存在するか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、図1の非定型書類300がHTMLで記述されており、第1のC(情報抽出対象)が「2007」、第2のC(情報抽出対象)が「$100,000」である場合、上記プログラムコードは、第1および第2のC(情報抽出対象)がともに通し番号「1」と同一列に存在するか否かを判定する。
 行番号が「#8」の情報表現文法1133「C is the [Relation] of C.」は、「第1のC(情報抽出対象)と第2のC(情報抽出対象)が所定の関係[Relation]を有する。」という内容である。当該行の文法表現要素1132には、当該情報表現文法の文法表現要素を示す「C[R]C」が格納されている。ここで関係[Relation] は、例えば、「同等」、「より大きい」、「より小さい」、「最大」、「最小」等の比較演算により特定される関係をいう。このように第1の抽出対象と第2の抽出対象との関係を表す情報表現文法を分類の一つとすることで、適切な情報表現テンプレートを効率よく特定することが可能になる。
 当該行のサポート情報種別1134のうち「集合」には、情報表現テンプレートの識別子「Template21」が格納されている。この情報表現テンプレート「Template21」には、第1のC(情報抽出対象)と第2のC(情報抽出対象)が特定の関係[Relation]を有するか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、図1の非定型書類300から売上(Sales)と利益(Net Profit)の組合せを抽出する場合、2007年度の売上と利益に関して、第1のC(情報抽出対象)を「$100,000」、第2のC(情報抽出対象)を「$100,000」とした場合、上記プログラムコードは、例えば、数値として大きいC(情報抽出対象)を売上と判定し、小さいC(情報抽出対象)を利益と判定する。
 行番号が「#9」の情報表現文法1133「C & C is the [Relation] of [Words].」は、「第1のC(情報抽出対象)と第2のC(情報抽出対象)が所定の情報(単語)または情報群(単語群)[Words]と所定の関係[Relation]を有する。」という内容である。当該行の文法表現要素1132には、当該情報表現文法の文法表現要素を示す「CC[R][W]」が格納されている。ここで関係[Relation] は、例えば、「同等」、「より大きい」、「より小さい」、「最大」、「最小」等の比較演算により特定される関係をいう。このように第1の抽出対象と第2の抽出対象の所定の情報または情報群との関係を表す情報表現文法を分類の一つとすることで、適切な情報表現テンプレートを効率よく特定することが可能になる。
 当該行のサポート情報種別1134のうち「集合」には、情報表現テンプレートの識別子「Template22」が格納されている。この情報表現テンプレート「Template22」には、第1のC(情報抽出対象)と第2のC(情報抽出対象)が特定の単語群[Words]と特定の関係[Relation]を有するか否かを判定するプログラムコードの雛型(テンプレート)が記述されている。例えば、図1の非定型書類300から売上(Sales)と利益(Net Profit)の組合せを抽出する場合、2007年度の売上と利益に関して、第1のC(情報抽出対象)を「$100,000」、第2のC(情報抽出対象)を「$100,000」とした場合、通し番号や年度の数値と分けるため、上記プログラムコードは、例えば、桁数が通し番号や年度の数値の桁数と比較して、第1および第2のC(情報抽出対象)がともに大きいか否かを判定する。
 尚、情報表現テンプレート表113に示した9つの情報表現文法(行番号#1~#9)を用いて情報表現テンプレートを特定することで、様々な非定型書類を網羅的にカバーして情報表現テンプレートを適切に特定することが可能になる。そしてこの情報表現テンプレート表113から情報表現文法とサポート情報種別とで特定される情報表現テンプレートを用いて生成した情報表現パターンを実行して非定型書類のパターンマッチングを行うことで、多様な非定型書類からユーザが目的とする情報を精度よく抽出することができる。
 図7は、情報表現構造解析部120が、非定型書類に含まれる情報表現を解析し、その結果を用いて情報表現パターン生成部130が情報表現パターンを生成する処理(以下、「情報表現パターン生成処理S700」と称する。)を説明するフローチャートである。以下、同図とともに情報表現パターン生成処理S700について説明する。
 まず、情報表現構造解析部120が、非定型書類から情報表現を取得し情報表現群111に登録する(S701)。例えば、非定型書類が図3に例示した非定型書類300である場合、情報表現構造解析部120は、例えば、会社登録日321の領域(「Registration」と日付「07/16/2007」を含む領域)を情報表現として取得する。情報表現は、例えば、ユーザ装置3を介してユーザが指定した範囲に含まれるものを取得するようにしてもよい。
 続いて、テキスト情報抽出部121が、S701で取得した情報表現から抽出対象に関わるテキストを抽出する(S702)。例えば、情報表現が、図3に例示した非定型書類300から取得された会社登録日321であり抽出対象が「07/16/2007」である場合、テキスト情報抽出部121は、「Registration」と「07/16/2007」をテキストとして抽出する。
 続いて、構造情報抽出部122が、S701で取得した情報表現から、S702で抽出されたテキストに関わる構造情報を抽出する(S703)。例えば、情報表現が、非定型書類が図3に例示した非定型書類300から取得された会社登録日321である場合、構造情報抽出部122は、S702で抽出されたテキスト「Registration」およびテキスト「07/16/2007」について、夫々の文字列を囲む領域の座標を構造情報として抽出する。上記座標は、例えば、文字列を囲む領域の左上の座標(xs,ys)と右下の座標(xe,ye)の組で表される。
 続いて、情報表現文法特定部123が、情報表現テンプレート表113から、抽出したテキストと構造情報に対応する情報表現文法1133を特定する(S704)。尚、当該処理(以下、「情報表現文法特定処理S704」と称する。)の詳細については後述する。
 続いて、サポート情報種別特定部124が、情報表現テンプレート表113のサポート情報種別1134から、抽出したテキストと構造情報に対応するサポート情報種別を特定する(S705)。尚、当該処理(以下、「サポート情報種別特定処理S705」と称する。)の詳細については後述する。
 続いて、情報表現パターン生成部130の情報表現テンプレート検索部131が、情報表現テンプレート表113から、S703で特定された情報表現文法とS704で特定されたサポート情報種別の組合せに対応する情報表現テンプレートを取得する(S706)。
 続いて、情報表現パターン生成部130の情報表現構成要素置換部132が、S706で取得した情報表現テンプレートにおいて角括弧付の表記を、抽出対象と根拠情報に置き換えて情報表現パターンを生成する(S707)。
 図8は、図7に示した情報表現文法特定処理S704の詳細を説明するフローチャートである。以下、同図とともに情報表現文法特定処理S704について説明する。尚、以下では、図7のS701で取得した情報表現(以下、「当該情報表現」と称する。)が、図6に例示した情報表現テンプレート表113のいずれの情報表現文法1133に該当するかを特定する場合を例として説明する。
 情報表現文法特定部123は、まず、当該情報表現から抽出しようとする情報(1つ以上のC(情報抽出対象))と、抽出対象か否かの判定に用いる情報(以下、「根拠情報」と称する。)を取得する(S801)。尚、根拠情報については必ずしも取得しなくてもよい。これらの情報は、例えば、ユーザ装置3を介してユーザから受け付ける。例えば、C(情報抽出対象)に関しては、表示装置に表示し、ユーザはマウス操作で対象となる単語をクリックして指定する。また、根拠情報に関しては、同様に表示装置に表示し、ユーザはマウス操作で対象となる単語をクリックするか、もしくは対象となる領域を範囲指定する。尚、根拠情報が不可視の場合は、例えば、C(情報抽出対象)のみをマウス操作でクリックする。
 続いて、情報表現文法特定部123は、S801で取得したC(情報抽出対象)の数が一つ否か複数かを判定する(S802)。C(情報抽出対象)が一つであれば(S802:YES)S803に進み、C(情報抽出対象)が複数であればS820に進む。
 S803では、情報表現文法特定部123は、根拠情報の有無を判定する。S801で根拠情報を取得していない場合は(S803:NO)S804に進み、S801で根拠情報を取得している場合は(S803:YES)S805に進む。
 S804では、情報表現文法特定部123は、根拠情報が書類上では不可視の情報(正規表現、辞書マッチ、メタ情報、HTMLタグ等の制御文字等)であるとして、当該情報表現は、情報表現テンプレート表113の行番号「#1」の情報表現文法に該当すると判定する。その後、情報表現文法特定処理S704は終了する。
 S805では、情報表現文法特定部123は、根拠情報が範囲指定であるか否かを判定する(S805)。根拠情報が範囲指定である場合は(S805:YES)、S806に進み、情報表現文法特定部123は、当該情報表現が情報表現テンプレート表113の行番号「#2」の情報表現文法に該当すると判定する。その後、情報表現文法特定処理S704は終了する。根拠情報が範囲指定でない場合は(S805:NO)、S807に進む。
 S807では、情報表現文法特定部123は、根拠情報が、情報表現においてC(情報抽出対象)と大小を比較することができない情報(単語)または情報群(単語群)であるか否かを判定する。根拠情報が大小を比較することができない情報(単語)または情報群(単語群)である場合は(S807:NO)S808に進み、情報表現文法特定部123は、当該情報表現は情報表現テンプレート表113の行番号「#3」の情報表現文法に該当すると判定する。その後、情報表現文法特定処理S704は終了する。一方、根拠情報が大小を比較することができる情報(単語)または情報群(単語群)である場合は(S807:YES)S809に進み、情報表現文法特定部123は、当該情報表現は情報表現テンプレート表113の行番号「#4」の情報表現文法に該当すると判定する。その後、情報表現文法特定処理S704は終了する。
 S820では、情報表現文法特定部123は、根拠情報の有無を判定する。根拠情報を取得していない場合は(S820:NO)S821に進み、根拠情報を取得している場合は(S820:YES)S830に進む。
 S821では、情報表現文法特定部123は、C(情報抽出対象)が数値等であり大小関係を比較できるか否かを判定する。C(情報抽出対象)が数値等であり大小関係を比較できれば(S821:YES)S822に進み、当該情報表現は情報表現文法特定部123は、情報表現テンプレート表113の行番号「#8」の情報表現文法に該当すると判定する。その後、情報表現文法特定処理S704は終了する。一方、大小関係を比較できなければ(S821:NO)S823に進み、情報表現文法特定部123は、当該情報表現は情報表現テンプレート表113の行番号「#5」の情報表現文法に該当すると判定する。その後、情報表現文法特定処理S704は終了する。
 S830では、情報表現文法特定部123は、根拠情報が範囲指定であるか否かを判定する。根拠情報が範囲指定である場合は(S830:YES)、S831に進み、情報表現文法特定部123は、当該情報表現は情報表現テンプレート表113の行番号「#6」の情報表現文法に該当すると判定する。その後、情報表現文法特定処理S704は終了する。一方、根拠情報が範囲指定でない場合は(S830:NO)、S833に進む。
 S833では、情報表現文法特定部123は、C(情報抽出対象)が数値等であり大小関係を比較できるか否かを判定する。C(情報抽出対象)が数値等であり大小関係を比較できれば(S833:YES)S834に進み、情報表現文法特定部123は、当該情報表現は情報表現テンプレート表113の行番号「#9」の情報表現文法に該当すると判定する。その後、情報表現文法特定処理S704は終了する。一方、大小関係を比較できなければ(S833:NO)S835に進み、情報表現文法特定部123は、当該情報表現は情報表現テンプレート表113の行番号「#7」の情報表現文法に該当すると判定する。その後、情報表現文法特定処理S704は終了する。
 図9は、図7に示したサポート情報種別特定処理S705の詳細を説明するフローチャートである。以下、同図とともにサポート情報種別特定処理S705について説明する。尚、以下では、図7のS701で取得した情報表現(以下、「当該情報表現」と称する。)が、図6に例示した情報表現テンプレート表113のいずれのサポート情報種別1134に該当するかを特定する場合を例として説明する。
 まず、サポート情報種別特定部124は、情報表現文法特定処理S704で特定された情報表現文法を取得する(S901)。
 続いて、サポート情報種別特定部124は、取得した情報表現文法が行番号「#1」の情報表現文法であるか否かを判定する(S902)。取得した情報表現文法が行番号「#1」の情報表現文法であれば(S902:YES)S903に進み、行番号「#1」の情報表現文法でなければ(S902:NO)S910に進む。
 S903では、サポート情報種別特定部124は、当該情報表現のサポート情報種別が「正規表現」であるか否かを判定する。具体的には、サポート情報種別特定部124は、各種辞書115の正規表現辞書を読み込み、C(情報抽出対象)が正規表現と一致するか否かを判定することにより上記の判定を行う。サポート情報種別特定部124が、当該情報表現のサポート情報種別を「正規表現」と判定した場合は(S903:YES)、サポート情報種別特定処理S705は終了する。一方、サポート情報種別特定部124が、当該情報表現のサポート情報種別は「正規表現」でないと判定した場合は(S903:NO)S904に進む。
 S904では、サポート情報種別特定部124は、当該情報表現のサポート情報種別が「辞書マッチ」に該当するか否かを判定する。具体的には、サポート情報種別特定部124は、各種辞書115の単語辞書を読み込み、C(情報抽出対象)と一致するか否か判定することにより上記の判定を行う。上記判定の結果、当該情報表現のサポート情報種別を「辞書マッチ」と判定した場合は(S904:YES)、サポート情報種別特定処理S705は終了する。一方、サポート情報種別特定部124が、当該情報表現のサポート情報種別は「辞書マッチ」でないと判定した場合は(S904:NO)S905に進む。
 尚、当該情報表現のサポート情報種別が「正規表現」と「辞書マッチ」の双方に一致する場合もあるが、その場合は、ユーザ装置3を介してその旨をユーザに提示していずれかを選択させるようにしてもよいし、「正規表現」または「辞書マッチ」に候補を絞り込まずに処理を終了するようにしてもよい。
 S905では、サポート情報種別特定部124は、非定型書類からメタ情報を抽出してユーザに提示し、根拠情報が存在するか選択させる。ユーザが、提示したメタ情報の中に根拠情報が存在するとした場合は(S905:YES)、サポート情報種別特定部124は、当該情報表現のサポート情報種別を「メタ情報」(ページ番号等)と判定し、サポート情報種別特定処理S705は終了する。一方、ユーザが、提示したメタ情報の中に根拠情報が存在しないとした場合は(S905:NO)S907に進む。
 S907では、サポート情報種別特定部124は、情報表現が記載された非定型書類がHTMLで記述されているか否かを判定する。非定型書類がHTMLで記述されていれば(S907:YES)、サポート情報種別特定部124は、当該情報表現のサポート情報種別を「HTML構造」と判定し、サポート情報種別特定処理S705は終了する。一方、非定型書類がHTMLで記述されていなければ(S907:NO)、サポート情報種別特定部124は、当該情報表現は該当するサポート情報種別がない(該当なし)と判定し、サポート情報種別特定処理S705は終了する。尚、該当なしと判定した場合、サポート情報種別特定部124が、ユーザに正規表現や辞書情報を入力させ、当該情報表現のサポート情報種別を「正規表現」または「辞書マッチ」と判定するようにしてもよい。
 S910では、サポート情報種別特定部124は、S901で取得した情報表現文法が、行番号が「#4」、「#8」、「#9」のいずれかの情報表現文法と一致するか否かを判定する。いずれかの情報表現文法と一致すれば(S910:YES)、サポート情報種別特定部124は、当該情報表現のサポート情報種別を「集合」と判定し、サポート情報種別特定処理S705は終了する。いずれの情報表現文法にも一致しなければ(S910:NO)S911に進む。
 S911では、サポート情報種別特定部124は、C(情報抽出対象)および根拠情報が数値や日付であり、大小関係を比較可能であるか否かを判定する。大小関係を比較可能であれば(S911:YES)、サポート情報種別特定部124は、当該情報表現のサポート情報種別を「集合」と判定し、サポート情報種別特定処理S705は終了する。大小関係を比較できなければ(S911:NO)、S912に進む。
 S912では、サポート情報種別特定部124は、情報表現が記載された非定型書類がHTMLで記述されているか否かを判定する。非定型書類がHTMLで記述されていれば(S912:YES)、サポート情報種別特定部124は、当該情報表現のサポート情報を「HTML構造」と判定し、サポート情報種別特定処理S705は終了する。非定型書類がHTMLで記述されていなければ(S912:NO)、サポート情報種別特定部124は、サポート情報を「構造」と判定する。
 以上に説明したように、第1実施形態の文書情報管理システム1によれば、非定型書類に含まれている情報表現の構造を解析し、非定型書類からの情報の抽出に用いる情報表現パターンを生成することができる。そして、非定型書類管理装置2は、生成された情報表現パターンを用いて、書式が異なる様々な非定型書類からユーザが取得しようとする情報を効率よく抽出することができる。
[第2実施形態]
 図10に第2実施形態として示す文書情報管理システム1の概略的な構成を示している。第2実施形態の文書情報管理システム1における情報表現構造解析装置100は、第1実施形態の情報表現構造解析装置100が備える機能に加えて、情報表現文法特定支援処理部140を更に備える。
 情報表現文法特定支援処理部140は、情報表現構造解析部120が情報表現文法を特定するために必要な情報(C(情報抽出対象)、根拠情報等。以下、「特定支援情報」と称する。)の取得を支援する。
 具体的には、情報表現文法特定支援処理部140は、ユーザ装置3を介して上記情報を受け付ける画面(以下、「特定支援情報取得画面1200」と称する。)をユーザに提示し、特定支援情報取得画面1200を介してユーザから上記情報を取得する。このように、特定支援情報取得画面1200を提示してユーザに必要な情報の入力を誘導することで、例えば、ユーザが、情報表現パターンの生成について十分な知識や経験を有していない場合でも、特定支援情報を効率よく取得することができる。
 図11は、情報表現文法特定支援処理部140が、ユーザに特定支援情報取得画面1200を提示して特定支援情報を取得する際に行う処理(以下、「特定支援情報取得処理S1100」と称する。)を説明するフローチャートである。以下、同図とともに特定支援情報取得処理S1100について説明する。
 まず、情報表現文法特定支援処理部140は、非定型書類を表示した特定支援情報取得画面1200をユーザに提示し、第1のC(情報抽出対象)の指定をユーザから受け付ける(S1101)。
 図12に、この際にユーザに提示する特定支援情報取得画面1200の一例を示す。同図の例では、ユーザが日付「07/16/2007」1211を第1のC(情報抽出対象)として指定したため、当該領域が実線枠で強調表示されている。
 図11に戻り、続いて、情報表現文法特定支援処理部140は、第1のC(情報抽出対象)の抽出に用いる根拠情報、または第2のC(情報抽出対象)の指定をユーザから受け付ける(S1102)。
 図13に、この際にユーザに提示する特定支援情報取得画面1200の一例を示す。この例では、ユーザが単語「Registration」1212を根拠情報として指定したため、当該領域が点線枠で強調表示されている。
 図11に戻り、続いて、情報表現文法特定支援処理部140は、S1102で第2のC(情報抽出対象)の指定をユーザから受け付けたか否かを判定する(S1103)。第2のC(情報抽出対象)の指定を受け付けた場合は(S1103:YES)S1104に進み、受け付けていない場合は(S1103:NO)S1121に進む。
 S1104では、情報表現文法特定支援処理部140は、特定支援情報取得画面1200を介して、「HTML構造」、「集合」、「構造」のうちのいずれかのサポート情報種別の選択をユーザから受け付ける。
 図14に、この際にユーザに提示する特定支援情報取得画面1200の一例を示す。同図の例では、特定支援情報取得画面1200の左側に「HTML構造」、「集合」、「構造」のうちのいずれかの選択を受け付ける選択欄1213が表示されている。尚、ユーザの選択の参考にするため、例えば、各サポート情報種別について、夫々が選択された場合に生成される情報表現パターンをユーザに提示するようにしてもよい。
 その後、特定支援情報取得処理S1100は終了し、情報表現文法特定支援処理部140は、受け付けたサポート情報種別を用いて情報表現テンプレート表113から情報表現文法を特定する。
 図11に戻り、S1121では、情報表現文法特定支援処理部140は、特定支援情報取得画面1200を介して、「正規表現」、「辞書マッチ」、「メタ情報」、「HTML構造」のうちのいずれかのサポート情報種別の選択をユーザから受け付ける。
 図15に、この際にユーザに提示する特定支援情報取得画面1200の一例を示す。同図の例では、特定支援情報取得画面1200の左側に「正規表現」、「辞書マッチ」、「メタ情報」、「HTML構造」のうちのいずれかの選択を受け付ける選択欄1214が表示されている。尚、ユーザの選択の参考にするため、例えば、各サポート情報種別について、夫々が選択された場合に生成される情報表現パターンをユーザに提示するようにしてもよい。
 図11に戻り、続いて、情報表現文法特定支援処理部140は、ユーザが、図15の特定支援情報取得画面1200において、「正規表現」または「辞書マッチ」を選択したか否かを判定する(S1122)。ユーザが、「正規表現」または「辞書マッチ」を選択している場合は(S1122:YES)S1123に進み、選択していない場合は(S1122:NO)S1124に進む。
 S1123では、情報表現文法特定支援処理部140は、特定支援情報取得画面1200を介して、正規表現または辞書の入力をユーザから受け付ける。
 図16に、この際にユーザに提示する特定支援情報取得画面1200の一例を示す。同図の例では、特定支援情報取得画面1200の左側に正規表現または辞書の入力を受け付ける入力欄1215が表示されている。
 その後、特定支援情報取得処理S1100は終了し、情報表現文法特定支援処理部140は、受け付けた正規表現または辞書の内容を用いて情報表現テンプレート表113から情報表現文法を特定する。
 図11に戻り、S1124では、情報表現文法特定支援処理部140は、ユーザが、図15の特定支援情報取得画面1200において、「メタ情報」を選択したか否かを判定する。ユーザが、「メタ情報」を選択している場合は(S1124:YES)S1125に進み、選択していない場合は(S1124:NO)S1126に進む。
 S1125では、情報表現文法特定支援処理部140は、特定支援情報取得画面1200を介して、メタ情報の指定をユーザから受け付ける。
 図17に、この際にユーザに提示する特定支援情報取得画面1200の一例を示す。同図の例では、特定支援情報取得画面1200の左側にメタ情報の選択を受け付ける選択欄1216が表示されている。
 その後、特定支援情報取得処理S1100は終了し、情報表現文法特定支援処理部140は、受け付けたメタ情報を用いて情報表現テンプレート表113から情報表現文法を特定する。
 図11に戻り、S1126では、情報表現文法特定支援処理部140は、特定支援情報取得画面1200を介して、HTMLタグの指定をユーザから受け付ける。
 図18に、この際にユーザに提示する特定支援情報取得画面1200の一例を示す。同図の例では、特定支援情報取得画面1200の左側にHTMLタグの選択を受け付ける選択欄1217が表示されている。
 その後、特定支援情報取得処理S1100は終了し、情報表現文法特定支援処理部140は、受け付けたHTMLタグを用いて情報表現テンプレート表113から情報表現文法を特定する。
 以上のように、第2実施形態の文書情報管理システム1によれば、特定支援情報を効率よくユーザから取得することができ、特定支援情報を用いて情報表現文法とサポート情報種別を特定することにより適切な情報表現テンプレートを取得して効率よく情報表現パターンを生成することができる。
[第3実施形態]
 図19に、第3実施形態の文書情報管理システム1の概略的な構成を示している。第3実施形態の文書情報管理システム1の情報表現構造解析装置100は、第1実施形態の情報表現構造解析装置100が備える機能に加えて、情報表現パターン検証部150を更に備える。
 情報表現パターン検証部150は、情報表現パターン生成部130が生成した情報表現パターンを非定型書類に適用し、その結果をユーザ装置3を介してユーザに提示する。
 当該機能を利用することで、ユーザは、情報表現パターン生成部130が生成した情報表現パターンによって非定型書類から 目的とする情報を正しく抽出することができるか否かを検証することができる。また、例えば、目的とする情報が複数ある場合、ユーザは、各情報を正しく抽出することができるか否かを検証することができる。尚、目的とする情報を抽出するできないことが判明した場合、ユーザは、例えば、C(情報抽出対象)や根拠情報を設定し直して情報表現パターンを生成し直す。
 図20は、情報表現パターン検証部150が、情報表現パターン生成部130が生成した情報表現パターンによって非定型書類から抽出情報を正しく抽出することができるか否かを検証する際に行う処理(以下、「情報表現パターン検証処理S2000」と称する。)を説明するフローチャートである。以下、同図とともに情報表現パターン検証処理S2000について説明する。
 まず、情報表現パターン検証部150は、情報表現パターン生成部130が生成した情報表現パターンを、情報表現パターン群114から取得する(S2001)。
 続いて、情報表現パターン検証部150は、所定の非定型書類から、C(情報抽出対象)となりうるテキストを全て抽出する(S2002)。
 続いて、情報表現パターン検証部150は、S2001で取得した情報表現パターンに、S2002で抽出したテキストを入力し、情報表現パターンの実行結果が「TRUE」となるか否かを確認する(S2003)。
 続いて、情報表現パターン検証部150は、上記非定型書類とともに、「TRUE」となったテキストを強調表示した画面(以下、「情報表現パターン検証結果表示画面2100」と称する。)を生成し、情報表現パターン検証結果表示画面2100をユーザ装置3を介してユーザに提示する。
 図21に、情報表現パターン検証結果表示画面2100を示す。同図に示すように、例示する情報表現パターン検証結果表示画面2100には、上記非定型書類が表示され、「TRUE」となったテキスト2111が破線枠で強調表示されている。ユーザは、情報表現パターン検証結果表示画面2100を参照することで、情報表現パターンが正しく機能するか否かを効率よく検証することができる。
 以上、本発明の一実施形態について説明したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記実施形態の構成の一部について、他の構成の追加や削除、置換をすることが可能である。
 また、上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に置くことができる。
 また、以上に説明した各情報処理装置の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、これらの装置が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
 また、前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
1 文書情報管理システム、2 非定型書類管理装置、21 非定型書類管理部、22 情報抽出部、23 抽出情報管理部、24 抽出情報提供部、3 ユーザ装置、31 各種設定部、32 抽出情報利用部、100 情報表現構造解析装置、110 記憶部、101 抽出対象情報、102 根拠情報群、111 情報表現群、112 情報表現テンプレート群、113 情報表現テンプレート表、114 情報表現パターン群、115 各種辞書、120 情報表現構造解析部、121 テキスト情報抽出部、122 構造情報抽出部、123 情報表現文法特定部、124 サポート情報種別特定部、130 情報表現パターン生成部、131 情報表現テンプレート検索部、132 情報表現構成要素置換部、140 情報表現文法特定支援処理部、150 情報表現パターン検証部、S700 情報表現パターン生成処理、S704 情報表現文法特定処理、S705 サポート情報種別特定処理、S1100 特定支援情報取得処理、1200 特定支援情報取得画面、S2000 情報表現パターン検証処理、2100 情報表現パターン検証結果表示画面

Claims (15)

  1.  情報処理装置を用いて構成され、
     非定型書類における情報の表現の態様である情報表現、
     前記情報表現から抽出しようとする情報である抽出対象、および、
     前記情報表現から前記抽出対象を抽出する際の根拠となる情報である根拠情報、
     を記憶する記憶部と、
     前記抽出対象および前記根拠情報に基づき、前記抽出対象の抽出元となる前記情報表現を記述している文法である情報表現文法を特定する情報表現文法特定部と、
     前記情報表現からの前記抽出対象の抽出に際して用いる情報であるサポート情報の、前記情報表現の構造に基づく分類であるサポート情報種別を特定するサポート情報種別特定部と、
     を備え、
     前記記憶部は、前記情報表現文法と前記サポート情報種別との組合せ毎に、前記抽出対象を抽出する機能を実現するためのプログラムコードである情報表現パターンの生成に用いるテンプレートである情報表現テンプレートを記憶し、
     前記情報表現について特定された、前記情報表現文法と前記サポート情報種別とに基づき、前記非定型書類からの前記抽出対象の抽出に用いる前記情報表現パターンの生成に用いる前記情報表現テンプレートを特定する情報表現テンプレート検索部と、
     特定した前記情報表現テンプレートに前記抽出対象および前記根拠情報を適用することにより前記情報表現パターンを生成する情報表現パターン生成部と、
     を備える、情報表現構造解析装置。
  2.  請求項1に記載の情報表現構造解析装置であって、
     前記抽出対象が単数であり、
     前記情報表現文法が、前記抽出対象が所定の情報又は情報群と同じ意味を有することを表現する文法である、
     情報表現構造解析装置。
  3.  請求項1に記載の情報表現構造解析装置であって、
     前記抽出対象が単数であり、
     前記情報表現文法が、前記抽出対象が記述されている位置が所定の領域又は領域群内であることを表現する文法である、
     情報表現構造解析装置。
  4.  請求項1に記載の情報表現構造解析装置であって、
     前記抽出対象が単数であり、
     前記情報表現文法が、前記抽出対象が記述されている位置が所定の情報または情報群と所定の位置関係を有することを表現する文法である、
     情報表現構造解析装置。
  5.  請求項1に記載の情報表現構造解析装置であって、
     前記抽出対象が単数であり、
     前記情報表現文法が、前記抽出対象が記述されている位置が所定の情報または情報群と所定の関係を有することを表現する文法である、
     情報表現構造解析装置。
  6.  請求項1に記載の情報表現構造解析装置であって、
     前記抽出対象が複数であり、
     前記情報表現文法が、第1の前記抽出対象の位置が第2の前記抽出対象である情報または情報群と所定の位置関係にあることを表現する文法である、
     情報表現構造解析装置。
  7.  請求項1に記載の情報表現構造解析装置であって、
     前記抽出対象が複数であり、
     前記情報表現文法が、複数の前記抽出対象がいずれも所定の領域に属することを表現する文法である、
     情報表現構造解析装置。
  8.  請求項1に記載の情報表現構造解析装置であって、
     前記抽出対象が複数であり、
     前記情報表現文法が、複数の前記抽出対象の夫々の位置がいずれも所定の情報または情報群と所定の位置関係を有することを表現する文法である、
     情報表現構造解析装置。
  9.  請求項1に記載の情報表現構造解析装置であって、
     前記抽出対象が複数であり、
     前記情報表現文法が、第1の前記抽出対象が第2の前記抽出対象と所定の関係を有することを表現する文法である、
     情報表現構造解析装置。
  10.  請求項1に記載の情報表現構造解析装置であって、
     前記抽出対象が複数であり、
     前記情報表現文法が、第1の抽出対象および第2の抽出対象が、所定の情報または情報群と所定の関係を有することを表現する文法である、
     情報表現構造解析装置。
  11.  請求項1に記載の情報表現構造解析装置であって、
     前記サポート情報種別は、正規表現、単語辞書、メタ情報、HTML構造、単語の集合、および情報表現の構造のうちの少なくともいずれかである、
     情報表現構造解析装置。
  12.  請求項1に記載の情報表現構造解析装置であって、
     前記抽出対象および前記根拠情報を取得するための画面を生成してユーザに提示し、前記画面を介してユーザから前記抽出対象および前記根拠情報を受け付ける情報表現文法特定支援処理部を更に備え、
     前記記憶部は、前記情報表現文法特定支援処理部が取得した前記抽出対象および前記根拠情報を記憶する、
     情報表現構造解析装置。
  13.  請求項1に記載の情報表現構造解析装置であって、
     前記記憶部は前記非定型書類を記憶し、
     前記情報表現パターン生成部が生成した前記情報表現パターンを実行することにより前記非定型書類から前記抽出対象を取得し、前記非定型書類と抽出した前記抽出対象を示す情報とを含む画面を生成してユーザに提示する情報表現パターン検証部を更に備える、
     情報表現構造解析装置。
  14.  情報処理装置が、
     非定型書類における情報の表現の態様である情報表現と、
     前記情報表現から抽出しようとする情報である抽出対象と、
     前記情報表現から前記抽出対象を抽出する際の根拠となる情報である根拠情報と、
     を記憶するステップ、
     前記抽出対象および前記根拠情報に基づき、前記抽出対象の抽出元となる前記情報表現を記述している文法である情報表現文法を特定するステップ、
     前記情報表現からの前記抽出対象の抽出に際して用いる情報であるサポート情報の、前記情報表現の構造に基づく分類であるサポート情報種別を特定するステップ、
     前記情報表現文法と前記サポート情報種別との組合せ毎に、前記抽出対象を抽出する機能を実現するためのプログラムコードである情報表現パターンの生成に用いるテンプレートである情報表現テンプレートを記憶するステップ、
     前記情報表現について特定された、前記情報表現文法と前記サポート情報種別とに基づき、前記非定型書類からの前記抽出対象の抽出に用いる前記情報表現パターンの生成に用いる前記情報表現テンプレートを特定するステップ、および、
     特定した前記情報表現テンプレートに前記抽出対象および前記根拠情報を適用することにより前記情報表現パターンを生成するステップ、
     を実行する、情報表現構造解析方法。
  15.  請求項14に記載の情報表現構造解析方法であって、
     前記情報処理装置が、
     前記抽出対象および前記根拠情報を取得するための画面を生成してユーザに提示し、前記画面を介してユーザから前記抽出対象および前記根拠情報を受け付けるステップと、
     取得した前記抽出対象および前記根拠情報を記憶するステップと、
     を更に実行する、情報表現構造解析方法。
PCT/JP2022/010905 2021-04-08 2022-03-11 情報表現構造解析装置、および情報表現構造解析方法 WO2022215433A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/285,886 US20240184985A1 (en) 2021-04-08 2022-03-11 Information representation structure analysis device, and information representation structure analysis method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-065806 2021-04-08
JP2021065806A JP2022161196A (ja) 2021-04-08 2021-04-08 情報表現構造解析装置、および情報表現構造解析方法

Publications (1)

Publication Number Publication Date
WO2022215433A1 true WO2022215433A1 (ja) 2022-10-13

Family

ID=83546314

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/010905 WO2022215433A1 (ja) 2021-04-08 2022-03-11 情報表現構造解析装置、および情報表現構造解析方法

Country Status (3)

Country Link
US (1) US20240184985A1 (ja)
JP (1) JP2022161196A (ja)
WO (1) WO2022215433A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262577A (ja) * 2009-05-11 2010-11-18 Nec Corp 抽出規則作成システム、抽出規則作成方法及び抽出規則作成プログラム
US20200104354A1 (en) * 2018-10-01 2020-04-02 Abbyy Production Llc System and method of automatic template generation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262577A (ja) * 2009-05-11 2010-11-18 Nec Corp 抽出規則作成システム、抽出規則作成方法及び抽出規則作成プログラム
US20200104354A1 (en) * 2018-10-01 2020-04-02 Abbyy Production Llc System and method of automatic template generation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TOMITA, ICHIRO ET AL.: "The Method of Product Information Extraction from HTL Documents", IEICE TECHNICAL REPORT, KBSE, IEICE, JP, vol. 97, no. 502 (KBSE97-27), 22 January 1998 (1998-01-22), JP, pages 15 - 22, XP009540225 *

Also Published As

Publication number Publication date
US20240184985A1 (en) 2024-06-06
JP2022161196A (ja) 2022-10-21

Similar Documents

Publication Publication Date Title
KR102158352B1 (ko) 정책정보 문서의 요지 정보 제공 방법, 정책정보 제공 시스템, 이를 위한 컴퓨터 프로그램
US10360294B2 (en) Methods and systems for efficient and accurate text extraction from unstructured documents
US9864741B2 (en) Automated collective term and phrase index
JP7289047B2 (ja) ブロックに基づく文書メタデータの抽出のための方法、コンピュータ・プログラム及びシステム
US9256798B2 (en) Document alteration based on native text analysis and OCR
CN110770735B (zh) 具有嵌入式数学表达式的文档的编码转换
JP6505421B2 (ja) 情報抽出支援装置、方法およびプログラム
JP5315368B2 (ja) 文書処理装置
JP6622236B2 (ja) 発想支援装置及び発想支援方法
US11244109B2 (en) Information processing device and information processing method
JP2020113129A (ja) 文書評価装置、文書評価方法及びプログラム
EP4158498A1 (en) Constructing a computer-implemented semantic document
JP2010250439A (ja) 検索システム、データ生成方法、プログラムおよびプログラムを記録した記録媒体
WO2022215433A1 (ja) 情報表現構造解析装置、および情報表現構造解析方法
JP7364512B2 (ja) ラベル付与モデル生成装置、及びラベル付与モデル生成方法
KR102390009B1 (ko) Ai기반 구문분석 연구노트 생성 시스템
JP7416665B2 (ja) 対話システム、及び対話システムの制御方法
JP2019061522A (ja) 文書推薦システム、文書推薦方法および文書推薦プログラム
CN112699642A (zh) 复杂医疗文书的索引提取方法及装置、介质及电子设备
JP2021117759A (ja) テキスト情報編集装置及びテキスト情報編集方法
JP7468960B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2008293070A (ja) 文書解析システム、および文書解析方法、並びにコンピュータ・プログラム
JP2023120824A (ja) 文書分析システム、文書分析方法、及びプログラム
JP2022154561A (ja) 対話制御システム、および対話制御方法
JP2023072885A (ja) 文書構造化装置、文書構造化方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22784418

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18285886

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22784418

Country of ref document: EP

Kind code of ref document: A1