WO2022215276A1 - データ抽出装置、データ抽出方法、データ抽出プログラム、データ抽出支援装置、データ抽出支援方法、データ抽出支援プログラム - Google Patents

データ抽出装置、データ抽出方法、データ抽出プログラム、データ抽出支援装置、データ抽出支援方法、データ抽出支援プログラム Download PDF

Info

Publication number
WO2022215276A1
WO2022215276A1 PCT/JP2021/021247 JP2021021247W WO2022215276A1 WO 2022215276 A1 WO2022215276 A1 WO 2022215276A1 JP 2021021247 W JP2021021247 W JP 2021021247W WO 2022215276 A1 WO2022215276 A1 WO 2022215276A1
Authority
WO
WIPO (PCT)
Prior art keywords
data extraction
data
file
spreadsheet
configuration
Prior art date
Application number
PCT/JP2021/021247
Other languages
English (en)
French (fr)
Inventor
ウィリアム スタイメル
真樹 廣▲瀬▼
ジェイソン リグドン
ジャコモ デレヴァ
Original Assignee
株式会社KPMG Ignition Tokyo
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 株式会社KPMG Ignition Tokyo filed Critical 株式会社KPMG Ignition Tokyo
Publication of WO2022215276A1 publication Critical patent/WO2022215276A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation

