WO2017134800A1 - 表形式データの解析方法、表形式データの解析プログラム及び情報処理装置 - Google Patents
表形式データの解析方法、表形式データの解析プログラム及び情報処理装置 Download PDFInfo
- Publication number
- WO2017134800A1 WO2017134800A1 PCT/JP2016/053388 JP2016053388W WO2017134800A1 WO 2017134800 A1 WO2017134800 A1 WO 2017134800A1 JP 2016053388 W JP2016053388 W JP 2016053388W WO 2017134800 A1 WO2017134800 A1 WO 2017134800A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- row
- column
- data
- cells
- item
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Definitions
- the present invention relates to a tabular data analysis method, a tabular data analysis program, and an information processing apparatus.
- the local governments have gathered various information about sightseeing spots in the area of the local government and published them on a website on the Internet.
- the local government collects information on the sightseeing spot by receiving information from a facility in the sightseeing spot.
- the consignment company of the local government receives and inputs information on sightseeing spots as open data from the local government.
- the information to be provided is information based on various formats such as various spreadsheet software file formats, CSV (Comma-Separated Values) format, TSV (Tab-Separated Values) format, etc. It is.
- the present invention provides a tabular data analysis method, a tabular data analysis program, and an information processing apparatus that can easily register tabular data in various formats.
- the computer executes a process of determining whether or not there is a cell in which data is input for each row or each column of the input tabular data.
- the computer executes a process of extracting a plurality of consecutive row or column clusters in which cells into which data is input exist as portions related to one table data.
- FIG. 1 is a block diagram illustrating an example of the configuration of the information processing apparatus according to the embodiment.
- FIG. 2 is a diagram illustrating an example of tabular data and tabular data.
- FIG. 3 is a diagram illustrating an example of the information DB.
- FIG. 4 is a diagram illustrating an example of table data extraction.
- FIG. 5 is a diagram illustrating another example of table data extraction.
- FIG. 6 is a diagram illustrating an example of editing processing.
- FIG. 7 is a diagram illustrating another example of the editing process.
- FIG. 8 is a diagram illustrating another example of the editing process.
- FIG. 9 is a diagram illustrating an example of cell connection release in a row that is not an item row.
- FIG. 10 is a diagram illustrating an example of generating item names.
- FIG. 10 is a diagram illustrating an example of generating item names.
- FIG. 11 is a diagram illustrating another example of generating item names.
- FIG. 12 is a diagram illustrating an example of specifying item lines.
- FIG. 13 is a diagram illustrating another example of specifying item lines.
- FIG. 14 is a diagram illustrating another example of specifying item lines.
- FIG. 15 is a diagram illustrating another example of specifying item lines.
- FIG. 16 is a diagram illustrating an example of specifying an item string.
- FIG. 17 is a diagram illustrating another example of specifying an item string.
- FIG. 18 is a diagram illustrating an example of adding item lines.
- FIG. 19 is a diagram illustrating another example of adding item lines.
- FIG. 20 is a diagram illustrating an example of the table data after shaping.
- FIG. 21 is a flowchart illustrating an example of analysis processing according to the embodiment.
- FIG. 22 is a diagram illustrating an example of a computer that executes an analysis program for tabular data.
- FIG. 1 is a block diagram illustrating an example of the configuration of the information processing apparatus according to the embodiment.
- the information processing apparatus 100 illustrated in FIG. 1 determines whether or not there is a cell in which data is input for each row or each column of the input tabular data.
- the information processing apparatus 100 extracts a plurality of consecutive row or column chunks in which cells into which data is input exist as portions related to one table data. Thereby, the information processing apparatus 100 can easily register tabular data in various formats.
- the description will be made mainly focusing on the row direction, but the same applies to the column direction.
- the information processing apparatus 100 illustrated in FIG. 1 includes a communication unit 110, a display unit 111, an operation unit 112, a storage unit 120, and a control unit 130.
- the information processing apparatus 100 may include various functional units included in known computers, for example, functional units such as various communication devices, input devices, and audio output devices, in addition to the functional units illustrated in FIG. .
- a stationary computer such as a server can be employed.
- the information processing apparatus 100 not only a stationary computer such as the server described above but also a portable or stationary personal computer can be adopted as the information processing apparatus 100.
- the communication unit 110 is realized by, for example, a NIC (Network Interface Card).
- the communication unit 110 is a communication interface that is connected to a terminal device of a user (not shown) via a network (not shown) in a wired or wireless manner and manages information communication with the terminal device.
- the communication unit 110 receives tabular data from the terminal device.
- the communication unit 110 outputs the received tabular data to the control unit 130.
- FIG. 2 is a diagram illustrating an example of tabular data and tabular data.
- the tabular data 11 illustrated in FIG. 2 is data including, for example, a plurality of tabular data 12a and 12b, a title of the tabular data 11, and the like.
- data of one entire file is expressed as tabular data
- individual tables in the tabular data are expressed as tabular data.
- table data having items (headers) in the uppermost row table data having items in the uppermost row and the leftmost column, and cells are connected to represent small items.
- the table data is not limited to these, and any data may be used as long as the data can be expressed in the form of a matrix.
- the tabular data can be, for example, open data provided from a public office or a local government.
- the display unit 111 is a display device for displaying various information.
- the display unit 111 is realized by, for example, a liquid crystal display as a display device.
- the display unit 111 displays various screens such as a display screen input from the control unit 130.
- the operation unit 112 is an input device that receives various operations from the administrator of the information processing apparatus 100.
- the operation unit 112 is realized by, for example, a keyboard or a mouse as an input device.
- the operation unit 112 outputs an operation input by the administrator to the control unit 130 as operation information.
- the operation unit 112 may be realized by a touch panel or the like as an input device, and the display device of the display unit 111 and the input device of the operation unit 112 may be integrated.
- the storage unit 120 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk.
- the storage unit 120 includes an information database 121.
- the information database 121 is abbreviated as the information DB 121.
- the storage unit 120 stores information used for processing in the control unit 130.
- the information DB 121 stores items and values in association with table data.
- FIG. 3 is a diagram illustrating an example of the information DB. As illustrated in FIG. 3, the information DB 121 includes items such as “row”, “item”, and “value”. Information DB121 memorizes as one record for every cell which constitutes table data, for example.
- “Row” is information indicating a row of a cell in which data is input.
- “Item” is information indicating an item corresponding to a cell.
- “Value” is information indicating data stored in a cell. In the example of the first row in FIG. 3, the value of the item “x1” in the “1” row of the table data is “y1”.
- control unit 130 executes, for example, a program stored in an internal storage device using a RAM as a work area by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like. Is realized.
- the control unit 130 may be realized by an integrated circuit such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
- the control unit 130 includes a determination unit 131, an extraction unit 132, an editing unit 133, a counting unit 134, a generation unit 135, a detection unit 136, a specifying unit 137, and a storage control unit 138. Implements or executes the functions and operations of information processing described in (1). Note that the internal configuration of the control unit 130 is not limited to the configuration illustrated in FIG. 1, and may be another configuration as long as the information processing described below is performed.
- the determination unit 131 determines the presence or absence of a cell in which data is input for each row or each column of the input table format data. That is, the determination unit 131 determines whether there is a data input cell of tabular data. The determination unit 131 outputs the tabular data and the determination result to the extraction unit 132.
- the extraction unit 132 When the tabular data and the determination result are input from the determination unit 131, the extraction unit 132, based on the determination result, from the tabular data, a plurality of continuous row or column clusters in which cells to which data is input exist. Are extracted as a portion related to one table data. That is, the extraction unit 132 sandwiches one or a plurality of continuous rows or columns in which cells into which data is input are sandwiched between one or more continuous rows or columns in which no data is input. When two are detected, each of the two chunks is extracted as different table data. When extracting the table data, the extraction unit 132 outputs the extracted table data to the editing unit 133 and the generation unit 135 as first table data. Further, the extraction unit 132 stores the first table data in the storage unit 120.
- FIG. 4 is a diagram illustrating an example of table data extraction.
- FIG. 4 is an example in which a plurality of table data exist in the vertical direction.
- the number of data inputs 14 in each row is detected for the tabular data 13. For example, in the tabular data 13, since the title of the tabular data 13 is input to one cell in the first row, the data input number 14 is “1”. In the second row, since there is no cell in which data is input, the data input number 14 is “0”. Similarly, the number of data inputs 14 in each row is detected.
- the extraction unit 132 determines that the row whose data input number 14 is “0” is a break of the table data, and divides the tabular data 13 by the break.
- a lump that is a part related to the divided table data is also referred to as a cluster.
- the tabular data 13 is divided into a cluster 15, a cluster 16, and a cluster 17.
- the cluster 15 is the title of the tabular data 13.
- the cluster 16 is the first table data.
- the cluster 17 is the second table data.
- the extraction unit 132 extracts the cluster 16 and the cluster 17 as first table data. Note that the extracted first table data is expanded in a tabular format using, for example, a two-dimensional array on a memory. In the following description, the same applies to each table data based on the first table data.
- FIG. 5 is a diagram showing another example of table data extraction.
- FIG. 5 is an example in which a plurality of table data exist in the horizontal direction.
- the number of data inputs 19 in each column is detected for the tabular data 18. For example, in the tabular data 18, there is no cell in which data is input in the first column, so the data input number 19 is “0”.
- the title of the tabular data 18 is input to the first row, “a” is input to the second row, “1” is input to the third row, and “1” is input to the fourth row. Equation 19 is “4”.
- the number of data inputs 19 in each column is detected.
- the extraction unit 132 determines that the column whose data input number 19 is “0” is a break of the table data, and divides the tabular data 18 by the break.
- the tabular data 18 is divided into a cluster 20 and a cluster 21.
- the cluster 20 is the first table data.
- the cluster 21 is the second table data.
- the extraction unit 132 extracts the cluster 20 and the cluster 21 as first table data. Note that the cluster 20 has no data input cell in the fifth row as compared with the cluster 21, but adds a null character to the fifth row to make the table size uniform.
- the editing unit 133 executes an editing process on the input first table data.
- the editing unit 133 tentatively determines the uppermost row or the leftmost column among the cells constituting the table excluding the title cell in the first table data as an item row or an item column.
- the title cell can be determined as the uppermost or leftmost row or column in the first table data in which the number of data inputs used by the extraction unit 132 is “1”.
- the editing unit 133 divides the specific cell into unit cells when the specific cell subjected to the cell concatenation process is included in the temporarily determined item row or item column. Further, the editing unit 133 inputs the same data as the data input to the specific cell to each of the divided unit cells.
- the editing unit 133 outputs the table data for which the editing process has been completed to the counting unit 134 and the generation unit 135 as second table data. Further, the editing unit 133 counts the input first table data as the second table data as it is when the specified row or column does not include a specific cell subjected to the cell concatenation process. 134 and the generation unit 135.
- FIG. 6 is a diagram illustrating an example of editing processing.
- the first row of the first table data 22 includes a cell that has been subjected to cell concatenation processing. That is, the cells with the values “a” and “b” are specific cells that have been subjected to the cell concatenation process.
- the editing unit 133 divides a specific cell into unit cells, and inputs the values “a” and “b” to each of the divided unit cells.
- the editing unit 133 outputs the second table data 23 for which the editing process has been completed to the counting unit 134 and the generating unit 135.
- FIG. 7 is a diagram illustrating another example of the editing process.
- the values “a” and “b” of specific cells subjected to the cell concatenation process of the first table data 24 are input to each of the divided unit cells.
- the second table data 25 is used.
- FIG. 8 is a diagram illustrating another example of the editing process.
- the first column of the first table data 26 includes a cell that has been subjected to cell connection processing. That is, the cells with the values “g” and “h” are specific cells that have been subjected to the cell concatenation process.
- the editing unit 133 divides a specific cell into unit cells, and inputs the values “g” and “h” to each of the divided unit cells.
- the editing unit 133 outputs the second table data 27 for which the editing process has been completed to the counting unit 134 and the generating unit 135.
- the editing unit 133 divides a specific cell that has been subjected to cell connection processing in the row direction and a specific cell that has been subjected to cell connection processing in the column direction into unit cells, and each of the divided unit cells Enter the value of a specific cell in.
- FIG. 9 is a diagram showing an example of cell decoupling in a row that is not an item row.
- the last row of the first table data 28, that is, the fourth row includes cells that have been subjected to cell concatenation processing. That is, the cell with the value “100” is a specific cell that has been subjected to the cell concatenation process.
- the editing unit 133 divides a specific cell into unit cells and inputs the value “100” to one of the divided unit cells.
- the editing unit 133 outputs the second table data 29 for which the editing process has been completed to the counting unit 134 and the generating unit 135.
- FIG. 9 the last row of the first table data 28, that is, the fourth row includes cells that have been subjected to cell concatenation processing. That is, the cell with the value “100” is a specific cell that has been subjected to the cell concatenation process. Since the last row of the first table data 28 is not an item row, the editing unit 133 divides a specific cell into unit cells
- the counting unit 134 counts the number of cells in which data is input for each row or column in the second table data. To do. That is, the count unit 134 counts the number of cells in which data is input in the row or column cluster for each row or column. The count unit 134 outputs the number of cells counted for each row or column to the detection unit 136 as a count value.
- the first table data is input from the extraction unit 132 and the second table data is input from the editing unit 133 to the generation unit 135.
- the generation unit 135 temporarily determines the uppermost row or the leftmost column as the item row or the item column among the cells constituting the table excluding the title cell in the input first table data. .
- the title cell can be determined in the same manner as the editing unit 133.
- the generation unit 135 may include a plurality of consecutive item rows or a plurality of consecutive items including a range including the specific cell when the specific cell subjected to the cell concatenation process is included in the temporarily determined item row or item column. Temporarily determine the column.
- the generation unit 135 includes a row or column including each unit cell obtained by dividing a specific cell, and a row or column adjacent to the lower side or right side of the row or column, a plurality of consecutive item rows or columns. Temporarily determine a sequence of multiple items.
- the generating unit 135 When the generating unit 135 temporarily determines a plurality of continuous item rows or a plurality of continuous item strings, the generating unit 135 generates item names for the second table data input from the editing unit 133. That is, the generation unit 135 includes the values of connected cells including cells in the same column or the same column, or cells in the same row or the same row, for a plurality of consecutive item rows or a plurality of continuous item columns that are temporarily determined. A value obtained by combining the values of linked cells is generated as an item name. Note that a connected cell is a specific cell that has been subjected to cell connection processing. The generation unit 135 outputs the second table data to which the generated item name is applied to the detection unit 136 as third table data. If the determined item row or item column does not include the specific cell subjected to the cell concatenation process, the generation unit 135 uses the input second table data as it is as the third table data to the detection unit 136. Output.
- FIG. 10 is a diagram illustrating an example of generating item names.
- the generation unit 135 provisionally determines the first row and the second row as item rows and the first and second columns as item rows for the first table data 30.
- the generation unit 135 generates, as the item names of the item rows, the values obtained by combining the values of the connected cells including cells in the same column or the same column in the first row and the second row.
- the synthesized value is generated based on the second table data (not shown) in which the cell connection process is canceled for a specific cell that has been subjected to the cell connection process.
- the generation unit 135 generates “b / f” obtained by combining “b” in the first row and the third column of the first table data 30 and “f” in the second row and the third column in one row of the third table data 31. Generated as item names in two columns.
- the generation unit 135 generates a value obtained by combining the values of the linked cells including cells in the same row or the same row as the item names of the item columns in the first column and the second column. For example, the generation unit 135 generates “j / m” obtained by combining “j” in the third row and first column of the first table data 30 and “m” in the third row and second column in the second row of the third table data 31. Generated as one column item name. In the first table data 30, the four cells of 1 row 1 column, 1 row 2 column, 2 rows 1 column, and 2 rows 2 columns are connected and the value is “a”. In this case, the item name in the first row and the first column is “a”.
- FIG. 11 is a diagram showing another example of generating item names.
- the generation unit 135 temporarily determines the first row and the second row as item rows for the first table data 32.
- the generation unit 135 generates, as the item names of the item rows, the values obtained by combining the values of the connected cells including cells in the same column or the same column in the first row and the second row.
- the synthesized value is generated based on the second table data (not shown) in which the cell connection process is canceled for a specific cell that has been subjected to the cell connection process.
- the generation unit 135 generates “a / d” obtained by combining “a” in the first row and the first column of the first table data 32 and “d” in the second row and the first column into one row of the third table data 33. Generated as one column item name.
- the generation unit 135 generates, for example, “a / e” obtained by combining “a” in the first row and the second column of the first table data 32 and “e” in the second row and the second column in the third table data 33. It is generated as an item name of 1 row and 2 columns.
- the count value is input from the count unit 134 and the third table data is input from the generation unit 135 to the detection unit 136.
- the detection unit 136 detects the uppermost row or the leftmost column among the rows or columns with the maximum input count value with respect to the input third table data.
- the detection unit 136 outputs the detected uppermost row or leftmost column as a detection result to the specifying unit 137 together with the count value and the third table data.
- the detection result, count value, and third table data are input from the detection unit 136 to the identification unit 137.
- the specifying unit 137 specifies the uppermost row or the leftmost column among the rows or columns having the maximum count value as a row or column indicating a table item. That is, the specifying unit 137 specifies an item row or an item column.
- the specifying unit 137 sets the third table data that has been specified as fourth table data.
- the specifying unit 137 outputs the specified item row or item column and the fourth table data to the storage control unit 138.
- the specifying unit 137 may specify the item row or the item column based on the detection result, the count value, and the third table data. If the count value corresponding to the lower row adjacent to the detected uppermost row is not the maximum, the specifying unit 137 specifies the uppermost row as a row indicating a table item. Alternatively, the specifying unit 137 specifies the leftmost column as a column indicating a table item when the count value corresponding to the rightmost column adjacent to the detected leftmost column is not the maximum. That is, the specifying unit 137 specifies an item row or an item column. The specifying unit 137 sets the third table data that has been specified as fourth table data. The specifying unit 137 outputs the specified item row or item column and the fourth table data to the storage control unit 138.
- the specifying unit 137 may specify an item row or an item column based on the proportion of cells in which non-numeric data is input.
- the specifying unit 137 selects items based on the proportion of cells in which non-numeric data is input among the cells in the row. Identify the line to show.
- the specifying unit 137 is based on the proportion of cells in which non-numeric data is input among the cells in the column for the plurality of columns. , Specified as a column indicating an item.
- the specifying unit 137 specifies an item row or an item column.
- the specifying unit 137 sets the third table data that has been specified as fourth table data.
- the specifying unit 137 outputs the specified item row or item column and the fourth table data to the storage control unit 138.
- the specifying unit 137 may specify the item row or the item column by adopting the item row or the item column temporarily determined by the editing unit 133. Furthermore, the specifying unit 137 may use a plurality of continuous item rows or a plurality of continuous item columns temporarily determined by the generation unit 135 to specify the item rows or the item columns. The specifying unit 137 sets the third table data that has been specified as fourth table data. The specifying unit 137 outputs the specified item row or item column and the fourth table data to the storage control unit 138.
- the specifying unit 137 regards the uppermost row or the leftmost column as the item row or the item column, and sets the item row or the item column. May be specified.
- the specifying unit 137 selects the uppermost row or column from the row or column having the maximum count value even when the uppermost row or the leftmost column includes a cell whose input data is not an item name.
- the leftmost column is specified as an item row or item column.
- the specifying unit 137 sets the third table data that has been specified as fourth table data.
- the specifying unit 137 outputs the specified item row or item column and the fourth table data to the storage control unit 138.
- the specifying unit 137 may add a new item row or item column when the input data includes overlapping cells. When the uppermost row or the leftmost column among the rows or columns with the maximum count value includes cells in which the input data overlaps, the specifying unit 137 further moves to the uppermost or leftmost side of the uppermost row. Add a new row or column to the left of the column. The specifying unit 137 specifies the added row or column as an item row or item column. The specifying unit 137 sets the third table data that has been specified by adding a new row or column as the fourth table data. The specifying unit 137 outputs the specified item row or item column and the fourth table data to the storage control unit 138.
- the specifying unit 137 may add a new item row or item column when the uppermost row or the leftmost column includes a blank cell.
- a blank cell is represented by a null character (NULL). If the uppermost row or the leftmost column among the rows or columns having the maximum count value includes a blank cell, the specifying unit 137 further moves to the left of the uppermost row or the leftmost column. Add a new row or column to The specifying unit 137 specifies the added row or column as an item row or item column.
- the specifying unit 137 sets the third table data that has been specified by adding a new row or column as the fourth table data.
- the specifying unit 137 outputs the specified item row or item column and the fourth table data to the storage control unit 138.
- FIG. 12 is a diagram illustrating an example of specifying item lines.
- the example of FIG. 12 is a case where an item row is specified when there is one row with the maximum count value.
- the second row is “5”, which is the maximum.
- the specifying unit 137 specifies the second row as an item row because the count value of the third row, which is the lower row adjacent to the second row, is “4” and not the maximum.
- FIG. 13 is a diagram showing another example of specifying item rows.
- the example of FIG. 13 is a case where an item row is specified when there are a plurality of rows with the maximum count value.
- the third table data 37 when the count value 38 is viewed, the second row and the fifth row are “5”, which is the maximum.
- the specifying unit 137 specifies the second row, which is the uppermost row among the rows having the largest count value, as the item row.
- FIG. 14 is a diagram showing another example of specifying item rows.
- the example of FIG. 14 is a case where an item row is specified based on the proportion of cells in which non-numeric data is input.
- the third table data 41 when the count value 42 is viewed, the second row and the third row are “5”, which is the maximum. Note that the count values 42 of other rows are omitted.
- the ratio 43 of cells in which non-numeric data is input is 100% for the second row and 40% for the third row.
- the specifying unit 137 determines whether or not the ratio of the third row adjacent to the second row is 50% or more, for example. Since the ratio of the third row is 40%, the specifying unit 137 determines that the third row is not an item row and specifies the second row as an item row.
- FIG. 15 is a diagram showing another example of specifying item rows.
- the example of FIG. 15 is a case where an item row is specified based on the ratio of cells in which non-numeric data is input.
- the third table data 46 when the count value 47 is viewed, the second and third rows are “5”, which is the maximum. Note that the count values 47 of other rows are omitted.
- the ratio 48 of cells in which non-numeric data is input is 100% for the second row and 60% for the third row.
- the specifying unit 137 determines whether or not the ratio of the third row adjacent to the second row is 50% or more, for example.
- the specifying unit 137 determines that the third line is an item line, and specifies the second and third lines as item lines.
- the numerical data entered in the item row for example, the number of transportation means and the like can be mentioned.
- FIG. 16 is a diagram showing an example of specifying an item string.
- the example of FIG. 16 is a case where the leftmost column is regarded as the item column and the item column is specified when the table has no item column.
- the first row is an item row, but data is input to cells in the first column after the second row.
- the identifying unit 137 regards the first column, which is the leftmost column, as an item column, and identifies the first column as an item column.
- FIG. 17 is a diagram illustrating another example of specifying an item string.
- the example of FIG. 17 is a case where the leftmost column is regarded as the item column and the item column is specified when the table has no item column.
- the first table data 53 is a specific cell in which a cell of 1 row and 1 column is connected to a cell of 1 row and 2 columns.
- the specific unit 137 since the specific unit 137 includes the specific cell in the first column, the column including the specific cell, that is, the first column and the second column are regarded as the item columns, and the first column and the second column. Identify the eye as an item sequence.
- the specifying unit 137 specifies an item string by referring to the first table data stored in the storage unit 120 in addition to the detection result, the count value, and the third table data.
- FIG. 18 is a diagram showing an example of adding item lines.
- the example of FIG. 18 is a case where a new item row or item column is added when the input data includes overlapping cells.
- the third table data 56 includes cells in which both the data in the first row and the first column and the data in the first row and the second column are “a” and the data inputted in the first row overlap.
- the specifying unit 137 adds a new row to the upper side of the uppermost row to obtain fourth table data 58.
- the specifying unit 137 specifies the added row 59 of the fourth table data 58 as an item row.
- FIG. 19 is a diagram illustrating another example of adding item lines.
- the example of FIG. 19 is a case where a new item row is added when the uppermost row includes a blank cell.
- the specifying unit 137 adds a new row to the upper side of the uppermost row to obtain fourth table data 62.
- the specifying unit 137 specifies the added row 63 of the fourth table data 62 as an item row.
- the third table data 60 there are blank cells in other rows, and the first row is included in the row with the maximum count value. In such a case, the second and subsequent lines are not misrecognized as item lines, which is applicable.
- FIG. 20 is a diagram showing an example of the table data after shaping.
- the fourth table data 64 shown in FIG. 20 is table data after an item row or item column is specified by the specifying unit 137, that is, after formatting.
- the fourth table data 64 has an item row 65, a data row number 66, and a data portion 67. That is, the fourth table data 64 is in a state in which the number of rows and the item name are associated with each data (cell value).
- the data row number 66 may not be included in the fourth table data 64, and may be added by counting the number of rows when stored in the information DB 121.
- the storage control unit 138 receives the item row or item column specified from the specifying unit 137 and the fourth table data.
- the storage control unit 138 uses the input data of each cell of the item row or item column as the item name based on the specified item row or item column and the fourth table data, and the item corresponding to the value of each row or each column
- the information is stored in the information DB 121 in association with the name and the number of data rows.
- FIG. 21 is a flowchart illustrating an example of analysis processing according to the embodiment.
- the communication unit 110 of the information processing apparatus 100 receives tabular data from a terminal device (not shown).
- the communication unit 110 outputs the received tabular data to the control unit 130.
- the determination unit 131 determines whether there is a data input cell of the input tabular data (step S1).
- the determination unit 131 outputs the tabular data and the determination result to the extraction unit 132.
- the extraction unit 132 When the tabular data and the determination result are input from the determination unit 131, the extraction unit 132, based on the determination result, from the tabular data, a plurality of continuous row or column clusters in which cells to which data is input exist. Are extracted as one table data (step S2).
- the extraction unit 132 outputs the extracted table data to the editing unit 133 and the generation unit 135 as first table data. Further, the extraction unit 132 stores the first table data in the storage unit 120.
- the editing unit 133 executes an editing process on the input first table data (step S3).
- the editing unit 133 outputs the table data for which the editing process has been completed to the counting unit 134 and the generation unit 135 as second table data.
- the counting unit 134 When the second table data is input from the editing unit 133, the counting unit 134 counts the number of cells into which data is input in the second table data for each row or column (step S4). The count unit 134 outputs the number of cells counted for each row or column to the detection unit 136 as a count value.
- the first table data is input from the extraction unit 132 and the second table data is input from the editing unit 133 to the generation unit 135.
- the generation unit 135 temporarily determines an item row or an item column based on the input first table data.
- the generation unit 135 may include a plurality of continuous item rows or a plurality of continuous item strings corresponding to a specific cell when the determined item row or item column includes a specific cell subjected to the cell concatenation process. Is temporarily determined.
- the generating unit 135 When the generating unit 135 temporarily determines a plurality of continuous item rows or a plurality of continuous item strings, the generating unit 135 generates item names for the second table data input from the editing unit 133 (step S5).
- the generation unit 135 outputs the second table data to which the generated item name is applied to the detection unit 136 as third table data. If the determined item row or item column does not include the specific cell subjected to the cell concatenation process, the generation unit 135 uses the input second table data as it is as the third table data to the detection unit 136. Output.
- the detection unit 136 receives the count value from the count unit 134 and the third table data from the generation unit 135.
- the detection unit 136 detects the uppermost row or the leftmost column among the rows or columns having the maximum input count value with respect to the input third table data (step S6).
- the detection unit 136 outputs the detected uppermost row or leftmost column as a detection result to the specifying unit 137 together with the count value and the third table data.
- the detection result, count value, and third table data are input from the detection unit 136 to the identification unit 137.
- the specifying unit 137 specifies an item row or an item column based on the detection result, the count value, and the third table data (step S7).
- the specifying unit 137 sets the third table data that has been specified as the fourth table data, and outputs the specified item row or item column and the fourth table data to the storage control unit 138.
- the storage control unit 138 receives the item row or item column specified from the specifying unit 137 and the fourth table data.
- the storage control unit 138 stores the value of each cell of the fourth table data in association with the item name and the number of data rows in the information DB 121 based on the identified item row or item column and the fourth table data. (Step S8). Thereby, the information processing apparatus 100 can easily register tabular data of various formats in the database.
- the information processing apparatus 100 determines whether or not there is a cell in which data is input for each row or each column of the input tabular data. In addition, the information processing apparatus 100 extracts a plurality of consecutive row or column chunks in which cells into which data is input exist as portions related to one table data. As a result, tabular data of various formats can be easily registered.
- the information processing apparatus 100 counts the number of cells in which data is input in each row or column, for each row or column. Further, the information processing apparatus 100 identifies the uppermost row or the leftmost column among the rows or columns having the maximum count value as the row or column indicating the table item. As a result, the item row or item column of the table can be specified.
- the information processing apparatus 100 counts the number of cells in which data is input in each row or column, for each row or column. In addition, the information processing apparatus 100 detects the uppermost row or the leftmost column among the rows or columns having the maximum count value. Also, the information processing apparatus 100 counts the count value corresponding to the right column adjacent to the detected leftmost column when the count value corresponding to the detected lower row adjacent to the uppermost row is not the maximum. If is not the maximum, the uppermost row or leftmost column is specified as the row or column indicating the item in the table. As a result, the item row or item column of the table can be specified.
- the information processing apparatus 100 counts the number of cells in which data is input in each row or column, for each row or column. In addition, the information processing apparatus 100 detects the uppermost row or the leftmost column among the rows or columns having the maximum count value. In addition, the information processing apparatus 100, based on the ratio of the cells in which non-numeric data is input among the cells in the row for the plurality of rows when the plurality of consecutive rows including the detected uppermost row have the same count value. When the row indicating the item is specified, or when the plurality of consecutive columns including the detected leftmost column have the same count value, among the cells in the column with respect to the plurality of columns, non-numeric data is input. Based on the ratio, it is specified as a column indicating an item. As a result, it is possible to specify an item row or an item column of a table extending over a plurality of rows.
- the information processing apparatus 100 determines whether or not there is a cell in which data is input for each row or each column of the input tabular data. In addition, the information processing apparatus 100 extracts a plurality of consecutive row or column chunks in which cells into which data is input exist as portions related to one table data. In addition, the information processing apparatus 100 identifies an item row or an item column among rows or columns of columns. Further, the information processing apparatus 100 divides a specific cell into unit cells when a specific cell subjected to cell concatenation processing is included in the specified row or column, and specifies each divided unit cell. Edit processing is performed to input the same data as the data input to the cell.
- the information processing apparatus 100 stores the input data of each cell of the item row or item column after the editing process as an item name, and stores the value of each row or column in association with the corresponding item name. As a result, even if a specific cell subjected to cell connection processing is included, it can be easily registered in the database.
- the information processing apparatus 100 determines whether or not there is a cell in which data is input for each row or each column of the input tabular data. In addition, the information processing apparatus 100 extracts a plurality of consecutive row or column chunks in which cells into which data is input exist as portions related to one table data. In addition, the information processing apparatus 100 identifies a plurality of continuous item rows or a plurality of continuous item columns in a row or column lump. Further, the information processing apparatus 100 includes, for a plurality of specified continuous item rows or a plurality of continuous item columns, values of linked cells including cells in the same column or the same column, or cells in the same row or the same row. A value obtained by combining the values of linked cells is generated as an item name. Further, the information processing apparatus 100 stores the value of each row or each column in association with the corresponding item name. As a result, a plurality of item rows or item columns can be synthesized and easily registered in the database.
- the information processing apparatus 100 determines whether or not there is a cell in which data is input for each row or each column of the input tabular data. In addition, the information processing apparatus 100 extracts a plurality of consecutive row or column chunks in which cells into which data is input exist as portions related to one table data. In addition, the information processing apparatus 100 counts the number of cells in which data is input in each row or column lump for each row or column. In addition, the information processing apparatus 100 is configured so that the uppermost row or the leftmost column among the rows or columns having the maximum count value is the uppermost row even when the input data includes cells that are not item names. Or the leftmost column is specified as an item row or item column. As a result, tabular data of various formats can be easily registered.
- the information processing apparatus 100 determines whether or not there is a cell in which data is input for each row or each column of the input tabular data. In addition, the information processing apparatus 100 extracts a plurality of consecutive row or column chunks in which cells into which data is input exist as portions related to one table data. In addition, the information processing apparatus 100 counts the number of cells in which data is input in each row or column lump for each row or column. In addition, the information processing apparatus 100 further increases the uppermost row when the uppermost row or the leftmost column among the rows or columns with the largest count value includes cells in which the input data overlaps. Alternatively, a new row or column is added to the left side of the leftmost column, and the added row or column is specified as an item row or item column. As a result, tabular data of various formats can be easily registered.
- the information processing apparatus 100 determines whether or not there is a cell in which data is input for each row or each column of the input tabular data. In addition, the information processing apparatus 100 extracts a plurality of consecutive row or column chunks in which cells into which data is input exist as portions related to one table data. In addition, the information processing apparatus 100 counts the number of cells in which data is input in each row or column lump for each row or column. In addition, the information processing apparatus 100 may further include the uppermost row or the leftmost column in the uppermost row when the uppermost row or the leftmost column among the rows or columns having the maximum count value includes a blank cell. A new row or column is added to the left side of the item, and the added row or column is specified as an item row or item column. As a result, tabular data of various formats can be easily registered.
- the information processing apparatus 100 determines whether or not there is a cell in which data is input for each row or each column of the input tabular data.
- the information processing apparatus 100 includes a block of one or more continuous rows or columns in which cells into which data is input are sandwiched between one or more continuous rows or columns in which no cells in which data is input exist. When two are detected, each of the two chunks is extracted as different table data. As a result, tabular data of various formats can be easily registered.
- the case where the title of the table is described at the upper part of the main body of the table is given as an example.
- the main body portion of the table can be extracted in the same manner as in the above embodiment.
- the information DB 121 has one record for each cell constituting the table data, but is not limited to this.
- the information DB 121 may be any type of database as long as the original table data can be restored.
- each component of each part illustrated does not necessarily need to be physically configured as illustrated.
- the specific form of distribution / integration of each part is not limited to the one shown in the figure, and all or a part thereof may be functionally or physically distributed / integrated in arbitrary units according to various loads and usage conditions. Can be configured.
- the determination unit 131 and the extraction unit 132 may be integrated.
- the illustrated processes are not limited to the above-described order, and may be performed at the same time as long as the process contents are not contradictory, or may be performed in a different order.
- various processing functions performed in each device may be executed entirely or arbitrarily on a CPU (or a microcomputer such as an MPU or MCU (Micro Controller Unit)).
- the various processing functions may be executed entirely or arbitrarily on a program that is analyzed and executed by a CPU (or a microcomputer such as an MPU or MCU) or hardware based on wired logic. Needless to say, it is good.
- FIG. 22 is a diagram illustrating an example of a computer that executes an analysis program for tabular data.
- the computer 200 includes a CPU 201 that executes various arithmetic processes, an input device 202 that receives data input, and a monitor 203.
- the computer 200 also includes a medium reading device 204 that reads a program and the like from a storage medium, an interface device 205 for connecting to various devices, and a communication device 206 for connecting to other information processing devices and the like by wire or wirelessly.
- Have The computer 200 also includes a RAM 207 that temporarily stores various types of information and a hard disk device 208.
- the devices 201 to 208 are connected to a bus 209.
- the hard disk device 208 has the same processing units as the determination unit 131, the extraction unit 132, the editing unit 133, the counting unit 134, the generation unit 135, the detection unit 136, the specifying unit 137, and the storage control unit 138 shown in FIG. A tabular data analysis program having a function is stored.
- the hard disk device 208 also stores an information DB 121 and various data for realizing a tabular data analysis program.
- the input device 202 receives input of various information such as operation information and management information from an administrator of the computer 200, for example.
- the monitor 203 displays various screens such as a management screen to the administrator of the computer 200, for example.
- the interface device 205 is connected to, for example, a printing device.
- the communication device 206 has the same function as the communication unit 110 shown in FIG. 1 and is connected to a network (not shown), and exchanges various types of information with a terminal device (not shown).
- the CPU 201 reads out each program stored in the hard disk device 208, develops it in the RAM 207, and executes it to perform various processes. These programs also cause the computer 200 to function as the determination unit 131, the extraction unit 132, the editing unit 133, the counting unit 134, the generation unit 135, the detection unit 136, the specifying unit 137, and the storage control unit 138 illustrated in FIG. be able to.
- the above tabular data analysis program is not necessarily stored in the hard disk device 208.
- the computer 200 may read and execute a program stored in a storage medium readable by the computer 200.
- the storage medium readable by the computer 200 corresponds to, for example, a portable recording medium such as a CD-ROM, a DVD disk, a USB (Universal Serial Bus) memory, a semiconductor memory such as a flash memory, and a hard disk drive.
- the tabular data analysis program may be stored in a device connected to a public line, the Internet, a LAN, or the like, and the computer 200 may read and execute the tabular data analysis program therefrom.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Document Processing Apparatus (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
多様なフォーマットの表形式データを容易に登録できる表形式データの解析方法、表形式データの解析プログラム及び情報処理装置を提供する。表形式データの解析方法は、入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定する処理(131)をコンピュータ(100)が実行する。また、表形式データの解析方法は、データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出する処理(132)をコンピュータ(100)が実行する。
Description
本発明は、表形式データの解析方法、表形式データの解析プログラム及び情報処理装置に関する。
近年、例えば地方自治体が、当該地方自治体の地域内の観光地について様々な情報を集約し、インターネット上のホームページで公開することが行われている。当該地方自治体は、観光地の施設等から情報の提供を受けることで、観光地の情報を収集する。また、当該自治体の委託先企業が自治体からオープンデータとして観光地の情報の提供を受けて入力する場合もある。この場合、提供を受ける情報は、例えば、表形式データである各種表計算ソフトウェアのファイル形式、CSV(Comma-Separated Values)形式、TSV(Tab-Separated Values)形式等の様々なフォーマットに基づいた情報である。
しかしながら、情報の表形式データのフォーマットが統一されていないため、例えば、表形式データをデータベース(以下、DBともいう。)に登録する際に、表形式データの項目と値との対応がずれてしまう場合がある。このため、表形式データをDBに登録する管理者によって、項目と値との対応付けを修正したり、正常に登録されているか確認したりする手間が発生する。
一つの側面では、本発明は、多様なフォーマットの表形式データを容易に登録できる表形式データの解析方法、表形式データの解析プログラム及び情報処理装置を提供することにある。
一つの態様では、表形式データの解析方法は、入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定する処理をコンピュータが実行する。また、表形式データの解析方法は、データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出する処理をコンピュータが実行する。
多様なフォーマットの表形式データを容易に登録できる。
以下、図面に基づいて、本願の開示する表形式データの解析方法、表形式データの解析プログラム及び情報処理装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
図1は、実施例の情報処理装置の構成の一例を示すブロック図である。図1に示す情報処理装置100は、入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定する。また、情報処理装置100は、データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出する。これにより、情報処理装置100は、多様なフォーマットの表形式データを容易に登録できる。なお、以下の説明では、主に行方向に着目して説明するが、列方向についても同様に適用可能である。
図1に示す情報処理装置100は、通信部110と、表示部111と、操作部112と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、図1に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の通信デバイス、入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。情報処理装置100の一例としては、サーバ等の据置型のコンピュータを採用できる。情報処理装置100には、上記のサーバ等の据置型のコンピュータのみならず、可搬型や据置型のパーソナルコンピュータを情報処理装置100として採用することもできる。
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、図示しないネットワークを介して図示しないユーザの端末装置と有線又は無線で接続され、端末装置との間で情報の通信を司る通信インタフェースである。通信部110は、端末装置から表形式データを受信する。通信部110は、受信した表形式データを制御部130に出力する。
ここで、図2を用いて表形式データについて説明する。図2は、表形式データ及び表データの一例を示す図である。図2に示す表形式データ11は、例えば、複数の表データ12a、12bと、表形式データ11のタイトル等を含むデータである。なお、以下の説明では、例えば1つのファイル全体のデータを表形式データと表現し、表形式データ内の個々の表を表データと表現する。表形式データ11には、例えば、最上段の行に項目(ヘッダ)がある表データ、最上段の行と最左列の列に項目がある表データ、小項目を表すためにセルが連結されて項目行が2行に渡る表データ等が含まれる。なお、表データは、これらに限定されず、行列の形で表すことができるデータであれば、どのようなデータでもよい。また、表形式データは、例えば、官公庁や自治体から提供されるオープンデータを用いることができる。
図1の説明に戻って、表示部111は、各種情報を表示するための表示デバイスである。表示部111は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部111は、制御部130から入力された表示画面等の各種画面を表示する。
操作部112は、情報処理装置100の管理者から各種操作を受け付ける入力デバイスである。操作部112は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部112は、管理者によって入力された操作を操作情報として制御部130に出力する。なお、操作部112は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部111の表示デバイスと、操作部112の入力デバイスとは、一体化されるようにしてもよい。
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部120は、情報データベース121を有する。なお、以下の説明では、情報データベース121を情報DB121と省略して表現する。また、記憶部120は、制御部130での処理に用いる情報を記憶する。
情報DB121は、表データについて、項目と値とを対応付けて記憶する。図3は、情報DBの一例を示す図である。図3に示すように、情報DB121は、「行」、「項目」、「値」といった項目を有する。情報DB121は、例えば、表データを構成するセルごとに1レコードとして記憶する。
「行」は、データが入力されているセルの行を示す情報である。「項目」は、セルに対応する項目を示す情報である。「値」は、セルに格納されているデータを示す情報である。図3の1行目の例では、表データの「1」行目の項目「x1」の値は「y1」となる。
図1の説明に戻って、制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部130は、判定部131と、抽出部132と、編集部133と、カウント部134と、生成部135と、検出部136と、特定部137と、記憶制御部138とを有し、以下に説明する情報処理の機能や作用を実現又は実行する。なお、制御部130の内部構成は、図1に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
判定部131は、通信部110から表形式データが入力されると、入力された表形式データの各行又は各列について、データが入力されたセルの有無を判定する。すなわち、判定部131は、表形式データのデータ入力セルの有無を判定する。判定部131は、表形式データ及び判定結果を抽出部132に出力する。
抽出部132は、判定部131から表形式データ及び判定結果が入力されると、判定結果に基づいて、表形式データから、データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出する。すなわち、抽出部132は、データが入力されたセルが存在しない1又は複数の連続する行又は列を挟んで、データが入力されたセルが存在する1又は複数の連続する行又は列の塊を2つ検出すると、該2つの塊のそれぞれを異なる表データとして抽出する。抽出部132は、表データを抽出すると、抽出した表データを第1表データとして編集部133及び生成部135に出力する。また、抽出部132は、第1表データを記憶部120に記憶する。
ここで、図4及び図5を用いて表データの抽出について説明する。図4は、表データの抽出の一例を示す図である。図4は、表データが縦方向に複数存在する場合の一例である。図4の例では、表形式データ13について、各行のデータ入力数14を検出する。例えば、表形式データ13では、1行目は表形式データ13のタイトルが1つのセルに入力されているので、データ入力数14は「1」となる。また、2行目は、データが入力されているセルがないので、データ入力数14は「0」となる。以下同様に、各行のデータ入力数14を検出する。
抽出部132は、データ入力数14が「0」である行を表データの切れ目と判定し、表形式データ13を切れ目で分割する。なお、以下の説明では、分割された表データに関する部分である塊をクラスタともいう。表形式データ13は、クラスタ15と、クラスタ16と、クラスタ17とに分割される。クラスタ15は、表形式データ13のタイトルである。クラスタ16は、1つ目の表データである。クラスタ17は、2つ目の表データである。抽出部132は、クラスタ16及びクラスタ17を第1表データとして抽出する。なお、抽出された第1表データは、例えばメモリ上で二次元配列等を用いて表形式に展開される。また、以下の説明において、第1表データに基づく各表データも同様である。
図5は、表データの抽出の他の一例を示す図である。図5は、表データが横方向に複数存在する場合の一例である。図5の例では、表形式データ18について、各列のデータ入力数19を検出する。例えば、表形式データ18では、1列目はデータが入力されているセルがないので、データ入力数19は「0」となる。また、2列目は、1行目に表形式データ18のタイトル、2行目に「a」、3行目に「1」、4行目に「1」が入力されているので、データ入力数19は「4」となる。以下同様に、各列のデータ入力数19を検出する。
抽出部132は、データ入力数19が「0」である列を表データの切れ目と判定し、表形式データ18を切れ目で分割する。表形式データ18は、クラスタ20と、クラスタ21とに分割される。クラスタ20は、1つ目の表データである。クラスタ21は、2つ目の表データである。抽出部132は、クラスタ20及びクラスタ21を第1表データとして抽出する。なお、クラスタ20は、クラスタ21と比べて、5行目にデータ入力セルがないが、5行目に空文字を付加して表の大きさを揃えている。
図1の説明に戻って、編集部133は、抽出部132から第1表データが入力されると、入力された第1表データに対して編集処理を実行する。編集部133は、まず、第1表データのうち、タイトルのセルを除く表を構成するセルの中で、最も上側の行又は最も左側の列を項目行又は項目列と仮に決定する。なお、タイトルのセルは、第1表データの中で、抽出部132で用いたデータ入力数が「1」である最も上側又は最も左側の行又は列として判定できる。編集部133は、仮に決定した項目行又は項目列にセル連結処理が施された特定のセルが含まれる場合には、特定のセルを単位セルに分割する。また、編集部133は、分割された単位セルのそれぞれに特定のセルに入力されたデータと同じデータを入力する。編集部133は、編集処理を完了した表データを第2表データとしてカウント部134及び生成部135に出力する。また、編集部133は、仮に決定した項目行又は項目列にセル連結処理が施された特定のセルが含まれない場合には、入力された第1表データをそのまま第2表データとしてカウント部134及び生成部135に出力する。
ここで、図6から図9を用いて編集処理について説明する。図6は、編集処理の一例を示す図である。図6の例では、第1表データ22の1行目にセル連結処理が施されたセルが含まれている。つまり、値「a」、「b」のセルが、セル連結処理が施された特定のセルである。編集部133は、特定のセルを単位セルに分割し、値「a」、「b」を、分割された単位セルのそれぞれに入力する。編集部133は、編集処理を完了した第2表データ23をカウント部134及び生成部135に出力する。
図7は、編集処理の他の一例を示す図である。図7の例では、図6の例と同様に、第1表データ24のセル連結処理が施された特定のセルの値「a」、「b」を、分割された単位セルのそれぞれに入力して第2表データ25としている。
図8は、編集処理の他の一例を示す図である。図8の例では、第1表データ26の1列目にセル連結処理が施されたセルが含まれている。つまり、値「g」、「h」のセルが、セル連結処理が施された特定のセルである。編集部133は、特定のセルを単位セルに分割し、値「g」、「h」を、分割された単位セルのそれぞれに入力する。編集部133は、編集処理を完了した第2表データ27をカウント部134及び生成部135に出力する。すなわち、編集部133は、行方向のセル連結処理が施された特定のセルと、列方向のセル連結処理が施された特定のセルとを単位セルに分割し、分割された単位セルのそれぞれに特定のセルの値を入力する。
図9は、項目行ではない行におけるセルの連結解除の一例を示す図である。図9の例では、第1表データ28の最終行、つまり4行目にセル連結処理が施されたセルが含まれている。つまり、値「100」のセルが、セル連結処理が施された特定のセルである。編集部133は、第1表データ28の最終行が項目行ではないので、特定のセルを単位セルに分割し、値「100」を分割した単位セルのうち1つのセルに入力する。編集部133は、編集処理を完了した第2表データ29をカウント部134及び生成部135に出力する。なお、図9の例では、1行目のセルの連結処理の解除の説明は省略している。なお、項目行ではない行におけるセルの連結解除は、特定部137において項目行又は項目列が特定された後に行ってもよい。
図1の説明に戻って、カウント部134は、編集部133から第2表データが入力されると、第2表データのうち、データが入力されたセルの数を行ごと又は列ごとにカウントする。すなわち、カウント部134は、行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントする。カウント部134は、行ごと又は列ごとにカウントしたセルの数をカウント値として検出部136に出力する。
生成部135には、抽出部132から第1表データが入力され、編集部133から第2表データが入力される。生成部135は、まず、入力された第1表データのうち、タイトルのセルを除く表を構成するセルの中で、最も上側の行又は最も左側の列を項目行又は項目列と仮に決定する。なお、タイトルのセルは、編集部133と同様に判定できる。生成部135は、仮に決定した項目行又は項目列にセル連結処理が施された特定のセルが含まれる場合には、特定のセルを含む範囲を連続する複数の項目行又は連続する複数の項目列と仮に決定する。すなわち、生成部135は、特定のセルを分割したそれぞれの単位セルが含まれる行又は列と、当該行又は列の下側又は右側に隣接する行又は列とを、連続する複数の項目行又は連続する複数の項目列と仮に決定する。
生成部135は、連続する複数の項目行又は連続する複数の項目列を仮に決定すると、編集部133から入力された第2表データに対して、項目名の生成を実行する。すなわち、生成部135は、仮に決定した連続する複数の項目行若しくは連続する複数の項目列について、同じ列若しくは同じ列のセルを含む連結セルの値、又は、同じ行若しくは同じ行のセルを含む連結セルの値を合成した値を項目名として生成する。なお、連結セルは、セル連結処理が施された特定のセルのことである。生成部135は、生成した項目名を適用した第2表データを第3表データとして検出部136に出力する。生成部135は、仮に決定した項目行又は項目列にセル連結処理が施された特定のセルが含まれない場合には、入力された第2表データをそのまま第3表データとして検出部136に出力する。
ここで、図10及び図11を用いて項目名の生成について説明する。図10は、項目名の生成の一例を示す図である。図10の例では、生成部135は、第1表データ30について、1行目及び2行目を項目行、並びに、1列目及び2列目を項目列と仮に決定する。次に、生成部135は、1行目及び2行目において、同じ列若しくは同じ列のセルを含む連結セルの値を合成した値を、項目行のそれぞれの項目名として生成する。なお、合成した値は、セル連結処理が施された特定のセルについてセル連結処理が解除された図示しない第2表データに基づいて生成される。生成部135は、例えば、第1表データ30の1行3列の「b」と、2行3列の「f」とを合成した「b/f」を、第3表データ31の1行2列の項目名として生成する。
また、生成部135は、1列目及び2列目において、同じ行若しくは同じ行のセルを含む連結セルの値を合成した値を、項目列のそれぞれの項目名として生成する。生成部135は、例えば、第1表データ30の3行1列の「j」と、3行2列の「m」とを合成した「j/m」を、第3表データ31の2行1列の項目名として生成する。なお、第1表データ30では、1行1列、1行2列、2行1列及び2行2列の4つのセルは連結されて値が「a」であるので、第3表データ31では、1行1列の項目名を「a」としている。
図11は、項目名の生成の他の一例を示す図である。図11の例では、生成部135は、第1表データ32について、1行目及び2行目を項目行と仮に決定する。次に、生成部135は、1行目及び2行目において、同じ列若しくは同じ列のセルを含む連結セルの値を合成した値を、項目行のそれぞれの項目名として生成する。なお、合成した値は、セル連結処理が施された特定のセルについてセル連結処理が解除された図示しない第2表データに基づいて生成される。生成部135は、例えば、第1表データ32の1行1列の「a」と、2行1列の「d」とを合成した「a/d」を、第3表データ33の1行1列の項目名として生成する。また、生成部135は、例えば、第1表データ32の1行2列の「a」と、2行2列の「e」とを合成した「a/e」を、第3表データ33の1行2列の項目名として生成する。
図1の説明に戻って、検出部136には、カウント部134からカウント値が入力され、生成部135から第3表データが入力される。検出部136は、入力された第3表データに対して、入力されたカウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を検出する。検出部136は、検出された最も上側の行又は最も左側の列を検出結果として、カウント値及び第3表データとともに特定部137に出力する。
特定部137には、検出部136から検出結果、カウント値及び第3表データが入力される。特定部137は、カウント値及び第3表データに基づいて、カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を表の項目を示す行又は列として特定する。すなわち、特定部137は、項目行又は項目列を特定する。特定部137は、特定が完了した第3表データを第4表データとする。特定部137は、特定した項目行又は項目列と、第4表データとを記憶制御部138に出力する。
また、特定部137は、検出結果、カウント値及び第3表データに基づいて、項目行又は項目列を特定してもよい。特定部137は、検出した最も上側の行に隣接する下側の行に対応するカウント値が最大でない場合に、最も上側の行を表の項目を示す行として特定する。又は、特定部137は、検出した最も左側の列に隣接する右側の列に対応するカウント値が最大でない場合に、最も左側の列を表の項目を示す列として特定する。すなわち、特定部137は、項目行又は項目列を特定する。特定部137は、特定が完了した第3表データを第4表データとする。特定部137は、特定した項目行又は項目列と、第4表データとを記憶制御部138に出力する。
さらに、特定部137は、複数行が同じカウント値である場合に、非数値データが入力されたセルの割合に基づいて、項目行又は項目列を特定してもよい。特定部137は、検出した最も上側の行を含み連続する複数行が同じカウント値である場合に、複数行について行内のセルのうち非数値データが入力されたセルの割合に基づいて、項目を示す行を特定する。又は、特定部137は、検出した最も左側の列を含み連続する複数列が同じカウント値である場合に、複数列について列内のセルのうち非数値データが入力されたセルの割合に基づいて、項目を示す列として特定する。すなわち、特定部137は、項目行又は項目列を特定する。特定部137は、特定が完了した第3表データを第4表データとする。特定部137は、特定した項目行又は項目列と、第4表データとを記憶制御部138に出力する。
また、特定部137は、編集部133で仮に決定された項目行又は項目列を採用して項目行又は項目列を特定してもよい。さらに、特定部137は、生成部135で仮に決定された連続する複数の項目行又は連続する複数の項目列を採用して、項目行又は項目列を特定してもよい。特定部137は、特定が完了した第3表データを第4表データとする。特定部137は、特定した項目行又は項目列と、第4表データとを記憶制御部138に出力する。
また、特定部137は、第3表データが、項目行又は項目列が存在しない表である場合に、最も上側の行又は最も左側の列を項目行又は項目列とみなして項目行又は項目列を特定してもよい。特定部137は、カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、入力されたデータが項目名ではないセルを含む場合であっても、最も上側の行又は最も左側の列を、項目行又は項目列として特定する。特定部137は、特定が完了した第3表データを第4表データとする。特定部137は、特定した項目行又は項目列と、第4表データとを記憶制御部138に出力する。
さらに、特定部137は、入力されたデータが重複するセルを含む場合に、新たな項目行又は項目列を追加してもよい。特定部137は、カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、入力されたデータが重複するセルを含む場合に、最も上側の行のさらに上側又は最も左側の列のさらに左側に新たな行又は列を追加する。特定部137は、追加した行又は列を項目行又は項目列として特定する。特定部137は、新たな行又は列が追加されて特定が完了した第3表データを第4表データとする。特定部137は、特定した項目行又は項目列と、第4表データとを記憶制御部138に出力する。
また、特定部137は、最も上側の行又は最も左側の列が空白のセルを含む場合に、新たな項目行又は項目列を追加してもよい。なお、空白のセルは、空文字(NULL)で表される。特定部137は、カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、空白のセルを含む場合に、最も上側の行のさらに上側又は最も左側の列のさらに左側に新たな行又は列を追加する。特定部137は、追加した行又は列を項目行又は項目列として特定する。特定部137は、新たな行又は列が追加されて特定が完了した第3表データを第4表データとする。特定部137は、特定した項目行又は項目列と、第4表データとを記憶制御部138に出力する。
ここで、図12から図20を用いて、項目行の特定について説明する。図12は、項目行の特定の一例を示す図である。図12の例は、カウント値が最大の行が1つの場合に、項目行を特定する場合である。第3表データ34は、カウント値35を見ると、2行目が「5」であり最大である。特定部137は、2行目に隣接する下側の行である3行目のカウント値が「4」であり最大でないので、2行目を項目行と特定する。
図13は、項目行の特定の他の一例を示す図である。図13の例は、カウント値が最大の行が複数の場合に、項目行を特定する場合である。第3表データ37は、カウント値38を見ると、2行目及び5行目が「5」であり最大である。特定部137は、カウント値が最大の行のうち、最も上側の行である2行目を項目行と特定する。
図14は、項目行の特定の他の一例を示す図である。図14の例は、非数値データが入力されたセルの割合に基づいて、項目行を特定する場合である。第3表データ41は、カウント値42を見ると、2行目及び3行目が「5」であり最大である。なお、他の行のカウント値42は省略している。また、第3表データ41は、非数値データが入力されたセルの割合43は、2行目が100%、3行目が40%である。特定部137は、2行目に隣接する3行目の当該割合が、例えば50%以上であるか否かを判定する。特定部137は、3行目の当該割合が40%であるので、3行目は項目行でないと判定し、2行目を項目行と特定する。
図15は、項目行の特定の他の一例を示す図である。図15の例は、非数値データが入力されたセルの割合に基づいて、項目行を特定する場合である。第3表データ46は、カウント値47を見ると、2行目及び3行目が「5」であり最大である。なお、他の行のカウント値47は省略している。また、第3表データ46は、非数値データが入力されたセルの割合48は、2行目が100%、3行目が60%である。特定部137は、2行目に隣接する3行目の当該割合が、例えば50%以上であるか否かを判定する。特定部137は、3行目の当該割合が60%であるので、3行目は項目行であると判定し、2行目及び3行目を項目行と特定する。なお、項目行に入る数値データは、例えば、交通手段の数等が挙げられる。
図16は、項目列の特定の一例を示す図である。図16の例は、項目列が存在しない表である場合に、最も左側の列を項目列とみなして項目列を特定する場合である。第3表データ51は、1行目が項目行であるが、2行目以降の1列目のセルには、データが入力されている。この場合に、特定部137は、最も左側の列である1列目を項目列とみなして、1列目を項目列と特定する。
図17は、項目列の特定の他の一例を示す図である。図17の例は、項目列が存在しない表である場合に、最も左側の列を項目列とみなして項目列を特定する場合である。第1表データ53は、1行目が項目行であるが、2行目以降の1列目のセルには、データが入力されている。また、第1表データ53は、1行1列のセルと1行2列のセルとが連結された特定のセルである。この場合に、特定部137は、1列目に特定のセルが含まれるので、特定のセルが含まれる列、つまり1列目及び2列目を項目列とみなして、1列目及び2列目を項目列と特定する。なお、特定部137は、検出結果、カウント値及び第3表データの他に、記憶部120に記憶された第1表データを参照して、項目列を特定する。
図18は、項目行の追加の一例を示す図である。図18の例は、入力されたデータが重複するセルを含む場合に、新たな項目行又は項目列を追加する場合である。第3表データ56は、1行1列と1行2列のデータがともに「a」であり、1行目が入力されたデータが重複するセルを含む。この場合に、特定部137は、最も上側の行のさらに上側に新たな行を追加して第4表データ58とする。特定部137は、第4表データ58の追加した行59を項目行として特定する。
図19は、項目行の追加の他の一例を示す図である。図19の例は、最も上側の行が空白のセルを含む場合に、新たな項目行を追加する場合である。第3表データ60は、1行3列のセルが空白である。この場合に、特定部137は、最も上側の行のさらに上側に新たな行を追加して第4表データ62とする。特定部137は、第4表データ62の追加した行63を項目行として特定する。なお、第3表データ60は、他の行にも空白のセルがあり、1行目がカウント値が最大の行に含まれる場合である。このような場合には、2行目以降の行が項目行と誤認識されないので適用可能である。
図20は、整形後の表データの一例を示す図である。図20に示す第4表データ64は、特定部137で項目行又は項目列が特定された後、つまり整形後の表データである。第4表データ64は、項目行65と、データ行数66と、データ部分67とを有する。すなわち、第4表データ64は、データ(セルの値)1つ1つに対して行数と項目名との関連付けが行われた状態である。なお、データ行数66は、第4表データ64に含まれなくてもよく、情報DB121への記憶時に行数をカウントして付加してもよい。
図1の説明に戻って、記憶制御部138には、特定部137から特定した項目行又は項目列と、第4表データとが入力される。記憶制御部138は、特定した項目行又は項目列と、第4表データとに基づいて、項目行又は項目列の各セルの入力データを項目名とし、各行又は各列の値を対応する項目名とデータ行数とに対応付けて、情報DB121に記憶する。
次に、実施例の情報処理装置100の動作について説明する。図21は、実施例の解析処理の一例を示すフローチャートである。
情報処理装置100の通信部110は、図示しない端末装置から表形式データを受信する。通信部110は、受信した表形式データを制御部130に出力する。判定部131は、通信部110から表形式データが入力されると、入力された表形式データのデータ入力セルの有無を判定する(ステップS1)。判定部131は、表形式データ及び判定結果を抽出部132に出力する。
抽出部132は、判定部131から表形式データ及び判定結果が入力されると、判定結果に基づいて、表形式データから、データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データとして抽出する(ステップS2)。抽出部132は、表データを抽出すると、抽出した表データを第1表データとして編集部133及び生成部135に出力する。また、抽出部132は、第1表データを記憶部120に記憶する。
編集部133は、抽出部132から第1表データが入力されると、入力された第1表データに対して編集処理を実行する(ステップS3)。編集部133は、編集処理を完了した表データを第2表データとしてカウント部134及び生成部135に出力する。
カウント部134は、編集部133から第2表データが入力されると、第2表データのうち、データが入力されたセルの数を行ごと又は列ごとにカウントする(ステップS4)。カウント部134は、行ごと又は列ごとにカウントしたセルの数をカウント値として検出部136に出力する。
生成部135には、抽出部132から第1表データが入力され、編集部133から第2表データが入力される。生成部135は、入力された第1表データに基づいて、項目行又は項目列を仮に決定する。生成部135は、仮に決定した項目行又は項目列にセル連結処理が施された特定のセルが含まれる場合には、特定のセルに対応する連続する複数の項目行又は連続する複数の項目列を仮に決定する。生成部135は、連続する複数の項目行又は連続する複数の項目列を仮に決定すると、編集部133から入力された第2表データに対して、項目名の生成を実行する(ステップS5)。生成部135は、生成した項目名を適用した第2表データを第3表データとして検出部136に出力する。生成部135は、仮に決定した項目行又は項目列にセル連結処理が施された特定のセルが含まれない場合には、入力された第2表データをそのまま第3表データとして検出部136に出力する。
検出部136には、カウント部134からカウント値が入力され、生成部135から第3表データが入力される。検出部136は、入力された第3表データに対して、入力されたカウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を検出する(ステップS6)。検出部136は、検出された最も上側の行又は最も左側の列を検出結果として、カウント値及び第3表データとともに特定部137に出力する。
特定部137には、検出部136から検出結果、カウント値及び第3表データが入力される。特定部137は、検出結果、カウント値及び第3表データに基づいて、項目行又は項目列を特定する(ステップS7)。特定部137は、特定が完了した第3表データを第4表データとし、特定した項目行又は項目列と、第4表データとを記憶制御部138に出力する。
記憶制御部138には、特定部137から特定した項目行又は項目列と、第4表データとが入力される。記憶制御部138は、特定した項目行又は項目列と、第4表データとに基づいて、第4表データの各セルの値を項目名とデータ行数とに対応付けて、情報DB121に記憶する(ステップS8)。これにより、情報処理装置100は、多様なフォーマットの表形式データを容易にデータベースに登録できる。
このように、情報処理装置100は、入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定する。また、情報処理装置100は、データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出する。その結果、多様なフォーマットの表形式データを容易に登録できる。
また、情報処理装置100は、行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントする。また、情報処理装置100は、カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を表の項目を示す行又は列として特定する。その結果、表の項目行又は項目列を特定できる。
また、情報処理装置100は、行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントする。また、情報処理装置100は、カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を検出する。また、情報処理装置100は、検出した最も上側の行に隣接する下側の行に対応するカウント値が最大でない場合、又は、検出した最も左側の列に隣接する右側の列に対応するカウント値が最大でない場合に、最も上側の行又は最も左側の列を表の項目を示す行又は列として特定する。その結果、表の項目行又は項目列を特定できる。
また、情報処理装置100は、行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントする。また、情報処理装置100は、カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を検出する。また、情報処理装置100は、検出した最も上側の行を含み連続する複数行が同じカウント値である場合に、複数行について行内のセルのうち非数値データが入力されたセルの割合に基づいて、項目を示す行を特定する、又は、検出した最も左側の列を含み連続する複数列が同じカウント値である場合に、複数列について列内のセルのうち非数値データが入力されたセルの割合に基づいて、項目を示す列として特定する。その結果、複数行に渡る表の項目行又は項目列を特定できる。
また、情報処理装置100は、入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定する。また、情報処理装置100は、データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出する。また、情報処理装置100は、行又は列の塊のうち項目行又は項目列を特定する。また、情報処理装置100は、特定した行又は列にセル連結処理が施された特定のセルが含まれる場合に、特定のセルを単位セルに分割するとともに、分割された単位セルのそれぞれに特定のセルに入力されたデータと同じデータを入力する編集処理を実行する。また、情報処理装置100は、編集処理後の項目行又は項目列の各セルの入力データを項目名とし、各行又は各列の値を対応する項目名と対応付けて記憶する。その結果、セル連結処理が施された特定のセルが含まれる場合であっても、容易にデータベースに登録できる。
また、情報処理装置100は、入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定する。また、情報処理装置100は、データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出する。また、情報処理装置100は、行又は列の塊のうち連続する複数の項目行又は連続する複数の項目列を特定する。また、情報処理装置100は、特定した連続する複数の項目行若しくは連続する複数の項目列について、同じ列若しくは同じ列のセルを含む連結セルの値、又は、同じ行若しくは同じ行のセルを含む連結セルの値を合成した値を項目名として生成する。また、情報処理装置100は、各行又は各列の値を、対応する項目名と対応付けて記憶する。その結果、複数の項目行又は項目列を合成して、容易にデータベースに登録できる。
また、情報処理装置100は、入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定する。また、情報処理装置100は、データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出する。また、情報処理装置100は、行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントする。また、情報処理装置100は、カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、入力されたデータが項目名ではないセルを含む場合であっても、最も上側の行又は最も左側の列を、項目行又は項目列として特定する。その結果、多様なフォーマットの表形式データを容易に登録できる。
また、情報処理装置100は、入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定する。また、情報処理装置100は、データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出する。また、情報処理装置100は、行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントする。また、情報処理装置100は、カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、入力されたデータが重複するセルを含む場合に、最も上側の行のさらに上側又は最も左側の列のさらに左側に新たな行又は列を追加し、追加した行又は列を項目行又は項目列として特定する。その結果、多様なフォーマットの表形式データを容易に登録できる。
また、情報処理装置100は、入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定する。また、情報処理装置100は、データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出する。また、情報処理装置100は、行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントする。また、情報処理装置100は、カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、空白のセルを含む場合に、最も上側の行のさらに上側又は最も左側の列のさらに左側に新たな行又は列を追加し、追加した行又は列を項目行又は項目列として特定する。その結果、多様なフォーマットの表形式データを容易に登録できる。
また、情報処理装置100は、入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定する。また、情報処理装置100は、データが入力されたセルが存在しない1又は複数の連続する行又は列を挟んで、データが入力されたセルが存在する1又は複数の連続する行又は列の塊を2つ検出すると、該2つの塊のそれぞれを異なる表データとして抽出する。その結果、多様なフォーマットの表形式データを容易に登録できる。
なお、上記実施例では、表の本体部分の上部に表のタイトルが記載されている場合を一例として挙げたが、これに限定されない。例えば、表の本体部分の上部に数行に渡って見出しや注釈が記載されている場合であっても、上記実施例と同様に、表の本体部分を抽出することができる。
また、上記実施例では、情報DB121の形態として、表データを構成するセルごとに1レコードとしたが、これに限定されない。例えば、情報DB121は、元の表データを復元できれば、どの様な形態のデータベースでもよい。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、判定部131と抽出部132とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
さらに、各装置で行われる各種処理機能は、CPU(又はMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしてもよいことは言うまでもない。
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図22は、表形式データの解析プログラムを実行するコンピュータの一例を示す図である。
図22に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置204と、各種装置と接続するためのインタフェース装置205と、他の情報処理装置等と有線又は無線により接続するための通信装置206とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM207と、ハードディスク装置208とを有する。また、各装置201~208は、バス209に接続される。
ハードディスク装置208には、図1に示した判定部131、抽出部132、編集部133、カウント部134、生成部135、検出部136、特定部137及び記憶制御部138の各処理部と同様の機能を有する表形式データの解析プログラムが記憶される。また、ハードディスク装置208には、情報DB121、及び、表形式データの解析プログラムを実現するための各種データが記憶される。入力装置202は、例えば、コンピュータ200の管理者から操作情報、管理情報等の各種情報の入力を受け付ける。モニタ203は、例えば、コンピュータ200の管理者に対して管理画面等の各種画面を表示する。インタフェース装置205は、例えば印刷装置等が接続される。通信装置206は、例えば、図1に示した通信部110と同様の機能を有し図示しないネットワークと接続され、図示しない端末装置と各種情報をやりとりする。
CPU201は、ハードディスク装置208に記憶された各プログラムを読み出して、RAM207に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ200を図1に示した判定部131、抽出部132、編集部133、カウント部134、生成部135、検出部136、特定部137及び記憶制御部138として機能させることができる。
なお、上記の表形式データの解析プログラムは、必ずしもハードディスク装置208に記憶されている必要はない。例えば、コンピュータ200が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ200が読み出して実行するようにしてもよい。コンピュータ200が読み取り可能な記憶媒体は、例えば、CD-ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこの表形式データの解析プログラムを記憶させておき、コンピュータ200がこれらから表形式データの解析プログラムを読み出して実行するようにしてもよい。
100 情報処理装置
110 通信部
111 表示部
112 操作部
120 記憶部
121 情報DB
130 制御部
131 判定部
132 抽出部
133 編集部
134 カウント部
135 生成部
136 検出部
137 特定部
138 記憶制御部
110 通信部
111 表示部
112 操作部
120 記憶部
121 情報DB
130 制御部
131 判定部
132 抽出部
133 編集部
134 カウント部
135 生成部
136 検出部
137 特定部
138 記憶制御部
Claims (30)
- 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定し、
データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出する、
処理をコンピュータが実行することを特徴とする表形式データの解析方法。 - 前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントし、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を表の項目を示す行又は列として特定する、
ことを特徴とする請求項1に記載の表形式データの解析方法。 - 前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントし、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を検出し、
検出した前記最も上側の行に隣接する下側の行に対応するカウント値が最大でない場合、又は、検出した前記最も左側の列に隣接する右側の列に対応するカウント値が最大でない場合に、最も上側の行又は最も左側の列を表の項目を示す行又は列として特定する、
ことを特徴とする請求項1に記載の表形式データの解析方法。 - 前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントし、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を検出し、
検出した前記最も上側の行を含み連続する複数行が同じカウント値である場合に、前記複数行について行内のセルのうち非数値データが入力されたセルの割合に基づいて、項目を示す行を特定する、又は、検出した前記最も左側の列を含み連続する複数列が同じカウント値である場合に、前記複数列について列内のセルのうち非数値データが入力されたセルの割合に基づいて、項目を示す列として特定する、
ことを特徴とする請求項1に記載の表形式データの解析方法。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定し、
データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出し、
前記行又は列の塊のうち項目行又は項目列を特定し、
特定した前記行又は列にセル連結処理が施された特定のセルが含まれる場合に、前記特定のセルを単位セルに分割するとともに、分割された単位セルのそれぞれに前記特定のセルに入力されたデータと同じデータを入力する編集処理を実行し、
前記編集処理後の前記項目行又は前記項目列の各セルの入力データを項目名とし、各行又は各列の値を対応する項目名と対応付けて記憶する、
ことを特徴とする請求項1に記載の表形式データの解析方法。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定し、
データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出し、
前記行又は列の塊のうち連続する複数の項目行又は連続する複数の項目列を特定し、
特定した前記連続する複数の項目行若しくは連続する複数の項目列について、同じ列若しくは同じ列のセルを含む連結セルの値、又は、同じ行若しくは同じ行のセルを含む連結セルの値を合成した値を項目名として生成し、
各行又は各列の値を、対応する項目名と対応付けて記憶する、
ことを特徴とする請求項1に記載の表形式データの解析方法。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定し、
データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出し、
前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントし、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、入力されたデータが項目名ではないセルを含む場合であっても、前記最も上側の行又は前記最も左側の列を、項目行又は項目列として特定する、
ことを特徴とする請求項1に記載の表形式データの解析方法。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定し、
データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出し、
前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントし、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、入力されたデータが重複するセルを含む場合に、前記最も上側の行のさらに上側又は前記最も左側の列のさらに左側に新たな行又は列を追加し、追加した行又は列を項目行又は項目列として特定する、
ことを特徴とする請求項1に記載の表形式データの解析方法。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定し、
データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出し、
前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントし、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、空白のセルを含む場合に、前記最も上側の行のさらに上側又は前記最も左側の列のさらに左側に新たな行又は列を追加し、追加した行又は列を項目行又は項目列として特定する、
ことを特徴とする請求項1に記載の表形式データの解析方法。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定し、
データが入力されたセルが存在しない1又は複数の連続する行又は列を挟んで、データが入力されたセルが存在する1又は複数の連続する行又は列の塊を2つ検出すると、該2つの塊のそれぞれを異なる表データとして抽出する、
処理をコンピュータが実行することを特徴とする表形式データの解析方法。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定し、
データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出する、
処理をコンピュータに実行させることを特徴とする表形式データの解析プログラム。 - 前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントし、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を表の項目を示す行又は列として特定する、
ことを特徴とする請求項11に記載の表形式データの解析プログラム。 - 前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントし、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を検出し、
検出した前記最も上側の行に隣接する下側の行に対応するカウント値が最大でない場合、又は、検出した前記最も左側の列に隣接する右側の列に対応するカウント値が最大でない場合に、最も上側の行又は最も左側の列を表の項目を示す行又は列として特定する、
ことを特徴とする請求項11に記載の表形式データの解析プログラム。 - 前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントし、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を検出し、
検出した前記最も上側の行を含み連続する複数行が同じカウント値である場合に、前記複数行について行内のセルのうち非数値データが入力されたセルの割合に基づいて、項目を示す行を特定する、又は、検出した前記最も左側の列を含み連続する複数列が同じカウント値である場合に、前記複数列について列内のセルのうち非数値データが入力されたセルの割合に基づいて、項目を示す列として特定する、
ことを特徴とする請求項11に記載の表形式データの解析プログラム。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定し、
データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出し、
前記行又は列の塊のうち項目行又は項目列を特定し、
特定した前記行又は列にセル連結処理が施された特定のセルが含まれる場合に、前記特定のセルを単位セルに分割するとともに、分割された単位セルのそれぞれに前記特定のセルに入力されたデータと同じデータを入力する編集処理を実行し、
前記編集処理後の前記項目行又は前記項目列の各セルの入力データを項目名とし、各行又は各列の値を対応する項目名と対応付けて記憶する、
ことを特徴とする請求項11に記載の表形式データの解析プログラム。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定し、
データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出し、
前記行又は列の塊のうち連続する複数の項目行又は連続する複数の項目列を特定し、
特定した前記連続する複数の項目行若しくは連続する複数の項目列について、同じ列若しくは同じ列のセルを含む連結セルの値、又は、同じ行若しくは同じ行のセルを含む連結セルの値を合成した値を項目名として生成し、
各行又は各列の値を、対応する項目名と対応付けて記憶する、
ことを特徴とする請求項11に記載の表形式データの解析プログラム。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定し、
データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出し、
前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントし、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、入力されたデータが項目名ではないセルを含む場合であっても、前記最も上側の行又は前記最も左側の列を、項目行又は項目列として特定する、
ことを特徴とする請求項11に記載の表形式データの解析プログラム。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定し、
データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出し、
前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントし、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、入力されたデータが重複するセルを含む場合に、前記最も上側の行のさらに上側又は前記最も左側の列のさらに左側に新たな行又は列を追加し、追加した行又は列を項目行又は項目列として特定する、
ことを特徴とする請求項11に記載の表形式データの解析プログラム。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定し、
データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出し、
前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントし、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、空白のセルを含む場合に、前記最も上側の行のさらに上側又は前記最も左側の列のさらに左側に新たな行又は列を追加し、追加した行又は列を項目行又は項目列として特定する、
ことを特徴とする請求項11に記載の表形式データの解析プログラム。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定し、
データが入力されたセルが存在しない1又は複数の連続する行又は列を挟んで、データが入力されたセルが存在する1又は複数の連続する行又は列の塊を2つ検出すると、該2つの塊のそれぞれを異なる表データとして抽出する、
処理をコンピュータに実行させることを特徴とする表形式データの解析プログラム。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定する判定部と、
データが入力されたセルが存在する複数の連続する行又は列の塊を1つの表データに関連する部分として抽出する抽出部と、
を有することを特徴とする情報処理装置。 - さらに、
前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントするカウント部と、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を表の項目を示す行又は列として特定する特定部と、
を有することを特徴とする請求項21に記載の情報処理装置。 - さらに、
前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントするカウント部と、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を検出する検出部と、
検出した前記最も上側の行に隣接する下側の行に対応するカウント値が最大でない場合、又は、検出した前記最も左側の列に隣接する右側の列に対応するカウント値が最大でない場合に、最も上側の行又は最も左側の列を表の項目を示す行又は列として特定する特定部と、
を有することを特徴とする請求項21に記載の情報処理装置。 - さらに、
前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントするカウント部と、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列を検出する検出部と、
検出した前記最も上側の行を含み連続する複数行が同じカウント値である場合に、前記複数行について行内のセルのうち非数値データが入力されたセルの割合に基づいて、項目を示す行を特定する、又は、検出した前記最も左側の列を含み連続する複数列が同じカウント値である場合に、前記複数列について列内のセルのうち非数値データが入力されたセルの割合に基づいて、項目を示す列として特定する特定部と、
を有することを特徴とする請求項21に記載の情報処理装置。 - さらに、
前記行又は列の塊のうち項目行又は項目列を特定する特定部と、
特定した前記行又は列にセル連結処理が施された特定のセルが含まれる場合に、前記特定のセルを単位セルに分割するとともに、分割された単位セルのそれぞれに前記特定のセルに入力されたデータと同じデータを入力する編集処理を実行する編集部と、
前記編集処理後の前記項目行又は前記項目列の各セルの入力データを項目名とし、各行又は各列の値を対応する項目名と対応付けて記憶する記憶制御部と、
を有することを特徴とする請求項21に記載の情報処理装置。 - さらに、
前記行又は列の塊のうち連続する複数の項目行又は連続する複数の項目列を特定する特定部と、
特定した前記連続する複数の項目行若しくは連続する複数の項目列について、同じ列若しくは同じ列のセルを含む連結セルの値、又は、同じ行若しくは同じ行のセルを含む連結セルの値を合成した値を項目名として生成する生成部と、
各行又は各列の値を、対応する項目名と対応付けて記憶する記憶制御部と、
を有することを特徴とする請求項21に記載の情報処理装置。 - さらに、
前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントするカウント部と、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、入力されたデータが項目名ではないセルを含む場合であっても、前記最も上側の行又は前記最も左側の列を、項目行又は項目列として特定する特定部と、
を有することを特徴とする請求項21に記載の情報処理装置。 - さらに、
前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントするカウント部と、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、入力されたデータが重複するセルを含む場合に、前記最も上側の行のさらに上側又は前記最も左側の列のさらに左側に新たな行又は列を追加し、追加した行又は列を項目行又は項目列として特定する特定部と、
を有することを特徴とする請求項21に記載の情報処理装置。 - さらに、
前記行又は列の塊のうち、データが入力されたセルの数を行ごと又は列ごとにカウントするカウント部と、
カウント値が最大の行又は列のうち、最も上側の行又は最も左側の列が、空白のセルを含む場合に、前記最も上側の行のさらに上側又は前記最も左側の列のさらに左側に新たな行又は列を追加し、追加した行又は列を項目行又は項目列として特定する特定部と、
を有することを特徴とする請求項21に記載の情報処理装置。 - 入力された表形式データの各行又は各列についてデータが入力されたセルの有無を判定する判定部と、
データが入力されたセルが存在しない1又は複数の連続する行又は列を挟んで、データが入力されたセルが存在する1又は複数の連続する行又は列の塊を2つ検出すると、該2つの塊のそれぞれを異なる表データとして抽出する抽出部と、
を有することを特徴とする情報処理装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2016/053388 WO2017134800A1 (ja) | 2016-02-04 | 2016-02-04 | 表形式データの解析方法、表形式データの解析プログラム及び情報処理装置 |
| JP2017565353A JP6638739B2 (ja) | 2016-02-04 | 2016-02-04 | 表形式データの解析方法、表形式データの解析プログラム及び情報処理装置 |
| US16/048,518 US10970478B2 (en) | 2016-02-04 | 2018-07-30 | Tabular data analysis method, recording medium storing tabular data analysis program, and information processing apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2016/053388 WO2017134800A1 (ja) | 2016-02-04 | 2016-02-04 | 表形式データの解析方法、表形式データの解析プログラム及び情報処理装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/048,518 Continuation US10970478B2 (en) | 2016-02-04 | 2018-07-30 | Tabular data analysis method, recording medium storing tabular data analysis program, and information processing apparatus |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017134800A1 true WO2017134800A1 (ja) | 2017-08-10 |
Family
ID=59499593
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2016/053388 Ceased WO2017134800A1 (ja) | 2016-02-04 | 2016-02-04 | 表形式データの解析方法、表形式データの解析プログラム及び情報処理装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US10970478B2 (ja) |
| JP (1) | JP6638739B2 (ja) |
| WO (1) | WO2017134800A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022535917A (ja) * | 2020-01-19 | 2022-08-10 | 北京字節跳動網絡技術有限公司 | テーブル情報の表示方法、装置、機器および記憶媒体 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112258907B (zh) * | 2020-11-19 | 2022-06-14 | 唐山学院 | 一种高校execl财务管理教学用展示装置 |
| CN112668288A (zh) * | 2020-12-24 | 2021-04-16 | 江苏省送变电有限公司 | 一种继电保护装置定值校核仪智能提取定值单项的方法 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11328282A (ja) * | 1998-05-21 | 1999-11-30 | Fuji Xerox Co Ltd | 表見出し構造決定装置及び表見出し構造決定プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| JP2005242587A (ja) * | 2004-02-25 | 2005-09-08 | Fuji Xerox Co Ltd | クロス表作成のためのプログラム及び方法及び装置 |
| JP2006139512A (ja) * | 2004-11-11 | 2006-06-01 | Ryoin Co Ltd | 表計算装置及び表計算方法 |
| JP2007122638A (ja) * | 2005-10-31 | 2007-05-17 | Digital Electronics Corp | 情報処理装置、並びに、そのプログラムおよび記録媒体 |
| JP2014074947A (ja) * | 2012-10-02 | 2014-04-24 | Hitachi Ltd | プログラム生成システムおよびプログラム生成方法 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6046740A (en) * | 1997-02-07 | 2000-04-04 | Seque Software, Inc. | Application testing with virtual object recognition |
| US20040193520A1 (en) * | 2003-03-27 | 2004-09-30 | Lacomb Christina | Automated understanding and decomposition of table-structured electronic documents |
| US9274910B2 (en) * | 2008-08-29 | 2016-03-01 | Spirent Communications, Inc. | Automatic test map generation for system verification test |
| JP5664481B2 (ja) | 2011-06-30 | 2015-02-04 | 富士通株式会社 | 表構造自動認識プログラム、表構造自動認識方法及び表構造自動認識装置 |
| US20160117412A1 (en) * | 2014-10-28 | 2016-04-28 | International Business Machines Corporation | Recursive extraction and narration of nested tables |
-
2016
- 2016-02-04 JP JP2017565353A patent/JP6638739B2/ja not_active Expired - Fee Related
- 2016-02-04 WO PCT/JP2016/053388 patent/WO2017134800A1/ja not_active Ceased
-
2018
- 2018-07-30 US US16/048,518 patent/US10970478B2/en not_active Expired - Fee Related
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11328282A (ja) * | 1998-05-21 | 1999-11-30 | Fuji Xerox Co Ltd | 表見出し構造決定装置及び表見出し構造決定プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| JP2005242587A (ja) * | 2004-02-25 | 2005-09-08 | Fuji Xerox Co Ltd | クロス表作成のためのプログラム及び方法及び装置 |
| JP2006139512A (ja) * | 2004-11-11 | 2006-06-01 | Ryoin Co Ltd | 表計算装置及び表計算方法 |
| JP2007122638A (ja) * | 2005-10-31 | 2007-05-17 | Digital Electronics Corp | 情報処理装置、並びに、そのプログラムおよび記録媒体 |
| JP2014074947A (ja) * | 2012-10-02 | 2014-04-24 | Hitachi Ltd | プログラム生成システムおよびプログラム生成方法 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022535917A (ja) * | 2020-01-19 | 2022-08-10 | 北京字節跳動網絡技術有限公司 | テーブル情報の表示方法、装置、機器および記憶媒体 |
| JP7318016B2 (ja) | 2020-01-19 | 2023-07-31 | 北京字節跳動網絡技術有限公司 | テーブル情報の表示方法、装置、機器および記憶媒体 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20180365205A1 (en) | 2018-12-20 |
| JP6638739B2 (ja) | 2020-01-29 |
| US10970478B2 (en) | 2021-04-06 |
| JPWO2017134800A1 (ja) | 2018-10-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI718643B (zh) | 異常群體識別方法及裝置 | |
| Thiem et al. | Boolean minimization in social science research: A review of current software for Qualitative Comparative Analysis (QCA) | |
| JP5898584B2 (ja) | 六面体メッシュ生成装置 | |
| JP6751960B1 (ja) | 情報処理システムおよび情報処理方法 | |
| CN110020930B (zh) | 一种财务数据体系构建方法和装置 | |
| US10970478B2 (en) | Tabular data analysis method, recording medium storing tabular data analysis program, and information processing apparatus | |
| JP6696568B2 (ja) | アイテム推奨方法、アイテム推奨プログラムおよびアイテム推奨装置 | |
| CN104603779A (zh) | 文本挖掘设备、文本挖掘方法和计算机可读记录介质 | |
| JP6497267B2 (ja) | テストケース生成方法、テストケース生成プログラムおよびテストケース生成装置 | |
| JP6652141B2 (ja) | 項目名対応付け処理方法、項目名対応付け処理プログラム及び情報処理装置 | |
| JP6120607B2 (ja) | 要件検出装置及び要件検出プログラム | |
| WO2017158802A1 (ja) | データ変換システム及びデータ変換方法 | |
| JP2015191277A (ja) | データ識別方法、データ識別プログラム及びデータ識別装置 | |
| JP5576570B2 (ja) | 業務仕様からワークフローを生成する方法、プログラム及びシステム | |
| CN115617774A (zh) | 基于配置管理系统的数据处理方法、装置和计算机设备 | |
| CN108304291A (zh) | 测试输入信息检索装置和方法 | |
| CN105229618A (zh) | 数据协调支援装置和数据协调支援方法 | |
| JP7464351B2 (ja) | メディア生成システムおよびそのシステムを実行する方法 | |
| US20120268466A1 (en) | Method and System for graphically determining the degree of separation between banks in a correspondent banking network | |
| US20170060647A1 (en) | Event-based data management method and device | |
| JP6716919B2 (ja) | 情報抽出装置、抽出方法、および、抽出プログラム | |
| JP2018005637A (ja) | 検索プログラム、検索方法および検索装置 | |
| JP2018180711A (ja) | テストケースを選択する計算機及びテストケースの選択方法 | |
| US10515330B2 (en) | Real time visibility of process lifecycle | |
| JPWO2020122004A1 (ja) | 情報処理装置、情報処理方法、およびプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16889286 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2017565353 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 16889286 Country of ref document: EP Kind code of ref document: A1 |