Document management system, document management method, and document management program
The document management system automates the extraction of item names and values from non-standardized logistics documents by using dictionary and type classification, improving efficiency and reducing manual registration efforts.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- LOGISTEED LTD
- Filing Date
- 2022-08-29
- Publication Date
- 2026-07-22
AI Technical Summary
In the logistics sector, documents exchanged among stakeholders for the distribution of goods are not standardized, leading to the challenge of manually registering various document formats to extract item values, which is time-consuming and inefficient.
A document management system that utilizes a processor and storage device to apply dictionary information, definition information, and item name type classification to automatically extract item names and values from documents, determining the appropriate extraction conditions based on the document's format and type.
Reduces the effort required to register format information for extracting data from documents in various formats, enhancing efficiency and accuracy in document processing.
Smart Images

Figure 0007893684000001 
Figure 0007893684000002 
Figure 0007893684000003
Abstract
Description
Technical Field
[0001] The present invention relates to a technique for managing documents such as forms.
Background Art
[0002] As a technique for extracting information of a desired item from a document, for example, there is a technique disclosed in JP-A-2019-96248 (Patent Document 1). In Patent Document 1, "The document processing apparatus functions as a document information registration unit, a determination information registration unit, a reception unit, a search unit, a display control unit, etc. by executing an attribute information attachment program stored in a storage device in a CPU as a control unit. The display control unit controls to display the character string searched by the search unit in the document data separately from other character strings." and "The determination information includes format registration information which is format information corresponding to the type of attribute information, and a character string corresponding to the type of attribute information. For example, for the attribute name "date" which is the type of attribute information, format information such as "YYYY / MM / DD", "MM / DD / YYYY", etc. is registered as determination information. Also, for the attribute name "customer name", format information such as "XX Corporation", "XX Co., Ltd.", "XX (Inc.)", "(Inc.) XX", etc. is registered as determination information. Also, for the attribute name "amount", format information such as "XX yen", "¥XX", "XX $", etc. is registered as determination information. Also, for the attribute name "document type", character strings such as "receipt", "invoice", etc. are registered as determination information. That is, as determination information, for the type of attribute information, frequently used format information or character strings can be registered." is described.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the logistics sector, many stakeholders are involved in the distribution of goods, including the buyer and shipper, the transporter, and, in the case of trade, the import and export operators. Generally, the documents exchanged among these stakeholders for the distribution of goods are not standardized. That is, each party uses general document creation software to create documents, but generally, the format of these documents is not unified.
[0005] To correctly extract item values (i.e., Values) corresponding to predetermined data item names (i.e., Keys) from documents in various formats, it is necessary to register a format that includes information about the location (e.g., row, column, etc.) of the Value associated with each Key within the document. However, since documents created by many stakeholders come in a variety of formats, manually registering these formats would be time-consuming.
[0006] Reference 1, mentioned above, describes registering the format of strings contained in a document, such as dates and company names, and then determining the item value corresponding to the item name (referred to as "attribute name" in Reference 1) of the string in the document based on that registration. However, in documents commonly used in the logistics field, there are cases where it is difficult to make determinations based on the format of the string, such as sections that list only numbers to indicate the number of items. Reference 1 does not describe how to make determinations in such cases. [Means for solving the problem]
[0007] To solve at least one of the above problems, the present invention provides a document management system comprising a processor and a storage device, wherein the storage device holds dictionary information relating to item names described in a document, definition information defining extraction conditions for text that are candidates for item values corresponding to the item names in the document, and item name type information classifying the item names into either a first type or a second type, the definition information includes information defining a plurality of extraction conditions for each item name, and the processor extracts item names from an input document based on the dictionary information and, based on each of the plurality of extraction conditions included in the definition information, For each of the extraction conditions, one or more Extract the text of the candidate values for the aforementioned item, Based on the item name type information, if the extracted item name is of the first type, it is determined that the extraction condition among the multiple extraction conditions in which the text extracted as a candidate for the item value matches the format of a predetermined text corresponding to the extracted item name is adopted; and based on the item name type information, if the extracted item name is of the second type, it is determined that the extraction condition among the multiple extraction conditions in which the number of candidate texts for the extracted item value is the largest is adopted. The method is characterized by generating document format information that includes information indicating the location where the item name is extracted from the document, and information indicating the location where the text of the candidate item value is extracted from the document based on the adopted extraction conditions. [Effects of the Invention]
[0008] According to one aspect of the present invention, the effort required to register format information for extracting information from documents in various formats can be reduced.
[0009] Other issues, configurations, and effects not mentioned above will be clarified by the following description of the embodiments. [Brief explanation of the drawing]
[0010] [Figure 1] This block diagram shows an example of the configuration of a document management system according to an embodiment of the present invention. [Figure 2] This block diagram shows an example of the hardware configuration of a computer system for realizing a document management system according to an embodiment of the present invention. [Figure 3A] This is a functional block diagram showing a first example of the configuration of a document management system according to an embodiment of the present invention. [Figure 3B] This is a functional block diagram showing a second example of the configuration of a document management system according to an embodiment of the present invention. [Figure 4A]This is an explanatory diagram showing the process flow for converting a document in a new format using a document management system according to an embodiment of the present invention. [Figure 4B] This is an explanatory diagram showing the process flow for converting a document in a registered format using a document management system according to an embodiment of the present invention. [Figure 5] This flowchart shows the entire process performed by the document management system according to an embodiment of the present invention. [Figure 6] This flowchart shows the process that the document management system according to an embodiment of the present invention performs to extract the Key. [Figure 7] This flowchart shows the process that the document management system according to an embodiment of the present invention performs to extract Value. [Figure 8] This flowchart shows the process that a document management system according to an embodiment of the present invention performs to select the optimal result. [Figure 9] This is an explanatory diagram showing a TSV file extracted by a document management system according to an embodiment of the present invention. [Figure 10] This is an explanatory diagram of the name matching dictionary stored in the name matching dictionary storage unit of a document management system according to an embodiment of the present invention. [Figure 11] This is an explanatory diagram of a definition file stored in the definition file storage unit of a document management system according to an embodiment of the present invention. [Figure 12] This is an explanatory diagram of the key type information held in the key type storage unit of a document management system according to an embodiment of the present invention. [Figure 13A] This is an explanatory diagram showing a first specific example of the optimal result selection process performed by the document management system according to an embodiment of the present invention. [Figure 13B] This is an explanatory diagram showing a first specific example of the optimal result selection process performed by the document management system according to an embodiment of the present invention. [Figure 13C] This is an explanatory diagram showing a first specific example of the optimal result selection process performed by the document management system according to an embodiment of the present invention. [Figure 14A]It is an explanatory diagram showing a second specific example of the optimal result selection process executed by the document management system according to an embodiment of the present invention. [Figure 14B] It is an explanatory diagram showing a second specific example of the optimal result selection process executed by the document management system according to an embodiment of the present invention. [Figure 14C] It is an explanatory diagram showing a second specific example of the optimal result selection process executed by the document management system according to an embodiment of the present invention. [Figure 15] It is an explanatory diagram of a JSON file extracted by the document management system according to an embodiment of the present invention. [Figure 16] It is an explanatory diagram of a format file extracted by the document management system according to an embodiment of the present invention. [Figure 17A] It is an explanatory diagram of the user interface provided by the document management system according to an embodiment of the present invention. [Figure 17B] It is an explanatory diagram of the user interface provided by the document management system according to an embodiment of the present invention. [Figure 17C] It is an explanatory diagram of the user interface provided by the document management system according to an embodiment of the present invention. [Figure 17D] It is an explanatory diagram of the user interface provided by the document management system according to an embodiment of the present invention. [Figure 17E] It is an explanatory diagram of the user interface provided by the document management system according to an embodiment of the present invention.
Mode for Carrying Out the Invention
[0011] Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0012] FIG. 1 is a block diagram showing an example of the configuration of a document management system according to an embodiment of the present invention.
[0013] The document management system 100 is a system that has document conversion functions, such as extracting desired item names and their corresponding item values from documents such as order forms or invoices.
[0014] For example, client 110 sends a request to the document management system 100 via the GUI (Graphical User Interface) of the web browser 111 to convert a document 112 that it holds. Here, client 110 is one of the parties involved in the distribution of goods (e.g., the business that sends the goods, the transportation company, etc.). Document 112 contains information related to the distribution of goods. In this embodiment, we mainly describe an example where document 112 is a purchase order (PO), but document 112 may be something else. Document 112 is, for example, a file created by general word processing software or spreadsheet software.
[0015] The Web server 101 of the document management system 100 includes a converter 102 that converts the document 112, which is the target of the conversion request, into a file containing pairs of item names (Key) and item values (Value) extracted from it, and responds to the client 110 with the result. In this embodiment, an example is shown in which the document 112 is converted into a JSON (JavaScript Object Notation) file, but it may be converted into a file in other formats.
[0016] Client 110 checks the file converted by the document management system 100 and sends a correction request if there are any errors. The document management system 100 corrects the file according to the correction request and stores it in the database 103.
[0017] Figure 2 is a block diagram showing an example of the hardware configuration of a computer system for realizing the document management system 100 according to an embodiment of the present invention.
[0018] The document management system 100 is comprised of, for example, a computer system 200. The computer system 200 includes a processor 201, memory (main memory) 202, auxiliary storage device 203, output device 204, input device 205, and communication interface (I / F) 206. These components are connected to each other by a bus. The memory 202 and auxiliary storage device 203 are storage devices that store programs and data used by the processor 201.
[0019] Memory 202 is composed of, for example, semiconductor memory and is mainly used to hold the currently running program and data. The processor 201 performs various processes according to the program stored in memory 202. Various functional units (see Figures 3A, 3B, etc.) are realized as the processor 201 operates according to the program.
[0020] The auxiliary storage device 203 is comprised of a large-capacity storage device, such as a hard disk drive or a solid-state drive, and is used to retain programs and data for extended periods. Examples of data stored in the auxiliary storage device 203 will be described later.
[0021] The processor 201 can consist of a single processing unit or multiple processing units, and may include one or more arithmetic units or multiple processing cores. The processor 201 can be implemented as one or more central processing units, microprocessors, microcomputers, microcontrollers, digital signal processors, state machines, logic circuits, graphics processing units, chip-on systems, and / or any device that manipulates signals based on control instructions.
[0022] Programs and data stored in the auxiliary storage device 203 are loaded into memory 202 at startup or when necessary, and the processor 201 executes the program, thereby executing various processes of the computer system 200 that constitute the document management system 100. Therefore, in the following description, the processes executed by the document management system 100 are processes executed by the processor 201 according to the program.
[0023] The input device 205 is a hardware device for the user to input instructions and information into the document management system 100. The output device 204 is a hardware device that presents various images for input and output, such as a display device or a printing device. The communication interface 206 is an interface for connecting to a network.
[0024] The computer system 200 may include two or more processors 201. Furthermore, the functions of the document management system 100 can be implemented across multiple computer systems 200. In this case, the multiple computer systems 200 communicate via a network. For example, some of the functions of the document management system 100 may be implemented on one computer system 200, while other functions may be implemented on other computer systems.
[0025] Figure 3A is a functional block diagram showing a first example of the configuration of a document management system 100 according to an embodiment of the present invention.
[0026] In the example shown in Figure 3A, the functions of the document management system 100 are implemented by the server device 300, and the functions of the client 110 are implemented by the client device 320. The server device 300 and the client device 320 communicate via the network 330.
[0027] The document management system 100 shown in Figure 3A consists of a server device 300 and a client device 320 that communicate via a network 330. The server device 300 includes a control unit 301, a communication unit 302, a row / column / text information extraction unit 303, a key extraction unit 304, a value extraction unit 305, a format registration unit 306, a determination unit 307, a name matching dictionary storage unit 308, a definition file storage unit 309, a key type storage unit 310, and a format storage unit 311.
[0028] The control unit 301 has the function of controlling the communication unit 302 to the determination unit 307, and the function of controlling access by each of these units to the name matching dictionary storage unit 308 to the format storage unit 311. The control unit 301 is realized in the computer system 200 that realizes the server device 300 when the processor 201 executes a program stored in the memory 202.
[0029] The communication unit 302 has the function of communicating with the client device 320 via the network 330. The communication unit 302 is realized in the computer system 200 that realizes the server device 300 by the processor 201 executing a program stored in memory 202 and controlling the communication interface 206.
[0030] The row / column / text information extraction units 303 to the determination units 307 perform processing to enable the server device 300 to function as a document management system 100. Details of these functions will be described later. The row / column / text information extraction units 303 to the determination units 307 are implemented in the computer system 200 that realizes the server device 300 by the processor 201 executing a program stored in memory 202. In other words, the processing performed by each of the above units in the following description is actually performed by the processor 201.
[0031] The name matching dictionary storage unit 308 to the format storage unit 311 are included in the database 103 in Figure 1 and are implemented by the storage area of the auxiliary storage device 203. These storage units store the information necessary to realize the functions of the document management system 100. The information stored in these storage units will be described later.
[0032] The client device 320 includes a control unit 321, a communication unit 322, a display unit 323, and an input unit 324.
[0033] The control unit 321 has the function of controlling the communication unit 322 to the input unit 324. The control unit 321 is realized in the computer system 200 that realizes the client device 320 by the processor 201 executing a program stored in the memory 202.
[0034] The communication unit 322 has the function of communicating with the server device 300 via the network 330. The display unit 323 has the function of displaying information to the user of the client 110. The input unit 324 has the function of receiving information input from the user of the client 110. The communication unit 322 to the input unit 324 are realized in the computer system 200 that realizes the client device 320 by the processor 201 executing a program stored in the memory 202 and controlling the communication I / F 206, output device 204, and input device 205, respectively.
[0035] Figure 3B is a functional block diagram showing a second example of the configuration of the document management system 100 according to an embodiment of the present invention.
[0036] The example in Figure 3B is the same as the example in Figure 3A, except that the row / column / text information extraction unit 303 to the determination unit 307 are included in the client device 320 instead of the server device 300. That is, in the example in Figure 3B, the functions of the document management system 100 are realized by the row / column / text information extraction unit 303 to the determination unit 307 of the client device 320 referencing information in the server device 300 as needed and executing processing. The row / column / text information extraction unit 303 to the determination unit 307 are realized by the processor 201 executing a program stored in memory 202 in the computer system 200 that realizes the client device 320.
[0037] Figure 4A is an explanatory diagram showing the process flow of a document management system 100 according to an embodiment of the present invention for converting a document in a new (i.e., unknown) format.
[0038] In the example shown in Figure 4A, the document management system 100 receives input for the document 401 that has been requested to be converted, and a document type 402 indicating the type of document. Document 401 is, for example, a file created by general word processing software or spreadsheet software, and corresponds to document 112 in Figure 1.
[0039] The row / column / text information extraction unit 303 of the document management system 100 creates information that associates the text contained in document 401 with the rows and columns in the document in which that text is written. For example, the row / column / text information extraction unit 303 may convert document 401 into an XML (Extensible Markup Language) file 403, and then further convert it into a TSV (Tab-Separated Values) file 403. The text to be extracted here is a string of characters written in the document, and may include symbols, etc.
[0040] Next, the Key extraction unit 304 and Value extraction unit 305 of the document management system 100 extract the Key and its corresponding Value from the TSV file 404 and generate a JSON file 405 that associates them. The format registration unit 306 generates a format file 406 as the document format, indicating the location from which each Key and its corresponding Value are extracted from the document 401, and registers it in the format storage unit 311. Details of these processes will be described later.
[0041] Note that conversion to XML and TSV files is just one example; the document may be converted to other file formats as long as information linking the text contained in document 401 to the rows and columns in the document in which that text is written can be obtained. Similarly, conversion to a JSON file is just one example; the document may be converted to other file formats as long as information linking item names (Keys) to item values (Values) can be obtained.
[0042] Figure 4B is an explanatory diagram showing the process flow of a document management system 100 according to an embodiment of the present invention, which converts a document in a registered (i.e., known) format.
[0043] In the example shown in Figure 4B, the document management system 100 receives the document 401 for which a conversion request has been made, and the format file 406 corresponding to that document 401. For example, document 401 may be input from client 110, and format file 406 may be read from format storage unit 311. Similar to the example shown in Figure 4A, document 401 is converted into an XML file 403 and a TSV file 404. The document management system 100 refers to the format file 406, extracts the Key and its corresponding Value from the TSV file 404, and generates a JSON file 405 that associates them.
[0044] Next, the details of the process for generating the JSON file 405 and the format file 406 from the tsv file 404 shown in Figure 4A will be explained with reference to Figures 5 to 8, etc.
[0045] Figure 5 is a flowchart showing the overall process performed by the document management system 100 according to an embodiment of the present invention.
[0046] First, the Key extraction unit 304 extracts the Key from the TSV file 404 by referring to the name matching dictionary (step 501). Details of this process will be described later with reference to Figure 6, etc. Next, the Value extraction unit 305 extracts the Value corresponding to each Key extracted in step 501 by referring to the definition file (step 502). Details of this process will be described later with reference to Figure 7, etc. Step 502 is executed for each of the Keys extracted in step 501.
[0047] Finally, the format registration unit 306 registers the format of the extracted document in the format storage unit 311 (step 503), and the process ends.
[0048] Figure 6 is a flowchart showing the process that the document management system 100 according to an embodiment of the present invention performs to extract the Key.
[0049] This process is performed in step 501 of Figure 5. First, the key extraction unit 304 refers to the tsv file 404 and the name matching dictionary stored in the name matching dictionary storage unit 308 to determine whether the text contained in the tsv file 404 matches the words registered in the name matching dictionary (step 601). If they match, the unit identifies the text as the key and determines the row number and column number corresponding to the text as the row number and column number of the key (step 602).
[0050] The key extraction unit 304 executes step S601 on all text contained in the tsv file 404 and all words registered in the name matching dictionary, and if a match is found, it executes step S602.
[0051] Figure 7 is a flowchart showing the process that the document management system 100 according to an embodiment of the present invention performs to extract Value.
[0052] This process is performed in step S502 of Figure 5. First, the Value extraction unit 305 refers to the TSV file 404, the definition file stored in the definition file storage unit 309, and the extracted Key, and extracts the Value corresponding to the Key from the TSV file 404 based on the number of difference rows and columns between the Key and Value described in the definition file (step 701). The Value extraction unit 305 performs step 701 for all difference row and difference column patterns described in the definition file. Details of the definition file and difference row and difference column patterns will be described later.
[0053] Next, the Value extraction unit 305 performs the selection of the optimal result (step 702). Details of this process will be described later with reference to Figure 8, etc.
[0054] Figure 8 is a flowchart showing the process that the document management system 100 according to an embodiment of the present invention performs to select the optimal result.
[0055] This process is performed in step S702 of Figure 7. First, the Value extraction unit 305 refers to the extracted Key and the Key type information stored in the Key type storage unit 310 to determine the type of the extracted Key (step 801). If the extracted Key is determined to be a Key of the first type, the Value extraction unit 305 refers to the definition file corresponding to the Key of the first type, extracts candidate Values based on the defined difference rows and difference columns, and determines whether the extracted candidate Values match the format of the text contained in the format storage unit 311 (step 802).
[0056] Here, the Value extraction unit 305 extracts candidate values for all difference rows and difference column patterns corresponding to the Key defined in the definition file, and determines whether each extracted candidate matches the format of each of the texts corresponding to the Key contained in the format storage unit 311.
[0057] Subsequently, the Value extraction unit 305 adopts the difference row and difference column patterns that contain Values that match the format of the text registered in the format storage unit 311 (step 803).
[0058] On the other hand, if in step 801 it is determined that the extracted Key is a second type of Key, the Value extraction unit 305 refers to the definition file corresponding to the second type of Key, extracts candidate Values based on the defined difference rows and columns, and counts the number of extracted candidate Values (step 804). Here, the Value extraction unit 305 extracts candidate Values for all difference row and difference column patterns corresponding to the Key defined in the definition file, and counts the number of extracted candidate Values for each difference row and difference column pattern.
[0059] Subsequently, the Value extraction unit 305 adopts the difference row and difference column pattern that has the largest number of extracted Value candidates (for example, the most) (step 805).
[0060] Figure 9 is an explanatory diagram showing a TSV file 404 extracted by the document management system 100 according to an embodiment of the present invention.
[0061] Figure 9 shows an example of a TSV file 404 extracted when document 401 is a purchase order. The TSV file 404 contains information that associates the text extracted from document 401 with the line number indicating the position of the line containing that text and the column number indicating the position of the column containing that text. The example in Figure 9 shows that the text "PURCHASE ORDER" is written in the 5th column of the 4th row of document 401. Similarly, the text extracted from each row and column is registered in the TSV file 404 along with the line number and column number.
[0062] Figure 10 is an explanatory diagram of the name matching dictionary stored in the name matching dictionary storage unit 308 of the document management system 100 according to an embodiment of the present invention.
[0063] The name matching dictionary 1000 shown in Figure 10 contains multiple rows, each row listing multiple texts used with the same meaning, separated by commas. For example, in the example in Figure 10, the first row contains five texts: "date", "DATE", "Date", "Date:", and "DATE:". These are all texts that may be included in a document as item names (Keys) to indicate that an item value (Value) represents a date, corresponding to an item value (Value) that represents a date itself, when the document contains information indicating a date. In this example, the text at the beginning of the row (in the example of the first row, "date" in the first column) is text that will be used as a standard data item in the definition file, etc., which will be described later.
[0064] Similarly, the name matching dictionary 1000 registers texts that may be included as keys in documents, such as "ponumber," "PO #," and "PO NUMBER" indicating the order number; "vendor," "VENDOR," and "BILL TO" indicating the seller; and "shipto," "SHIP TO," and "Deliver To" indicating the shipping destination, grouped by their meaning.
[0065] Here, we will explain an example of the process executed in step 601 of Figure 6 when the document management system 100 holds a matching dictionary 1000 as shown in Figure 10 and extracts a tsv file 404 as shown in Figure 9. The key extraction unit 304 extracts "PURCHASE ORDER" as one of the keys because the text "PURCHASE ORDER" in the 4th row, 5th column contained in the tsv file 404 is registered in the 2nd row of the matching dictionary 1000. Similarly, "DATE" in the 6th row, 7th column, "PO #" in the 7th row, 7th column, "ITEM #" in the 25th row, 4th column, "Description" in the 25th row, 5th column, "Quantity" in the 25th row, 7th column, "Unit Price" in the 25th row, 8th column, and "Amount" in the 25th row, 9th column are extracted as keys.
[0066] Figure 11 is an explanatory diagram of a definition file held in the definition file storage unit 309 of a document management system 100 according to an embodiment of the present invention.
[0067] The definition file 1100 shown in Figure 11 contains information indicating the relationship between the location of the Key in the document and the location of the corresponding Value. In the example in Figure 11, the relationship between the Key's location and the Value's location is represented by the difference between their respective row and column numbers.
[0068] Figure 11 shows an example of definition file 1100 when the document contains items such as "header" and "vendor," and below "header" there are further detailed items such as "date" and "ponumber." For convenience, the former items are referred to as major items, and the latter detailed items as minor items. In this example, the first line of definition file 1100 shows the key of the major item, "header," and the second line shows the key of the minor item, "date." The third line, "dictionary:1," indicates that the key "date" is listed on the first line of the matching dictionary 1000. The fourth line, "multiline:false," indicates that there is only one value corresponding to the key. The fifth line, "shift_row:0," indicates that the value corresponding to the key "date" is listed on the same line as the key. The sixth line, "shift_col:1", defines that the value corresponding to the key "date" is written in the column to the right of that key.
[0069] Note that the above example is just one pattern of difference rows and columns (for example, difference row and column pattern 1), and definition file 1100 may include other patterns. For example, definition file 1100 may include difference row and column pattern 2, which defines that the Value corresponding to the Key "date" is written in the row one position below the same column as the Key, and difference row and column pattern 3, which defines that the Value corresponding to the Key "date" is written in the column one position to the right of the row one position below the Key. The former is defined by "shift_row:1" and "shift_col:0", and the latter is defined by "shift_row:1" and "shift_col:1".
[0070] Similarly, one or more difference rows and difference column patterns are defined for other keys. Here, for keys where multiple values may be listed in the document corresponding to a single key, such as "Quantity" (standard data item is "qty") which indicates the quantity of goods, "multiline: true" is defined.
[0071] Figure 12 is an explanatory diagram of the key type information held in the key type storage unit 310 of the document management system 100 according to an embodiment of the present invention.
[0072] The Key type information 1200 shown in Figure 12 includes Key 1201 and Key type 1202. Key 1201 is the text of the Key extracted from the document (or the corresponding standard data item). Key type 1202 indicates the type of each Key. In this embodiment, a first type and a second type are defined as Key types.
[0073] The first type of key is one in which the text of the corresponding value has a specific format. For example, the value corresponding to the key "Date," which indicates a date, is generally written in the format yyyy / mm / dd or Month dd,yyyy. Therefore, it is possible to determine whether the text extracted as a candidate value corresponds to the key by checking whether it matches the format of pre-registered text.
[0074] On the other hand, the second type of key is one whose corresponding value does not have a specific format, such as a simple number. For example, the quantity and unit price of goods listed on an order form fall into this category. If only a number is listed for the quantity, it is difficult to determine based solely on that number whether it corresponds to the value of the key "Quantity" or the value of the key "Unit Price". In addition, generally, there may be multiple corresponding values for this type of key. For example, if multiple goods are ordered on a single order form, the value corresponding to the key "Quantity" may be multiple numbers, each representing the order quantity of each product, listed, for example, across multiple rows or columns.
[0075] Here, we will explain a specific example of the process shown in Figure 8.
[0076] Figures 13A to 13C are explanatory diagrams showing a first specific example of the optimal result selection process performed by the document management system 100 according to an embodiment of the present invention.
[0077] This is a specific example of the processing that occurs when the extracted Key is determined to be a Key of the first type in step 801 of Figure 8. In this example, as shown in Figure 13A, document 401 is a Purchase Order, and in a certain row and column of document 401, the text "DATE" is written, and in the column to the right of that row, the text "2022 / 2 / 4" is written. Also, in the row below the row where the text "DATE" is written, in the same column as the text "DATE", the text "PO #" is written, and in the column to the right of that row, the text "110000" is written. In this document 401, the Value corresponding to Key "DATE" is "2022 / 2 / 4" and the Value corresponding to Key "PO #" is "110000", but at the time the processing in Figure 8 is executed, the format of document 401 is unknown, so the above correspondence is unknown.
[0078] The definition file 1310 shown in Figure 13B contains three difference row and difference column patterns related to the key "DATE". This may be part of the definition file 1100 shown in Figure 11. Difference row and difference column pattern 1 defines that the Value is written in the same row as the Key, in the column to the right of the Key. According to this definition, the candidate Value extracted from document 401 in Figure 13A is "2022 / 2 / 4". Difference row and difference column pattern 2 defines that the Value is written in the same column as the Key, in the row one row below the Key. According to this definition, the candidate Value extracted from document 401 in Figure 13A is "PO #". Difference row and difference column pattern 3 defines that the Value is written in the row one row below the Key, in the column to the right of the Key. According to this definition, the candidate Value extracted from document 401 in Figure 13A is "110000".
[0079] In step 802 of Figure 8, the Value extraction unit 305 determines whether each extracted Value candidate matches a pre-registered text format. For example, if the text formats for Values corresponding to Key "DATE" are registered as "Month dd,yyyy", "yyyy / mm / dd", and "mm / dd / yy", the Value extraction unit 305 determines whether the extracted Value candidates match each format based on the difference row and difference column patterns.
[0080] As a result, as shown in Figure 13C, the Value candidate "2022 / 2 / 4" extracted based on the difference row and difference column pattern 1 matches the text format "yyyy / mm / dd". Therefore, in step 803, the Value extraction unit 305 adopts the difference row and difference column pattern 1 as the difference row and difference column pattern for the Key "DATE" of the document 401.
[0081] Figures 14A to 14C are explanatory diagrams showing a second specific example of the optimal result selection process performed by the document management system 100 according to an embodiment of the present invention.
[0082] This is a specific example of the processing when the extracted Key is determined to be a second type of Key in step 801 of Figure 8. In this example, as shown in Figure 14A, a row in document 401 contains the texts "Description", "Quantity", "Unit price", and "Amount". In the row below the same column as "Description", "Product A", "Product B", and "Product C" are listed. In the row below the same column as "Quantity", "(SETS.)", "100", "50", and "500" are listed. In the row below the same column as "Unit price", "(USD)", "100", " / SET", "150", " / SET", "10", and " / SET" are listed. In the row below the same column as "Amount", "(USD)", "10000", "7500", and "5000" are listed. In document 401, the values corresponding to the key "Quantity" are "100", "50", and "500". However, at the time the process in Figure 8 is executed, the format of document 401 is unknown, and therefore the above correspondence is also unknown.
[0083] The definition file 1410 shown in Figure 14B contains two difference row and difference column patterns related to the key "Quantity". This may be part of the definition file 1100 shown in Figure 11. Difference row and difference column pattern 1 defines that the first Value corresponding to the Key is extracted from the row immediately below the Key in the same column, and subsequent Values are extracted sequentially from the rows further down in the same column, until extraction ends when a blank row is found or when a grid line is crossed. According to this definition, the candidate Value extracted from document 401 in Figure 14A is "(SETS.)".
[0084] The difference row and difference column pattern 2 defines that for the first Value corresponding to the Key, only numbers are extracted from the row immediately below the Key in the same column, and for subsequent Values, only numbers are extracted sequentially from the rows further down in the same column, until the extraction ends when the bottom of document 401 is reached. According to this definition, the candidate Values extracted from document 401 in Figure 14A are "100", "50", and "500".
[0085] In step 804 of Figure 8, the Value extraction unit 305 counts the number of Value candidates extracted based on each difference row and difference column pattern. In the above example, as shown in Figure 14C, the number of Value candidates extracted based on difference row and difference column pattern 1 and difference row and difference column pattern 2 are 1 and 3, respectively. Therefore, in step 805, the Value extraction unit 305 adopts difference row and difference column pattern 2 as the difference row and difference column pattern for the Key "Quantity" of document 401.
[0086] Figure 15 is an explanatory diagram of a JSON file extracted by the document management system 100 according to an embodiment of the present invention.
[0087] Figure 15 shows a specific example: a JSON file 405 containing the Key and Value extracted from the TSV file 404 shown in Figure 9, when the TSV file 404 is extracted from document 401. For example, JSON file 405 contains information indicating that "2020 / 2 / 4" was extracted as the Value corresponding to the Key "date," and that "100," "50," and "500" were extracted as multiple Values corresponding to the Key "qty." Here, "date" and "qty" are standard data items corresponding to "Quantity" and "DATE" described in document 401, respectively.
[0088] Figure 16 is an explanatory diagram of a format file extracted by the document management system 100 according to an embodiment of the present invention.
[0089] Figure 16 shows a format file 406 corresponding to the example shown in Figure 15, as a concrete example. For example, format file 406 contains information indicating that the Value corresponding to Key "date" was extracted from the 6th row, 8th column of document 401, and that the Value corresponding to Key "qty" was extracted from the 27th row, 7th column of the 29th row, 7th column of the 31st row, 7th column of the 31st row, etc. In other words, when reading a document with the same format as document 401 in the future, this format file 406 can be used to read the text of the Value corresponding to each Key.
[0090] Figures 17A to 17E are explanatory diagrams of the user interface provided by the document management system 100 according to an embodiment of the present invention.
[0091] Specifically, Figures 17A to 17E are displayed, for example, by the display unit 323 of the client device 320.
[0092] Figure 17A shows an example of the home screen 1700. The home screen 1700 includes a menu display unit 1701 and a file list display unit 1705.
[0093] The menu display unit 1701 displays the home button 1702, the format registration button 1703, and the format selection / conversion button 1704. The home button 1702 is used to display the home screen 1700. The format registration button 1703 is used to register the format of a new document (i.e., a document with an unknown format). The format selection / conversion button is used to select a suitable format and convert the document when a document with a registered format is entered. The menu display unit 1701 in Figures 17B to 17E, which will be described later, is similar.
[0094] The file list display unit 1705 displays a list of files of documents returned by the document management system 100. For example, the document number that identifies each document, the document type that identifies the type of document (e.g., purchase order), the format of the source file, and the format of the converted file may be displayed. In addition, although omitted in Figure 17A, the date and time the conversion was performed and the status of whether the conversion has been completed may also be displayed.
[0095] Figure 17B shows an example of the conversion request screen 1710 when registering a format. The conversion request screen 1710 is the screen displayed when the format registration button 1703 is operated on the home screen in Figure 17A, and includes a menu display unit 1701 and a registration request unit 1711.
[0096] The registration request unit 1711 includes, for example, a document type input unit 1712, a format name input unit 1713, a file name input unit 1714, and a conversion button 1715. When the format of a document 401 to be converted to a JSON file is unknown to the user, the user enters the document type of the document 401 into the document type input unit 1712, enters the format name to be registered when the extracted format is registered into the format name input unit 1713, enters a file name to identify the document 401 into the file name input unit 1714, and operates the conversion button 1715. As a result, the execution of the process shown in Figure 4A is started for the document 401, and the processes shown in Figures 5 to 8 are executed for the extraction of Key and Value and the registration of the format based thereon.
[0097] Figure 17C shows an example of the correction judgment / request screen 1720 during format registration. The correction judgment / request screen 1720 is a screen displayed to correct the conversion result when the necessary information has been entered into the conversion request screen 1710 shown in Figure 17B and the document conversion has been performed, and it includes a menu display unit 1701 and a format correction unit 1721.
[0098] The format correction unit 1721 displays the Value corresponding to each Key obtained as a result of the conversion process. Since the conversion does not necessarily extract the correct Value for all Keys, the user can input correction instructions, such as entering the correct Value in the format correction unit 1721, if they determine that correction is necessary. The input correction instructions are reflected in the converted JSON file 405 and the format file 406.
[0099] Figure 17D shows an example of the conversion request screen 1730 when selecting a format and performing a conversion. The conversion request screen 1730 is the screen displayed when the format selection / conversion button 1704 is operated on the home screen in Figure 17A, and includes a menu display unit 1701 and a conversion request unit 1731.
[0100] The conversion request unit 1731 includes, for example, a format name input unit 1732, a file name input unit 1733, and a convert button 1734. If the format of the document 401 to be converted to a JSON file is known, the user enters a format name that identifies the format of the document 401 into the format name input unit 1732, enters a file name that identifies the document 401 into the file name input unit 1733, and operates the convert button 1734. This initiates the execution of the process shown in Figure 4B for the document 401. The conversion request unit 1731 may also display an image 1735 of the input document 401.
[0101] Figure 17E shows an example of the correction judgment / request screen 1740 when a format is selected and conversion is performed. The correction judgment / request screen 1740 is a screen that is displayed to correct the conversion result when the necessary information has been entered into the conversion request screen 1730 shown in Figure 17D and the document conversion has been performed, and it includes a menu display unit 1701 and a format correction unit 1741.
[0102] The format correction unit 1741 displays the Value corresponding to each Key obtained as a result of the conversion process. Since the conversion does not necessarily extract the correct Value for all Keys, the user can input correction instructions, such as entering the correct Value in the format correction unit 1721, if they determine that correction is necessary. The entered correction instructions are reflected in the converted JSON file 405.
[0103] Furthermore, the system of the embodiment of the present invention may be configured as follows.
[0104] (1) A document management system (e.g., document management system 100) comprising a processor (e.g., processor 201) and a storage device (e.g., at least one of memory 202 and auxiliary storage device 203), wherein the storage device holds dictionary information relating to item names (e.g., Key) described in a document (e.g., a name matching dictionary 1000 stored in a name matching dictionary storage unit 308), definition information defining extraction conditions for text that are candidates for item values (e.g., Value) corresponding to item names in a document (e.g., a definition file 1100 stored in a definition file storage unit 309), and item name type information classifying item names into either a first type or a second type (e.g., Key type information 1200 stored in a Key type storage unit 310), wherein the definition information holds multiple extraction conditions (e.g., multiple difference rows, difference column patterns) for each item name, and the definition information holds multiple extraction conditions (e.g., multiple difference rows, difference column patterns) The processor includes information defining the fields, and based on the dictionary information, extracts field names from the input document (e.g., step 501), extracts candidate field value texts based on each of the multiple extraction conditions included in the definition information (e.g., step 701), determines which of the multiple extraction conditions to adopt by applying a different determination method to the extracted field value candidate if the extracted field name is of a second type, compared to when the extracted field name is of a first type, based on the field name type information (e.g., steps 804-805), and generates document format information (e.g., format file 406) that includes information indicating the location where the field name was extracted from the document and information indicating the location where the candidate field value text was extracted from the document based on the adopted extraction condition (e.g., step 503).
[0105] This reduces the effort required to register format information for extracting information from documents in various formats.
[0106] (2) In (1) above, the processor extracts one or more candidate texts for item values for each extraction condition (for example, step 701), and if the extracted item name is an item name of the second type, it determines to adopt the extraction condition with the largest number of extracted candidate texts for item values among the multiple extraction conditions (for example, step 805).
[0107] This makes it possible to extract items in the correct format even when it is difficult to determine the format of the text of the extracted item value candidates, such as when the extracted item value candidates are simply a series of numbers.
[0108] (3) In (2) above, at least one of the multiple extraction conditions included in the definition information includes a termination condition for the process of extracting candidate text for item values (for example, the definition file 1410 shown in Figure 14B), and the processor extracts one or more candidate texts for item values until the termination condition is met.
[0109] This allows for the appropriate extraction of item values even when there are multiple item values corresponding to an item name.
[0110] (4) In (2) above, the extraction criteria are defined by the relationship between the location where the item name is extracted from the document and the location where candidate text for the item value corresponding to the item name is extracted from the document.
[0111] This allows for proper representation of the document's format.
[0112] (5) In (4) above, the positions of candidate text for item names and item values are defined by the row and column numbers in the document, and the second type of item name is an item name corresponding to multiple item values extracted from multiple rows or multiple columns in the document.
[0113] This allows for the appropriate extraction of the document format based on the number of candidate item values extracted.
[0114] (6) In (2) above, the second type of item name is an item name that corresponds to one or more item values that represent a numerical value.
[0115] This allows for the proper extraction of document formatting even when it is difficult to make judgments based on the text formatting of item values.
[0116] (7) In (2) above, the processor determines, based on the item name type information, that if the extracted item name is an item name of the first type, it will adopt the extraction condition among the multiple extraction conditions in which the text extracted as a candidate for the item value matches the format of a predetermined text corresponding to the extracted item name.
[0117] This allows for the appropriate extraction of the document format based on the text formatting of the extracted item values.
[0118] It should be noted that the present invention is not limited to the embodiments described above, and various modifications are included. For example, the embodiments described above are explained in detail for a better understanding of the present invention, and are not necessarily limited to those having all of the configurations described. Furthermore, it is possible to replace parts of the configuration of one embodiment with the configuration of another embodiment, and it is possible to add configurations from other embodiments to the configuration of one embodiment. In addition, it is possible to add, delete, or replace parts of the configuration of each embodiment with other configurations.
[0119] Furthermore, each of the above configurations, functions, processing units, and processing means may be implemented in hardware, either partially or entirely, by designing them as integrated circuits, for example. Alternatively, each of the above configurations and functions may be implemented in software by a processor interpreting and executing programs that implement each function. Information such as programs, tables, and files that implement each function can be stored in storage devices such as non-volatile semiconductor memory, hard disk drives, and SSDs (Solid State Drives), or in computer-readable non-temporary data storage media such as IC cards, SD cards, and DVDs.
[0120] Furthermore, the control lines and information lines shown are those deemed necessary for explanation purposes, and do not necessarily represent all control lines and information lines in the actual product. In practice, it can be assumed that almost all components are interconnected. [Explanation of symbols]
[0121] 100 Document Management Systems 110 clients 200 Computer Systems 201 Processor 202 memory 203 Auxiliary storage device 204 Output device 205 Input device 206 Communication Interface (I / F) 300 Server Devices 301, 321 Control Unit 302, 322 Communications Department 303 Row / Column / Text Information Extraction Unit 304 Key extraction part 305 Value extraction part 306 Format Registration Section 307 Judgment section 308 Name Matching Dictionary Memory Unit 309 Definition file storage unit 310 Key Type Storage Unit 311 Format storage unit 320 client devices 323 Display section 324 Input section
Claims
1. It is a document management system, It has a processor and a memory device, The storage device holds dictionary information relating to item names described in the document, definition information defining extraction conditions for candidate texts corresponding to the item names in the document, and item name type information classifying the item names into either a first type or a second type. The definition information includes information defining multiple extraction conditions for each item name. The aforementioned processor, Based on the aforementioned dictionary information, item names are extracted from the input document. Based on each of the multiple extraction conditions included in the definition information, one or more candidate texts for the item values are extracted for each extraction condition. Based on the item name type information, if the extracted item name is of the first type, it is determined that the extraction condition is adopted among the plurality of extraction conditions in which the text extracted as a candidate for the item value matches the format of a predetermined text corresponding to the extracted item name. Based on the item name type information, if the extracted item name is of the second type, it is determined that the extraction condition with the largest number of candidate texts for the extracted item value among the multiple extraction conditions will be adopted. A document management system characterized by generating document format information that includes information indicating the location where the item name is extracted from the document, and information indicating the location where the text of the candidate item value is extracted from the document based on the adopted extraction conditions.
2. A document management system according to Claim 1, At least one of the multiple extraction conditions included in the definition information includes a termination condition for the process of extracting text that is a candidate for the item value, The document management system is characterized in that the processor extracts text for one or more candidate item values until the termination condition is met.
3. A document management system according to Claim 1, A document management system characterized in that the extraction condition is defined by the relationship between the position from which the item name is extracted from the document and the position from which candidate text for the item value corresponding to the item name is extracted from the document.
4. A document management system according to claim 3, The positions of the candidate texts for the item name and item value are defined by the line number and column number in the document. A document management system characterized in that the item names of the second type described above are item names corresponding to multiple item values extracted from multiple rows or multiple columns in the document.
5. A document management system according to Claim 1, A document management system characterized in that the item names of the second type are item names corresponding to one or more item values that represent numerical values.
6. A document management method performed by a document management system, The aforementioned document management system includes a processor and a storage device. The storage device holds dictionary information relating to item names described in the document, definition information defining extraction conditions for candidate texts corresponding to the item names in the document, and item name type information classifying the item names into either a first type or a second type. The definition information includes information defining multiple extraction conditions for each item name. The aforementioned document management method is: The processor extracts item names from the input document based on the dictionary information, The processor extracts text for one or more candidate item values for each of the multiple extraction conditions included in the definition information, The processor determines, based on the item name type information, that if the extracted item name is an item name of the first type, it adopts the extraction condition from among the plurality of extraction conditions in which the text extracted as a candidate for the item value matches the format of a predetermined text corresponding to the extracted item name. The processor determines, based on the item name type information, that if the extracted item name is of the second type, it will adopt the extraction condition among the plurality of extraction conditions that has the largest number of candidate texts for the extracted item value. A document management method characterized in that the processor generates document format information including information indicating the location where the item name was extracted from the document, and information indicating the location where the text of a candidate item value was extracted from the document based on the adopted extraction conditions.
7. A document management program for controlling a document management system, The aforementioned document management system includes a processor and a storage device. The storage device holds dictionary information relating to item names described in the document, definition information defining extraction conditions for candidate texts corresponding to the item names in the document, and item name type information classifying the item names into either a first type or a second type. The definition information includes information defining multiple extraction conditions for each item name. The aforementioned document management program is A procedure for extracting item names from the input document based on the aforementioned dictionary information, A procedure for extracting text for one or more candidate item values for each of the multiple extraction conditions included in the definition information, A procedure for determining, based on the item name type information, that the extracted item name is of the first type, and that the extraction condition is adopted among the plurality of extraction conditions such that the text extracted as a candidate for the item value matches the format of a predetermined text corresponding to the extracted item name, A procedure to determine, based on the item name type information, that if the extracted item name is of the second type, the extraction condition with the largest number of candidate texts for the extracted item value among the multiple extraction conditions will be adopted. A document management program characterized by causing the processor to execute a procedure for generating document format information that includes information indicating the location where the item name is extracted from the document, and information indicating the location where the text of a candidate item value is extracted from the document based on the adopted extraction conditions.