Definitions

  • the present invention relates to data extraction technology or data extraction support technology.
  • Patent Literature 1 discloses a technique for extracting necessary data from a spreadsheet file when importing the spreadsheet file created by spreadsheet software into a business system.
  • the data extraction range of the spreadsheet file is specified by cell numbers indicating the start position and end position. Specifically, the cell number "A2" is designated as the data extraction start position, and the cell number "E7" is designated as the end position.
  • Patent Document 1 As shown in FIG. 4, the user must manually set the data extraction range as shown in FIG. 6 when importing the spreadsheet file into the business system. If the data extraction range in Fig. 6, which is the start position "A2" and the end position "E7", is common to all spreadsheet files, setting work for each spreadsheet file is unnecessary, but there is a high degree of freedom in formatting. A wide variety of spreadsheet files created by spreadsheet software cannot be expected to have exactly the same start and end positions. As described above, in Japanese Patent Laid-Open No. 2002-200010, the degree of dependence on the user's manual setting work becomes high, and as a result, it becomes a bottleneck in improving the efficiency of the work of importing the spreadsheet file.
  • the present invention has been made in view of such circumstances, and aims to provide a data extraction device capable of efficiently extracting data from a spreadsheet file and a data extraction support device supporting efficient data extraction from a spreadsheet file. is to provide
  • a data extraction apparatus includes a configuration file search unit that searches a plurality of configuration files for a configuration file that matches attribute information of an input spreadsheet file; a data extraction unit for extracting data from the input spreadsheet file based on data extraction conditions defined in the configured configuration file.
  • This device includes a holding unit that holds a plurality of spreadsheet files and a plurality of data extraction conditions corresponding to each, and a configuration analysis unit that identifies a spreadsheet file similar in configuration to the input spreadsheet file in the holding unit. and an extraction condition generator for generating a data extraction condition designating data to be extracted from the input spreadsheet file based on the data extraction condition corresponding to the specified spreadsheet file.
  • data can be efficiently extracted from spreadsheet files.
  • FIG. 1 It is a functional block diagram of a data extraction device.
  • a spreadsheet file Here is an example of a spreadsheet file.
  • a screenshot of a list of configuration files is shown.
  • An example of a screen for creating a new configuration file is shown.
  • An example of a screen for creating a new configuration file is shown.
  • An example of a screen for creating a new configuration file is shown.
  • An example of a screen for creating a new configuration file is shown.
  • a specific example of a configuration file is shown.
  • 4 shows an example of a screen of an extraction result of the data extraction unit; 4 shows a flow of data extraction processing from a spreadsheet file based on a configuration file; 4 shows a modified example of a data extracting device according to a modified example.
  • FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified
  • FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. FIG. 11 shows a modified example of a configuration file new creation screen; FIG. A modification of the method for setting table extraction conditions is shown. A modification of the method for setting table extraction conditions is shown. It is a functional block diagram of a data extraction assistance device.
  • FIG. 1 is a functional block diagram of the data extraction device 10 according to the embodiment of the present invention.
  • the data extraction device 10 includes a spreadsheet file input unit 11, an attribute information acquisition unit 12, a configuration file search unit 13, a configuration file holding unit 14, an extraction condition acquisition unit 15, a data extraction unit 16, and a data storage unit.
  • a configuration file management unit 18 is provided.
  • These functional blocks are realized through cooperation between hardware resources such as the computer's central processing unit, memory, input device, output device, and peripheral devices connected to the computer, and software executed using them. . Regardless of the type of computer or installation location, each of the above functional blocks may be implemented using the hardware resources of a single computer, or may be implemented by combining hardware resources distributed among multiple computers. .
  • a spreadsheet file to be subjected to data extraction processing by the data extraction device 10 is input to the spreadsheet file input unit 11 .
  • a spreadsheet file is an electronic file or electronic document in a format that can be handled by spreadsheet software or a spreadsheet used for data recording, tabulation, analysis, etc., and is typically created by the spreadsheet software itself.
  • Figures 2 and 3 show examples of spreadsheet files created and published by the same entity.
  • the spreadsheet file in each figure has a grid-like data array. Specifically, a row number specified by consecutive numbers (1, 2, 3%) and a column number specified by consecutive letters (A, B, C%) are used as data input units. cell number is specified.
  • the character data "Rent” is entered in the cell with the cell number "F20”
  • the numerical data "1,000,000” is entered in the cell with the cell number "H20”.
  • the cell with cell number "G20” is merged or merged with the adjacent cell with cell number "F20", so the specification of one cell with cell numbers "F20” and “G20” is the specification of the other cell. , both of which specify the character data "rent”.
  • the attribute information acquisition unit 12 acquires attribute information of the spreadsheet file input to the spreadsheet file input unit 11. Attribute information of a spreadsheet file includes a type and a target entity, which are specified by a type specifying section 121 and an entity specifying section 122, respectively.
  • the type or type of spreadsheet file identified by the type identification unit 121 is not limited, but examples include bills, property management reports, CAPEX (capital expenditure) lists, and bank statements. These types may be determined by the type identification unit 121 based on a predetermined rule, or the type identification unit 121 (machine-learned model) as artificial intelligence that has previously performed machine learning using exhaustive training data It may be determined autonomously, or may be input by the user when the spreadsheet file is input to the spreadsheet file input unit 11 . Note that when the spreadsheet file includes a plurality of sheets, the type is specified for each sheet. For example, if the spreadsheet file of the asset management report includes multiple sheets, the type such as "executive summary of asset management report" is specified for the sheet in FIG. A type such as "detailed list" is specified.
  • the type identification unit 121 identifies the type of the spreadsheet file as “ It can be identified as “wealth management report” or "executive summary of wealth management report”.
  • the type identification unit 121 identifies the type of the spreadsheet file It can be specified as “asset management report” or "payment details list of asset management report”.
  • the target entity of the spreadsheet file specified by the entity specifying unit 122 may be determined autonomously by the entity specifying unit 122 based on the spreadsheet file input to the spreadsheet file input unit 11.
  • the user may input when inputting the spreadsheet file to the input unit 11 .
  • the entity identification unit 122 can identify the entity as the target entity of the spreadsheet file.
  • the target entity can be identified based on the "creator” and "storer” information recorded in the property information of the spreadsheet file.
  • the target entity for real estate and other specific assets such as buildings is not limited to individuals or corporations such as owners, users, managers, etc., but may be the specific assets themselves.
  • “Excel Marauder Building” in cell number "K1” may be the target entity
  • “Beethoven House” in cell number "B1” may be the target entity.
  • the entity specifying unit 122 may set the entity specified at the time of login as the target entity.
  • the spreadsheet file input unit 11 may acquire a spreadsheet file of a specific entity from a holding unit that holds spreadsheet files for each entity. In this case, the entity identification unit 122 may set the specific entity as the target entity.
  • the configuration file search unit 13 searches for a configuration file that matches the attribute information of the spreadsheet file acquired by the attribute information acquisition unit 12 from among the multiple configuration files held in the configuration file holding unit 14 .
  • each configuration file stores the document type corresponding to the type identified by the type identification unit 121 and the target entity identified by the entity identification unit 122. It consists of attribute information including corresponding entities and data extraction conditions including single item extraction conditions and table extraction conditions. The details of these pieces of information that make up each configuration file will be described later.
  • the extraction condition acquisition unit 15 acquires from the configuration file holding unit 14 the configuration file obtained as a result of the search by the configuration file search unit 13 or the data extraction condition defined in the configuration file.
  • the data extraction unit 16 extracts data from the spreadsheet file input by the spreadsheet file input unit 11 based on the configuration file or the data extraction conditions acquired by the extraction condition acquisition unit 15 .
  • the data storage unit 17 stores the data extracted by the data extraction unit 16 in the business system server 20 outside the data extraction device 10 .
  • the business system provided by the business system server 20 is not limited, but is exemplified by accounting, taxation, marketing, sales, purchasing, human resources, legal affairs, manufacturing, distribution, and settlement.
  • the screen examples shown below are displayed on the display of an information communication device 30 such as a computer, tablet, or smart phone that can access each functional block of the data extraction device 10 from outside the data extraction device 10. If a display is provided, it may be displayed.
  • an information communication device 30 such as a computer, tablet, or smart phone that can access each functional block of the data extraction device 10 from outside the data extraction device 10. If a display is provided, it may be displayed.
  • FIG. 4 shows a screen example of a list of configuration files held in the configuration file holding unit 14.
  • the configuration file is described as "Mapping”, and three configuration files "My Mapping 03", “My Mapping 02", and "My Mapping 01" are displayed.
  • Each configuration file includes an active button 41, a test button 42, a configuration file name 43, a document type 44, a document subtype 45, a last saved date and time 46, an edit button 47, a copy button 48, and a delete button.
  • a button 49 is displayed.
  • the active button 41 switches between active and inactive states of the configuration file.
  • “My Mapping 03" and “My Mapping 02" are active, and "My Mapping 01" is inactive.
  • a configuration file in an active state can be searched by the configuration file search unit 13 and the data extraction conditions can be acquired by the extraction condition acquisition unit 15 .
  • a configuration file in an inactive state cannot be searched by the configuration file search unit 13 and the data extraction conditions cannot be acquired by the extraction condition acquisition unit 15 .
  • the test button 42 executes a test for extracting data from the test spreadsheet file by applying the data extraction conditions (described later) of the configuration file. Note that uploading of a spreadsheet file for testing, etc. can be performed from the area 421 at the top of the screen.
  • the configuration file name 43 displays the configuration file names "My Mapping 03", “My Mapping 02", and "My Mapping 01".
  • a triangular detailed display icon 431 is displayed in front of the configuration file name 43, and when this icon is clicked on the screen, detailed information 51 to 53, which will be described later, is displayed. As shown in the figure, when the detailed display icon 431 is a triangle pointing downward, the detailed information 51 to 53 are displayed, and when the detailed display icon 431 is a triangle pointing right, the detailed information 51 to 53 are not displayed.
  • the document types and subtypes displayed in the document type 44 and document subtype 45 correspond to the types or types of spreadsheet files identified by the type identification unit 121 described above.
  • the configuration file to be applied to the spreadsheet file is matched by matching the type of spreadsheet file identified by the type identification unit 121 with the document type 44 and document subtype 45 defined in the configuration file of FIG. is retrieved by the configuration file retrieval unit 13 .
  • the term "document” also means each sheet. That is, a spreadsheet file, which is itself a document, contains multiple sheets as multiple documents.
  • the date and time last saved 46 displays the date and time when the configuration file was last saved.
  • the edit button 47 functions as a flow line for editing existing configuration files.
  • the copy button 48 functions as a flow line for copying existing configuration files.
  • the delete button 49 functions as a flow line for deleting existing configuration files.
  • the detailed information displayed by the detailed display icon 431 includes the last saver 51 , remarks 52 and entity 53 .
  • Last Saved By 51 displays the name of the last saver of the configuration file.
  • Remarks 52 displays comments or the like entered for the configuration file.
  • the entity 53 corresponds to the target entity of the spreadsheet file specified by the entity specifying unit 122 described above. As will be described later, by matching the target entity of the spreadsheet file specified by the entity specifying unit 122 with the entity 53 defined in the configuration file of FIG. 13. Note that as shown, entity 53 may include multiple different entities. That is, one configuration file can be applied to multiple entities, eliminating the need to create different configuration files for each entity.
  • the configuration file search unit 13 matches the type specified by the type specifying unit 121 with the document type 44 and the document subtype 45 for the spreadsheet file input by the spreadsheet file input unit 11, and also matches the entity specifying unit.
  • the target entity identified by 122 is matched with entity 53 .
  • a plurality of configuration files in which all the information of the document type 44, the document subtype 45, and the entity 53 overlap are active, a plurality of configuration files are hit as a result of the search by the configuration file search unit 13. It may get lost.
  • the configuration file holding unit 14 displays a warning screen to the effect that there is a conflict between a plurality of configuration files. Display it on top to prompt the user to reconsider.
  • the configuration file management unit 18 creates a new configuration file by communicating with the user's information communication device 30 and registers it in the configuration file holding unit 14 .
  • the configuration file management unit 18 causes the display of the information communication device 30 to display new creation screens as shown in FIGS.
  • the configuration file management unit 18 receives information input by the user to the displayed new creation screen, and generates a configuration file as follows based on the received information.
  • the configuration file management unit 18 receives an instruction to update an existing configuration file from a user, and updates the configuration file according to the instruction.
  • FIG. 5 shows a basic information input area 61 and an entity addition area 62.
  • the basic information input area 61 includes a configuration file name input portion 611 , a remarks input portion 612 , a document type input portion 613 and a document subtype input portion 614 .
  • An arbitrary name for the configuration file is entered in the configuration file name input section 611 .
  • the name of the configuration file entered here is displayed in the configuration file name 43 in FIG. Any comment or the like regarding the configuration file is entered in the remarks input section 612 .
  • the remarks of the configuration file entered here are displayed in remarks 52 in FIG.
  • the type of the target document of the configuration file is selected from the drop-down list and input.
  • the type of the target document of the configuration file entered here is displayed in document type 44 in FIG.
  • the subtype of the target document of the configuration file is selected from a drop-down list and input.
  • a subtype is a subtype of the type input in the document type input section 613 , and a dropdown list in the document subtype input section 614 is automatically generated according to the input in the document type input section 613 .
  • the subtype of the target document of the configuration file entered here is displayed in the document subtype 45 of FIG.
  • the entity addition area 62 includes an entity selection section 621, an add button 622, an entity list 623, and a delete button 624.
  • An entity selection section 621 selects an entity to be added from a drop-down list.
  • the add button 622 is pressed while the entity to be added is selected in the entity selection section 621 , the entity is added to the entity list 623 .
  • Each entity in entity list 623 can be deleted by pressing delete button 624 . Entities added to entity list 623 appear in entity 53 in FIG.
  • FIG. 6 shows a single item extraction condition setting area 63 for setting a single item extraction condition as a first type data extraction condition.
  • the single item extraction condition setting area 63 includes a standard item (Standard Items) setting portion 631, a sheet designation portion 632, a reference cell designation method designation portion 633, a cell number designation portion 634, a keyword designation portion 635, and a keyword designation portion 635.
  • a position specifying portion 636 and a relative distance specifying portion 637 are included.
  • a standard item is a data item (data item) that the user of the data extraction device 10 wants to extract from the input spreadsheet file.
  • Each type of document has or is associated with a predetermined set of standard items. For example, from an expense report, extract the issue date, date in the table, item, and amount as standard items. From the revenue report, extract the issue date, the date in the table, the revenue source, and the amount as standard items. There are three types of standard items:
  • Each document has only one value for this standard item. For example, issue date.
  • Series standard items Series standard item values are usually stored in rows or columns of a table in a document. For example date and amount. Series standard items belonging to the same table usually have the same length. However, the length itself may vary from document to document. For example, there may be 3 expense items in the last month's expense report and 10 expense items in the current month's expense report. In this case, the number of date and amount values extracted from the last month's expense report is three, and the number of date and amount values extracted from the current month's expense report is ten.
  • Calculated standard item This standard item can be a single item or a series, but is not included in the document. Therefore, it is not directly extracted from the document. This standard item is calculated from another standard item. For example, Total is a single calculated standard item calculated from a series standard item of amount.
  • the data extraction device 10 extracts data corresponding to standard items from the input spreadsheet file and registers the extracted data in the business system server 20 (database). That is, the business system server 20 stores data values of standard items. It can be said that the configuration file holds rules specifying which data contained where in the spreadsheet file should be extracted as which standard item. When specifying the calculated standard item as an extraction target in the configuration file, the calculation formula is recorded in the configuration file.
  • a single item extraction condition is a condition for extracting data from a single cell in a spreadsheet file.
  • the data of the standard item "Property Name" (property name) set in the standard item setting section 631 is extracted from a single cell. That is, for the spreadsheet file in Figure 2, the conditions for extracting the property name "Excel Marauder Building” in the single cell “K1" or “H8" are set, and for the spreadsheet file in Figure 3, the single A condition is set for extracting the property name "Beethoven House” in the cell "B1".
  • FIG. 6 there may be a plurality of single item extraction condition setting areas 63.
  • FIG. 6 for example, in addition to the illustrated single item extraction condition setting area 63 for "Property Name", there may be a single item extraction condition setting area 63 for "at the time of creation”. Regarding “at the time of creation”, the conditions to extract "March - 2021" from the single cell "K4" in Figure 2 and "Date created: 2020/08/17” from the single cell "P1" in Figure 3 is set.
  • the standard item setting section 631 sets a single standard item to be extracted.
  • standard items that the standard user wants to extract are estimated and displayed in the standard item setting section 631 in advance according to the information input in the basic information input area 61 and the entity addition area 62 in FIG.
  • “asset management report” is input in the document type input section 613
  • “Property Name” and “at the time of creation” in the above example are displayed in advance in the standard item setting section 631 .
  • “expense report”, "income report”, etc. are input in the document type input field 613 or the document subtype input field 614, "issuance date” etc. are displayed in the standard item setting field 631 in advance.
  • standard items that the user presumes to want to extract from documents of a specific type or subtype may be determined and displayed in the standard item setting section 631 in advance.
  • the user can edit, delete, add, etc. the standard items displayed in advance in the standard item setting section 631 on the screen.
  • the sheet designation section 632 designates a sheet containing a single standard item to be extracted. Specifically, the name of the sheet containing the single standard item to be extracted is selected from the drop-down list and input to the sheet designation section 632 .
  • the name of the sheet input here constitutes a sheet designation condition for designating the sheet from which data should be extracted.
  • a reference cell specification method specification unit 633 specifies a method for specifying a reference cell in data extraction.
  • a reference cell is a cell that serves as a reference during data extraction. cell.
  • "specify by cell number” or “specify by keyword” is selected from a drop-down list.
  • all the designating sections 634 to 637 are displayed at the same time under the reference cell designating method designating section 633, but it is preferable to display only the related designating sections according to the selection of the reference cell designating method designating section 633.
  • the cell number designation section 634 is displayed (designation sections 635 to 637 are not displayed), and "designation by keyword” is used to designate the reference cell.
  • a keyword designating portion 635, a keyword position designating portion 636, and a relative distance designating portion 637 are displayed (the designating portion 634 is not displayed).
  • the cell number specifying unit 634 specifies the reference cell by the cell number of the spreadsheet file.
  • the reference cell is a single cell, there are cases where a plurality of cells are merged into one cell. cell number) can be specified.
  • the single cell with the property name "Excel Marauder Building" in FIG. 2 is a combination of multiple cells with cell numbers "K1" to "T1".
  • the cell range “K1” to “T1” should be input to the cell number specifying section 634 .
  • one or more arbitrary cell numbers included in the cell range “K1” to “T1” may be input to the cell number specifying section 634.
  • the information input to the cell number designation section 634 constitutes a cell number designation condition for designating a reference cell according to the cell number of the spreadsheet file.
  • the cell number designation condition input to the cell number designation section 634 constitutes the reference cell designation condition for designating the reference cell in data extraction.
  • the reference cell in this case is the single cell itself from which data is to be extracted, and data is extracted from the reference cell specified by the cell number specifying section 634 .
  • the data of the property name "Excel Marauder Building” in FIG. 2 is extracted from the spreadsheet file.
  • the reference cell is designated by a keyword.
  • the keyword “Building Name” is input to the keyword designation section 635 .
  • the keyword position specifying section 636 specifies the position (cell number) or range containing the keyword input to the keyword specifying section 635 . For example, regarding the spreadsheet file in FIG. Enter “Column” "B” and “D” respectively. As a result, the keyword “Building Name” is searched in columns “B" to "D" of the spreadsheet file in Figure 2, and the cell with cell number "B8" that actually contains the keyword "Building Name” is identified as the reference cell. be. In this way, the information input to the keyword specifying section 635 and the keyword position specifying section 636 constitutes a reference cell specifying condition and a keyword specifying condition for specifying a reference cell using a keyword.
  • the relative distance specification unit 637 sets a relative distance specification condition for specifying a single cell to be extracted from data by relative distance from the reference cell.
  • the data for the specific building name "Excel Marauder Building” to be extracted is in cell number "H8". . That is, the cell “H8”, which is offset by six cells to the right from the reference cell “B8", is the single cell to be extracted.
  • “6" rightward offset
  • "0" downward offset
  • the table extraction condition setting area 64 includes a standard item setting portion 641, a sheet specifying portion 642, a table arrangement specifying portion 643, a reference cell specifying method specifying portion 644, a cell number specifying portion 645, a keyword specifying portion 646, A keyword position designator 647 , a relative distance designator 648 , a standard item position designator 649 , and a table end position designator 650 are included.
  • Table extraction conditions are conditions for extracting data from multiple cells included in the table of the spreadsheet file.
  • a table is a row or column of data arranged continuously, and is a rectangular area defined by the top left corner cell as the table start position and the bottom right corner cell as the table end position.
  • the spreadsheet file in FIG. 3 includes a table in which data are arranged continuously along the column direction (vertical direction in FIG. 3) in the area below row "6". The start position and end position of the table can be determined arbitrarily. This is the largest possible table.
  • FIGS. 7 and 8 there are multiple table extraction condition setting areas 64 because a single spreadsheet file may contain a plurality of tables from which data is to be extracted. may
  • the standard item setting section 641 sets the series standard items to be extracted from the table.
  • a table containing numerical data has a total value display area for displaying total values such as subtotals and totals, in addition to a normal table area in which data to be aggregated is continuously arranged. As will be described later, the data in the normal table area can be extracted collectively in a rectangular range, but the data in the total value display area must be extracted from a single cell. is more efficient.
  • series standard items such as the amount that the standard user wants to extract from the table are set according to the information input in the basic information input area 61 and the entity addition area 62 in FIG. is estimated and displayed in the standard item setting portion 641 in advance.
  • two standard items "Dates” and “Amounts” are displayed in the standard item setting section 641 in advance.
  • the user can edit, delete, add, etc. the series standard items previously displayed in the standard item setting section 641 on the screen.
  • a specific extraction method for series standard items is designated by a standard item position designation section 649, which will be described later.
  • the sheet specifying section 642 specifies the sheet containing the table to be extracted. Specifically, the name of the sheet containing the table to be extracted is selected from the drop-down list and input to the sheet designation section 642 .
  • the name of the sheet input here constitutes a sheet designation condition for designating the sheet from which data should be extracted.
  • the table arrangement designation part 643 designates the arrangement direction of the table to be extracted. Specifically, select "row oriented" or "column oriented" from the drop-down list. For example, when the spreadsheet file in FIG. 3 including a column-oriented table is to be extracted, “column-oriented” is selected in the table arrangement designation section 643 .
  • the selection result of the table arrangement designation section 643 affects the standard item position designation section 649, which will be described later.
  • a reference cell specification method specification unit 644 specifies a method of specifying a start reference cell related to the start position of table extraction.
  • the start reference cell is a reference cell when starting table extraction. are the cells separated by the relative distance specified by .
  • "specify by cell number” or "specify by keyword” is selected from a drop-down list.
  • designation sections 645 to 648 are simultaneously displayed below the reference cell designation method designation section 644, but it is preferable to display only relevant designation sections according to the selection of the reference cell designation method designation section 644.
  • FIG. 7 designation sections 645 to 648 are simultaneously displayed below the reference cell designation method designation section 644, but it is preferable to display only relevant designation sections according to the selection of the reference cell designation method designation section 644.
  • the cell number designation section 645 is displayed (designation sections 646 to 648 are not displayed), and "designation by keyword” is used to designate the reference cell.
  • a keyword designating portion 646, a keyword position designating portion 647, and a relative distance designating portion 648 are displayed (the designating portion 645 is hidden).
  • the starting reference cell is specified by the cell number of the spreadsheet file.
  • the cell with the cell number "C7" is specified as the start reference cell of the table in FIG.
  • the information input to the cell number designating section 645 constitutes a start reference cell designation condition for designating a start reference cell relating to the start position of table extraction.
  • the start reference cell in this case is the extraction start position of the table itself, and data is extracted from a plurality of cells included in a rectangular range between the start reference cell "C7" and the extraction end position of the table, which will be described later.
  • the keyword designation section 646 designates a start reference cell by a keyword.
  • the keyword “list” is input to the keyword designation section 646 .
  • the keyword position specifying portion 647 specifies the position (cell number) or range containing the keyword input to the keyword specifying portion 646 .
  • the keyword “list” input to the keyword designation section 646 is included in the range of columns “B” and “C”. Enter “Column” "B” "C”.
  • the keyword “list” is searched in columns “B” and “C” of the spreadsheet file in FIG. 3, and the cell with the cell number "B3" that actually contains the keyword "list” is specified as the starting reference cell.
  • the information input to the keyword specifying section 646 and the keyword position specifying section 647 constitute starting reference cell specifying conditions for specifying a starting reference cell by a keyword.
  • the relative distance specification unit 648 sets relative distance specification conditions for specifying the extraction start position of the table according to the relative distance from the start reference cell.
  • the extraction start position of the table is, for example, the cell with cell number "C7" for the start reference cell with cell number "B3" containing the keyword "list”.
  • the extraction start position of the table is the cell “C7” which is offset by one cell to the right and four cells downward from the start reference cell "B3".
  • "1" (rightward offset) and "4" (downward offset) in the two input fields of the relative distance designation section 648, "1" cell is shifted to the right from the reference cell "B3".
  • the standard item position specifying section 649 specifies the position or range including the series standard items “Dates” and “Amounts” set in the standard item setting section 641 .
  • the input support information "What column/row is the standard item in? (e.g. A/1)" is written above the input field of the standard item position designation portion 649, but FIG.
  • a column-oriented table such as , it suffices to specify a column number
  • a row-oriented table it suffices to specify a row number.
  • the table end position specifying section 650 specifies the extraction end position of the table paired with the extraction start position of the table specified by each of the specification sections 644 to 648 .
  • the extraction start position of the table is uniquely determined as "C7", etc., but the extraction end position of the table is recorded in the table. It cannot be determined uniquely because it depends on the number of data. Therefore, the table end position specifying section 650 can set conditions for specifying the extraction end position of the table more flexibly and comprehensively than the specifying sections 644 to 648 that specify the extraction start position of the table.
  • the table end position specifying portion 650 includes a reference cell specifying method specifying portion 651, a keyword specifying portion 652, a keyword position specifying portion 653, a relative distance specifying portion 654, a condition delete button 655, a condition add button 656, and a condition A calculation unit 657 is included.
  • the reference cell specification method specification portion 651, the keyword specification portion 652, the keyword position specification portion 653, and the relative distance specification portion 654 are equivalent to the reference cell specification method specification portion 644, the keyword specification portion 646, the keyword position specification portion 647, the relative distance specification portion 647, and the relative distance specification portion 654, respectively.
  • the extraction end position of the table is designated by a keyword in the same manner as the designating section 648 .
  • the information specified by the keyword specifying section 652 and the keyword position specifying section 653 constitutes an end reference cell specifying condition for specifying the end reference cell related to the end position of table extraction by a keyword, and is specified by the relative distance specifying section 654.
  • the obtained information constitutes a relative distance specifying condition for specifying the extraction end position of the table according to the relative distance from the end reference cell.
  • the keyword “total” is input in the keyword designation section 652, and the keyword position designation section 653 inputs "Column”, “C", "C” ( Since the search target cell “C107” is not merged, enter only “C” for the column number).
  • the keyword “total” is retrieved in the "C” column of the spreadsheet file in FIG. 3, and the cell with the cell number "C107" that actually contains the keyword “total” is specified as the end reference cell.
  • the cell “O106" at the extraction end position of the table is 12 cells to the right and -1 cell downward (upward) from the end reference cell "C107" specified by the keyword specifying section 652 and the keyword position specifying section 653. is offset by 1 cell). Therefore, by entering "12" (rightward offset) and "-1" (downward offset) in the two input fields of the relative distance designation field 654, "12" is shifted rightward from the end reference cell "C107". You can specify the cell and the cell "O106" offset by "-1" cells downward as the extraction end position of the table.
  • the extraction end position of the table can be automatically specified regardless of the number of data recorded in the table, and a plurality of cells between the extraction start position and the extraction end position can be efficiently extracted. data can be extracted to
  • row “106" can be specified as the extraction end row of the table. Also, if you specify row “7” as the row to search for blank cells, cell “P7” will be found as a blank cell. Therefore, the "O" column can be identified as the extraction end column of the table (excluding "Remarks” in the "P” column).
  • rows “1" to “6” above the extraction start position "C7” of the previously specified table are excluded when searching in the column direction (vertical direction in Fig. 3), Columns “A” to “B” on the left of the extraction start position "C7” of the previously identified table are excluded during the search in the row direction (horizontal direction in FIG. 3).
  • a set of information specified by each of the specifying sections 651 to 654 constitutes one table extraction end condition.
  • One of the table extraction end conditions shown in the figure is given an ID or name of "Table End 01".
  • An existing table extraction end condition can be deleted by a condition deletion button 655 .
  • a condition addition button 656 allows creation and addition of a new table extraction end condition.
  • a plurality of table extraction end conditions can be combined by logical operators such as "and" and "or”.
  • the table end position specifying unit 650 can set conditions for specifying the extraction end position of the table more flexibly and comprehensively than the specification units 644 to 648 that specify the extraction start position of the table.
  • FIG. 9 shows a specific example of a configuration file, with the same reference numerals used for elements that correspond to those described with respect to FIGS.
  • a configuration file search unit 13 searches for a configuration file that matches the attribute information of the spreadsheet file acquired by the attribute information acquisition unit 12 from among a plurality of configuration files held in the configuration file holding unit 14. do. Specifically, the type of the spreadsheet file specified by the type specifying unit 121 is matched with the input information of the document type input unit 613 and the document subtype input unit 614 in FIG. By matching the target entity of the calculation file with the input information of the entity list 623 of FIG.
  • the extraction condition acquisition unit 15 acquires from the configuration file holding unit 14 the data extraction conditions defined in the configuration file specified by the configuration file search unit 13 . Specifically, the extraction condition acquisition unit 15 acquires the single item extraction condition shown in FIG. 6 and the table extraction conditions shown in FIGS. 7 and 8 from the configuration file holding unit 14 .
  • the data extraction unit 16 extracts a single standard item and a table from the spreadsheet file input by the spreadsheet file input unit 11 based on the single item extraction conditions and the table extraction conditions acquired by the extraction condition acquisition unit 15. Extract.
  • FIG. 10 shows a screen example of the extraction result of the data extraction unit 16. As shown in FIG. In the single item display area 71 at the top of the screen, one or more single standard items or names and data of standard items extracted by the single item extraction conditions in FIG. is displayed. In the table display area 72 at the bottom of the screen, one or a plurality of tables extracted according to the table extraction conditions of FIGS. 7 and 8 are displayed. Each table has a grid-like data array similar to a spreadsheet file.
  • the data storage unit 17 stores the data extracted by the data extraction unit 16 as it is, or after performing processing such as calculation for tabulation of numerical data and format conversion for business systems, to the data extraction device 10 .
  • FIG. 11 shows the flow of data extraction processing from a spreadsheet file based on the configuration file.
  • a client user interface provided to the information communication device 30 presents a user with a UI for uploading a spreadsheet (S/S) file.
  • the spreadsheet file is uploaded to the application server (data extraction device 10) in response to the user's operation on the UI.
  • Spreadsheet values are managed in a database/server store.
  • Spreadsheet files are stored on the file system. This uploading and saving is done via an API in the API layer of the Application Server.
  • Spreadsheet files stored in the database/server store are associated with File Type Tags that include document types determined by the document type classifier or user-specified and associated entities.
  • the extraction controller creates a matching mapping based on the file type tag of the next available spreadsheet file in the extraction queue defined in the database/server store (the queue holding the spreadsheet files to be extracted). Find the settings (Matching Mapping Configurations, equivalent to the configuration file above). Specifically, the extraction controller reads the matching mapping settings corresponding to the document types and entities included in the file type tag from the configuration file repository. The extraction controller searches for the next available spreadsheet file in the extraction queue.
  • the extraction controller passes both the spreadsheet file obtained at S8 and the matching mapping settings to the spreadsheet extractor in the spreadsheet extraction library.
  • the spreadsheet extractor sets the extraction algorithm according to the matching mapping settings and processes the passed spreadsheet file to extract the values corresponding to the standard items from the spreadsheet file. Specifically, based on the position of the cell in the matching mapping setting, the value at that position is extracted. That extracted value is then mapped to the standard item that matches it. The aspect of this mapping is specified by the matching mapping setting. Extraction results are returned to the extraction controller.
  • the extraction controller saves the extraction result in the database/data store.
  • a client user interface provides a UI for consuming the values of the spreadsheet file.
  • this UI requests the API for the extraction result of a given file.
  • the extraction result is provided to the client in response to this request and used by other applications.
  • a new configuration file is created without referring to the spreadsheet file, but in this modified example, while referring to the sample spreadsheet file, it corresponds to the type of the spreadsheet file and the target entity.
  • This modified example has a support mode that uses support by an input support model generated by machine learning and a non-support mode that does not use it.
  • FIG. 12 is a block diagram showing the functions and configuration of the data extraction device 10 according to the modification.
  • the data extraction device 10 according to the modification includes a sample file acquisition unit 191 and an input support model 192 in addition to the configuration of FIG. Input assistance model 192 functions in assistance mode. First, the unsupported mode will be explained.
  • FIG. 13 shows a screen transitioned by pressing the new creation button 60 in FIG.
  • a configuration file name input field 611 and a remarks input field 612 similar to those in FIG. 5 are displayed.
  • the right arrow button 73 is pressed after completing the input, the next screen shown in FIG. 14 is displayed.
  • a sample spreadsheet file is uploaded.
  • the sample file acquisition unit 191 acquires the uploaded sample spreadsheet file and stores it in a predetermined holding unit (not shown).
  • the right arrow button 73 is pressed after the upload is completed, the next screen shown in FIG. 15 is displayed.
  • the left arrow button 74 is pressed, the screen returns to the previous screen.
  • the right arrow button 73 and the left arrow button 74 are present in subsequent screens, the symbols "73" and "74" are omitted.
  • FIG. 15 a document type input section 613 and a document subtype input section 614 similar to those in FIG. 5 are displayed.
  • the next screen shown in FIG. 16 is displayed.
  • an entity selection portion 621 and an entity list 623 similar to those in FIG. 5 are displayed.
  • an entity to be added is selected from a drop-down list, but in the entity selection section 621 of FIG.
  • the next screen shown in FIG. 17 is displayed.
  • FIG. 18 is a setting screen for the first single standard item "PROPERTY NAME" (indicated by the symbol “75"), and a sample spreadsheet file input in FIG. 14 is displayed. Following the instructions displayed under the first single standard item 75, the user selects the sheet containing "PROPERTY NAME", namely the property name, and also the cell in which the keyword for identifying the property name has been entered. to select. In the illustrated sample, the specific property name is "MOZART HOUSE", and as a result of the user selecting the cell “A10" to the left of it, the keyword “Management Report on ” is selected. On the next screen in FIG. 19, select the cell “B10” in which the specific property name "MOZART HOUSE" is entered.
  • FIGS. 18 and 19 A series of selection processes in FIGS. 18 and 19 are equivalent to the designation processes in the sheet designation section 632, keyword designation section 635, keyword position designation section 636, and relative distance designation section 637 in FIG. That is, selecting the sheet “Cover&Contents” in FIG. This is equivalent to designating the keyword “Management Report on” and designating the keyword positions “A10”, “A column”, “10th line”, etc. in the keyword position designation section 636 .
  • the selection of cell "B10" in FIG. equal to
  • the manual input work in FIG. 6 can be replaced with the sheet and cell selection work in FIGS. can work
  • Figures 20 and 21 are setting screens for the second single standard item "ISSUE DATE” (indicated by the symbol “76").
  • the user selects the sheet containing "ISSUE DATE", that is, the issue date, and selects cell “E3" containing the keyword “Date” for specifying the issue date. do.
  • Fig. 22 is a setting screen for the table "THIS MONTH ITEMS" (indicated by the symbol “77"), and displays a sample of the spreadsheet file input in Fig. 14. Following the instructions displayed below the table 77, the user selects the sheet “EXPENSE” which contains the table “THIS MONTH ITEMS” and the keyword “HOUSE A” for identifying the table “THIS MONTH ITEMS”. Select the populated cell “A6". Selecting the sheet “Expense” is equivalent to inputting the sheet name "Expense” in the sheet designation field 642 in FIG. can be identified.
  • FIG. 23 is a setting screen for the series standard item "ITEM NAME" (indicated by the code “771") as the first extraction item in the table. Following the instructions displayed below the series standard item 771, the user selects the cell “A7” in which the table header "Category” corresponding to the series standard item "ITEM NAME" has been entered. On the next screen in FIG. 24, select cell “A8" for actually starting data extraction for the series standard item "ITEM NAME".
  • FIGS. 23 and 24 A series of selection processes in FIGS. 23 and 24 are equivalent to the designation processes in the keyword designation section 646, keyword position designation section 647, and relative distance designation section 648 in FIG. That is, the selection of cell “A7" in FIG. Equivalent to specifying In addition, the selection of cell "A8" in FIG. equivalent to doing
  • the manual input work in FIG. 7 can be replaced with the cell selection work in FIGS. 23 and 24, and the user can work intuitively while looking at sample spreadsheet files. .
  • FIG. 25 is a setting screen for the series standard item "BASE AMOUNT" (indicated by the code "772") as the second extraction item in the table. Following the instructions displayed below the series standard item 772, the user selects cell “D7” in which the header "Amount” of the table corresponding to the series standard item "BASE AMOUNT" has been entered. On the next screen in FIG. 26, select the cell “D8" for actually starting data extraction for the series standard item "BASE AMOUNT".
  • Fig. 27 is a setting screen for the series standard item "CONSUMPTION TAX AMOUNT" (indicated by the symbol “773") as the third extracted item in the table.
  • the user selects cell “E7” in which the header "Tax" of the table corresponding to the series standard item "CONSUMPTION TAX AMOUNT” is entered.
  • the cell "E8" for actually starting data extraction for the series standard item "CONSUMPTION TAX AMOUNT".
  • data extraction conditions can be set to selectively extract data related to the three series standard items "ITEM NAME”, “BASE AMOUNT”, and “CONSUMPTION TAX AMOUNT” from the table "THIS MONTH ITEMS”. .
  • FIG. 29 is a setting screen for the extraction end position of the table.
  • the user selects the blank cell "A23" directly below the table indicating the end position of the table.
  • the reason why the blank cell "A23" is selected is that "First empty cell” (designated by a blank cell) is specified in the reference cell specification method specification section 651 of FIG. equivalent to doing
  • an input support model 192 is generated by machine learning using as learning data correspondence relationships between sets of document types and entities held in the configuration file holding unit 14 and configuration files.
  • Input assistance model 192 is a machine learning model that outputs a predicted configuration file given document types and entities.
  • the configuration file management unit 18 acquires the corresponding prediction configuration file by inputting the document type and document subtype input in FIG. 15 and the target entity information input in FIG. .
  • the configuration file management unit 18 refers to the contents of the acquired prediction configuration file, and inputs the predicted standard items and the predicted data extraction conditions on the new creation screens of FIGS. suggest it to. If the user is satisfied with the pre-entered information, he simply presses the button to proceed to the next screen, and corrects the information if it is incorrect.
  • the input support model 192 is a machine learning model that takes data in a spreadsheet file as input and outputs predicted values for standard items. This input support model 192 is generated by machine learning using correspondence relationships between standard items and their values held in the business system server 20 as learning data. The input support model 192 may input the header of the data in addition to the data.
  • the configuration file management unit 18 inputs the data of the acquired sample spreadsheet file to the input support model 192 to acquire the corresponding predicted standard item.
  • the configuration file management unit 18 inputs predicted standard items in advance on the new creation screen or proposes them to the user. If the user is satisfied with the pre-entered information, he simply presses the button to proceed to the next screen, and corrects the information if it is incorrect.
  • One aspect of the proposal to the user is as follows. In the example of FIG. 18, the configuration file management unit 18 reads the character string described there when the user clicks on the cell "A10", assuming that the standard item is initially blank or is the default "Amount”. input to the input support model 192 to obtain the predicted standard item "PROPERTY NAME". The configuration file management unit 18 proposes the obtained predicted standard item to the user by inputting it into the standard item display area 75, which is blank or has a default value.
  • the correspondence between standard items and data is learned with higher priority than the correspondence between standard items and headers. This is based on the inventors' realization that the same header may correspond to different standard items depending on the type or entity of the document.
  • the header is an optional input, even if the same header corresponds to different standard items, it is possible to obtain an appropriate configuration file prediction result based on the correspondence between the standard item and the data itself.
  • the document type or entity may be an optional input.
  • FIG. 7 Elements that are the same as those in FIG. 7 are denoted by the same reference numerals as in FIG. 7, and descriptions thereof are omitted.
  • a table specification method specification section 640 is provided as a new input section in the table extraction condition setting area 64 shown in FIG.
  • “Specify table-data-area” or “Specify by table header” Search table-header-names) is selected from the drop-down list.
  • “specify by table data area” is selected in the table specifying method specifying section 640, and below it is a reference cell specifying method specifying section 644 for specifying the extraction start position of the table by the table data area, a cell number A designating portion 645, a keyword designating portion 646, a keyword position designating portion 647, and a relative distance designating portion 648 are displayed.
  • "designation by table header” is selected in the table designation method designation section 640, and below it is a table header designation method designation section 661 for designating the extraction start position of the table by the table header.
  • a designating portion 662, a keyword designating portion 663, a keyword position designating portion 664, a first relative distance designating portion 665, and a second relative distance designating portion 666 are displayed.
  • the header of the table refers to the item described in row "7" of the table in FIG.
  • a table header specification method specification section 661 specifies a method for specifying the header of the table. Specifically, select "specify by row/column number” or “specify by keyword” from the drop-down list.
  • designation sections 662 to 665 are simultaneously displayed below the table header designation method designation section 661, but it is preferable to display only relevant designation sections according to the selection of the table header designation method designation section 661.
  • the table header position specifying part 662 is displayed (specifying parts 663 to 665 are not displayed), and when "specify by keyword” is selected, the keyword specifying part 663, a keyword position specifying portion 664, and a first relative distance specifying portion 665 are displayed (the specifying portion 662 is not displayed).
  • the table header position specifying section 662 specifies the position of the header of the table according to the row number or column number of the spreadsheet file. For example, in the column-oriented table of FIG. 22, row "7" with a header is specified. Similarly, in a row-oriented table, you can specify the location of headers by column number.
  • a keyword specifying section 663 specifies a keyword for specifying the position of the header of the table. For example, the keyword “HOUSE A” described with reference to FIG.
  • the keyword position specifying portion 664 specifies the position (cell number) or range containing the keyword input to the keyword specifying portion 663 .
  • the keyword “HOUSE A” input to the keyword designation section 663 is included in the “A” column, so “Column” is entered in each of the three input fields of the keyword position designation section 664. ) Enter “A" "A”.
  • the keyword “HOUSE A” is searched for in the "A” column of the spreadsheet file in FIG. 22, and the cell with the cell number "A6" that actually contains the keyword "HOUSE A” is identified.
  • the first relative distance specifying section 665 sets relative distance specifying conditions for specifying the position of the header of the table according to the relative distance from the cell specified by the keyword position specifying section 664 .
  • the header of the table is located in row "7", which is one row below the cell with cell number "A6" containing the keyword "HOUSE A”.
  • the table header is located in row "7", which is offset by 0 columns to the right and one row to the bottom from cell "A6".
  • "0" rightward offset
  • "1" downward offset
  • the second relative distance specifying section 666 sets relative distance specifying conditions for specifying the table extraction start position according to the relative distance from the header position specified by the table header position specifying section 662 or the first relative distance specifying section 665 .
  • the extraction start position of the table is, for example, one row below row "8" with respect to row "7", which is the header position.
  • the extraction start position of the table is the "8" line, which is offset by one line downward from the "7" line.
  • the "8" line offset downward by "1" line from the "7” line is displayed in the table. Can be specified as the extraction start position.
  • FIG. 32 is a functional block diagram of the data extraction support device 80.
  • the data extraction support device 80 includes a spreadsheet file input section 81 , an attribute information acquisition section 82 , a configuration analysis section 83 , a holding section 84 and an extraction condition generation section 85 .
  • the data extraction apparatus 10 of FIG. 1 searches for a configuration file that matches the input spreadsheet file, and extracts data from the spreadsheet file based on the data extraction conditions defined in the configuration file.
  • the data extraction support device 80 of FIG. 32 analyzes the configuration of the input spreadsheet file and autonomously generates data extraction conditions to be applied to the spreadsheet file.
  • the data extraction support device 80 may completely autonomously generate data extraction conditions without user intervention.
  • NLP Natural Language Processing
  • a spreadsheet file to be subjected to data extraction support processing by the data extraction support device 80 is input to the spreadsheet file input unit 81 in the same manner as the spreadsheet file input unit 11 in FIG.
  • the attribute information acquisition unit 82 acquires the attribute information of the spreadsheet file input to the spreadsheet file input unit 81, like the attribute information acquisition unit 12 of FIG.
  • Attribute information of a spreadsheet file includes a type and a target entity, which are specified by a type specifying section 821 and an entity specifying section 822, respectively.
  • the information acquired by the attribute information acquisition unit 82 is stored in the holding unit 84 together with the data extraction conditions generated by the extraction condition generation unit 85, which will be described later.
  • the holding unit 84 corresponds to the configuration file holding unit 14 in FIG. 1, and holds multiple spreadsheet files and multiple data extraction conditions corresponding to each. Specifically, a plurality of spreadsheet files themselves as shown in FIGS. 2 and 3, single item extraction conditions as shown in FIG. 6 preset for each spreadsheet file, and tables such as those shown in FIGS. Data extraction conditions including extraction conditions are held in the holding unit 84 . 1 holds a configuration file containing data extraction conditions, the holding unit 84 shown in FIG. 32 holds a spreadsheet file itself in addition to the data extraction conditions. If the configuration file holding unit 14 shown in FIG. 1 holds the spreadsheet file input by the spreadsheet file input unit 11, it can be used as the holding unit 84 shown in FIG.
  • the configuration analysis unit 83 identifies a spreadsheet file similar in configuration to the spreadsheet file input by the spreadsheet file input unit 81 in the holding unit 84 .
  • the configuration analysis unit 83 stores a spreadsheet file in which at least the detailed data area has a similar configuration among the summary data area and the detailed data area included in the spreadsheet file input by the spreadsheet file input unit 81.
  • the general data area is an area showing the general data, common data, header data, etc. of the spreadsheet file
  • the detailed data area is an area other than the general data area showing detailed data, main data, etc. .
  • the general data area and the detailed data area can be arbitrarily defined in each spreadsheet file, but typically, it is preferable to set the area that does not contain the table as the general data area and the area that contains the table as the detailed data area.
  • Areas and areas from "N16" to "AG40” that indicate details are defined as a summary data area, and areas from "A16" to "L40” that indicate a balance table are defined as a detailed data area.
  • the configuration analysis unit 83 needs to recognize the table.
  • a table has a unique configuration of a rectangular range in which data is continuously arranged along the row or column direction. cell) and the end position (bottom right corner cell) can be accurately recognized.
  • the configuration analysis unit 83 analyzes the configuration of the detailed data area including the table, thereby generating table extraction conditions (FIGS. 7 and 8) for efficiently extracting the table.
  • the configuration analysis unit 83 preferably analyzes the configuration of the summary data area together with the detailed data area. Since the summary data area contains many single items subject to single item extraction conditions (FIG. 6), single item extraction conditions can be generated for efficiently extracting these items.
  • the extraction condition generation unit 85 selects data to be extracted from the spreadsheet file input by the spreadsheet file input unit 81 based on the data extraction conditions corresponding to the spreadsheet file specified by the storage unit 84 by the configuration analysis unit 83. Generate the specified data extraction conditions.
  • the configuration analysis unit 83 and the extraction condition generation unit 85 divide the spreadsheet file input by the spreadsheet file input unit 81 into a plurality of areas, and perform configuration analysis and extraction condition generation for each area. . For example, when the spreadsheet file shown in FIG.
  • the configuration analysis unit 83 identifies, in the holding unit 84, the first spreadsheet file containing the region similar in configuration to the first region, and the extraction condition generation unit 85 stores the A first data extraction condition relating to data extraction from the target region is extracted from the held data extraction conditions.
  • the extraction condition generation unit 85 adopts the extracted first data extraction condition if it can be applied to the first area as it is, and if it needs to be changed for application to the first area, performs change processing to obtain the final first data extraction condition. 1 data extraction condition.
  • the extraction condition generation unit 85 displays related information on the display of the information communication device 30, and the user judges whether or not the first data extraction condition can be adopted and whether it needs to be changed while viewing it. Indicate what to change.
  • the first data extraction conditions suitable for data extraction from the first area (areas “K1” to “T4" in FIG. 2) of the spreadsheet file input by the spreadsheet file input unit 81 are extracted. It is generated by the condition generator 85 .
  • the extraction condition generation unit 85 cooperates with the user who operates the information communication device 30 to create a second condition suitable for data extraction from the second area (areas “A6” to “L14” in FIG. 2).
  • the series standard item "ITEM NAME” is associated with the header "Category” in FIGS. 23 and 24, and the series standard item “BASE AMOUNT” is associated with the header “main amount ( Amount)", and in FIGS. 27 and 28, the series standard item “CONSUMPTION TAX AMOUNT” is associated with the header "Consumption tax (Tax)".
  • the header name of the spreadsheet file can be arbitrarily set by the user, it is not preferable to rely only on the header name to establish correspondence with the series standard items.
  • the similarity in the configuration of the data area is emphasized rather than the header area. Identify.
  • data extraction conditions for extracting data from a data area can be accurately generated based on the similarity of the structure of the data area regardless of the header name of the spreadsheet file. .
  • the extraction condition generation unit 85 may autonomously select the regions from which such data is to be extracted and the data to be extracted from each region based on the training data, or may be determined by the user. good.
  • Each data extraction condition generated for each area of the spreadsheet file as described above is stored in the holding unit 84 in the format shown in FIGS.
  • the attribute information acquired by the attribute information acquisition unit 82 is also stored in the holding unit 84 in the format shown in FIG. That is, as a result of the processing of the data extraction support device 80, for the spreadsheet file input by the spreadsheet file input unit 81, one configuration file is generated according to the format of FIGS. is stored in the holding unit 84.
  • the holding unit 84 in FIG. 32 has the same function as the configuration file holding unit 14 in FIG.
  • the data extraction support device 80 monitors the status of actual data extraction processing using each configuration file held in the configuration file holding unit 14 of FIG. Suggestions for improving the data extraction conditions may be made to the user for configuration files exceeding .
  • data can be accurately extracted from the spreadsheet file by using configuration files customized for each document type and each entity.
  • configuration files customized for each document type and each entity.
  • data can be extracted even if the size of the table changes.
  • the user can specifically specify the data to be extracted from the spreadsheet file as long as the data is within the scope of the rules. Rules can be set flexibly, so they can be applied to spreadsheet files with a high degree of freedom in formatting.
  • the system also allows data extraction from dynamic formats with variable end row and end column.
  • the configuration file is easy for general users to understand, and can meet the needs of most users, such as extracting single cells, extracting tables, and calculating extracted values.
  • each device described in the embodiments can be realized by hardware resources or software resources, or by cooperation between hardware resources and software resources.
  • Processors, ROMs, RAMs, and other LSIs can be used as hardware resources.
  • Programs such as operating systems and applications can be used as software resources.
  • the present invention relates to data extraction technology or data extraction support technology.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

データ抽出装置10は、データ抽出処理の対象である表計算ファイルが入力される表計算ファイル入力部11と、表計算ファイル入力部11に入力された表計算ファイルの属性情報を取得する属性情報取得部12と、属性情報取得部12で取得された表計算ファイルの属性情報に合致する構成ファイルを、構成ファイル保持部14に保持された複数の構成ファイルの中から検索する構成ファイル検索部13と、構成ファイル検索部13で検索された構成ファイルで定義されたデータ抽出条件を構成ファイル保持部14から取得する抽出条件取得部15と、抽出条件取得部15で取得されたデータ抽出条件に基づいて、表計算ファイル入力部11で入力された表計算ファイルからデータを抽出するデータ抽出部16と、を備える。

Description

データ抽出装置、データ抽出方法、データ抽出プログラム、データ抽出支援装置、データ抽出支援方法、データ抽出支援プログラム
 本発明は、データ抽出技術またはデータ抽出支援技術に関する。
 データの記録、集計、分析等に用いられる表計算ソフトウェアまたはスプレッドシート(spreadsheet)は、業務用または個人用を問わず多くのコンピュータで広く使用されている。特許文献1は、表計算ソフトウェアで作成された表計算ファイルを業務システムに取り込む際に、表計算ファイルから必要なデータを抽出する技術を開示する。特許文献1の図6に示されるように、表計算ファイルのデータ抽出範囲は開始位置と終了位置を示すセル番号によって指定される。具体的には、データ抽出の開始位置としてセル番号「A2」が、終了位置としてセル番号「E7」が指定される。このようなデータ抽出範囲の指定によって、セル番号「A2」のセルを左上の角およびセル番号「E7」のセルを右下の角とする矩形範囲に含まれる各セルからデータが抽出される。
特開2015-191653号公報
 特許文献1では、その図4に示されるように、表計算ファイルを業務システムに取り込む際に、図6のようなデータ抽出範囲をユーザがマニュアルで設定する必要がある。開始位置「A2」および終了位置「E7」という図6のデータ抽出範囲が全ての表計算ファイルに共通するものであれば表計算ファイル毎の設定作業は不要であるが、フォーマットの自由度が高い表計算ソフトウェアで作成される多種多様な表計算ファイルが完全に同一の開始位置や終了位置を持つことは期待できない。このように、特許文献1ではユーザのマニュアル設定作業への依存度が高くなる結果、表計算ファイルの取込み作業の効率化のボトルネックになってしまう。
 本発明はこうした状況に鑑みてなされたものであり、その目的は、表計算ファイルから効率的にデータを抽出できるデータ抽出装置および表計算ファイルからの効率的なデータ抽出を支援するデータ抽出支援装置を提供することにある。
 上記課題を解決するために、本発明のある態様のデータ抽出装置は、入力された表計算ファイルの属性情報に合致する構成ファイルを複数の構成ファイルの中から検索する構成ファイル検索部と、検索された構成ファイルで定義されたデータ抽出条件に基づいて、入力された表計算ファイルからデータを抽出するデータ抽出部と、を備える。
 本発明の別の態様は、データ抽出支援装置である。この装置は、複数の表計算ファイルと、それぞれに対応する複数のデータ抽出条件を保持する保持部と、入力された表計算ファイルと構成が類似する表計算ファイルを保持部において特定する構成分析部と、特定された表計算ファイルに対応するデータ抽出条件に基づいて、入力された表計算ファイルから抽出すべきデータを指定するデータ抽出条件を生成する抽出条件生成部と、を備える。
 なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
 本発明によれば、表計算ファイルから効率的にデータを抽出できる。
データ抽出装置の機能ブロック図である。 表計算ファイルの例を示す。 表計算ファイルの例を示す。 構成ファイルの一覧表の画面例を示す。 構成ファイルの新規作成画面の例を示す。 構成ファイルの新規作成画面の例を示す。 構成ファイルの新規作成画面の例を示す。 構成ファイルの新規作成画面の例を示す。 構成ファイルの具体例を示す。 データ抽出部の抽出結果の画面例を示す。 構成ファイルに基づく表計算ファイルからのデータ抽出処理のフローを示す。 変形例に係るデータ抽出装置の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 構成ファイルの新規作成画面の変形例を示す。 テーブル抽出条件の設定方法の変形例を示す。 テーブル抽出条件の設定方法の変形例を示す。 データ抽出支援装置の機能ブロック図である。
 図1は、本発明の実施形態に係るデータ抽出装置10の機能ブロック図である。データ抽出装置10は、表計算ファイル入力部11と、属性情報取得部12と、構成ファイル検索部13と、構成ファイル保持部14と、抽出条件取得部15と、データ抽出部16と、データ格納部17と、構成ファイル管理部18を備える。これらの機能ブロックは、コンピュータの中央演算処理装置、メモリ、入力装置、出力装置、コンピュータに接続される周辺機器等のハードウェア資源と、それらを用いて実行されるソフトウェアの協働により実現される。コンピュータの種類や設置場所は問わず、上記の各機能ブロックは、単一のコンピュータのハードウェア資源で実現してもよいし、複数のコンピュータに分散したハードウェア資源を組み合わせて実現してもよい。
 表計算ファイル入力部11には、データ抽出装置10によるデータ抽出処理の対象である表計算ファイルが入力される。表計算ファイルとは、データの記録、集計、分析等に用いられる表計算ソフトウェアまたはスプレッドシートで扱える形式の電子ファイルまたは電子文書であり、典型的には表計算ソフトウェア自体によって作成される。
 図2および図3に同じエンティティが作成、発行する表計算ファイルの例を示す。各図の表計算ファイルは格子状のデータ配列を有する。具体的には、連続する数字(1, 2, 3…)で指定される行番号と、連続する文字(A, B, C…)で指定される列番号の組によって、データの入力単位としてのセルの番号が指定される。例えば、図2のセル番号「F20」のセルには「賃料」との文字データが入力され、セル番号「H20」のセルには「1,000,000」との数値データが入力されている。ここで、セル番号「G20」のセルは隣接するセル番号「F20」のセルと結合またはマージされているため、セル番号「F20」および「G20」の一方のセルの指定は他方のセルの指定となり、いずれも文字データ「賃料」を指定する。同様に、セル番号「O21」のセルを左上の角およびセル番号「AF39」のセルを右下の角とする矩形範囲に含まれる全セルは一つのセルに結合されているため、当該矩形範囲内のいずれのセル番号の指定も「This building is new and ready. The building is very new and valuable and useful for daily operations. This excel data is ready to be extracted by excel marauder.」との同一の文字データの指定となる。
 図3の表計算ファイルでは、例えば、セル番号「C10」~「C15」の6行分のセルが、「水光熱費」との文字データが入力された一つのセルに結合されている。一方、その右方の「D」列以降では行番号「10」~「15」の6行分のセルが結合されておらず、各行のセルに個別にデータが入力されている。図2と図3の比較から明らかなように、発行するエンティティが同じであっても、文書の類型(タイプ)によって表計算ファイルのフォーマットは千差万別である。また、文書の類型が同じであっても、発行するエンティティによって表計算ファイルのフォーマットは千差万別である。後述するように、本実施形態のデータ抽出装置10によれば、このようにフォーマットが大きく異なる表計算ファイルが表計算ファイル入力部11に入力されたとしても、各表計算ファイルから効率的にデータを抽出できる。
 また、図3のようなリストまたは項目の一覧表の場合、リストの開始位置すなわち左上角の位置がセル番号「B7」であることは決まっていたとしても、リストの終了位置すなわち右下角の位置はリストに記録される項目数によるためリスト毎に異なる(リストの終了位置の列番号は「P」であるが行番号がリスト毎に異なる)。後述するように、本実施形態のデータ抽出装置10によれば、リストすなわちデータ抽出対象の終了位置が変化したとしても、開始位置から終了位置の間にある複数のセルから効率的にデータを抽出できる。
 属性情報取得部12は、表計算ファイル入力部11に入力された表計算ファイルの属性情報を取得する。表計算ファイルの属性情報は類型と対象エンティティを含み、それぞれ類型特定部121とエンティティ特定部122で特定される。
 類型特定部121で特定される表計算ファイルの類型またはタイプは限定されないが、請求書、資産管理レポート(Property Management Report)、CAPEX(資本的支出)リスト、銀行取引明細書が例示される。これらの類型は、所定のルールに基づいて類型特定部121が判別してもよいし、網羅的な訓練データによって予め機械学習を行った人工知能としての類型特定部121(機械学習済みモデル)が自律的に判別してもよいし、表計算ファイル入力部11に表計算ファイルを入力する際にユーザが入力してもよい。なお、表計算ファイルが複数のシートを含む場合はシート毎に類型が特定される。例えば、資産管理レポートの表計算ファイルが複数のシートを含む場合、図2のシートについては「資産管理レポートのエグゼクティブサマリー」等の類型が特定され、図3のシートについては「資産管理レポートの支払明細リスト」等の類型が特定される。
 具体的には、図2の表計算ファイルでは、セル番号「K1」における「Building」の記載、セル番号「K2」または「K3」における「Executive Summary」の記載、セル番号「A6」における「Property Description」の記載、セル番号「A16」における「Income & Expenses」の記載、セル番号「N6」における「Current Leasing Situation」の記載等に基づいて、類型特定部121は当該表計算ファイルの類型を「資産管理レポート」や「資産管理レポートのエグゼクティブサマリー」等と特定できる。また、図3の表計算ファイルでは、セル番号「B1」における「House」の記載、セル番号「B3」における「支払明細リスト」の記載、列番号「C」「D」「H」「I」等における「建物管理費」「修繕費」「水光熱費」「PM報酬」「原状回復費」等の不動産管理に特有の用語等に基づいて、類型特定部121は当該表計算ファイルの類型を「資産管理レポート」や「資産管理レポートの支払明細リスト」等と特定できる。
 エンティティ特定部122で特定される表計算ファイルの対象エンティティは、表計算ファイル入力部11に入力された表計算ファイルに基づいてエンティティ特定部122が自律的に判別してもよいし、表計算ファイル入力部11に表計算ファイルを入力する際にユーザが入力してもよい。例えば、図2のセル番号「K1」に記載された特定の建物や図3のセル番号「B1」に記載された特定の建物が特定のエンティティに帰属しているとの記録が参照可能な場合、エンティティ特定部122は当該エンティティを当該表計算ファイルの対象エンティティとして特定できる。また、表計算ファイルが対象エンティティ自身によって作成または保存されたものである場合、表計算ファイルのプロパティ情報に記録されている「作成者」や「保存者」の情報に基づいて対象エンティティを特定できることもある。なお、建物等の不動産その他の特定の資産についての対象エンティティは、その保有者、使用者、管理者等の個人または法人に限らず、特定の資産自体としてもよい。例えば、図2ではセル番号「K1」の「Excel Marauder Building」自体を対象エンティティとしてもよいし、図3ではセル番号「B1」の「Beethoven House」自体を対象エンティティとしてもよい。あるいはまた、ユーザがエンティティを指定してデータ抽出装置10にログインする場合、エンティティ特定部122はログイン時に指定されたエンティティを対象エンティティとしてもよい。あるいはまた、表計算ファイル入力部11は、エンティティごとに表計算ファイルを保持する保持部から特定のエンティティの表計算ファイルを取得してもよい。この場合、エンティティ特定部122はその特定のエンティティを対象エンティティとしてもよい。
 構成ファイル検索部13は、属性情報取得部12で取得された表計算ファイルの属性情報に合致する構成ファイルを、構成ファイル保持部14に保持された複数の構成ファイルの中から検索する。構成ファイル保持部14の内部に模式的にデータ構造を図示するように、各構成ファイルは、類型特定部121で特定される類型に対応する文書タイプとエンティティ特定部122で特定される対象エンティティに対応するエンティティを含む属性情報と、単一アイテム抽出条件とテーブル抽出条件を含むデータ抽出条件によって構成される。各構成ファイルを構成するこれらの情報の詳細は後述する。抽出条件取得部15は、構成ファイル検索部13での検索の結果得られる構成ファイルまたは当該構成ファイルで定義されたデータ抽出条件を構成ファイル保持部14から取得する。データ抽出部16は、抽出条件取得部15で取得された構成ファイルまたはデータ抽出条件に基づいて、表計算ファイル入力部11で入力された表計算ファイルからデータを抽出する。データ格納部17は、データ抽出部16で抽出されたデータをデータ抽出装置10外の業務システムサーバ20に格納する。なお、業務システムサーバ20が提供する業務システムは限定されないが、会計、税務、マーケティング、販売、購買、人事、法務、製造、物流、決済が例示される。
 続いて、上記の各機能ブロックの機能について画面例を参照しながら説明する。以下で示す画面例は、データ抽出装置10外からデータ抽出装置10の各機能ブロックにアクセス可能なコンピュータ、タブレット、スマートフォン等の情報通信装置30のディスプレイに表示されるものだが、データ抽出装置10がディスプレイを備える場合はそれに表示させてもよい。
 図4は、構成ファイル保持部14に保持されている構成ファイルの一覧表の画面例を示す。本画面例において構成ファイルは「Mapping」と表記され、三つの構成ファイル「My Mapping 03」「My Mapping 02」「My Mapping 01」が表示される。各構成ファイルには、アクティブボタン41と、テストボタン42と、構成ファイル名43と、文書タイプ44と、文書サブタイプ45と、最終保存日時46と、編集ボタン47と、コピーボタン48と、削除ボタン49が表示される。
 アクティブボタン41は、構成ファイルのアクティブ状態と非アクティブ状態を切り替える。図示の画面例では「My Mapping 03」「My Mapping 02」がアクティブ状態にあり、「My Mapping 01」が非アクティブ状態にある。アクティブ状態にある構成ファイルは、構成ファイル検索部13によって検索可能かつ抽出条件取得部15によってデータ抽出条件が取得可能である。非アクティブ状態にある構成ファイルは、構成ファイル検索部13によって検索不可能かつ抽出条件取得部15によってデータ抽出条件が取得不可能である。テストボタン42は、構成ファイルのデータ抽出条件(後述)を適用してテスト用の表計算ファイルからデータを抽出するテストを実行する。なお、テスト用の表計算ファイルのアップロード等は画面上部の領域421から行える。
 構成ファイル名43は、構成ファイルの名称「My Mapping 03」「My Mapping 02」「My Mapping 01」を表示する。構成ファイル名43の前には三角形の詳細表示アイコン431が表示されており、これを画面上でクリックすると後述する詳細情報51~53が表示される。図示のように、詳細表示アイコン431が下向きの三角形の時は詳細情報51~53が表示され、詳細表示アイコン431が右向きの三角形の時は詳細情報51~53は表示されない。
 文書タイプ44および文書サブタイプ45に表示される文書のタイプおよびサブタイプは、前述の類型特定部121が特定する表計算ファイルの類型またはタイプに相当する。例えば、図2の「資産管理レポートのエグゼクティブサマリー」という類型の表計算ファイルでは、「資産管理レポート」が文書タイプ44に相当し、「エグゼクティブサマリー」が文書サブタイプ45に相当する。また、図3の「資産管理レポートの支払明細リスト」という類型の表計算ファイルでは、「資産管理レポート」が文書タイプ44に相当し、「支払明細リスト」が文書サブタイプ45に相当する。後述するように、類型特定部121が特定した表計算ファイルの類型と、図4の構成ファイルで定義された文書タイプ44および文書サブタイプ45のマッチングによって、表計算ファイルに適用されるべき構成ファイルが構成ファイル検索部13によって検索される。なお、表計算ファイルが複数のシートを含む場合、「文書」の語は各シートも意味する。すなわち、それ自体が文書である表計算ファイルは、複数の文書としての複数のシートを含む。
 最終保存日時46は、構成ファイルが最後に保存された日時を表示する。編集ボタン47は、既存の構成ファイルを編集するための動線として機能する。コピーボタン48は、既存の構成ファイルをコピーするための動線として機能する。削除ボタン49は、既存の構成ファイルを削除するための動線として機能する。詳細表示アイコン431によって表示される詳細情報は、最終保存者51と、備考52と、エンティティ53を含む。最終保存者51は、構成ファイルを最後に保存した者の名前を表示する。備考52は、構成ファイルについて入力されたコメント等を表示する。
 エンティティ53は、前述のエンティティ特定部122が特定する表計算ファイルの対象エンティティに対応する。後述するように、エンティティ特定部122が特定した表計算ファイルの対象エンティティと、図4の構成ファイルで定義されたエンティティ53のマッチングによって、表計算ファイルに適用されるべき構成ファイルが構成ファイル検索部13によって検索される。なお、図示のように、エンティティ53は複数の異なるエンティティを含みうる。すなわち、一つの構成ファイルを複数のエンティティに適用することができるため、エンティティ毎に異なる構成ファイルを作成する必要がなくなる。
 以上のように、図4の画面例における文書タイプ44、文書サブタイプ45、エンティティ53の三種類の情報が構成ファイル検索部13による構成ファイルの検索に利用される。すなわち、構成ファイル検索部13は、表計算ファイル入力部11で入力された表計算ファイルについて、類型特定部121が特定した類型を文書タイプ44および文書サブタイプ45とマッチングし、かつ、エンティティ特定部122が特定した対象エンティティをエンティティ53とマッチングする。この際、文書タイプ44、文書サブタイプ45、エンティティ53の全ての情報が重複する複数の構成ファイルがアクティブ状態にあると、構成ファイル検索部13の検索の結果、複数の構成ファイルがヒットしてしまう可能性がある。このような事態を回避するため、構成ファイル保持部14は、上記のようなコンフリクトを発生させる構成ファイルのアクティブボタン41が押下されると、複数の構成ファイル間にコンフリクトがある旨の注意を画面上に表示してユーザの再考を促す。
 以上、既存の構成ファイルの概要を説明した。構成ファイルを新規に作成する場合は新規作成ボタン60を押下する。図5~8は新規作成ボタン60を押下することで遷移する構成ファイルの新規作成画面の例を示す。便宜上、複数の図面に分けて示すが、実際のディスプレイ上では上下スクロールによって遷移可能な一続きの画面になっている。以下、複数の図面に分けて示す画面例について同様である。構成ファイル管理部18は、ユーザの情報通信装置30と通信することで構成ファイルを新規生成し、構成ファイル保持部14に登録する。構成ファイル管理部18は、図5~8に示されるような新規作成画面を情報通信装置30のディスプレイに表示させる。構成ファイル管理部18は、表示された新規作成画面に対してユーザが入力した情報を受信し、受信した情報に基づいて下記の如くに構成ファイルを生成する。構成ファイル管理部18は、既存の構成ファイルに対する更新の指示をユーザから受け付け、指示にしたがい当該構成ファイルを更新する。
 図5は、基本情報入力領域61と、エンティティ追加領域62を示す。基本情報入力領域61は、構成ファイル名入力部611と、備考入力部612と、文書タイプ入力部613と、文書サブタイプ入力部614を含む。構成ファイル名入力部611には構成ファイルの任意の名称を入力する。ここで入力された構成ファイルの名称は図4の構成ファイル名43に表示される。備考入力部612には構成ファイルについての任意のコメント等を入力する。ここで入力された構成ファイルの備考は図4の備考52に表示される。
 文書タイプ入力部613には構成ファイルの対象文書のタイプをドロップダウンリストから選択して入力する。ここで入力された構成ファイルの対象文書のタイプは図4の文書タイプ44に表示される。文書サブタイプ入力部614には構成ファイルの対象文書のサブタイプをドロップダウンリストから選択して入力する。サブタイプは文書タイプ入力部613に入力されたタイプの下位の類型であり、文書タイプ入力部613の入力に応じて文書サブタイプ入力部614のドロップダウンリストが自動的に生成される。ここで入力された構成ファイルの対象文書のサブタイプは図4の文書サブタイプ45に表示される。
 エンティティ追加領域62は、エンティティ選択部621と、追加ボタン622と、エンティティリスト623と、削除ボタン624を含む。エンティティ選択部621では追加対象のエンティティをドロップダウンリストから選択する。エンティティ選択部621で追加対象のエンティティが選択された状態で追加ボタン622が押下されると、当該エンティティがエンティティリスト623に追加される。エンティティリスト623中の各エンティティは削除ボタン624の押下によって削除できる。エンティティリスト623に追加されたエンティティは図4のエンティティ53に表示される。
 図6は、第1の類型のデータ抽出条件としての単一アイテム抽出条件を設定する単一アイテム抽出条件設定領域63を示す。単一アイテム抽出条件設定領域63は、標準アイテム(Standard Items)設定部631と、シート指定部632と、基準セル指定方法指定部633と、セル番号指定部634と、キーワード指定部635と、キーワード位置指定部636と、相対距離指定部637を含む。
 標準アイテムは、データ抽出装置10のユーザが入力された表計算ファイルから抽出したいデータアイテム(データ項目)である。文書の各類型は所定の標準アイテムの集合を有するか、それに対応付けられる。例えば、支出レポート(expense report)からは標準アイテムとして発行日、テーブルにある日付、アイテム、金額を抽出する。収入レポート(revenue report)からは標準アイテムとして発行日、テーブルにある日付、収入の元、金額を抽出する。標準アイテムには以下の3つのタイプがある。
(1)単一の標準アイテム
 各文書にこの標準アイテムの値は1つしかない。例えば発行日である。
(2)シリーズ(series)標準アイテム
 シリーズ標準アイテムの値は、通常、文書のテーブルの行または列に格納されている。例えば日付および金額である。同じテーブルに属するシリーズ標準アイテムは、通常、同じ長さを有する。しかしながら、その長さ自体は文書により異なりうる。例えば、先月の支出レポートで3つの支出項目があり、今月の支出レポートで10の支出項目があることがありうる。この場合、先月の支出レポートから抽出される日付、金額の値の数は3であり、今月の支出レポートから抽出される日付、金額の値の数は10である。
(3)算出された(Calculated)標準アイテム
 この標準アイテムは単一であってもよいしシリーズであってもよいが、文書には含まれない。したがって、文書から直接抽出されるものではない。この標準アイテムは、他の標準アイテムから計算により得られるものである。例えば、合計は、金額というシリーズ標準アイテムから算出される単一の計算された標準アイテムである。
 データ抽出装置10は入力された表計算ファイルから標準アイテムに相当するデータを抽出し、抽出されたデータを業務システムサーバ20(データベース)に登録する。すなわち、業務システムサーバ20には標準アイテムのデータ値が格納される。構成ファイルは、表計算ファイルのどこに含まれるどのデータをどの標準アイテムとして抽出すべきかを指定するルールを保持していると言える。この算出された標準アイテムを抽出対象として構成ファイルで指定する場合、当該構成ファイルに計算式を記録する。
 単一アイテム抽出条件は、表計算ファイルの単一セルからデータを抽出するための条件である。以下で詳細に説明するように、図示の例では標準アイテム設定部631に設定された標準アイテム「Property Name」(物件名称)のデータを単一セルから抽出する。すなわち、図2の表計算ファイルに関しては単一セル「K1」または「H8」における「Excel Marauder Building」との物件名を抽出するための条件が設定され、図3の表計算ファイルに関しては単一セル「B1」における「Beethoven House」との物件名を抽出するための条件が設定される。なお、図6では「Property Name」に関する一つの単一アイテム抽出条件設定領域63のみを示すが、単一アイテム抽出条件設定領域63は複数あってもよい。例えば、「Property Name」に関する図示の単一アイテム抽出条件設定領域63に加え、「作成時」に関する単一アイテム抽出条件設定領域63があってもよい。「作成時」に関しては、図2の単一セル「K4」から「March - 2021」を抽出し、図3の単一セル「P1」から「作成日:2020/08/17」を抽出する条件が設定される。
 標準アイテム設定部631では抽出対象の単一の標準アイテムを設定する。ここで、図5の基本情報入力領域61やエンティティ追加領域62に入力された情報に応じて、標準的なユーザが抽出したい標準アイテムが推定されて標準アイテム設定部631に予め表示される。例えば、文書タイプ入力部613に「資産管理レポート」が入力された場合、上記の例にある「Property Name」や「作成時」が標準アイテム設定部631に予め表示される。また、文書タイプ入力部613や文書サブタイプ入力部614に「費用レポート」「収入レポート」等が入力された場合、「発行日」等が標準アイテム設定部631に予め表示される。このように、特定のタイプやサブタイプの文書からユーザが抽出したいと推定される標準アイテムを決定して標準アイテム設定部631に予め表示してもよい。標準アイテム設定部631に予め表示された標準アイテムに対して、ユーザは編集、削除、追加等の処理を画面上で行える。
 シート指定部632では抽出対象の単一の標準アイテムが含まれるシートを指定する。具体的には、抽出対象の単一の標準アイテムが含まれるシートの名称をドロップダウンリストから選択してシート指定部632に入力する。ここで入力されたシートの名称は、データを抽出すべきシートを指定するシート指定条件を構成する。
 基準セル指定方法指定部633ではデータ抽出における基準セルを指定する方法を指定する。基準セルとはデータ抽出時の基準となるセルであり、具体的には、データ抽出対象の単一セル自体またはデータ抽出対象の単一セルから相対距離指定部637で指定される相対距離だけ離れたセルである。基準セル指定方法指定部633では「セル番号による指定」または「キーワードによる指定」がドロップダウンリストから選択される。図6では基準セル指定方法指定部633の下方に全ての指定部634~637を同時に表示したが、基準セル指定方法指定部633の選択に応じて関連する指定部のみを表示するのが好ましい。すなわち、「セル番号による指定」が基準セル指定方法指定部633で選択された場合はセル番号指定部634を表示し(指定部635~637は非表示)、「キーワードによる指定」が基準セル指定方法指定部633で選択された場合はキーワード指定部635、キーワード位置指定部636、相対距離指定部637を表示する(指定部634は非表示)。
 セル番号指定部634では表計算ファイルのセル番号によって基準セルを指定する。基準セルは単一セルであるが、複数のセルが一つのセルに結合される場合もあるため、セル番号指定部634では開始セル番号(左上角のセル番号)と終了セル番号(右下角のセル番号)によるセル範囲を指定できる。例えば、図2の物件名「Excel Marauder Building」の単一セルは、セル番号「K1」~「T1」の複数のセルが一つに結合されたものである。この結合セルを基準セルとして指定するには、セル番号指定部634にセル範囲「K1」to「T1」を入力すればよい。あるいは、セル範囲「K1」~「T1」に含まれる一または複数の任意のセル番号をセル番号指定部634に入力してもよい。セル番号指定部634に入力された情報は、表計算ファイルのセル番号によって基準セルを指定するセル番号指定条件を構成する。
 基準セル指定方法指定部633で「セル番号による指定」が選択された場合、セル番号指定部634に入力されたセル番号指定条件が、データ抽出における基準セルを指定する基準セル指定条件を構成する。この場合の基準セルはデータ抽出対象の単一セル自体となり、セル番号指定部634で指定された基準セルからデータが抽出される。例えば、セル番号指定部634でセル範囲「K1」to「T1」が指定された場合、図2の物件名「Excel Marauder Building」のデータが表計算ファイルから抽出される。
 キーワード指定部635ではキーワードによって基準セルを指定する。例えば「Building Name」とのキーワードをキーワード指定部635に入力する。キーワード位置指定部636ではキーワード指定部635に入力されたキーワードが含まれる位置(セル番号)または範囲を指定する。例えば、図2の表計算ファイルに関して、キーワード指定部635に入力されたキーワード「Building Name」は「B」~「D」列の範囲に含まれるため、キーワード位置指定部636の三つの入力欄にそれぞれ「Column」(列)「B」「D」と入力する。この結果、図2の表計算ファイルの「B」~「D」列においてキーワード「Building Name」が検索され、キーワード「Building Name」を実際に含むセル番号「B8」のセルが基準セルとして特定される。このように、キーワード指定部635およびキーワード位置指定部636に入力された情報は、キーワードによって基準セルを指定する基準セル指定条件およびキーワード指定条件を構成する。
 相対距離指定部637では基準セルとの相対距離によってデータ抽出対象の単一セルを指定する相対距離指定条件を設定する。図2の例において、キーワード「Building Name」を含むセル番号「B8」の基準セルに対して、抽出すべき具体的な建物名「Excel Marauder Building」のデータはセル番号「H8」のセルにある。つまり、基準セル「B8」から右方向に6セル分だけオフセットした位置のセル「H8」がデータ抽出対象の単一セルとなる。この場合、相対距離指定部637の二つの入力欄にそれぞれ「6」(右方向オフセット)「0」(下方向オフセット)を入力することで、基準セル「B8」から右方向に「6」セルおよび下方向に「0」セルだけオフセットしたセル「H8」をデータ抽出対象の単一セルとして指定でき、建物名「Excel Marauder Building」のデータを表計算ファイルから抽出できる。
 図7および図8は、第2の類型のデータ抽出条件としてのテーブル抽出条件を設定するテーブル抽出条件設定領域64を示す。テーブル抽出条件設定領域64は、標準アイテム設定部641と、シート指定部642と、テーブル配列指定部643と、基準セル指定方法指定部644と、セル番号指定部645と、キーワード指定部646と、キーワード位置指定部647と、相対距離指定部648と、標準アイテム位置指定部649と、テーブル終了位置指定部650を含む。
 テーブル抽出条件は、表計算ファイルのテーブルに含まれる複数のセルからデータを抽出するための条件である。テーブルは行方向または列方向に沿ってデータを連続的に配列したものであり、テーブル開始位置としての左上角のセルとテーブル終了位置としての右下角のセルによって画定される矩形範囲である。例えば、図3の表計算ファイルは、「6」行より下方の領域において列方向(図3の上下方向)に沿ってデータを連続的に配列したテーブルを含む。テーブルの開始位置および終了位置は任意に決められるが、例えば、セル番号「B7」のセルをテーブル開始位置とし、セル番号「P28」のセルをテーブル終了位置としたものが、図3中で定義しうる最大のテーブルである。なお、図7および図8では一つのテーブル抽出条件設定領域64のみを示すが、一つの表計算ファイルにデータ抽出対象のテーブルが複数含まれる場合もあるため、テーブル抽出条件設定領域64は複数あってもよい。
 標準アイテム設定部641では、テーブルから抽出すべきシリーズ標準アイテムを設定する。数値データを含むテーブルでは、集計対象のデータを連続的に配列する通常テーブル領域に加えて、小計や合計等の集計値を表示する集計値表示領域が存在する。後述するように通常テーブル領域のデータは矩形範囲でまとめて抽出できるが、集計値表示領域のデータは単一セルから抽出する必要があるため前述の単一アイテム抽出条件設定領域63の方法を用いた方が効率的である。
 そこで、前述の標準アイテム設定部631と同様に、図5の基本情報入力領域61やエンティティ追加領域62に入力された情報に応じて、標準的なユーザがテーブルから抽出したい金額等のシリーズ標準アイテムが推定されて標準アイテム設定部641に予め表示される。図7の例では「Dates」と「Amounts」の二つの標準アイテムが標準アイテム設定部641に予め表示される。標準アイテム設定部641に予め表示されたシリーズ標準アイテムに対して、ユーザは編集、削除、追加等の処理を画面上で行える。また、シリーズ標準アイテムの具体的な抽出方法は後述する標準アイテム位置指定部649で指定される。
 シート指定部642では抽出対象のテーブルが含まれるシートを指定する。具体的には、抽出対象のテーブルが含まれるシートの名称をドロップダウンリストから選択してシート指定部642に入力する。ここで入力されたシートの名称は、データを抽出すべきシートを指定するシート指定条件を構成する。テーブル配列指定部643では抽出対象のテーブルの配列方向を指定する。具体的には、ドロップダウンリストから「行方向」(row oriented)または「列方向」(column oriented)を選択する。例えば、列方向のテーブルを含む図3の表計算ファイルをデータ抽出対象とする場合は「列方向」がテーブル配列指定部643で選択される。テーブル配列指定部643の選択の結果は、後述する標準アイテム位置指定部649に影響を及ぼす。
 基準セル指定方法指定部644ではテーブル抽出の開始位置に関する開始基準セルを指定する方法を指定する。開始基準セルとはテーブル抽出開始時の基準となるセルであり、具体的には、抽出対象のテーブルの開始位置(左上角のセル)自体または抽出対象のテーブルの開始位置から相対距離指定部648で指定される相対距離だけ離れたセルである。基準セル指定方法指定部644では「セル番号による指定」または「キーワードによる指定」がドロップダウンリストから選択される。図7では基準セル指定方法指定部644の下方に指定部645~648を同時に表示したが、基準セル指定方法指定部644の選択に応じて関連する指定部のみを表示するのが好ましい。すなわち、「セル番号による指定」が基準セル指定方法指定部644で選択された場合はセル番号指定部645を表示し(指定部646~648は非表示)、「キーワードによる指定」が基準セル指定方法指定部644で選択された場合はキーワード指定部646、キーワード位置指定部647、相対距離指定部648を表示する(指定部645は非表示)。
 セル番号指定部645では表計算ファイルのセル番号によって開始基準セルを指定する。例えば、図3のテーブルの開始基準セルとしてセル番号「C7」のセルが指定される。セル番号指定部645に入力された情報は、テーブル抽出の開始位置に関する開始基準セルを指定する開始基準セル指定条件を構成する。この場合の開始基準セルはテーブルの抽出開始位置自体となり、開始基準セル「C7」と後述するテーブルの抽出終了位置の間の矩形範囲に含まれる複数のセルからデータが抽出される。
 キーワード指定部646ではキーワードによって開始基準セルを指定する。例えば「リスト」とのキーワードをキーワード指定部646に入力する。キーワード位置指定部647ではキーワード指定部646に入力されたキーワードが含まれる位置(セル番号)または範囲を指定する。例えば、図3の表計算ファイルに関して、キーワード指定部646に入力されたキーワード「リスト」は「B」「C」列の範囲に含まれるため、キーワード位置指定部647の三つの入力欄にそれぞれ「Column」(列)「B」「C」と入力する。この結果、図3の表計算ファイルの「B」「C」列においてキーワード「リスト」が検索され、キーワード「リスト」を実際に含むセル番号「B3」のセルが開始基準セルとして特定される。このように、キーワード指定部646およびキーワード位置指定部647に入力された情報は、キーワードによって開始基準セルを指定する開始基準セル指定条件を構成する。
 相対距離指定部648では開始基準セルとの相対距離によってテーブルの抽出開始位置を指定する相対距離指定条件を設定する。図3の例において、キーワード「リスト」を含むセル番号「B3」の開始基準セルに対して、テーブルの抽出開始位置は例えばセル番号「C7」のセルにある。つまり、開始基準セル「B3」から右方向に1セル分および下方向に4セル分だけオフセットした位置のセル「C7」がテーブルの抽出開始位置となる。この場合、相対距離指定部648の二つの入力欄にそれぞれ「1」(右方向オフセット)「4」(下方向オフセット)を入力することで、基準セル「B3」から右方向に「1」セルおよび下方向に「4」セルだけオフセットしたセル「C7」をテーブルの抽出開始位置として指定できる。標準アイテム位置指定部649では標準アイテム設定部641で設定されたシリーズ標準アイテム「Dates」「Amounts」が含まれる位置または範囲を指定する。
 なお、図示の例では標準アイテム位置指定部649の入力欄の上に「What column/row is the standard item in? (e.g. A/1)」との入力支援情報が記載されているが、図3のような列方向のテーブルでは列番号を指定すればよく、行方向のテーブルでは行番号を指定すればよいため、テーブル配列指定部643で指定されたテーブル配列に応じて入力支援情報を変化させてもよい。具体的には、テーブル配列指定部643で「行方向」が指定された場合は「What row is the standard item in? (e.g. 1)」等の行の指定に関する入力支援情報を表示し、テーブル配列指定部643で「列方向」が指定された場合は「What column is the standard item in? (e.g. A)」等の列の指定に関する入力支援情報を表示する。
 テーブル終了位置指定部650では各指定部644~648によって指定されたテーブルの抽出開始位置と対になるテーブルの抽出終了位置を指定する。各指定部644~648の説明で用いた図3の表計算ファイルの例において、テーブルの抽出開始位置は「C7」等と一意的に決められるが、テーブルの抽出終了位置はテーブルに記録されるデータ数によるため一意的に決められない。このため、テーブル終了位置指定部650では、テーブルの抽出開始位置を指定する各指定部644~648より柔軟かつ包括的に、テーブルの抽出終了位置を指定するための条件を設定できる。
 テーブル終了位置指定部650は、基準セル指定方法指定部651と、キーワード指定部652と、キーワード位置指定部653と、相対距離指定部654と、条件削除ボタン655と、条件追加ボタン656と、条件演算部657を含む。基準セル指定方法指定部651、キーワード指定部652、キーワード位置指定部653、相対距離指定部654は、それぞれ前述の基準セル指定方法指定部644、キーワード指定部646、キーワード位置指定部647、相対距離指定部648と同様の方法で、キーワードによってテーブルの抽出終了位置を指定する。ここで、キーワード指定部652およびキーワード位置指定部653で指定された情報は、テーブル抽出の終了位置に関する終了基準セルをキーワードによって指定する終了基準セル指定条件を構成し、相対距離指定部654で指定された情報は、終了基準セルとの相対距離によってテーブルの抽出終了位置を指定する相対距離指定条件を構成する。
 図3の表計算ファイルにおいて、セル番号「B7」を開始位置とするテーブルが、1-100の通し番号が「B」列に振られた100個のデータを記録しているものとする。1個目のデータは「7」行にあるため、100個目のデータは「106」行にある。そして、100個目のデータの直下のセル番号「C107」のセルにテーブルの総計金額を表す「総計」との文字データが入力されているものとする。
 この「総計」と入力されたセル「C107」を終了基準セルとして特定するため、キーワード指定部652ではキーワード「総計」を入力し、キーワード位置指定部653では「Column」「C」「C」(検索対象のセル「C107」が結合されていないため列番号は「C」のみ)を入力する。この結果、図3の表計算ファイルの「C」列においてキーワード「総計」が検索され、キーワード「総計」を実際に含むセル番号「C107」のセルが終了基準セルとして特定される。
 ここで、「7」行から「106」行に記録された100個のデータを、「B」列の通し番号と「P」列の「備考」を除いたテーブルとして抽出することを考える(なお、「107」行の「総計」のデータは標準アイテム位置指定部649によってテーブルと併せて抽出できる)。この場合、テーブルの抽出開始位置は前述の通り「C7」となり、テーブルの抽出終了位置は「O106」となる。
 テーブルの抽出終了位置のセル「O106」は、キーワード指定部652およびキーワード位置指定部653によって特定された終了基準セル「C107」から右方向に12セル分および下方向に-1セル分(上方向に1セル分)だけオフセットした位置にある。そこで、相対距離指定部654の二つの入力欄にそれぞれ「12」(右方向オフセット)「-1」(下方向オフセット)を入力することで、終了基準セル「C107」から右方向に「12」セルおよび下方向に「-1」セルだけオフセットしたセル「O106」をテーブルの抽出終了位置として指定できる。このように、本実施形態によれば、テーブルに記録されるデータ数によらずテーブルの抽出終了位置を自動的に指定でき、抽出開始位置から抽出終了位置の間にある複数のセルから効率的にデータを抽出できる。
 以上の例では、基準セル指定方法指定部651で「Keyword」(キーワードによる指定)が指定されていたが、基準セル指定方法指定部651では「First empty cell」(空白セルによる指定)も指定できる。この場合、キーワードに関する各指定部652~654の代わりに、空白セルを検索する行および/または列を指定する指定部が画面上に現れる。換言すれば、特定の行または列における空白セルを指定する空白セル指定条件を設定する設定部が画面上に現れる。前述の図3の例において、空白セルを検索する列として「B」列を指定すれば、100個目のデータの通し番号「100」が入力されている「B106」のセルの直下の「B107」のセルが空白セルとして見つかる。このため、テーブルの抽出終了行として「106」行を特定できる。また、空白セルを検索する行として「7」行を指定すれば、「P7」のセルが空白セルとして見つかる。このため、テーブル(「P」列の「備考」を除く)の抽出終了列として「O」列を特定できる。なお、以上の空白セルの検索において、先に特定されたテーブルの抽出開始位置「C7」より上の「1」~「6」行は列方向(図3の上下方向)の検索時に除外され、先に特定されたテーブルの抽出開始位置「C7」より左の「A」~「B」列は行方向(図3の左右方向)の検索時に除外される。
 以上の各指定部651~654で指定された情報の組は一つのテーブル抽出終了条件を構成する。図示の一つのテーブル抽出終了条件には「Table End 01」とのIDまたは名称が付されている。既存のテーブル抽出終了条件は条件削除ボタン655によって削除できる。条件追加ボタン656によれば新しいテーブル抽出終了条件を作成して追加できる。条件演算部657によれば、複数のテーブル抽出終了条件を「and」や「or」の論理演算子によって組み合わせることができる。このように、テーブル終了位置指定部650によれば、テーブルの抽出開始位置を指定する各指定部644~648より柔軟かつ包括的に、テーブルの抽出終了位置を指定するための条件を設定できる。
 以上、図5~8を参照して各種のデータ抽出条件を含む構成ファイルの新規作成方法について説明した。各図の入力欄に必要事項を入力したユーザは、図5に示される保存ボタン70を押下することで構成ファイルを保存できる。新規に作成された構成ファイルは、図1の構成ファイル保持部14に保持され、図4の一覧表に表示される。図9は構成ファイルの具体例を示し、図5~8に関して説明した要素に対応する箇所に同一の符号を付した。
 図1において、構成ファイル検索部13は、属性情報取得部12で取得された表計算ファイルの属性情報に合致する構成ファイルを、構成ファイル保持部14に保持された複数の構成ファイルの中から検索する。具体的には、類型特定部121で特定された表計算ファイルの類型を図5の文書タイプ入力部613および文書サブタイプ入力部614の入力情報とマッチングし、エンティティ特定部122で特定された表計算ファイルの対象エンティティを図5のエンティティリスト623の入力情報とマッチングすることで、表計算ファイル入力部11で入力された表計算ファイルに適用すべき構成ファイルを構成ファイル保持部14において特定する。
 抽出条件取得部15は、構成ファイル検索部13が特定した構成ファイルで定義されたデータ抽出条件を構成ファイル保持部14から取得する。具体的には、抽出条件取得部15は、図6の単一アイテム抽出条件と図7および図8のテーブル抽出条件を構成ファイル保持部14から取得する。
 データ抽出部16は、抽出条件取得部15で取得された単一アイテム抽出条件およびテーブル抽出条件に基づいて、表計算ファイル入力部11で入力された表計算ファイルから単一の標準アイテムおよびテーブルを抽出する。図10は、データ抽出部16の抽出結果の画面例を示す。画面上部の単一アイテム表示領域71には、図6の単一アイテム抽出条件や図8の標準アイテム位置指定部649によって抽出された一または複数の単一の標準アイテムまたは標準アイテムの名称およびデータが表示される。画面下部のテーブル表示領域72には、図7および図8のテーブル抽出条件によって抽出された一または複数のテーブルが表示される。各テーブルは表計算ファイルと同様に格子状のデータ配列を有する。複数のテーブルが抽出された場合は、表示するテーブルを切り替えるテーブル切替タブ721が画面上に現れる。データ格納部17は、データ抽出部16で抽出されたデータをそのまま、あるいは、数値データの集計等のための演算や業務システムのためのフォーマット変換等の処理を施した上で、データ抽出装置10外の業務システムサーバ20に格納する。
 図11は、構成ファイルに基づく表計算ファイルからのデータ抽出処理のフローを示す。情報通信装置30に提供されるクライアントユーザインタフェース(Client User Interface)はスプレッドシート(spreadsheet, S/S)のファイルをアップロードするためのUIをユーザに提示する。
 S7では、UIに対するユーザ操作を受けて、スプレッドシートファイルがアプリケーションサーバ(データ抽出装置10)にアップロードされる。スプレッドシートの値(values)はデータベース/サーバストアで管理される。スプレッドシートファイルはファイルシステムに保存される。このアップロードおよび保存はアプリケーションサーバ(Application Server)のAPIレイヤにあるAPIを介して行われる。データベース/サーバストアに格納されるスプレッドシートファイルには、文書タイプ分類器が判別したまたはユーザ指定の文書タイプと、関連するエンティティと、を含むファイルタイプタグ(File Type Tags)が対応付けられる。
 S8では、抽出コントローラは、データベース/サーバストア内に定義される抽出キュー(抽出を行うべきスプレッドシートファイルを保持するキュー)で次に利用可能なスプレッドシートファイルのファイルタイプタグに基づいて、マッチングマッピング設定(Matching Mapping Configurations、上記の構成ファイルに相当)を検索する。具体的には、抽出コントローラは、ファイルタイプタグに含まれる文書タイプおよびエンティティに対応するマッチングマッピング設定を構成ファイル保持部から読み出す。抽出コントローラは、抽出キューで次に利用可能なスプレッドシートファイルを検索する。
 S9では、抽出コントローラは、スプレッドシート抽出ライブラリにあるスプレッドシート抽出器に、S8で取得したスプレッドシートファイルとマッチングマッピング設定の両方を渡す。S10では、スプレッドシート抽出器はマッチングマッピング設定に従い抽出アルゴリズムを設定し、渡されたスプレッドシートファイルを処理することで、スプレッドシートファイルから標準アイテムに対応する値を抽出する。具体的には、マッチングマッピング設定のセルの位置に基づいてその位置の値が抽出される。次に、その抽出された値は、それにマッチする標準アイテムにマッピングされる。このマッピングの態様はマッチングマッピング設定によって指定される。抽出結果は抽出コントローラに戻される。
 S11では、抽出コントローラはデータベース/データストアに抽出結果を保存する。クライアントユーザインタフェースはスプレッドシートファイルの値を消費するためのUIを備える。S12では、このUIが所与のファイルの抽出結果をAPIに要求する。この要求に応じて抽出結果がクライアントに提供され、他のアプリケーションに利用される。
 続いて、図5~8に関して説明した構成ファイルの新規作成方法の変形例について、情報通信装置30のディスプレイに表示される画面例を参照しながら説明する。図5~8の例では表計算ファイルを参照せずに構成ファイルを新規作成したが、本変形例ではサンプルとなる表計算ファイルを参照しながら、当該表計算ファイルの類型および対象エンティティに対応する構成ファイルを新規作成する。本変形例は機械学習により生成される入力支援モデルによる支援を利用する支援モードと利用しない非支援モードとを有する。
 図12は、変形例に係るデータ抽出装置10の機能及び構成を示すブロック図である。変形例に係るデータ抽出装置10は、図1の構成に加えてサンプルファイル取得部191と入力支援モデル192を備える。入力支援モデル192は支援モードにおいて機能する。まず非支援モードを説明する。
 図13は、図4の新規作成ボタン60を押下することで遷移する画面である。図5と同様の構成ファイル名入力部611と備考入力部612が表示される。入力完了後に右矢印ボタン73を押下すると次の図14の画面に進む。図14では、表計算ファイルのサンプルをアップロードする。サンプルファイル取得部191は、アップロードされたサンプル表計算ファイルを取得し、所定の保持部(不図示)に格納する。アップロード完了後に右矢印ボタン73を押下すると次の図15の画面に進む。なお、左矢印ボタン74を押下すると前の画面に戻る。以降の画面でも右矢印ボタン73と左矢印ボタン74は存在するが、符号「73」および「74」の図示は省略する。
 図15では、図5と同様の文書タイプ入力部613と文書サブタイプ入力部614が表示される。入力完了後に右矢印ボタン73を押下すると次の図16の画面に進む。図16では、図5と同様のエンティティ選択部621とエンティティリスト623が表示される。図5のエンティティ選択部621では追加対象のエンティティをドロップダウンリストから選択したが、本図のエンティティ選択部621では追加対象のエンティティを検索して、そのリンクをエンティティリスト623に追加できる。エンティティリスト623の入力完了後に右矢印ボタン73を押下すると次の図17の画面に進む。
 図17では、図15で入力された文書タイプおよび文書サブタイプと図16で入力された対象エンティティの情報に照らして、図14で入力された表計算ファイルのサンプルから抽出必須と判断された標準アイテムのみを以降の画面で表示するか、全ての標準アイテムを以降の画面で表示するかを選択する。ここでは、抽出必須と判断された標準アイテムのみを以降の画面で表示することを選択して次の図18の画面に進む。
 図18は、第1の単一の標準アイテム「PROPERTY NAME」(「75」の符号で示す)に関する設定画面であり、図14で入力された表計算ファイルのサンプルが表示されている。第1の単一の標準アイテム75の下に表示された指示に従って、ユーザは「PROPERTY NAME」すなわち物件名が含まれたシートを選択し、更に物件名を特定するためのキーワードが入力されたセルを選択する。図示のサンプルでは、具体的な物件名は「MOZART HOUSE」であり、その左隣のセル「A10」をユーザが選択した結果、物件名「MOZART HOUSE」を特定するためのキーワードとして「Management Report on」が選択されたことになる。次の図19の画面では、具体的な物件名「MOZART HOUSE」が入力されたセル「B10」を選択する。
 図18および図19の一連の選択処理は、図6のシート指定部632、キーワード指定部635、キーワード位置指定部636、相対距離指定部637における指定処理と等価である。すなわち、図18においてシート「Cover&Contents」を選択したことはシート指定部632においてシートの名称「Cover&Contents」を入力したことに等しく、図18においてセル「A10」を選択したことは、キーワード指定部635においてキーワード「Management Report on」を指定し、キーワード位置指定部636においてキーワード位置「A10」「A列」「10行」等を指定したことに等しい。また、図19においてセル「B10」を選択したことは、キーワードが入力された基準セル「A10」に対するオフセット量(右方向に1セル、下方向に0セル)を相対距離指定部637で指定したことに等しい。このように、本変形例によれば、図6におけるマニュアル入力作業を、図18および図19におけるシートやセルの選択作業に置き換えることができ、ユーザは表計算ファイルのサンプルを見ながら直感的に作業できる。
 図20および図21は、第2の単一の標準アイテム「ISSUE DATE」(「76」の符号で示す)に関する設定画面である。図20では、図18と同様に、ユーザが「ISSUE DATE」すなわち発行日が含まれたシートを選択し、更に発行日を特定するためのキーワード「Date」が入力されたセル「E3」を選択する。図21では、図19と同様に、具体的な発行日「Nov 01, 2020」が入力されたセル「F3」を選択する。
 図22は、テーブル「THIS MONTH ITEMS」(「77」の符号で示す)に関する設定画面であり、図14で入力された表計算ファイルのサンプルが表示されている。テーブル77の下に表示された指示に従って、ユーザは「THIS MONTH ITEMS」のテーブルが含まれたシート「EXPENSE」を選択し、更にテーブル「THIS MONTH ITEMS」を特定するためのキーワード「HOUSE A」が入力されたセル「A6」を選択する。シート「Expense」を選択したことは図7のシート指定部642においてシートの名称「Expense」を入力したことに等しいが、本変形例では更にキーワード「HOUSE A」によってテーブルのヘッダ領域やデータ領域を特定できる。
 図23は、テーブルにおける第1の抽出項目としてのシリーズ標準アイテム「ITEM NAME」(「771」の符号で示す)に関する設定画面である。シリーズ標準アイテム771の下に表示された指示に従って、ユーザはシリーズ標準アイテム「ITEM NAME」に対応するテーブルのヘッダ「分類(Category)」が入力されたセル「A7」を選択する。次の図24の画面では、シリーズ標準アイテム「ITEM NAME」に関して実際にデータ抽出を開始するセル「A8」を選択する。
 図23および図24の一連の選択処理は、図7のキーワード指定部646、キーワード位置指定部647、相対距離指定部648における指定処理と等価である。すなわち、図23においてセル「A7」を選択したことは、キーワード指定部646においてキーワード「分類(Category)」を指定し、キーワード位置指定部647においてキーワード位置「A7」「A列」「7行」等を指定したことに等しい。また、図24においてセル「A8」を選択したことは、キーワードが入力された開始基準セル「A7」に対するオフセット量(右方向に0セル、下方向に1セル)を相対距離指定部648で指定したことに等しい。このように、本変形例によれば、図7におけるマニュアル入力作業を、図23および図24におけるセルの選択作業に置き換えることができ、ユーザは表計算ファイルのサンプルを見ながら直感的に作業できる。
 図25は、テーブルにおける第2の抽出項目としてのシリーズ標準アイテム「BASE AMOUNT」(「772」の符号で示す)に関する設定画面である。シリーズ標準アイテム772の下に表示された指示に従って、ユーザはシリーズ標準アイテム「BASE AMOUNT」に対応するテーブルのヘッダ「本体金額(Amount)」が入力されたセル「D7」を選択する。次の図26の画面では、シリーズ標準アイテム「BASE AMOUNT」に関して実際にデータ抽出を開始するセル「D8」を選択する。
 図27は、テーブルにおける第3の抽出項目としてのシリーズ標準アイテム「CONSUMPTION TAX AMOUNT」(「773」の符号で示す)に関する設定画面である。シリーズ標準アイテム773の下に表示された指示に従って、ユーザはシリーズ標準アイテム「CONSUMPTION TAX AMOUNT」に対応するテーブルのヘッダ「消費税(Tax)」が入力されたセル「E7」を選択する。次の図28の画面では、シリーズ標準アイテム「CONSUMPTION TAX AMOUNT」に関して実際にデータ抽出を開始するセル「E8」を選択する。
 図23~25の一連の選択処理によって、テーブル「THIS MONTH ITEMS」から三つのシリーズ標準アイテム「ITEM NAME」「BASE AMOUNT」「CONSUMPTION TAX AMOUNT」に関するデータを選択的に抽出するデータ抽出条件を設定できる。
 図29は、テーブルの抽出終了位置の設定画面である。ユーザはテーブルの終了位置を示すテーブル直下の空白セル「A23」を選択する。空白セル「A23」を選択したことは図8の基準セル指定方法指定部651において「First empty cell」(空白セルによる指定)を指定し、その空白セルを検索する列として「A」列を指定したことに等しい。
 次に、支援モードを説明する。支援モードでは、まず学習フェーズにおいて、構成ファイル保持部14に保持されている文書タイプとエンティティとの組と構成ファイルとの対応関係を学習データとした機械学習により入力支援モデル192を生成する。入力支援モデル192は、文書タイプおよびエンティティが入力されると、予測された構成ファイルを出力する機械学習モデルである。
 構成ファイル管理部18は、図15で入力された文書タイプおよび文書サブタイプと図16で入力された対象エンティティの情報とを入力支援モデル192に入力することで、対応する予測構成ファイルを取得する。構成ファイル管理部18は、取得された予測構成ファイルの内容を参照し、図18~図29の新規作成画面において予測された標準アイテムおよび予測されたデータ抽出条件を予め入力しておくか、ユーザにそれを提案する。ユーザは予め入力されている情報に満足するのであれば単に次の画面に進むボタンを押すだけでよく、当該情報が誤っていれば修正する。
 この支援モードでは、ルールベースの抽出とAIベースの構成ファイル生成支援を併用することで、高い確度のデータ抽出を可能としつつ、構成ファイルの設定を容易とすることで文書類型やエンティティの増加による構成ファイル数の増大にも対応することができる。
 入力支援モデル192の別の例は、表計算ファイル内のデータを入力とし、標準アイテムの予測値を出力する機械学習モデルである。この入力支援モデル192は、業務システムサーバ20に保持される標準アイテムとその値との対応関係を学習データとした機械学習により生成される。入力支援モデル192はデータに加えて当該データのヘッダを入力としてもよい。
 構成ファイル管理部18は、取得されたサンプル表計算ファイルのデータを入力支援モデル192に入力することで、対応する予測標準アイテムを取得する。構成ファイル管理部18は新規作成画面において予測標準アイテムを予め入力しておくか、ユーザにそれを提案する。ユーザは予め入力されている情報に満足するのであれば単に次の画面に進むボタンを押すだけでよく、当該情報が誤っていれば修正する。ユーザへの提案の一態様は、以下の通りである。構成ファイル管理部18は、図18の例で標準アイテムが最初空欄か、デフォルトの例えば「Amount」であったとして、ユーザが「A10」のセルをクリックするとそこに記載されている文字列を読み取って入力支援モデル192に入力し、予測標準アイテム「PROPERTY NAME」を取得する。構成ファイル管理部18は、得られた予測標準アイテムを、空欄またはデフォルト値であった標準アイテム表示領域75に入力することでユーザに提案する。
 本例では、標準アイテムとデータとの対応関係を、標準アイテムとヘッダとの対応関係よりも優先して学習する。これは、同じヘッダが文書の類型やエンティティによって異なる標準アイテムに対応することがあるという本発明者等の気づきに基づく。本例では、ヘッダはオプション入力なので、同じヘッダが異なる標準アイテムに対応する場合でも、標準アイテムとデータそのものとの対応関係に基づいて適切な構成ファイルの予測結果を得ることができる。なお、ヘッダに加えてまたは代えて、文書の類型やエンティティをオプション入力としてもよい。
 続いて、図7に関して説明したテーブル抽出条件の設定方法の変形例について、情報通信装置30のディスプレイに表示される画面例を参照しながら説明する。図7と同等の要素については図7と同一の符号を付して説明を省略する。
 図30に示されるテーブル抽出条件設定領域64には、新たな入力部としてテーブル指定方法指定部640が設けられる。テーブル指定方法指定部640では、ドロップダウンリストから「テーブルデータ領域による指定」(Specify table-data-area)または「テーブルヘッダによる指定」(Search table-header-names)を選択する。図30ではテーブル指定方法指定部640で「テーブルデータ領域による指定」が選択されており、その下にテーブルデータ領域によってテーブルの抽出開始位置を指定するための基準セル指定方法指定部644、セル番号指定部645、キーワード指定部646、キーワード位置指定部647、相対距離指定部648が表示される。
 図31ではテーブル指定方法指定部640で「テーブルヘッダによる指定」が選択されており、その下にテーブルのヘッダによってテーブルの抽出開始位置を指定するためのテーブルヘッダ指定方法指定部661、テーブルヘッダ位置指定部662、キーワード指定部663、キーワード位置指定部664、第1相対距離指定部665、第2相対距離指定部666が表示される。ここで、テーブルのヘッダとは、図22のテーブルの「7」行に記載されているアイテムを指す。
 テーブルヘッダ指定方法指定部661ではテーブルのヘッダを指定する方法を指定する。具体的には、ドロップダウンリストから「行/列番号による指定」または「キーワードによる指定」を選択する。図31ではテーブルヘッダ指定方法指定部661の下方に指定部662~665を同時に表示したが、テーブルヘッダ指定方法指定部661の選択に応じて関連する指定部のみを表示するのが好ましい。すなわち、「行/列番号による指定」が選択された場合はテーブルヘッダ位置指定部662を表示し(指定部663~665は非表示)、「キーワードによる指定」が選択された場合はキーワード指定部663、キーワード位置指定部664、第1相対距離指定部665を表示する(指定部662は非表示)。
 テーブルヘッダ位置指定部662では表計算ファイルの行番号または列番号によってテーブルのヘッダの位置を指定する。例えば、図22の列方向のテーブルではヘッダがある「7」行が指定される。同様に、行方向のテーブルではヘッダの位置を列番号によって指定できる。
 キーワード指定部663ではテーブルのヘッダの位置を特定するためのキーワードを指定する。例えば、図22に関して説明した「HOUSE A」とのキーワードをキーワード指定部663に入力する。キーワード位置指定部664ではキーワード指定部663に入力されたキーワードが含まれる位置(セル番号)または範囲を指定する。例えば、図22の表計算ファイルに関して、キーワード指定部663に入力されたキーワード「HOUSE A」は「A」列に含まれるため、キーワード位置指定部664の三つの入力欄にそれぞれ「Column」(列)「A」「A」と入力する。この結果、図22の表計算ファイルの「A」列においてキーワード「HOUSE A」が検索され、キーワード「HOUSE A」を実際に含むセル番号「A6」のセルが特定される。
 第1相対距離指定部665ではキーワード位置指定部664で特定されたセルとの相対距離によってテーブルのヘッダの位置を指定する相対距離指定条件を設定する。図22の例において、キーワード「HOUSE A」を含むセル番号「A6」のセルに対して、テーブルのヘッダの位置は1行下の「7」行にある。つまり、セル「A6」から右方向に0列分および下方向に1行分だけオフセットした位置の「7」行がテーブルのヘッダの位置となる。この場合、第1相対距離指定部665の二つの入力欄にそれぞれ「0」(右方向オフセット)「1」(下方向オフセット)を入力することで、セル「A6」から右方向に「0」列および下方向に「1」行だけオフセットした「7」行をテーブルのヘッダ位置として指定できる。
 第2相対距離指定部666ではテーブルヘッダ位置指定部662または第1相対距離指定部665で特定されたヘッダ位置との相対距離によってテーブルの抽出開始位置を指定する相対距離指定条件を設定する。図22の例において、ヘッダ位置である「7」行に対して、例えばテーブルの抽出開始位置は1行下の「8」行にある。つまり、「7」行から下方向に1行分だけオフセットした位置の「8」行がテーブルの抽出開始位置となる。この場合、第2相対距離指定部666の入力欄に「1」(下方向オフセット)を入力することで、「7」行から下方向に「1」行だけオフセットした「8」行をテーブルの抽出開始位置として指定できる。
 続いて、本発明の実施形態に係るデータ抽出支援装置80について説明する。図32は、データ抽出支援装置80の機能ブロック図である。データ抽出支援装置80は、表計算ファイル入力部81と、属性情報取得部82と、構成分析部83と、保持部84と、抽出条件生成部85を備える。図1のデータ抽出装置10が、入力された表計算ファイルに合致する構成ファイルを検索し、当該構成ファイルで定義されたデータ抽出条件に基づいて表計算ファイルからデータを抽出するものであったのに対し、図32のデータ抽出支援装置80は、入力された表計算ファイルの構成を分析し、当該表計算ファイルに適用すべきデータ抽出条件を自律的に生成するものである。以下では、データ抽出支援装置80が情報通信装置30を操作するユーザと協働しながらデータ抽出条件を生成する例について説明するが、網羅的な訓練データによって予め機械学習を行った自然言語処理(NLP: Natural Language Processing)機能を有する人工知能で構成されるデータ抽出支援装置80がユーザを介さずにデータ抽出条件を完全に自律的に生成してもよい。
 表計算ファイル入力部81には、図1の表計算ファイル入力部11と同様に、データ抽出支援装置80によるデータ抽出支援処理の対象である表計算ファイルが入力される。属性情報取得部82は、図1の属性情報取得部12と同様に、表計算ファイル入力部81に入力された表計算ファイルの属性情報を取得する。表計算ファイルの属性情報は類型と対象エンティティを含み、それぞれ類型特定部821とエンティティ特定部822で特定される。属性情報取得部82で取得された情報は、後述の抽出条件生成部85が生成するデータ抽出条件と共に保持部84に格納される。
 保持部84は、図1の構成ファイル保持部14に対応し、複数の表計算ファイルと、それぞれに対応する複数のデータ抽出条件を保持する。具体的には、図2や図3のような複数の表計算ファイル自体と、各表計算ファイルについて予め設定された図6のような単一アイテム抽出条件や図7および図8のようなテーブル抽出条件を含むデータ抽出条件が保持部84に保持される。図1の構成ファイル保持部14がデータ抽出条件を含む構成ファイルを保持するものであったのに対し、図32の保持部84はデータ抽出条件に加えて表計算ファイル自体を保持する。なお、図1の構成ファイル保持部14に表計算ファイル入力部11で入力された表計算ファイルを保持させれば、図32の保持部84としてそのまま利用できる。
 構成分析部83は、表計算ファイル入力部81で入力された表計算ファイルと構成が類似する表計算ファイルを保持部84において特定する。特に、構成分析部83は、表計算ファイル入力部81で入力された表計算ファイルに含まれる概要データ領域と詳細データ領域のうち、少なくとも詳細データ領域の構成が類似する表計算ファイルを保持部84において特定する。ここで、概要データ領域とは、表計算ファイルの概要データ、共通データ、ヘッダデータ等を示す領域であり、詳細データ領域とは、概要データ領域以外で詳細データ、本体データ等を示す領域である。
 各表計算ファイルにおいて概要データ領域と詳細データ領域は任意に定義できるが、典型的には、テーブルを含まない領域を概要データ領域とし、テーブルを含む領域を詳細データ領域とするのが好ましい。例えば、図2の表計算ファイルでは、表題等を示す「K1」~「T4」の領域、物件概要を示す「A6」~「L14」の領域、賃貸状況を示す「N6」~「AG14」の領域、詳細を示す「N16」~「AG40」の領域を概要データ領域とし、収支状況のテーブルを示す「A16」~「L40」の領域を詳細データ領域とする。また、図3の表計算ファイルでは、表題等を示す「B1」~「P3」の領域を概要データ領域とし、テーブルを示す「B5」~「P28」の領域を詳細データ領域とする。なお、テーブルを含まない概要データ領域とテーブルを含む詳細データ領域を区別するためには、構成分析部83がテーブルを認識する必要がある。前述の通り、テーブルは行方向または列方向に沿ってデータが連続的に配列される矩形範囲という特有の構成を有するため、構成分析部83は表計算ファイルにおける各テーブルの開始位置(左上角のセル)や終了位置(右下角のセル)を正確に認識できる。
 図2の収支状況のテーブルと図3のテーブルの比較から明らかなように、表計算ファイルに含まれるテーブルのフォーマットは千差万別である。本実施形態によれば、構成分析部83がテーブルを含む詳細データ領域の構成を分析することで、当該テーブルを効率的に抽出するためのテーブル抽出条件(図7および図8)を生成できる。なお、構成分析部83は、詳細データ領域と併せて概要データ領域の構成も分析するのが好ましい。概要データ領域には単一アイテム抽出条件(図6)の対象となる単一アイテムが多く含まれるため、これらを効率的に抽出するための単一アイテム抽出条件を生成できる。
 抽出条件生成部85は、構成分析部83が保持部84において特定した表計算ファイルに対応するデータ抽出条件に基づいて、表計算ファイル入力部81で入力された表計算ファイルから抽出すべきデータを指定するデータ抽出条件を生成する。ここで、構成分析部83および抽出条件生成部85は、表計算ファイル入力部81で入力された表計算ファイルを複数の領域に区分し、領域毎に構成分析および抽出条件生成を行うのが好ましい。例えば、図2の表計算ファイルが表計算ファイル入力部81に入力された場合、前述のように、表題等を示す「K1」~「T4」の第1領域、物件概要を示す「A6」~「L14」の第2領域、賃貸状況を示す「N6」~「AG14」の第3領域、詳細を示す「N16」~「AG40」の第4領域、収支状況のテーブルを示す「A16」~「L40」の第5領域の五つの領域に区分される。
 構成分析部83は、第1領域と構成が類似する領域を含む第1表計算ファイルを保持部84において特定し、抽出条件生成部85は、第1表計算ファイルに対応して保持部84に保持されたデータ抽出条件のうち対象領域からのデータ抽出に関する第1データ抽出条件を抽出する。抽出条件生成部85は、抽出した第1データ抽出条件をそのまま第1領域に適用できる場合は採用し、第1領域に適用するために変更が必要な場合は変更処理を施して最終的な第1データ抽出条件とする。この際、抽出条件生成部85は情報通信装置30のディスプレイに関連情報を表示し、ユーザはそれを見ながら第1データ抽出条件の採用可否や変更要否を判断し、変更が必要な場合は変更内容を指示する。
 以上のように、表計算ファイル入力部81で入力された表計算ファイルの第1領域(図2の「K1」~「T4」の領域)からのデータ抽出に好適な第1データ抽出条件が抽出条件生成部85によって生成される。同様に、抽出条件生成部85は、情報通信装置30を操作するユーザと協働しながら、第2領域(図2の「A6」~「L14」の領域)からのデータ抽出に好適な第2データ抽出条件、第3領域(図2の「N6」~「AG14」の領域)からのデータ抽出に好適な第3データ抽出条件、第4領域(図2の「N16」~「AG40」の領域)からのデータ抽出に好適な第4データ抽出条件、第5領域(図2の「A16」~「L40」の領域)からのデータ抽出に好適な第5データ抽出条件をそれぞれ生成する。
 特に、収支状況のテーブルを示す「A16」~「L40」の第5領域に関する構成分析および抽出条件生成では、テーブル項目またはヘッダを示す項目領域またはヘッダ領域よりも実際のデータ抽出対象となるデータ領域が重視される。図2の例では、「Revenue」を示す第1のテーブルにおいて、テーブル項目「REVENUE」「収入」「Mar - 21」「Year-to-Date」を示す「B19」~「K19」の領域が項目領域であり、各テーブル項目に関するデータを示す「B20」~「K24」がデータ領域である。また、図2で「EXPENSES」を示す第2のテーブルにおいて、テーブル項目「EXPENSES」「支出」「Mar - 21」「Year-to-Date」を示す「B27」~「K27」の領域が項目領域であり、各テーブル項目に関するデータを示す「B28」~「K35」がデータ領域である。図3の例では、「支払明細リスト」を示すテーブルにおいて、テーブル項目「勘定科目」~「備考」を示す「C5」~「P6」の領域が項目領域であり、各テーブル項目に関するデータを示す「C7」~「P28」がデータ領域である。
 図23~25に関して説明したように、テーブルを抽出するテーブル抽出条件の設定では、データ抽出装置10が扱うシリーズ標準アイテムを表計算ファイルのヘッダに対応付ける必要がある。具体的には、図23および図24ではシリーズ標準アイテム「ITEM NAME」がヘッダ「分類(Category)」に対応付けられ、図25および図26ではシリーズ標準アイテム「BASE AMOUNT」がヘッダ「本体金額(Amount)」に対応付けられ、図27および図28ではシリーズ標準アイテム「CONSUMPTION TAX AMOUNT」がヘッダ「消費税(Tax)」に対応付けられる。しかし、表計算ファイルのヘッダ名はユーザが恣意的に設定しうるため、ヘッダ名だけに依拠してシリーズ標準アイテムとの対応付けを行うのは好ましくない。そこで、本実施形態のデータ抽出支援装置80ではヘッダ領域よりもデータ領域の構成の類似性を重視し、構成分析部83がデータ領域の構成が類似するテーブルを含む表計算ファイルを保持部84において特定する。このように、本実施形態によれば、表計算ファイルのヘッダ名によらず、データ領域の構成の類似性に基づいて、当該データ領域からデータを抽出するためのデータ抽出条件を正確に生成できる。
 なお、表計算ファイル入力部81で入力された表計算ファイルの全ての領域からデータを抽出しなくてもよいし、各領域から全てのデータを抽出しなくてもよい。このようなデータを抽出する領域の取捨選択や、各領域から抽出するデータの取捨選択は、抽出条件生成部85が訓練データに基づいて自律的に行ってもよいし、ユーザの判断を仰いでもよい。
 以上のように表計算ファイルの領域毎に生成された各データ抽出条件は、図6~8のフォーマットで保持部84に格納される。この際、属性情報取得部82で取得された属性情報も図5のフォーマットで保持部84に併せて格納される。つまり、データ抽出支援装置80の処理の結果、表計算ファイル入力部81で入力された表計算ファイルについて、図5~8のフォーマットに従った一つの構成ファイルが生成され、表計算ファイル自体と併せて保持部84に格納される。この意味で図32の保持部84は図1の構成ファイル保持部14と同等の機能を担う。なお、図1の構成ファイル保持部14に保持された各構成ファイルを用いた実際のデータ抽出処理の状況をデータ抽出支援装置80がモニタし、データ抽出処理時のユーザによる修正回数が所定の閾値を超えた構成ファイルについて、データ抽出条件を改善するための提案をユーザに対して行ってもよい。
 本実施形態によれば、各文書タイプや各エンティティにカスタマイズされた構成ファイルを用いることで、表計算ファイルから正確にデータを抽出できる。条件によってデータ抽出範囲を定義することで、テーブルのサイズが変わったとしてもデータ抽出が可能になる。本実施形態によれば、ルールの範囲内にある限りユーザは表計算ファイルから抽出したいデータを具体的に指定できる。ルールは柔軟に設定できるため、フォーマットの自由度の高い表計算ファイルにも適用できる。また、本システムは終了行や終了列が可変の動的なフォーマットからのデータ抽出も可能にする。構成ファイルは一般ユーザにも理解しやすいものであり、単一セルの抽出、テーブルの抽出、抽出値の演算等、ほとんどのユーザのニーズに応えることができる。
 以上、本発明を実施形態に基づいて説明した。実施形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 なお、実施形態で説明した各装置の機能構成はハードウェア資源またはソフトウェア資源により、あるいはハードウェア資源とソフトウェア資源の協働により実現できる。ハードウェア資源としてプロセッサ、ROM、RAM、その他のLSIを利用できる。ソフトウェア資源としてオペレーティングシステム、アプリケーション等のプログラムを利用できる。
 本発明は、データ抽出技術またはデータ抽出支援技術に関する。
 10 データ抽出装置、11 表計算ファイル入力部、12 属性情報取得部、13 構成ファイル検索部、14 構成ファイル保持部、15 抽出条件取得部、16 データ抽出部、30 情報通信装置、61 基本情報入力領域、62 エンティティ追加領域、63 単一アイテム抽出条件設定領域、64 テーブル抽出条件設定領域、80 データ抽出支援装置、81 表計算ファイル入力部、82 属性情報取得部、83 構成分析部、84 保持部、85 抽出条件生成部、121 類型特定部、122 エンティティ特定部、632 シート指定部、634 セル番号指定部、635 キーワード指定部、636 キーワード位置指定部、637 相対距離指定部、642 シート指定部、645 セル番号指定部、646 キーワード指定部、647 キーワード位置指定部、648 相対距離指定部、650 テーブル終了位置指定部、662 テーブルヘッダ位置指定部、663 キーワード指定部、664 キーワード位置指定部、665 第1相対距離指定部、666 第2相対距離指定部、821 類型特定部、822 エンティティ特定部。

Claims (16)

  1.  入力された表計算ファイルの属性情報に合致する構成ファイルを複数の構成ファイルの中から検索する構成ファイル検索部と、
     検索された構成ファイルで定義されたデータ抽出条件に基づいて、入力された表計算ファイルからデータを抽出するデータ抽出部と、
     を備えるデータ抽出装置。
  2.  前記属性情報は表計算ファイルの類型を含む、請求項1に記載のデータ抽出装置。
  3.  前記属性情報は表計算ファイルの対象エンティティを含む、請求項1または2に記載のデータ抽出装置。
  4.  表計算ファイルが複数のシートを含む場合、前記データ抽出条件はデータを抽出すべきシートを指定するシート指定条件を含む、請求項1から3のいずれかに記載のデータ抽出装置。
  5.  前記データ抽出条件は、データ抽出における基準セルを指定する基準セル指定条件を含む、請求項1から4のいずれかに記載のデータ抽出装置。
  6.  前記基準セル指定条件は、表計算ファイルのセル番号によって基準セルを指定するセル番号指定条件を含む、請求項5に記載のデータ抽出装置。
  7.  前記基準セル指定条件は、キーワードによって基準セルを指定するキーワード指定条件を含む、請求項5または6に記載のデータ抽出装置。
  8.  前記データ抽出条件は、前記基準セルとの相対距離を指定する相対距離指定条件を含み、
     前記データ抽出部は、前記基準セルから前記相対距離だけ離れたセルからデータを抽出する、
     請求項5から7のいずれかに記載のデータ抽出装置。
  9.  前記基準セル指定条件は、データ抽出の開始位置に関する開始基準セルを指定する開始基準セル指定条件と、データ抽出の終了位置に関する終了基準セルを指定する終了基準セル指定条件と、を含み、
     前記データ抽出部は、前記開始位置と前記終了位置の間にある複数のセルからデータを抽出する、
     請求項5から8のいずれかに記載のデータ抽出装置。
  10.  前記終了基準セル指定条件は、特定の行または列における空白セルを指定する空白セル指定条件を含む、請求項9に記載のデータ抽出装置。
  11.  複数の表計算ファイルと、それぞれに対応する複数のデータ抽出条件を保持する保持部と、
     入力された表計算ファイルと構成が類似する表計算ファイルを前記保持部において特定する構成分析部と、
     特定された表計算ファイルに対応するデータ抽出条件に基づいて、入力された表計算ファイルから抽出すべきデータを指定するデータ抽出条件を生成する抽出条件生成部と、
     を備えるデータ抽出支援装置。
  12.  表計算ファイルが、テーブル項目を示す項目領域およびテーブル項目に関するデータを示すデータ領域を有するテーブルを含む場合、
     前記構成分析部は、テーブルの構成を分析する際に、少なくともデータ領域の構成を分析する、
     請求項11に記載のデータ抽出支援装置。
  13.  入力された表計算ファイルの属性情報に合致する構成ファイルを複数の構成ファイルの中から検索する構成ファイル検索ステップと、
     検索された構成ファイルで定義されたデータ抽出条件に基づいて、入力された表計算ファイルからデータを抽出するデータ抽出ステップと、
     を備えるデータ抽出方法。
  14.  入力された表計算ファイルの属性情報に合致する構成ファイルを複数の構成ファイルの中から検索する構成ファイル検索ステップと、
     検索された構成ファイルで定義されたデータ抽出条件に基づいて、入力された表計算ファイルからデータを抽出するデータ抽出ステップと、
     をコンピュータに実行させるデータ抽出プログラム。
  15.  複数の表計算ファイルと、それぞれに対応する複数のデータ抽出条件を格納する格納ステップと、
     格納された複数の表計算ファイルの中から入力された表計算ファイルと構成が類似する表計算ファイルを特定する構成分析ステップと、
     特定された表計算ファイルに対応するデータ抽出条件に基づいて、入力された表計算ファイルから抽出すべきデータを指定するデータ抽出条件を生成する抽出条件生成ステップと、
     を備えるデータ抽出支援方法。
  16.  複数の表計算ファイルと、それぞれに対応する複数のデータ抽出条件を格納する格納ステップと、
     格納された複数の表計算ファイルの中から入力された表計算ファイルと構成が類似する表計算ファイルを特定する構成分析ステップと、
     特定された表計算ファイルに対応するデータ抽出条件に基づいて、入力された表計算ファイルから抽出すべきデータを指定するデータ抽出条件を生成する抽出条件生成ステップと、
     をコンピュータに実行させるデータ抽出支援プログラム。
PCT/JP2021/021247 2021-04-09 2021-06-03 データ抽出装置、データ抽出方法、データ抽出プログラム、データ抽出支援装置、データ抽出支援方法、データ抽出支援プログラム WO2022215276A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-066238 2021-04-09
JP2021066238 2021-04-09

Publications (1)

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

Family

ID=83545806

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/021247 WO2022215276A1 (ja) 2021-04-09 2021-06-03 データ抽出装置、データ抽出方法、データ抽出プログラム、データ抽出支援装置、データ抽出支援方法、データ抽出支援プログラム

Country Status (1)

Country Link
WO (1) WO2022215276A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117648912A (zh) * 2024-01-29 2024-03-05 中国电建集团西北勘测设计研究院有限公司 一种识别多格式电子表格源数据的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309959A (ja) * 2004-04-23 2005-11-04 Mitsubishi Electric Corp 図面管理システム
JP2011090598A (ja) * 2009-10-26 2011-05-06 Hitachi Solutions Ltd 文書検証装置および文書検証方法
JP2012173936A (ja) * 2011-02-21 2012-09-10 Fuji Xerox Co Ltd 情報管理装置、プログラム、および情報管理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309959A (ja) * 2004-04-23 2005-11-04 Mitsubishi Electric Corp 図面管理システム
JP2011090598A (ja) * 2009-10-26 2011-05-06 Hitachi Solutions Ltd 文書検証装置および文書検証方法
JP2012173936A (ja) * 2011-02-21 2012-09-10 Fuji Xerox Co Ltd 情報管理装置、プログラム、および情報管理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117648912A (zh) * 2024-01-29 2024-03-05 中国电建集团西北勘测设计研究院有限公司 一种识别多格式电子表格源数据的方法
CN117648912B (zh) * 2024-01-29 2024-05-03 中国电建集团西北勘测设计研究院有限公司 一种识别多格式电子表格源数据的方法

Similar Documents

Publication Publication Date Title
US11681694B2 (en) Systems and methods for grouping and enriching data items accessed from one or more databases for presentation in a user interface
US9619531B2 (en) Device, method and user interface for determining a correlation between a received sequence of numbers and data that corresponds to metrics
US7302444B1 (en) System for designating grid-based database reports
US20070129977A1 (en) User interface incorporating data ecosystem awareness
US20050055289A1 (en) Multi-dimensional business information accounting software engine
US9659054B2 (en) Database browsing system and method
CN102541867A (zh) 数据字典生成方法及系统
US11429253B2 (en) Integrated drill down within a natural language interface for visual analysis
WO2005050447A1 (ja) バッチ処理装置
JP2008165641A (ja) 会計情報収集・分析システム及びその方法並びにプログラム
CN116235144A (zh) 用于快速筛查的领域专用语言解释器和交互式可视界面
JP6623754B2 (ja) 表形式データ処理プログラム、方法及び装置
Alexander et al. Access 2013 Bible
US20080059437A1 (en) Data mining system
US20160086499A1 (en) Knowledge brokering and knowledge campaigns
WO2022215276A1 (ja) データ抽出装置、データ抽出方法、データ抽出プログラム、データ抽出支援装置、データ抽出支援方法、データ抽出支援プログラム
JP2000285128A (ja) 業務分析システム
Soni et al. A survey on automatic dashboard recommendation systems
JP2012252696A (ja) 会計仕訳ファイルデータ標準化システムとそのプログラム
US11977722B2 (en) Interactive patent visualization systems and methods
Etheridge Microsoft Office Excel 2007 Data Analysis: Your visual blueprint for creating and analyzing data, Charts, and PivotTables
Dunlop Beginning Big Data with Power BI and Excel 2013: Big Data Processing and Analysis Using PowerBI in Excel 2013
Yu Getting started with Salesforce Einstein analytics: A Beginner’s guide to building interactive dashboards
US20140317154A1 (en) Heterogeneous data management methodology and system
Vilmos et al. Supporting corporate decision-making with the Tableau program

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: 21936079

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21936079

Country of ref document: EP

Kind code of ref document: A1