WO2021124469A1 - データ意味推定システム及びデータ意味推定方法 - Google Patents

データ意味推定システム及びデータ意味推定方法 Download PDF

Info

Publication number
WO2021124469A1
WO2021124469A1 PCT/JP2019/049534 JP2019049534W WO2021124469A1 WO 2021124469 A1 WO2021124469 A1 WO 2021124469A1 JP 2019049534 W JP2019049534 W JP 2019049534W WO 2021124469 A1 WO2021124469 A1 WO 2021124469A1
Authority
WO
WIPO (PCT)
Prior art keywords
meaning
data
meaning estimation
column
record
Prior art date
Application number
PCT/JP2019/049534
Other languages
English (en)
French (fr)
Inventor
達也 野郷
光山 訓
涼介 安藤
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2019/049534 priority Critical patent/WO2021124469A1/ja
Publication of WO2021124469A1 publication Critical patent/WO2021124469A1/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/21Design, administration or maintenance of databases

Definitions

  • This disclosure relates to a data meaning estimation system and a data meaning estimation method.
  • various analyzes are performed by analyzing structural information related to the structure of data.
  • Examples of the structure of the data include statistical information about the data and the relationship between the data (for example, the relationship between the primary key and the foreign key between the data).
  • Patent Document 1 discloses a method of grouping a plurality of tables of a plurality of databases based on the structural information of those tables. In this method, a plurality of tables are grouped based on the position of the column in each table and the frequency of occurrence of the column.
  • Patent Document 1 considers the structure of the data, there is no description about the meaning of the content of the data.
  • An object of the present disclosure is to provide a data meaning estimation system and a data meaning estimation method capable of estimating the meaning of data contents.
  • the data meaning estimation system is a data meaning estimation system that estimates the meaning of each of a plurality of tables, and analyzes the relationship between the plurality of tables to obtain the plurality of tables.
  • the grouping processing unit that divides the group, and each group belongs to the group by using the table information about the table belonging to the group and the dictionary showing the correspondence between the table information and the meaning in the content. It has an estimation processing unit that estimates the meaning of the table to be used.
  • step S14 of the ID meaning estimation process of the table which concerns on one Embodiment of this disclosure It is a figure which shows an example of the matching order pattern of the ID meaning estimation dictionary and the column dictionary of the ID meaning estimation processing of the table which concerns on one Embodiment of this disclosure. It is a flowchart for demonstrating an example of the table meaning estimation processing which concerns on one Embodiment of this disclosure. It is a figure which shows an example of the table meaning estimation dictionary storage part which concerns on one Embodiment of this disclosure. It is a figure which shows an example of step S21 of the table meaning estimation processing which concerns on one Embodiment of this disclosure.
  • step S22 and step S23 of the table meaning estimation process which concerns on one Embodiment of this disclosure It is a figure which shows an example of step S24 of the table meaning estimation process which concerns on one Embodiment of this disclosure.
  • step S24 of the table meaning estimation process which concerns on one Embodiment of this disclosure It is a figure which shows an example of the data upload screen which concerns on one Embodiment of this disclosure.
  • the intermediate result display screen which includes the ID meaning estimation result which concerns on one Embodiment of this disclosure.
  • result display screen which includes the table meaning estimation result which concerns on one Embodiment of this disclosure.
  • FIG. 1 is a system configuration diagram showing an example of a data meaning estimation system according to an embodiment of the present disclosure.
  • the data meaning estimation system 1 shown in FIG. 1 is a system for estimating the content meaning of data used for managing at least one of a product and a manufacturing process in a manufacturing operation, and more specifically, a data meaning estimation system 1. It is a system that estimates the meaning of business content to one of the so-called “Man”, “Machine”, “Material”, and “Method”. In manufacturing operations, etc., it is possible to improve the efficiency of operations by classifying and managing data or the like into any of 4M.
  • the data meaning estimation system 1 of FIG. 1 includes a data operation PC (Personal Computer) 100, a data meaning estimation server 200, and a data source 300. Although two data sources 300 are shown in the figure, there may be one or three or more data sources 300.
  • PC Personal Computer
  • the data manipulation PC 100 and the data meaning estimation server 200 can be connected to each other via the network 400, and the data meaning estimation server 200 and the plurality of data sources 300 can be connected to each other via the network 500.
  • the data manipulation PC 100 is a terminal device operated by a user who uses the data meaning estimation system 1.
  • the data manipulation PC 100 requests, for example, uploading data from the data source 300 to the data meaning estimation server 200, displaying the meaning estimation result described later, and requesting correction of the meaning estimation result in response to an operation from the user. I do.
  • the data meaning estimation server 200 acquires data from the data source 300 in response to a request from the data manipulation PC 100, and processes the data (specifically, grouping process, ID meaning estimation process, and table meaning estimation process described later). ) Is executed.
  • the data source 300 is a storage device that stores data to be processed by the data meaning estimation server 200.
  • the data source 300 transmits the stored data to the data meaning estimation server 200 in accordance with the request from the data meaning estimation server 200.
  • FIG. 2 is a block diagram showing a functional configuration example of the data meaning estimation server 200.
  • the data meaning estimation server 200 includes a calculation unit 210 and a storage unit 220.
  • the calculation unit 210 includes a grouping processing unit 211, an ID meaning estimation processing unit 212, and a table meaning estimation processing unit 213.
  • the storage unit 220 stores the data list information 221 and the template information 222, the table 223, the inter-table relation analysis result 224, and the group information 225. There are a plurality of tables 223. Further, the storage unit 220 has a plurality of logical storage areas 226. An ID meaning estimation dictionary 227, a column dictionary 228, and a table meaning estimation dictionary 229 are stored in each logical storage area 226. The logical storage area 226 is provided for each template ID (TEMPLATE_ID) in the template information 222 described later. In FIG. 2, there are N template IDs.
  • the grouping processing unit 211 is a processing unit that analyzes the relationship between the plurality of tables 223 and performs grouping processing for dividing the plurality of tables 223 into one or a plurality of groups. A more detailed description of the grouping processing unit 211 will be described later with reference to FIGS. 10 and 11.
  • the ID meaning estimation processing unit 212 and the table meaning estimation processing unit 213 use the table information about the table 223 belonging to the group and a predetermined dictionary for each group divided by the grouping processing unit 211 to form a group. It constitutes an estimation processing unit that estimates the meaning of the contents of the table to which it belongs.
  • the meaning of the content may be simply expressed as a meaning.
  • the dictionary is information indicating the correspondence between the table information and the meaning estimation candidate which is a candidate for the meaning of the table, and includes the ID meaning estimation dictionary 227, the column dictionary 228, and the table meaning estimation dictionary 229.
  • the ID meaning estimation processing unit 212 is a processing unit that performs ID meaning estimation processing for estimating the meaning of the record ID, which is a field value that can uniquely identify each record in the table 223 among the field values stored in the table 223. .. Specifically, the ID meaning estimation processing unit 212 acquires the ID information related to the record ID stored in the table 223 and the column information related to the column of the table 223 as the table information, and the ID information and the column information and the ID The meaning of the record ID is estimated using the meaning estimation dictionary 227 and the column dictionary 228. A more detailed description of the ID meaning estimation processing unit 212 will be described later with reference to FIGS. 16, 17, 18, and 19.
  • the table meaning estimation processing unit 213 is a processing unit that performs table meaning estimation processing for estimating the meaning of table 223 based on the processing result of the grouping processing unit 211 and the processing result of the ID meaning estimation processing unit 212. Specifically, the table meaning estimation processing unit 213 assigns the meaning of the record ID, which is the processing result of the ID meaning estimation processing unit 212, to each table 223 of the group to which the table 223 storing the record ID belongs. To do. For a table to which a plurality of table meanings are assigned, the table meaning estimation processing unit 213 estimates the meaning of the table 223 based on the meanings of the plurality of assigned tables and the table meaning estimation dictionary 229, and estimates the meaning of the table. For the table 223 to which only one is assigned, the meaning of the assigned table is estimated as the meaning of the table 223. A more detailed description of the table meaning estimation processing unit 213 will be described later with reference to FIGS. 23, 24 and 25.
  • FIG. 3 is a diagram showing an example of data list information 221.
  • the data list information 221 shown in FIG. 3 is information about the data stored in the data source 300, and has columns 22101 to 22105.
  • Column 22101 stores a data ID that uniquely identifies the data
  • column 22102 stores the name of the data
  • column 22103 stores the number of records (number of rows) of the data
  • column 22104 is the data file.
  • the format is stored
  • column 22105 stores a file path indicating a storage location of data.
  • the data list information 221 is periodically created by the data meaning estimation server 200 based on the data stored in the data source 300.
  • the frequency at which the data list information 221 is created may be arbitrary.
  • FIG. 4 is a diagram showing an example of template information 222.
  • Template information 222 is information about a template that is a semantic classification of data and has columns 22201 and 22202.
  • Column 22201 stores a template ID that uniquely identifies the template
  • column 22202 stores a template name that is the name of the template.
  • the template represents the type of business (manufacturing business).
  • the template ID is also used as identification information that uniquely identifies the logical storage area 226 as described above. Thereby, the ID meaning estimation dictionary 227, the column dictionary 228, and the table meaning estimation dictionary 229 can be set for each business.
  • FIG. 5 is a diagram showing an example of table 223.
  • Table 223 is data for which the meaning is to be estimated, and is defined by column 22301 and record 22302.
  • Record 22302 is composed of one or more field values 22303.
  • the data stored in the data source 300 is stored in the format of table 223, at least on the data meaning estimation server 200.
  • the inter-table association analysis result 224 is a processing result of the inter-table association analysis processing (see FIG. 8) by the grouping processing unit 211. A more detailed description of the inter-table association analysis result 224 will be described later with reference to FIG.
  • the group information 225 is the processing result of the grouping processing unit 211. A more detailed description of the group information 225 will be described later with reference to FIG.
  • the logical storage area 226 is a logical storage area provided for each template ID of the template information 222, and stores dictionaries (ID meaning estimation dictionary 227, column dictionary 228, and table meaning estimation dictionary 229) corresponding to the template ID. To do.
  • the ID meaning estimation dictionary 227 is a table showing the correspondence between the ID information which is the table information and the estimated meaning candidate which is a candidate for the meaning of the table.
  • the ID information is the ID increase rate, which is the rate of increase of the record ID per unit time
  • the ID meaning estimation dictionary 227 shows the correspondence between the condition for the ID increase rate and the estimated meaning candidate.
  • the column dictionary 228 is a table showing the correspondence between the column information which is the table information and the estimated meaning candidate. A more detailed description of the column dictionary 228 will be described later with reference to FIG.
  • the table meaning estimation dictionary 229 is a table showing the correspondence between the meanings of a plurality of record IDs and the meanings of the tables. A more detailed description of the table meaning estimation dictionary 229 will be described later with reference to FIG.
  • FIG. 6 is a sequence diagram for explaining the operation of the data meaning estimation system 1 according to the embodiment of the present disclosure.
  • step S101 the data meaning estimation server 200 periodically transmits a request for transmitting list creation information, which is information necessary for creating the data list information 221 to the data source 300.
  • step S102 when the data source 300 receives the request for transmitting the list creation information, the data source 300 transmits the list creation information to the data meaning estimation server 200.
  • the list creation information indicates, for example, the data updated up to the present time since the list creation information was transmitted one time ago, or the name, number of records, file format, file path, etc. of the updated data. Information.
  • step S103 when the data meaning estimation server 200 receives the list creation information, the data list information 221 stored in the storage unit 220 is updated based on the list creation information. Then, the data meaning estimation server 200 transmits the data list information 221 to the data manipulation PC 100.
  • the data meaning estimation server 200 may transmit the data list information 221 to the data manipulation PC 100 when receiving the transmission request of the data list information 221 from the data manipulation PC 100.
  • the data operation PC 100 is a UI (User Interface) for uploading the target data, which is the target data for estimating the meaning, from the data source 300 to the data meaning estimation server 200 in response to the operation from the user.
  • the upload screen (see FIG. 26) is displayed. The user selects the target data and the template information according to the upload screen.
  • the data manipulation PC 100 transmits the selected template information and the upload request of the selected target data to the data meaning estimation server 200.
  • the upload screen includes data list information 221. Further, the data manipulation PC 100 may send a transmission request of the data list information 221 to the data meaning estimation server 200 before displaying the upload screen.
  • step S105 when the data meaning estimation server 200 receives the template information and the upload request, the ID meaning estimation dictionary 227, the column dictionary 228, and the table meaning estimation used for analysis (estimation of the meaning of the data) are based on the template information. Determine the dictionary 229. Further, the data meaning estimation server 200 transmits a transmission request of the target data to the data source 300 based on the upload request.
  • step S106 when the data source 300 receives the transmission request of the target data, the data source 300 transmits the target data to the data meaning estimation server 200 in response to the transmission request.
  • the data meaning estimation server 200 receives the target data and stores the target data as a table 223 in the storage unit 220.
  • step S107 the grouping processing unit 211 of the data meaning estimation server 200 performs grouping processing for grouping the table 223 stored in the storage unit 220, and stores the processing result as group information 225 in the storage unit 220.
  • the grouping processing unit 211 performs an inter-table relationship analysis process for specifying a column pair consisting of a parent column and a child column having a predetermined parent-child relationship from the table 223 stored in the storage unit 220.
  • the processing result is stored in the storage unit 220 as the table-to-table association analysis result 224.
  • the grouping processing unit 211 divides the table 223 into groups based on the inter-table association analysis result 224, and stores the grouping result as group information 225 in the storage unit 220 (see FIGS. 7 to 12).
  • step S108 the ID meaning estimation processing unit 212 of the data meaning estimation server 200 performs ID meaning estimation processing using the group information 225 and the ID meaning estimation dictionary 227 and the column dictionary 228 determined in step S105 (FIG. FIG. 13 to 20).
  • step S109 the ID meaning estimation processing unit 212 transmits the ID meaning estimation result, which is the processing result of the ID meaning estimation processing, to the data manipulation PC 100.
  • step S110 when the data manipulation PC 100 receives the ID meaning estimation result, it displays an intermediate result display screen (see FIG. 27) which is a UI including the ID meaning estimation result.
  • the user transmits a request for confirming the ID meaning estimation result to the data meaning estimation server 200 according to the intermediate result display screen.
  • the user may modify the ID meaning estimation result.
  • the data manipulation PC 100 transmits a correction request for the ID meaning estimation result to the data meaning estimation server 200 as a confirmation request in response to an instruction from the user.
  • step S111 when the ID meaning estimation processing unit 212 of the data meaning estimation server 200 receives the confirmation request, the table meaning estimation processing unit 213 uses the ID meaning estimation result and the table meaning estimation dictionary 229 to estimate the table meaning. The process is performed (see FIGS. 21 to 25).
  • the confirmation request is a correction request
  • the ID meaning estimation processing unit 212 corrects the ID meaning estimation result in response to the correction request
  • the table meaning estimation processing unit 213 uses the corrected ID meaning estimation result to make a table. Performs semantic estimation processing.
  • step S112 the table meaning estimation processing unit 213 transmits the table meaning estimation result, which is the processing result of the table meaning estimation processing, to the data manipulation PC 100.
  • step S113 when the data manipulation PC 100 receives the table meaning estimation result, it displays a result display screen (see FIG. 28) which is a UI including the table meaning estimation result.
  • the user sends a request for confirming the table meaning estimation result to the data meaning estimation server 200 according to the result display screen.
  • the user may modify the table meaning estimation result.
  • the data manipulation PC 100 transmits a correction request for the table meaning estimation result to the data meaning estimation server 200 as a confirmation request in response to an instruction from the user.
  • the table meaning estimation processing unit 213 of the data meaning estimation server 200 receives the confirmation request of the table meaning estimation result, it outputs the table meaning estimation result and ends the processing.
  • the confirmation request is a correction request
  • the table meaning estimation processing unit 213 corrects and outputs the ID meaning estimation result in response to the correction request.
  • FIG. 7 is a flowchart for explaining an example of the grouping process (step S107 of FIG. 6) according to the embodiment of the present disclosure.
  • step S1 the grouping processing unit 211 performs the table-to-table related analysis process, generates the table-to-table related analysis result 224 which is the processing result, and stores it in the storage unit 220. Specifically, the grouping processing unit 211 identifies as a parent column a column in which a record ID, which is a field value that can uniquely identify a record in the table, is stored, and further sets the field value (record ID) of the parent column. A column having a field value whose degree of matching is equal to or greater than a predetermined value is specified as a child column corresponding to the parent column. Then, the grouping processing unit 211 generates information indicating the parent-child relationship, which is the correspondence between the parent column and the child column, for each parent column as the inter-table relationship analysis result 224.
  • FIG. 8 is a diagram for explaining an example of inter-table related analysis processing.
  • the grouping processing unit 211 first identifies, among the plurality of tables 223a to 223b, the column having the column name “SENSING_POINT” in the table 223a as the parent column 21101. Then, the grouping processing unit 211 specifies a column having the column name "SEN_PO" in the table 223b, which has a field value whose degree of coincidence with the field value of the parent column 21101 is equal to or more than a predetermined value, as a child column 21102.
  • the degree of match is, for example, the ratio of the value that matches the field value of the parent column to the entire field value of the column.
  • the predetermined value is set to a value greater than 0 and less than or equal to 1. The degree of agreement is not limited to this example, and may be another value.
  • FIG. 9 is a diagram showing an example of the inter-table relationship analysis result 224.
  • Table-to-table association analysis result 224 is a table having columns 22401 to 22405.
  • Column 22401 stores a value that uniquely identifies the parent-child relationship.
  • Column 22402 stores a data ID that uniquely identifies table 223 having a parent column.
  • Column 22403 stores the column name of the parent column.
  • Column 22404 stores a data ID that uniquely identifies table 223 having child columns.
  • Column 22405 stores the column name of the child column.
  • the data IDs stored in the columns 22402 and 22404 are the data IDs in the data list information (see FIG. 3).
  • step S2 the grouping processing unit 211 groups the table 223 having the parent column and the table 223 having the child column corresponding to the parent column for each parent column based on the inter-table relationship analysis result 224.
  • FIG. 10 is a diagram for explaining an example of the process of step S2.
  • the table 223a and the table 223b form the group 21103
  • the table 223b and the table 223c form the group 21104
  • the table 223c and the table 223d form the group 21105.
  • step S3 the grouping processing unit 211 determines whether or not the table 223 having a plurality of parent columns belongs to two or more groups. When the table 223 having a plurality of parent columns belongs to two or more groups, the grouping processing unit 211 proceeds to the process of step S4, and the table having a plurality of parent columns belongs to two or more groups. If not, the process proceeds to step S5.
  • step S4 the grouping processing unit 211 integrates two or more groups to which the table 223 having a plurality of parent columns belongs into one group.
  • FIG. 11 is a diagram showing an example of step S3 and step S4.
  • the table 223c has a column having the column name “PRODUCT_ID” and a column having the column name “MAN_ID” as parent columns.
  • the table 223c belongs to two groups, group 21104 and group 21105. In this case, as shown in FIG. 11, the grouping processing unit 211 integrates the group 21104 and the group 21105 as the group 21107.
  • step S5 the grouping processing unit 211 generates information indicating the correspondence between the group and the table 223 as group information 225, which is the processing result of the grouping processing, and stores it in the storage unit 220.
  • FIG. 12 is a diagram showing an example of group information 225.
  • Group information 225 shown in FIG. 12 is a table having columns 22501 and 22502.
  • Column 22501 stores a value that uniquely identifies the group
  • column 22502 stores the data ID of the table belonging to the group.
  • FIG. 13 is a flowchart for explaining an example of the ID meaning estimation process and the subsequent input / output process (steps S108 to S110 in FIG. 6) according to the embodiment of the present disclosure.
  • step S6 the ID meaning estimation processing unit 212 acquires the group information 225 from the storage unit 220.
  • step S7 the ID meaning estimation processing unit 212 acquires the ID meaning estimation dictionary 227 and the column dictionary 228 determined in step S105 of FIG. 6 from the logical storage area 226 of the storage unit 220. That is, the ID meaning estimation processing unit 212 acquires the ID meaning estimation dictionary 227 and the column dictionary 228 stored in the logical storage area 226 corresponding to the template ID in the template information among the plurality of logical storage areas 226.
  • FIG. 14 is a diagram showing an example of the ID meaning estimation dictionary 227.
  • the ID meaning estimation dictionary 227 shown in FIG. 14 has columns 22701 to 22715.
  • Column 22701 stores a category ID for uniquely identifying the meaning estimation candidate of the record ID.
  • Column 22702 stores the meaning estimation candidates of the record ID.
  • Columns 22710 to 22715 store unit flags, which are flags for designating the unit of unit time in the condition value.
  • column 22710 stores a flag indicating whether the unit is "year”
  • column 22711 stores a flag indicating whether the unit is "month”
  • column 22712 stores the unit "month”.
  • a flag indicating whether or not the unit is "day” is stored
  • column 22713 stores a flag indicating whether or not the unit is "hour”
  • column 22714 stores a flag indicating whether or not the unit is "minute”.
  • Column 22715 stores a flag indicating whether or not the unit is "seconds”. Note that these units are merely examples, and are not limited to these examples.
  • FIG. 15 is a diagram showing an example of the column dictionary 228.
  • the column dictionary 228 shown in FIG. 15 has columns 22801 to 22809.
  • Column 22801 stores a category ID for uniquely identifying the meaning estimation candidate of the record ID.
  • Column 22802 stores the meaning estimation candidates of the record ID.
  • Columns 22803 to 22808 store condition information that defines conditions for selecting a record ID meaning estimation candidate as the record ID meaning. Specifically, column 22803 stores the column name of the corresponding column, which is the column corresponding to the meaning estimation candidate of the record ID.
  • the columns 22804 to 22806 store the statistical information of the field values stored in the corresponding columns. In the example of the figure, column 22804 stores the average value, column 22804 stores the variance, and column 22804 stores the standard deviation as statistical information. If the field value stored in the corresponding column is in a data format other than the numerical type and the statistical information cannot be calculated, the columns 22804 to 22806 store the value "null" indicating that there is no statistical information. ..
  • Column 22807 stores the data format of the corresponding column.
  • Column 22808 stores the most frequent pattern information indicating the most frequent pattern of the field values of the corresponding columns.
  • the pattern indicates whether the field value is a numerical type or a character type, and the number of digits (character number) of the field value. In the example of the figure, the pattern indicates “9” when the field value is a numerical value, "x" when the field value is a character, and the number of digits is indicated by “9” or the number of "x”. For example, when the field value is a numerical type and is "100" and "200”, the pattern is "999". When the field value is a character type and is "ABC” and "DEF", the pattern is "xxx”. Note that this pattern and its notation are merely examples, and are not limited to this example.
  • Column 22809 stores a weight value for selecting a record ID meaning estimation candidate as the record ID meaning.
  • step S8 the ID meaning estimation processing unit 212 reads the table 223 from the storage unit 220, and from the table 223, a record including both the value (field value) of the parent column or the child column and the value (field value) related to time.
  • FIG. 16 is a diagram for explaining an example of the process of step S8.
  • the column having the column name “CREATE_DATE” in table 223a, the column having the column name “PASSED_TIME” in table 223b, and the column having the column name “ASSIGN_DATE” in table 223d have values related to time.
  • Column 21201 Further, since each of the columns 21201 has a parent column or a child column in the same table, each record of each table 223a, 223b, and 223d having the column 21201 becomes a time-related record.
  • step S9 the ID meaning estimation processing unit 212 confirms whether or not there are a plurality of records having duplicate record IDs stored in the parent column or the child column for each table having time-related records. ..
  • the ID meaning estimation processing unit 212 proceeds to the process of step S10 when there are a plurality of records having duplicate record IDs, and proceeds to step S11 when there are no plurality of records having duplicate record IDs. move on.
  • step S10 the ID meaning estimation processing unit 212 sets a record other than the record having the latest value as a time-related value from the time-related records among the plurality of records for each of the plurality of records having duplicate record IDs. exclude.
  • FIG. 17 is a diagram for explaining an example of the processing of steps S9 and S10.
  • the records having the ID “sen001” are duplicated in the column of the column name “SEN_PO”.
  • the ID meaning estimation processing unit 212 identifies the record 21202 having the latest value "2019-08-03 12:28:43" as the time-related value from those records, and the other records are time-related. Exclude from record.
  • step S11 the ID meaning estimation processing unit 212 calculates the ID increase rate per unit time of the record ID for each of the tables having the time-related records.
  • FIG. 18 is a diagram showing an example of the process of step S11.
  • the oldest value is "2019-08-03 12:28:43”
  • the latest value is "2020-08-03 12:36:51”.
  • the ID increase rate is a value obtained by dividing the difference between the oldest value and the latest value by the number of record ID types. That is, the difference between the oldest value and the latest value is "31622888 [seconds]", that is, "about 1 [year]”. Therefore, the ID increase rate is "about 5 [type / year]".
  • the ID meaning estimation processing unit 212 performs matching processing between the ID increase rate and the ID meaning estimation dictionary 227 for each ID increase rate calculated in step S11, and estimates the meaning of the record ID. For example, in the ID meaning estimation dictionary 227 shown in FIG. 14, when the ID increase rate per unit time is 5 [type / year] or less, the record having "Sensing Point" as the field value of the column 22702 and the ID increase rate The ID meaning estimation processing unit 212 estimates the meaning of the record ID as "Sensing Point”. If the ID increase rate does not match any of the records in the ID meaning estimation dictionary 227, the ID meaning estimation processing unit 212 estimates the meaning of the record ID as "Others".
  • step S13 the ID meaning estimation processing unit 212 determines whether or not the estimation result estimated in step S12 includes "Others". The ID meaning estimation processing unit 212 proceeds to the process of step S14 when the estimation result includes "Others", and proceeds to the process of step S16 when the estimation result does not include "Others”.
  • the ID meaning estimation processing unit 212 acquires column information regarding the columns of the tables from each table in the group to which the tables having the record IDs whose meaning is presumed to be "Others" belong.
  • the column information includes a column name, statistical information of field values stored in the column (for example, mean, variance, standard deviation, etc.), and most frequent pattern information.
  • FIG. 19 is a diagram showing an example of the process of step S14.
  • the ID increase rate of the column 21204 having the column name “MAN_ID” in the table 223c is 500 [type / year] and does not match any record of the ID meaning estimation dictionary 227.
  • the meaning estimation processing unit 212 estimates the meaning of the record ID having the ID increase rate as “Others”. In this case, the ID meaning estimation processing unit 212 acquires the column information of the column 21205 of the tables 223c and 223d belonging to the group to which the table 223c belongs.
  • step S15 the ID meaning estimation processing unit 212 sets the column information calculated in step S14 and the column dictionary 228 for each group to which the table having the record ID whose meaning is estimated to be “Others” in step S12 belongs. Matching processing is performed to estimate the meaning of the record ID. Specifically, the ID meaning estimation processing unit 212 compares the column information with the condition information included in the column dictionary 228, and the sum of the weight values corresponding to the condition information matching the column information is equal to or greater than the threshold value. In this case, the meaning estimation candidate of the record ID corresponding to the condition information is estimated as the meaning of the record ID.
  • the column name "OPERATOR_NAME”, the data type “varchar”, and the most frequent pattern information "xxxxxx” are used as the condition information corresponding to the meaning estimation candidate "Man" stored in the column 22802.
  • the ID meaning estimation processing unit 212 records the meaning estimation candidate "Man” when the sum of the weight values corresponding to the condition values matching each column information of the target group is the threshold value (for example, 3) or more. Estimated as the meaning of ID. If the sum of the weight values is not equal to or greater than the threshold value, the ID meaning estimation processing unit 212 estimates the meaning of the record ID as "Others".
  • step S16 the ID meaning estimation processing unit 212 transmits the ID meaning estimation result, which is the estimation result of estimating the meaning of the record ID, to the data manipulation PC 100.
  • the data manipulation PC 100 receives the ID meaning estimation result and displays an intermediate result display screen (see FIG. 27) including the ID meaning estimation result.
  • step S17 the data manipulation PC 100 transmits a request for confirming the ID meaning estimation result to the data meaning estimation server 200 in response to an instruction from the user.
  • the ID meaning estimation processing unit 212 of the data meaning estimation server 200 receives the confirmation request, it determines whether or not the confirmation request is a correction request, and determines whether or not to correct the ID meaning estimation result.
  • the ID meaning estimation processing unit 212 proceeds to the process of step S18 when modifying the ID meaning estimation result, and ends the process when the ID meaning estimation result is not modified.
  • step S18 the ID meaning estimation processing unit 212 corrects the ID meaning estimation result in response to the correction request, and ends the process.
  • FIG. 20 is a diagram for explaining a processing pattern of ID meaning estimation processing.
  • the ID meaning estimation process described with reference to FIG. 13, as shown in the processing pattern A of FIG. 20, after the ID matching process (step S12) which is the matching process using the ID meaning estimation dictionary 227, the column dictionary 228 The column matching process (step S15), which is a matching process using the above, was performed.
  • the processing pattern of the ID meaning estimation process is not limited to this example.
  • the ID matching processing may be performed after performing the column matching processing as shown in the processing pattern B.
  • the processing pattern of the ID meaning estimation processing as shown in the processing pattern C, the column matching processing and the ID matching processing may be performed in parallel, and the processing results thereof may be integrated.
  • the ID meaning estimation processing unit 212 has a high priority when, for example, the processing result (meaning of the record ID) having the higher priority of the column matching process and the ID matching process is not "Others". If the processing result of the lower priority is "Others", the processing result of the higher priority is adopted.
  • the priority is set in advance, for example.
  • a plurality of meanings may be presumed as the meaning of the record ID.
  • the ID meaning estimation processing unit 212 may select one of a plurality of meanings as the meaning of the record ID based on a preset priority or the like, or the meaning of the plurality of record IDs may be manipulated as data. It may be transmitted to the PC 100 for display and the user may select one of a plurality of meanings.
  • FIG. 21 is a flowchart for explaining an example of the table meaning estimation process and the subsequent input / output process (steps S111 to S113 in FIG. 6) according to the embodiment of the present disclosure.
  • step S19 the table meaning estimation processing unit 213 acquires the group information 225 from the storage unit 220.
  • step S20 the table meaning estimation processing unit 213 acquires the table meaning estimation dictionary 229 determined in step S105 of FIG. 6 from the logical storage area 226 of the storage unit 220.
  • FIG. 22 is a diagram showing an example of the table meaning estimation dictionary 229.
  • the table meaning estimation dictionary 229 shown in FIG. 22 has columns 22901 to 22903.
  • Column 22901 stores a category ID for uniquely identifying the semantic estimation candidates in table 223.
  • Column 22902 stores the semantic estimation candidates of table 223.
  • Column 22903 stores the meaning of the record ID. There are a plurality of columns 22903.
  • step S21 the table meaning estimation processing unit 213 assigns the meaning of the record ID, which is the ID meaning estimation result, to the group including the record ID.
  • FIG. 23 is a diagram for explaining an example of the process of step S22.
  • the meaning of "SENSING_POINT” which is the record ID of the table 223a is "Sensing_Point”
  • the meaning of the record IDs "PRODUCT_ID” and "MAN_ID” of the table 223c is "Man”.
  • the table meaning estimation processing unit 213 assigns "Sensing_Point” to the group 21103 including the table 223a and "Man” to the group 21107 including the table 223b.
  • step S22 the table meaning estimation processing unit 213 gives the meaning given to the group to each table included in the group.
  • step S23 the table meaning estimation processing unit 213 determines whether or not there is a table to which a plurality of meanings are given.
  • the table meaning estimation processing unit 213 proceeds to the process of step S24 when there is a table to which a plurality of meanings are given, and proceeds to the process of step S25 when the table to which a plurality of meanings is given does not exist.
  • FIG. 24 is a diagram for explaining an example of the processing of steps S22 and S23.
  • the meaning "Sensing_Point” is given to the group 21103, and the meaning “Man” is given to the group 21107. Therefore, in step S22, the table meaning estimation processing unit 213 assigns the meaning "Sensing_Point” to the tables 223a and 223b belonging to the group 21103, and gives the meaning "Man” to the tables 223b to 223d belonging to the group 21107. Is given.
  • step S23 the table meaning estimation processing unit 213 determines that there is a table to which a plurality of meanings are given because the meaning "Sensing_Point” and the meaning "Man” are given to the table 223b, and in step S24. Proceed to the process of.
  • step S24 the table meaning estimation processing unit 213 performs matching processing between the plurality of meanings of the table 223 to which the plurality of meanings are given and the table meaning estimation dictionary 229, and estimates the meaning of the table 223.
  • the meaning “Sensing_Point” and the meaning “Man” are given to the table 223b in FIG. 24, and the meaning “Sensing_Point” and the meaning “Sensing_Point” and the meaning “Sensing_Point” and the meaning "Sensing_Point” and the meaning " There is a record with "Man”. Therefore, the table meaning estimation processing unit 213 estimates the field value "Actual_Production" of the column 22902 in the record as the meaning of the table 223b.
  • step S25 the table meaning estimation processing unit 213 transmits the table meaning estimation result, which is the estimation result of estimating the meaning of the table 223, to the data manipulation PC 100.
  • the data manipulation PC 100 receives the table meaning estimation result and displays a result display screen (see FIG. 28) including the table meaning estimation result.
  • step S26 the data manipulation PC 100 transmits a confirmation request for the table meaning estimation result to the data meaning estimation server 200 in response to an instruction from the user.
  • the table meaning estimation processing unit 213 of the data meaning estimation server 200 receives the confirmation request from the data manipulation PC 100, it determines whether or not the confirmation request is a correction request, and determines whether or not to correct the table meaning estimation result. to decide.
  • the table meaning estimation processing unit 213 proceeds to the process of step S27 when modifying the table meaning estimation result, and ends the process when the table meaning estimation result is not modified.
  • step S27 the table meaning estimation processing unit 213 corrects the ID meaning estimation result in response to the correction request, and ends the process.
  • FIG. 26 is a diagram showing an example of the upload screen.
  • the upload screen UI 100 shown in FIG. 26 includes windows UI 110 to 140, and buttons UI 150 and UI 160.
  • the window UI 110 is a display area for selecting template information to be transmitted to the data meaning estimation server 200.
  • the window UI 110 includes the caret UI 111, and when the caret UI 111 is operated by the user, the template information is selected from the list of template information prepared in advance.
  • the window UI 120 is a display area for selecting a directory in which data to be uploaded as table 223 to the data meaning estimation server 200 is stored.
  • the window UI 120 includes the caret UI 121, and when the caret UI 121 is operated by the user, the directory in which the data to be uploaded to the data meaning estimation server 200 is stored is selected from the list of directories indicated by the data list information 221. Be selected.
  • the window UI 130 is a display area for displaying the data stored in the directory selected in the window UI 120.
  • the window UI 130 includes check boxes UI 131 and UI 132 for each selected data.
  • the check box UI131 is a box for selecting data for which detailed information is to be displayed.
  • the check box UI 132 is a box for selecting data to be deleted from the upload target.
  • the window UI 140 is a display area for displaying detailed information of the data selected by the check box UI 131 of the window UI 130.
  • the button UI 150 is a button for transmitting the upload request of the data selected in the window UI 120 to the data meaning estimation server 200.
  • the button UI 160 is a button for changing the display size of the upload screen UI 100.
  • the button UI 170 is a button for hiding the upload screen UI 100.
  • FIG. 27 is a diagram showing an example of an intermediate result display screen for displaying the ID meaning estimation result.
  • the intermediate result display screen UI 200 shown in FIG. 27 includes windows UI 210 and 220 and buttons UI 230 to UI 250.
  • the window UI 210 is a display area for displaying the ID meaning estimation result.
  • the window UI 210 displays the name of the table having the record ID, the name of the record ID, and the ID meaning estimation result (meaning of the record ID).
  • the window UI 210 includes a check box UI 211 and a caret UI 212.
  • the check box UI211 is a box for selecting a table for displaying detailed information.
  • the caret UI 212 is an interface for displaying the modification candidate UI 213 of the ID meaning estimation result. When modifying the ID meaning estimation result, any of the displayed modification candidate UI 1213 is selected.
  • the window UI 220 is a display area for displaying detailed information of the table selected by the check box UI 211 of the window UI 210.
  • Button UI 230 is a button for sending a confirmation request for the ID meaning estimation result. If the modification candidate UI 213 of the window UI 210 is selected when the button UI 230 is pressed, a modification request for modifying the original ID meaning estimation result to the selected modification candidate UI 213 is transmitted as a confirmation request.
  • the button UI 240 is a button for changing the display size of the intermediate result display screen UI 200.
  • the button UI 250 is a button for hiding the intermediate result display screen UI 200.
  • FIG. 28 is a diagram showing an example of a result display screen for displaying the ID meaning estimation result.
  • the result display screen UI 300 shown in FIG. 28 includes windows UI 310 and UI 320, and buttons UI 330 to UI 350.
  • the window UI 310 is a display area for displaying the table meaning estimation result.
  • the window UI 310 displays the table name and the table meaning estimation result (table meaning).
  • the window UI 310 includes a check box UI 311 and a caret UI 312.
  • the check box UI311 is a box for selecting a table for displaying detailed information.
  • the caret UI 312 is an interface for displaying the modification candidate UI 313 of the table meaning estimation result. When modifying the table meaning estimation result, any of the displayed modification candidate UI 313s is selected.
  • the window UI 320 is a display area for displaying detailed information of the table selected by the check box UI 311 of the window UI 310.
  • Button UI330 is a button for sending a confirmation request for the table meaning estimation result. If the modification candidate UI 313 of the window UI 310 is selected when the button UI 330 is pressed, a modification request for modifying the original table meaning estimation result to the selected modification candidate UI 313 is transmitted as a confirmation request.
  • the button UI 340 is a button for changing the display size of the result display screen UI 300.
  • the button UI 350 is a button for hiding the result display screen UI 300.
  • the grouping processing unit 211 analyzes the relationship between the plurality of tables 223 and divides the plurality of tables 223 into groups.
  • the estimation processing unit (ID meaning estimation processing unit 212 and table meaning estimation processing unit 213) includes table information of the tables belonging to the group, and meaning estimation candidates that are candidates for the table information and the meaning in the content for each group.
  • the meaning of the contents of the table 223 belonging to the group is estimated by using the dictionaries (ID meaning estimation dictionary 227, column dictionary 228, and table meaning estimation dictionary 229) showing the correspondence between the two. Therefore, it is possible to estimate the meaning of the contents of the table 223, which is the data. This allows the data analyst to reduce the time and effort required to understand the meaning of the data.
  • the content meaning of the record ID which is a field value that uniquely identifies each record of the table
  • the ID information related to the record ID is used as the table information related to the table 223. Therefore, since the meaning of the record ID can be estimated more appropriately, the meaning of the table 223 can be estimated more appropriately.
  • the ID increase rate of the record ID is used as the ID information. Therefore, in the tables related to "Man”, “Machine”, “Material”, and “Method” called 4M, the rate of increase of record ID is considered to be significantly different. , It becomes possible to appropriately estimate the meaning of the data in terms of business content to any of 4M.
  • the meaning estimation candidate corresponding to the condition matching the ID increase rate is estimated as the meaning of the record ID. Therefore, the meaning of the record ID can be estimated more appropriately.
  • column information relating to each column of table 223 is used as table information.
  • the meaning of the table 223 can be estimated according to the contents of each column of the table 223, the meaning of the table 223 can be estimated more appropriately.
  • the meanings are newly estimated using those meanings and the table meaning estimation dictionary 229. Therefore, it becomes possible to infer more appropriate and specific meanings from a plurality of meanings.
  • the table having the parent column for storing the record ID and the table having the child column for storing the field value whose degree of matching with the record ID stored in the parent column is equal to or more than a predetermined value are the same. Divided into groups. Therefore, it is possible to appropriately group tables having the same meaning.
  • a table having a plurality of parent columns belongs to two or more groups
  • the two or more groups are integrated into one group, so that the tables can be appropriately grouped. It will be possible.
  • the meaning in the contents of the table is estimated by using the dictionary selected from a plurality of dictionaries prepared in advance, it becomes possible to use an appropriate dictionary, and as a result, the table. It becomes possible to estimate the meaning of 223 more appropriately.
  • the data meaning estimation system of the present disclosure is not limited to the system for estimating the business meaning of data as described in the above embodiment, but is applied to a general system for estimating the meaning of data. can do.
  • Data meaning estimation processing system 100: Data operation PC, 200: Data meaning estimation server, 210: Calculation unit, 211: Grouping processing unit, 212: ID meaning estimation processing unit, 213: Table meaning estimation processing unit, 220: Storage unit, 221: Data list information, 222: Template information, 223: Table, 224: Inter-table relation analysis result, 225: Group information, 226: Logical storage area, 227: ID meaning estimation dictionary, 228: Column dictionary , 229: Table meaning estimation dictionary, 300: Data source

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

データの内容上の意味を推定することが可能にすること。 グループ化処理部211は、複数のテーブル223間の関係を解析して、複数のテーブル223をグループに分ける。推定処理部(ID意味推定処理部212及びテーブル意味推定処理部213)は、グループごとに、そのグループに所属するテーブル223に関するテーブル情報と、テーブル情報と意味推定候補との対応関係を示す辞書(ID意味推定辞書227、カラム辞書228及びテーブル意味推定辞書229)とを用いて、そのグループに所属するテーブル223の意味を推定する。

Description

データ意味推定システム及びデータ意味推定方法
 本開示は、データ意味推定システム及びデータ意味推定方法に関する。
 データ分析の分野では、データの構造に関する構造情報を解析することで、種々の分析が行われている。データの構造としては、例えば、データに関する統計情報、及びデータ間の関係(例えば、データ間の主キーと外部キーとの関係)などが挙げられる。
 特許文献1には、複数のデータベースが有する複数のテーブルを、それらのテーブルの構造情報に基づいてグループ分けする方法が開示されている。この方法では、各テーブルにおけるカラムの位置及びカラムの出現頻度に基づいて、複数のテーブルをグループ分けしている。
特開2010-039593号公報
 データ分析を適切に行うためには、データの構造だけでなく、データの内容上の意味を把握することが有益であると考えられる。例えば、複数のデータをグループ分けする際には、同じ意味を有するデータを同一のグループに分類することが有益であると考えられる。
 しかしながら、特許文献1には、データの構造については考慮しているが、データの内容上の意味については何ら記載がない。
 本開示の目的は、データの内容上の意味を推定することが可能なデータ意味推定システム及びデータ意味推定方法を提供することにある。
 本開示の一態様に従うデータ意味推定システムは、複数のテーブルのそれぞれの内容上の意味を推定するデータ意味推定システムであって、前記複数のテーブル間の関係を解析して、前記複数のテーブルをグループに分けるグループ化処理部と、前記グループごとに、当該グループに所属するテーブルに関するテーブル情報と、前記テーブル情報と前記内容上の意味との対応関係を示す辞書とを用いて、当該グループに所属するテーブルの意味を推定する推定処理部と、を有する。
 本発明によれば、データの内容上の意味を推定することが可能になる。
本開示の一実施形態に係るデータ意味推定システムの一例を示すシステム構成図である。 本開示の一実施形態に係るデータ意味推定サーバの機能構成例を示すブロック図である。 本開示の一実施形態に係るデータ一覧情報の一例を示す図である。 本開示の一実施形態に係るテンプレート情報の一例を示す図である。 本開示の一実施形態に係るテーブルの一例を示す図である。 本開示の一実施形態に係るデータ意味推定システムの動作を説明するためのシーケンス図である。 本開示の一実施形態に係るテーブルのグループ化処理の一例を説明するためのフローチャートである。 本開示の一実施形態に係るテーブル間関連分析処理の一例を示す図である。 本開示の一実施形態に係るテーブル間関連分析処理の処理結果の一例を示す図である。 本開示の一実施形態に係るテーブルのグループ化処理のステップS2の一例を示す図である。 本開示の一実施形態に係るテーブルのグループ化処理のステップS3及びステップS4の一例を示す図である。 本開示の一実施形態に係るグループ情報の一例を示す図である。 本開示の一実施形態に係るID意味推定処理の一例を説明するためのフローチャートである。 本開示の一実施形態に係るID意味推定辞書の一例を示す図である。 本開示の一実施形態に係るカラム辞書の一例を示す図である。 本開示の一実施形態に係るテーブルのID意味推定処理のステップS8の一例を示す図である。 本開示の一実施形態に係るテーブルのID意味推定処理のステップS9及びステップS10の一例を示す図である。 本開示の一実施形態に係るテーブルのID意味推定処理のステップS11の一例を示す図である。 本開示の一実施形態に係るテーブルのID意味推定処理のステップS14の一例を示す図である。 本開示の一実施形態に係るテーブルのID意味推定処理のID意味推定辞書とカラム辞書のマッチング順序パターンの一例を示す図である。 本開示の一実施形態に係るテーブル意味推定処理の一例を説明するためのフローチャートである。 本開示の一実施形態に係るテーブル意味推定辞書記憶部の一例を示す図である。 本開示の一実施形態に係るテーブル意味推定処理のステップS21の一例を示す図である。 本開示の一実施形態に係るテーブル意味推定処理のステップS22及びステップS23の一例を示す図である。 本開示の一実施形態に係るテーブル意味推定処理のステップS24一例を示す図である。 本開示の一実施形態に係るデータのアップロード画面の一例を示す図である。 本開示の一実施形態に係るID意味推定結果を含む中間結果表示画面の一例を示す図である。 本開示の一実施形態に係るテーブル意味推定結果を含む結果表示画面の一例を示す図である。
 以下、本開示の実施形態について図面を参照して説明する。
 図1は、本開示の一実施形態に係るデータ意味推定システムの一例を示すシステム構成図である。図1に示すデータ意味推定システム1は、製造業務において製品及び製造工程の少なくとも一方を管理するために使用されるデータの内容上の意味を推定するシステムであり、より具体的には、データの業務内容上の意味をいわゆる4Mと呼ばれる「人(Man)」、「機械(Machine)」、「材料(Material)」及び「方法(Method)」のいずれかに推定するシステムである。製造業務等においては、データ等を4Mのいずれかに分類及び管理することで、業務の効率化を図ることが可能である。
 図1のデータ意味推定システム1は、データ操作用PC(Personal Computer)100と、データ意味推定サーバ200と、データソース300とを含む。データソース300は、図では、2つ示しているが、1つでもよいし、3つ以上あってもよい。
 データ操作用PC100及びデータ意味推定サーバ200は、ネットワーク400を介して相互に接続可能であり、データ意味推定サーバ200及び複数のデータソース300は、ネットワーク500を介して相互に接続可能である。
 データ操作用PC100は、データ意味推定システム1を利用するユーザにて操作される端末装置である。データ操作用PC100は、例えば、ユーザからの操作に応じて、データソース300からデータ意味推定サーバ200へのデータのアップロードの依頼、後述する意味推定結果の表示、及び意味推定結果の修正の依頼などを行う。
 データ意味推定サーバ200は、データ操作用PC100からの依頼に従って、データソース300からデータを取得し、そのデータに対する処理(具体的には、後述するグループ化処理、ID意味推定処理及びテーブル意味推定処理)を実行する。
 データソース300は、データ意味推定サーバ200で処理するデータを格納する格納装置である。データソース300は、データ意味推定サーバ200からの依頼に従って、格納しているデータをデータ意味推定サーバ200に送信する。
 図2は、データ意味推定サーバ200の機能的な構成例を示すブロック図である。データ意味推定サーバ200は、演算部210と、記憶部220とを含む。
 演算部210は、グループ化処理部211と、ID意味推定処理部212と、テーブル意味推定処理部213とを含む。
 記憶部220は、データ一覧情報221と、テンプレート情報222と、テーブル223と、テーブル間関連分析結果224と、グループ情報225とを記憶する。テーブル223は、複数ある。また、記憶部220は、複数の論理記憶領域226を有する。各論理記憶領域226には、ID意味推定辞書227と、カラム辞書228と、テーブル意味推定辞書229とが記憶されている。なお、論理記憶領域226は、後述するテンプレート情報222の中のテンプレートID(TEMPLATE_ID)ごとに設けられる。図2では、テンプレートIDはN個ある。
 グループ化処理部211は、複数のテーブル223間の関係を解析して、複数のテーブル223を1つ又は複数のグループに分けるグループ化処理を行う処理部である。グループ化処理部211のより詳細な説明は、図10及び図11を用いて後述する。
 ID意味推定処理部212及びテーブル意味推定処理部213は、グループ化処理部211にて分けられたグループごとに、そのグループに所属するテーブル223に関するテーブル情報と所定の辞書とを用いて、グループに所属するテーブルの内容上の意味を推定する推定処理部を構成する。以下、内容上の意味を単に意味と表現することもある。また、辞書は、テーブル情報とテーブルの意味の候補である意味推定候補との対応関係を示す情報であり、ID意味推定辞書227、カラム辞書228及びテーブル意味推定辞書229を含む。
 ID意味推定処理部212は、テーブル223に格納されたフィールド値のうち、テーブル223の各レコードを一意に識別できるフィールド値であるレコードIDの意味を推定するID意味推定処理を行う処理部である。具体的には、ID意味推定処理部212は、テーブル情報として、テーブル223に格納されたレコードIDに関するID情報とテーブル223のカラムに関するカラム情報とを取得し、そのID情報及びカラム情報と、ID意味推定辞書227及びカラム辞書228とを用いて、レコードIDの意味を推定する。ID意味推定処理部212のより詳細な説明は、図16、図17、図18及び図19を用いて後述する。
 テーブル意味推定処理部213は、グループ化処理部211の処理結果とID意味推定処理部212の処理結果とに基づいて、テーブル223の意味を推定するテーブル意味推定処理を行う処理部である。具体的には、テーブル意味推定処理部213は、ID意味推定処理部212の処理結果であるレコードIDの意味を、そのレコードIDを格納するテーブル223が所属しているグループの各テーブル223に付与する。テーブル意味推定処理部213は、テーブルの意味が複数付与されたテーブルについては、付与された複数のテーブルの意味とテーブル意味推定辞書229とに基づいて、テーブル223の意味を推定し、テーブルの意味が1つのみ付与されたテーブル223については、付与されたテーブルの意味をテーブル223の意味として推定する。テーブル意味推定処理部213のより詳細な説明は、図23、図24及び図25を用いて後述する。
 図3は、データ一覧情報221の一例を示す図である。図3に示すデータ一覧情報221は、データソース300に格納されたデータに関する情報であり、カラム22101~22105を有する。カラム22101は、データを一意に識別するデータIDを格納し、カラム22102は、データの名称を格納し、カラム22103は、データのレコード数(行数)を格納し、カラム22104は、データのファイル形式を格納し、カラム22105は、データの記憶場所を示すファイルパスを格納する。データ一覧情報221は、データ意味推定サーバ200によってデータソース300に格納されているデータに基づいて定期的に作成される。データ一覧情報221が作成される頻度は、任意でよい。
 図4は、テンプレート情報222の一例を示す図である。テンプレート情報222は、データの意味上の分類であるテンプレートに関する情報であり、カラム22201及び22202を有する。カラム22201は、テンプレートを一意に識別するテンプレートIDを格納し、カラム22202は、テンプレートの名称であるテンプレート名を格納する。テンプレートは、本実施形態では、業務(製造業務)の種類を表す。テンプレートIDは、上述したように論理記憶領域226を一意に識別する識別情報としても利用される。これにより、ID意味推定辞書227、カラム辞書228及びテーブル意味推定辞書229を業務ごとに設定することができる。
 図5は、テーブル223の一例を示す図である。テーブル223は、意味を推定する対象となるデータであり、カラム22301と、レコード22302とで規定される。レコード22302は、1つ又は複数のフィールド値22303で構成される。データソース300に格納されたデータは、少なくともデータ意味推定サーバ200上では、テーブル223の形式で記憶される。
 テーブル間関連分析結果224は、グループ化処理部211によるテーブル間関連分析処理(図8参照)の処理結果である。テーブル間関連分析結果224のより詳細な説明は、図9を用いて後述する。
 グループ情報225は、グループ化処理部211の処理結果である。グループ情報225のより詳細な説明は、図12を用いて後述する。
 論理記憶領域226は、テンプレート情報222のテンプレートIDごとに設けられた論理上の記憶領域であり、テンプレートIDに対応する辞書(ID意味推定辞書227、カラム辞書228及びテーブル意味推定辞書229)を記憶する。
 ID意味推定辞書227は、テーブル情報であるID情報と、テーブルの意味の候補である推定意味候補との対応関係を示すテーブルである。本実施形態では、ID情報は、レコードIDの単位時間当たりの増加率であるID増加率であり、ID意味推定辞書227は、ID増加率に対する条件と推定意味候補との対応関係を示す。ID意味推定辞書227のより詳細な説明は、図14を用いて後述する。
 カラム辞書228は、テーブル情報であるカラム情報と推定意味候補との対応関係を示すテーブルである。カラム辞書228のより詳細な説明は、図15を用いて後述する。
 テーブル意味推定辞書229は、複数のレコードIDの意味とテーブルの意味との対応関係を示すテーブルである。テーブル意味推定辞書229のより詳細な説明は、図22を用いて後述する。
 図6は、本開示の一実施形態に係るデータ意味推定システム1の動作を説明するためのシーケンス図である。
 ステップS101では、データ意味推定サーバ200は、定期的に、データソース300に対して、データ一覧情報221の作成に必要な情報である一覧作成用情報の送信依頼を送信する。
 ステップS102では、データソース300は、一覧作成用情報の送信依頼を受信すると、データ意味推定サーバ200に対して一覧作成用情報を送信する。一覧作成用情報は、例えば、1回前に一覧作成用情報を送信してから現時点までに更新されたデータ、又は、その更新されたデータの名称、レコード数、ファイル形式及びファイルパスなどを示す情報である。
 ステップS103では、データ意味推定サーバ200は、一覧作成用情報を受信すると、その一覧作成用情報に基づいて、記憶部220に記憶されたデータ一覧情報221を更新する。そして、データ意味推定サーバ200は、データ一覧情報221をデータ操作用PC100に送信する。なお、データ意味推定サーバ200は、データ操作用PC100からデータ一覧情報221の送信依頼を受信した場合に、データ操作用PC100にデータ一覧情報221を送信してもよい。
 ステップS104では、データ操作用PC100は、ユーザからの操作に応じて、意味を推定する対象となるデータである対象データをデータソース300からデータ意味推定サーバ200にアップロードするためのUI(User Interface)であるアップロード画面(図26参照)を表示する。ユーザはアップロード画面に従って、対象データとテンプレート情報とを選択する。データ操作用PC100は、選択されたテンプレート情報と、選択された対象データのアップロード依頼とをデータ意味推定サーバ200に送信する。なお、アップロード画面は、データ一覧情報221を含む。また、データ操作用PC100は、アップロード画面を表示する前に、データ一覧情報221の送信依頼をデータ意味推定サーバ200に送信してもよい。
 ステップS105では、データ意味推定サーバ200は、テンプレート情報及びアップロード依頼を受信した場合、テンプレート情報に基づいて、分析(データの意味の推定)に用いるID意味推定辞書227、カラム辞書228及びテーブル意味推定辞書229を決定する。また、データ意味推定サーバ200は、アップロード依頼に基づいて、対象データの送信依頼をデータソース300に送信する。
 ステップS106では、データソース300は、対象データの送信依頼を受信すると、その送信依頼に応じて、対象データをデータ意味推定サーバ200に送信する。データ意味推定サーバ200は、対象データを受信し、その対象データをテーブル223として記憶部220に記憶する。
 ステップS107では、データ意味推定サーバ200のグループ化処理部211は、記憶部220に記憶されているテーブル223をグループ分けするグループ化処理を行い、その処理結果をグループ情報225として記憶部220に記憶する。具体的には、グループ化処理部211は、記憶部220に記憶されているテーブル223から、所定の親子関係を有する親カラム及び子カラムからなるカラム対を特定するテーブル間関連分析処理を行い、その処理結果をテーブル間関連分析結果224として記憶部220に記憶する。グループ化処理部211は、テーブル間関連分析結果224に基づいて、テーブル223をグループ分けし、そのグループ分けの結果をグループ情報225として記憶部220記憶する(図7~図12参照)。
 ステップS108では、データ意味推定サーバ200のID意味推定処理部212は、グループ情報225と、ステップS105で決定したID意味推定辞書227及びカラム辞書228とを用いて、ID意味推定処理を行う(図13~図20参照)。
 ステップS109では、ID意味推定処理部212は、ID意味推定処理の処理結果であるID意味推定結果をデータ操作用PC100に送信する。
 ステップS110では、データ操作用PC100は、ID意味推定結果を受信すると、そのID意味推定結果を含むUIである中間結果表示画面(図27参照)を表示する。ユーザは、中間結果表示画面に従って、ID意味推定結果の確定依頼をデータ意味推定サーバ200に送信する。このとき、ユーザは、ID意味推定結果を修正してもよい。この場合、データ操作用PC100は、ユーザからの指示に応じて、ID意味推定結果の修正依頼を確定依頼としてデータ意味推定サーバ200に送信する。
 ステップS111では、データ意味推定サーバ200のID意味推定処理部212が確定依頼を受信した場合、テーブル意味推定処理部213は、ID意味推定結果と、テーブル意味推定辞書229とを用いてテーブル意味推定処理を行う(図21~図25参照)。なお、確定依頼が修正依頼の場合、ID意味推定処理部212が修正依頼に応じて、ID意味推定結果を修正し、テーブル意味推定処理部213は、修正されたID意味推定結果を用いてテーブル意味推定処理を行う。
 ステップS112では、テーブル意味推定処理部213は、テーブル意味推定処理の処理結果であるテーブル意味推定結果をデータ操作用PC100に送信する。
 ステップS113では、データ操作用PC100は、テーブル意味推定結果を受信すると、テーブル意味推定結果を含むUIである結果表示画面(図28参照)を表示する。ユーザは、結果表示画面に従って、テーブル意味推定結果の確定依頼をデータ意味推定サーバ200に送信する。このとき、ユーザは、テーブル意味推定結果を修正してもよい。この場合、データ操作用PC100は、ユーザからの指示に応じて、テーブル意味推定結果の修正依頼を確定依頼としてデータ意味推定サーバ200に送信する。データ意味推定サーバ200のテーブル意味推定処理部213は、テーブル意味推定結果の確定依頼を受信すると、テーブル意味推定結果を出力し、処理を終了する。このとき、確定依頼が修正依頼の場合、テーブル意味推定処理部213は、修正依頼に応じて、ID意味推定結果を修正して出力する。
 図7は、本開示の一実施形態に係るグループ化処理(図6のステップS107)の一例を説明するためのフローチャートである。
 ステップS1では、グループ化処理部211は、テーブル間関連分析処理を行い、その処理結果であるテーブル間関連分析結果224を生成して記憶部220に記憶する。具体的には、グループ化処理部211は、テーブルのレコードを一意に識別できるフィールド値であるレコードIDが格納されたカラムを親カラムとして特定し、さらに、親カラムのフィールド値(レコードID)との一致度が所定値以上のフィールド値を有するカラムを、親カラムに対応する子カラムとして特定する。そして、グループ化処理部211は、親カラムと子カラムとの対応関係である親子関係を親カラムごとに示す情報をテーブル間関連分析結果224として生成する。
 図8は、テーブル間関連分析処理の一例を説明するための図である。図8の例では、グループ化処理部211は、先ず、複数のテーブル223a~223bのうち、テーブル223aにおけるカラム名「SENSING_POINT」を有するカラムを親カラム21101として特定する。そして、グループ化処理部211は、親カラム21101のフィールド値との一致度が所定値以上のフィールド値を有する、テーブル223bにおけるカラム名「SEN_PO」を有するカラムを子カラム21102として特定する。
 親カラムは、複数あってもよく、さらに言えば、同一のテーブル223内に複数あってもよい。子カラムは、対応する親カラムを有するテーブル223aとは異なるテーブル223bから特定される。一致度は、例えば、当該カラムのフィールド値全体に対する親カラムのフィールド値と一致する値の割合である。この場合、所定値は、0よりも大きく、1以下の値に設定される。なお、一致度は、この例に限らず、他の値でもよい。
 図9は、テーブル間関連分析結果224の一例を示す図である。テーブル間関連分析結果224は、カラム22401~22405を有するテーブルである。カラム22401は、親子関係を一意に識別する値を格納する。カラム22402は、親カラムを有するテーブル223を一意に識別するデータIDを格納する。カラム22403は、親カラムのカラム名を格納する。カラム22404は、子カラムを有するテーブル223を一意に識別するデータIDを格納する。カラム22405は、子カラムのカラム名を格納する。ここでカラム22402及び22404に格納されるデータIDは、データ一覧情報(図3参照)内のデータIDである。
 図7の説明に戻る。ステップS2では、グループ化処理部211は、テーブル間関連分析結果224に基づいて、親カラムごとに、その親カラムを有するテーブル223と、その親カラムに対応する子カラムを有するテーブル223とをグループ化する。図10は、ステップS2の処理の一例を説明するための図である。図10の例では、テーブル223aとテーブル223bとがグループ21103を構成し、テーブル223bとテーブル223cとがグループ21104を構成し、テーブル223cとテーブル223dとがグループ21105を構成している。
 ステップS3では、グループ化処理部211は、複数の親カラムを有するテーブル223が2つ以上のグループに所属しているか否かを判断する。グループ化処理部211は、複数の親カラムを有するテーブル223が2つ以上のグループに所属している場合、ステップS4の処理に進み、複数の親カラムを有するテーブルが2つ以上のグループに所属していない場合、ステップS5の処理に進む。
 ステップS4では、グループ化処理部211は、複数の親カラムを有するテーブル223が所属している2つ以上のグループを1つのグループに統合する。
 図11は、ステップS3及びステップS4の一例を示す図である。図10に示したようにテーブル223cは、カラム名「PRODUCT_ID」を有するカラムと、カラム名「MAN_ID」を有するカラムとを親カラムとして有している。また、テーブル223cは、グループ21104及びグループ21105という2つのグループに所属している。この場合、図11に示すように、グループ化処理部211は、グループ21104とグループ21105とをグループ21107として統合する。
 ステップS5では、グループ化処理部211は、グループとテーブル223との対応関係を示す情報を、グループ化処理の処理結果であるグループ情報225として生成して記憶部220に記憶する。
 図12は、グループ情報225の一例を示す図である。図12に示すグループ情報225は、カラム22501及び22502を有するテーブルである。カラム22501は、グループを一意に識別する値を格納し、カラム22502は、そのグループに所属するテーブルのデータIDを格納する。なお、図の例では、カラム22502は、複数あり、1つのカラム22502に1つのデータIDが格納される。
 図13は、本開示の一実施形態に係るID意味推定処理とその後の入出力処理(図6のステップS108~S110)の一例を説明するためのフローチャートである。
 ステップS6では、ID意味推定処理部212は、記憶部220からグループ情報225を取得する。
 ステップS7では、ID意味推定処理部212は、記憶部220の論理記憶領域226から、図6のステップS105で決定されたID意味推定辞書227及びカラム辞書228を取得する。つまり、ID意味推定処理部212は、複数の論理記憶領域226のうち、テンプレート情報内のテンプレートIDに対応する論理記憶領域226に記憶されたID意味推定辞書227及びカラム辞書228を取得する。
 図14は、ID意味推定辞書227の一例を示す図である。図14に示すID意味推定辞書227は、カラム22701~22715を有する。カラム22701は、レコードIDの意味推定候補を一意に識別するためのカテゴリIDを格納する。カラム22702は、レコードIDの意味推定候補を格納する。
 カラム22703~22715は、レコードIDの意味推定候補をレコードIDの意味として選択するための条件を規定する条件情報を格納する。具体的には、カラム22703は、レコードIDの単位時間当たりのID増加率に対する条件値を格納する。カラム22704~22709は、ID増加率と条件値とを比較する比較演算子を指定するためのフラグである演算子用フラグを格納する。図の例では、カラム22704は比較演算子が「=」か否かを示すフラグを格納し、カラム22705は比較演算子が「≦(以下)」か否かを示すフラグを格納し、カラム22706は比較演算子が「≧(以上)」か否かを示すフラグを格納し、カラム22707は比較演算子が「<(未満)」か否かを示すフラグを格納し、カラム22708は比較演算子が「>(超)」か否かを示すフラグを格納し、カラム22709は比較演算子が「1%以内」か否かを示すフラグを格納する。なお、これらの比較演算子は単なる一例であり、これらの例に限らない。
 カラム22710~22715は、条件値における単位時間の単位を指定するためのフラグである単位用フラグを格納する。図の例では、カラム22710は、単位が「年」か否かを示すフラグを格納し、カラム22711は、単位が「月」か否かを示すフラグを格納し、カラム22712は、単位が「日」か否かを示すフラグを格納し、カラム22713は、単位が「時間」か否かを示すフラグを格納し、カラム22714は、単位が「分」か否かを示すフラグを格納し、カラム22715は、単位が「秒」か否かを示すフラグを格納している。なお、これらの単位は単なる一例であり、これらの例に限らない。
 図15は、カラム辞書228の一例を示す図である。図15に示すカラム辞書228は、カラム22801~22809を有する。カラム22801は、レコードIDの意味推定候補を一意に識別するためのカテゴリIDを格納する。カラム22802は、レコードIDの意味推定候補を格納する。
 カラム22803~22808は、レコードIDの意味推定候補をレコードIDの意味として選択するための条件を規定する条件情報を格納する。具体的には、カラム22803は、レコードIDの意味推定候補に対応するカラムである対応カラムのカラム名を格納する。カラム22804~22806は、対応カラムに格納されたフィールド値の統計情報を格納する。図の例では、カラム22804は平均値、カラム22804は分散、カラム22804は標準偏差をそれぞれ統計情報として格納する。なお、対応カラムに格納されたフィールド値が数値型以外のデータ形式であり、統計情報を算出することができない場合、カラム22804~22806は、統計情報がないことを示す値「null」を格納する。
 カラム22807は、対応カラムのデータ形式を格納する。カラム22808は、対応カラムのフィールド値の最頻出のパターンを示す最頻出パターン情報を格納する。パターンは、フィールド値が数値型又は文字型かと、フィールド値の桁数(文字数)とを示す。図の例では、パターンは、フィールド値が数値の場合、「9」を示し、フィールド値が文字の場合、「x」を示し、桁数を「9」又は「x」の数で示す。例えば、フィールド値が数値型で「100」及び「200」の場合、パターンは「999」となる。また、フィールド値が文字型で「ABC」及び「DEF」の場合、パターンは、「xxx」となる。なお、このパターン及びその表記法は、単なる一例であり、この例に限らない。カラム22809は、レコードIDの意味推定候補をレコードIDの意味として選択するための重み値を格納する。 
 ステップS8では、ID意味推定処理部212は、記憶部220からテーブル223を読み込み、テーブル223から、親カラム又は子カラムの値(フィールド値)と時間に関する値(フィールド値)との両方を含むレコードを時間関連レコードとしてそれぞれ特定する。図16は、ステップS8の処理の一例を説明するための図である。図16の例では、テーブル223aのカラム名「CREATE_DATE」を有するカラムと、テーブル223bのカラム名「PASSED_TIME」を有するカラムと、テーブル223dのカラム名「ASSIGN_DATE」を有するカラムとが時間に関する値を有するカラム21201である。また、カラム21201のそれぞれは、同じテーブル内に親カラム又は子カラムを有するため、カラム21201を有する各テーブル223a、223b及び223dの各レコードが時間関連レコードとなる。
 ステップS9では、ID意味推定処理部212は、時間関連レコードを有するテーブルごとに、親カラム又は子カラムに格納されているレコードIDが重複している複数のレコードが存在するか否かを確認する。ID意味推定処理部212は、レコードIDが重複している複数のレコードが存在する場合、ステップS10の処理に進み、レコードIDが重複している複数のレコードが存在していない場合、ステップS11に進む。
 ステップS10では、ID意味推定処理部212は、レコードIDが重複している複数のレコードごとに、その複数のレコードのうち、時間に関する値として最新の値を有するレコード以外のレコードを時間関連レコードから除外する。
 図17は、ステップS9及びステップS10の処理の一例を説明するための図である。図17の例では、例えば、テーブル223bでは、カラム名「SEN_PO」のカラムにおいてID「sen001」を有するレコードが重複している。この場合、ID意味推定処理部212は、それらのレコードから、時間に関する値として最新の値「2019-08-03 12:28:43」を有するレコード21202を特定し、それ以外のレコードを時間関連レコードから除外する。
 ステップS11では、ID意味推定処理部212は、時間関連レコードを有するテーブルのそれぞれについて、レコードIDの単位時間当たりのID増加率を算出する。
 図18は、ステップS11の処理の一例を示す図である。図18の例では、テーブル223bにおける、カラム名「SEN_PO」を有するカラムのフィールド値としては、「sen001」から「sen005」までの5種類が存在する。これらのフィールド値に対応する、時間に関する値のうち、最古の値は「2019-08-03 12:28:43」であり、最新の値は「2020-08-03 12:36:51」である。この場合、ID増加率は、最古の値と最新の値との差分を、レコードIDの種類の数で除算した値となる。つまり、最古の値と最新の値との差分は、「31622888[秒]」、つまり「約1[年]」である。このため、ID増加率は「約5[種類/年]」”となる。
 ステップS12では、ID意味推定処理部212は、ステップS11で算出したID増加率ごとに、そのID増加率とID意味推定辞書227とのマッチング処理を行い、レコードIDの意味を推定する。例えば、図14に示したID意味推定辞書227では、単位時間当たりのID増加率が5[種類/年]以下の場合、カラム22702のフィールド値として「Sensing Point」を有するレコードとID増加率とがマッチングするため、ID意味推定処理部212は、レコードIDの意味を「Sensing Point」として推定する。なお、ID意味推定処理部212は、ID増加率がID意味推定辞書227のいずれのレコードにもマッチングしない場合、レコードIDの意味を「Others(その他)」と推定する。
 ステップS13では、ID意味推定処理部212は、ステップS12で推定した推定結果が「Others」を含むか否かを判断する。ID意味推定処理部212は、推定結果が「Others」を含む場合、ステップS14の処理に進み、推定結果が「Others」を含まない場合、ステップS16の処理に進む。
 ステップS14では、ID意味推定処理部212は、意味が「Others」と推定されたレコードIDを有するテーブルが属しているグループ内の各テーブルから、それらのテーブルが有するカラムに関するカラム情報を取得する。カラム情報は、本実施形態では、カラム名と、カラムに格納されたフィールド値の統計情報(例えば、平均、分散及び標準偏差など)及び最頻出パターン情報とを含む。
 図19は、ステップS14の処理の一例を示す図である。図19の例では、テーブル223cにおける、カラム名「MAN_ID」を有するカラム21204のID増加率は、500[種類/年]であり、ID意味推定辞書227のいずれのレコードにもマッチングしないため、ID意味推定処理部212は、そのID増加率を有するレコードIDの意味を「Others」と推定する。この場合、ID意味推定処理部212は、テーブル223cが所属するグループに属するテーブル223c及び223dが有するカラム21205のカラム情報を取得する。
 ステップS15では、ID意味推定処理部212は、ステップS12で意味が「Others」と推定されたレコードIDを有するテーブルが属しているグループごとに、ステップS14で算出したカラム情報とカラム辞書228とのマッチング処理を行い、レコードIDの意味を推定する。具体的には、ID意味推定処理部212は、カラム情報と、カラム辞書228に含まれている条件情報とを比較し、カラム情報と一致する条件情報に対応する重み値の和が閾値以上の場合、その条件情報に対応するレコードIDの意味推定候補をレコードIDの意味として推定する。
 例えば、図15に示したカラム辞書228の場合、カラム22802に格納された意味推定候補「Man」に対応する条件情報として、カラム名「OPERATOR_NAME」、データ型「varchar」及び最頻出パターン情報「xxxxxx」を有するレコードと、カラム名「JOB_NAME」、データ型「varchar」及び最頻出パターン情報「xxxx」を有するレコードとがあり、それらの重み値が「1」及び「2」である。この場合、ID意味推定処理部212は、対象のグループの各カラム情報と一致する条件値に対応する重み値の和が閾値(例えば、3)以上であると、意味推定候補「Man」をレコードIDの意味として推定する。なお、重み値の和が閾値以上でない場合、ID意味推定処理部212は、レコードIDの意味を「Others」と推定する。
 ステップS16では、ID意味推定処理部212は、レコードIDの意味を推定した推定結果であるID意味推定結果を、データ操作用PC100に送信する。データ操作用PC100は、ID意味推定結果を受信し、そのID意味推定結果を含む中間結果表示画面(図27参照)を表示する。
 ステップS17では、データ操作用PC100は、ユーザからの指示に応じて、ID意味推定結果の確定依頼をデータ意味推定サーバ200に送信する。データ意味推定サーバ200のID意味推定処理部212は、確定依頼を受信すると、その確定依頼が修正依頼か否かを判断して、ID意味推定結果を修正するか否かを判断する。ID意味推定処理部212は、ID意味推定結果を修正する場合、ステップS18の処理に進み、ID意味推定結果を修正しない場合、処理を終了する。
 ステップS18では、ID意味推定処理部212は、修正依頼に応じてID意味推定結果を修正して、処理を終了する。
 図20は、ID意味推定処理の処理パターンを説明するための図である。図13を用いて説明したID意味推定処理では、図20の処理パターンAで示したように、ID意味推定辞書227を用いたマッチング処理であるIDマッチング処理(ステップS12)の後に、カラム辞書228を用いたマッチング処理であるカラムマッチング処理(ステップS15)を行っていた。
 しかしながら、ID意味推定処理の処理パターンは、この例に限らない。例えば、ID意味推定処理の処理パターンは、処理パターンBで示したようにカラムマッチング処理を行った後に、IDマッチング処理が行われてもよい。また、ID意味推定処理の処理パターンは、処理パターンCで示したように、カラムマッチング処理とIDマッチング処理とを並列に行い、それらの処理結果を統合してもよい。処理結果の統合では、ID意味推定処理部212は、例えば、カラムマッチング処理及びIDマッチング処理のうち優先度の高い方の処理結果(レコードIDの意味)が「Others」でない場合、優先度の高い方の処理結果を採用し、優先度の低い方の処理結果が「Others」の場合、優先度の高い方の処理結果を採用する。優先度は、例えば、予め設定される。
 以上説明した動作において、レコードIDの意味として複数の意味が推定されることがある。例えば、図13のステップS12でID増加率がID意味推定辞書227の複数のレコードとマッチングする場合、及び、図13のステップS15で重み値の和が閾値以上となる意味推定候補が複数ある場合、レコードIDの意味として複数の意味が推定される。この場合、ID意味推定処理部212は、予め設定された優先順位などに基づいて、複数の意味のいずれかをレコードIDの意味として選択してもよいし、複数のレコードIDの意味をデータ操作用PC100に送信して表示させ、ユーザに複数の意味のいずれかを選択させてもよい。
 図21は、本開示の一実施形態に係るテーブル意味推定処理とその後の入出力処理(図6のステップS111~S113)の一例を説明するためのフローチャートである。
 ステップS19では、テーブル意味推定処理部213は、記憶部220からグループ情報225を取得する。
 ステップS20では、テーブル意味推定処理部213は、記憶部220の論理記憶領域226から、図6のステップS105で決定されたテーブル意味推定辞書229を取得する。
 図22は、テーブル意味推定辞書229の一例を示す図である。図22に示すテーブル意味推定辞書229は、カラム22901~22903を有する。カラム22901は、テーブル223の意味推定候補を一意に識別するためのカテゴリIDを格納する。カラム22902は、テーブル223の意味推定候補を格納する。カラム22903は、レコードIDの意味を格納する。カラム22903は、複数ある。
 ステップS21では、テーブル意味推定処理部213は、ID意味推定結果であるレコードIDの意味を、そのレコードIDを含むグループに付与する。
 図23は、ステップS22の処理の一例を説明するための図である。図23の例では、テーブル223aのレコードIDである「SENSING_POINT」の意味が「Sensing_Point」であり、テーブル223cのレコードIDである「PRODUCT_ID」及び「MAN_ID」の意味が「Man」である。この場合、テーブル意味推定処理部213は、テーブル223aを含むグループ21103に「Sensing_Point」を付与し、テーブル223bを含むグループ21107に「Man」を付与する。
 ステップS22では、テーブル意味推定処理部213は、グループに付与された意味を、そのグループに含まれる各テーブルに付与する。
 ステップS23では、テーブル意味推定処理部213は、複数の意味が付与されたテーブルが存在するか否かを判断する。テーブル意味推定処理部213は、複数の意味が付与されたテーブルが存在する場合、ステップS24の処理に進み、複数の意味が付与されたテーブルが存在していない場合、ステップS25の処理に進む。
 図24は、ステップS22及びステップS23の処理の一例を説明するための図である。図24の例では、グループ21103に意味「Sensing_Point」が付与され、グループ21107に意味「Man」が付与されている。このため、ステップS22でテーブル意味推定処理部213は、グループ21103に所属しているテーブル223a及び223bに意味「Sensing_Point」を付与し、グループ21107に所属しているテーブル223b~223dに意味「Man」を付与する。そして、ステップS23でテーブル意味推定処理部213は、テーブル223bに意味「Sensing_Point」と意味「Man」とが付与されているため、複数の意味が付与されたテーブルが存在すると判断して、ステップS24の処理に進む。
 ステップS24では、テーブル意味推定処理部213は、複数の意味が付与されたテーブル223について、その複数の意味とテーブル意味推定辞書229とのマッチング処理を行い、そのテーブル223の意味を推定する。例えば、図24のテーブル223bには、意味「Sensing_Point」と意味「Man」とが付与されており、図22のテーブル意味推定辞書229には、カラム22903のフィールド値として意味「Sensing_Point」及び意味「Man」を有すレコードがある。このため、テーブル意味推定処理部213は、そのレコードにおけるカラム22902のフィールド値「Actual_Production」をテーブル223bの意味として推定する。
 ステップS25では、テーブル意味推定処理部213は、テーブル223の意味を推定した推定結果であるテーブル意味推定結果を、データ操作用PC100に送信する。データ操作用PC100は、テーブル意味推定結果を受信し、そのテーブル意味推定結果を含む結果表示画面(図28参照)を表示する。
 ステップS26では、データ操作用PC100は、ユーザからの指示に応じて、テーブル意味推定結果の確定依頼をデータ意味推定サーバ200に送信する。データ意味推定サーバ200のテーブル意味推定処理部213は、データ操作用PC100から確定依頼を受信すると、その確定依頼が修正依頼か否かを判断して、テーブル意味推定結果を修正するか否かを判断する。テーブル意味推定処理部213は、テーブル意味推定結果を修正する場合、ステップS27の処理に進み、テーブル意味推定結果を修正しない場合、処理を終了する。
 ステップS27では、テーブル意味推定処理部213は、修正依頼に応じてID意味推定結果を修正して、処理を終了する。
 図26は、アップロード画面の一例を示す図である。図26に示すアップロード画面UI100は、ウィンドウUI110~140と、ボタンUI150及びUI160とを含む。
 ウィンドウUI110は、データ意味推定サーバ200に送信するテンプレート情報を選択するための表示領域である。ウィンドウUI110は、キャレットUI111を含み、キャレットUI111がユーザにて操作されることで、予め用意されたテンプレート情報の一覧の中からテンプレート情報が選択される。
 ウィンドウUI120は、データ意味推定サーバ200にテーブル223としてアップロードするデータが格納されているディレクトリを選択するための表示領域である。ウィンドウUI120は、キャレットUI121を含み、キャレットUI121がユーザにて操作されることで、データ一覧情報221が示すディレクトリの一覧の中から、データ意味推定サーバ200にアップロードするデータが格納されているディレクトリが選択される。
 ウィンドウUI130は、ウィンドウUI120において選択されたディレクトリに格納されているデータを表示するための表示領域である。ウィンドウUI130は、選択されたデータごとに、チェックボックスUI131及びUI132を含む。チェックボックスUI131は、詳細情報を表示するデータを選択するためのボックスである。チェックボックスUI132は、アップロードの対象から削除するデータを選択するためのボックスである。
 ウィンドウUI140は、ウィンドウUI130のチェックボックスUI131で選択されたデータの詳細情報を表示する表示領域である。
 ボタンUI150は、ウィンドウUI120において選択されたデータのアップロード依頼をデータ意味推定サーバ200に送信するためのボタンである。ボタンUI160は、アップロード画面UI100の表示サイズを変更するためのボタンである。ボタンUI170は、アップロード画面UI100を非表示にするためのボタンである。
 図27は、ID意味推定結果を表示する中間結果表示画面の一例を示す図である。図27に示す中間結果表示画面UI200は、ウィンドウUI210及び220と、ボタンUI230~UI250とを含む。
 ウィンドウUI210は、ID意味推定結果を表示する表示領域である。図27の例では、ウィンドウUI210は、レコードIDを有するテーブルの名称、レコードIDの名称、及びID意味推定結果(レコードIDの意味)を表示している。
 また、ウィンドウUI210は、チェックボックスUI211と、キャレットUI212とを含む。チェックボックスUI211は、詳細情報を表示するテーブルを選択するためのボックスである。キャレットUI212は、ID意味推定結果の修正候補UI213を表示するためのインターフェースである。ID意味推定結果を修正する場合、表示された修正候補UI1213のいずれが選択される。
 ウィンドウUI220は、ウィンドウUI210のチェックボックスUI211で選択されたテーブルの詳細情報を表示するための表示領域である。
 ボタンUI230は、ID意味推定結果の確定依頼を送信するためのボタンである。ボタンUI230が押下された際にウィンドウUI210の修正候補UI213が選択されている場合、元のID意味推定結果を、選択された修正候補UI213に修正する修正依頼が確定依頼として送信される。ボタンUI240は、中間結果表示画面UI200の表示サイズを変更するためのボタンである。ボタンUI250は、中間結果表示画面UI200を非表示にするためのボタンである。
 図28は、ID意味推定結果を表示する結果表示画面の一例を示す図である。図28に示す結果表示画面UI300は、ウィンドウUI310及びUI320と、ボタンUI330~UI350とを含む。
 ウィンドウUI310は、テーブル意味推定結果を表示する表示領域である。図28の例では、ウィンドウUI310は、テーブルの名称及びテーブル意味推定結果(テーブルの意味)を表示している。
 また、ウィンドウUI310は、チェックボックスUI311と、キャレットUI312とを含む。チェックボックスUI311は、詳細情報を表示するテーブルを選択するためのボックスである。キャレットUI312は、テーブル意味推定結果の修正候補UI313を表示するためのインターフェースである。テーブル意味推定結果を修正する場合、表示された修正候補UI313のいずれが選択される。
 ウィンドウUI320は、ウィンドウUI310のチェックボックスUI311で選択されたテーブルの詳細情報を表示するための表示領域である。
 ボタンUI330は、テーブル意味推定結果の確定依頼を送信するためのボタンである。ボタンUI330が押下された際にウィンドウUI310の修正候補UI313が選択されている場合、元のテーブル意味推定結果を、選択された修正候補UI313に修正する修正依頼が確定依頼として送信される。ボタンUI340は、結果表示画面UI300の表示サイズを変更するためのボタンである。ボタンUI350は、結果表示画面UI300を非表示にするためのボタンである。
 以上説明したように本実施形態によれば、グループ化処理部211は、複数のテーブル223間の関係を解析して、複数のテーブル223をグループに分ける。推定処理部(ID意味推定処理部212及びテーブル意味推定処理部213)は、グループごとに、そのグループに所属するテーブルのテーブル情報と、テーブル情報と内容上の意味の候補である意味推定候補との対応関係を示す辞書(ID意味推定辞書227、カラム辞書228及びテーブル意味推定辞書229)を用いて、そのグループに所属するテーブル223の内容上の意味を推定する。したがって、データであるテーブル223の内容上の意味を推定することが可能になる。これにより、データ分析者はデータの意味を理解するための手間の時間を削減することができる。
 また、本実施形態では、テーブルの各レコードを一意に識別するフィールド値であるレコードIDの内容上の意味が、該レコードIDを格納するテーブルが所属しているグループの各テーブルの内容上の意味として推定される。テーブル223を特徴付けるフィールド値の意味からテーブル223の意味を推定することが可能になるため、テーブル223の意味をより適切に推定することが可能になる。
 また、本実施形態では、テーブル223に関するテーブル情報としてレコードIDに関するID情報を用いる。このため、レコードIDの意味をより適切に推定することが可能になるため、テーブル223の意味をより適切に推定することが可能になる。
 また、本実施形態では、ID情報としてレコードIDのID増加率を用いる。したがって、4Mと呼ばれる「人(Man)」、「機械(Machine)」、「材料(Material)」及び「方法(Method)」のそれぞれに関するテーブルでは、レコードIDの増加率が大きく異なると考えられるため、データの業務内容上の意味を4Mのいずれかに適切に推定することが可能になる。
 また、本実施形態では、ID増加率と適合する条件に対応する意味推定候補をレコードIDの意味として推定する。このため、レコードIDの意味をより適切に推定することが可能になる。
 また、本実施形態では、テーブル情報として、テーブル223の各カラムに関するカラム情報を用いる。この場合、テーブル223が有する各カラムの内容に応じてテーブル223の意味を推定することが可能になるため、テーブル223の意味をより適切に推定することが可能になる。
 また、本実施形態では、複数の意味が付与されたテーブルについては、それらの意味とテーブル意味推定辞書229とを用いて新たに意味を推定する。このため、複数の意味からさらに適切で具体的な意味を推定することが可能になる。
 また、本実施形態では、レコードIDを格納する親カラムを有するテーブルと、親カラムに格納されたレコードIDとの一致度が所定値以上のフィールド値を格納する子カラムを有するテーブルとが同一のグループにグループ分けされる。このため、同じ意味を有するテーブルを適切にグループ分けすることが可能になる。
 また、本実施形態では、複数の親カラムを有するテーブルが2つ以上のグループに所属している場合、その2つ以上のグループが1つのグループに統合されるため、適切にグループ分けすることが可能になる。
 また、本実施形態では、予め用意された複数の辞書から選択された辞書を用いて、テーブルの内容上の意味を推定するため、適切な辞書を使用することが可能になり、その結果、テーブル223の意味をより適切に推定することが可能になる。
 上述した本開示の実施形態は、本開示の説明のための例示であり、本開示の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本開示の範囲を逸脱することなしに、他の様々な態様で本開示を実施することができる。
 例えば、本開示のデータ意味推定システムは、上記の実施形態で説明したようなデータの業務内容上の意味を推定するシステムに限らず、データの内容上の意味を推定する一般的なシステムに適用することができる。
 1:データ意味推定処理システム、100:データ操作用PC、200:データ意味推定サーバ、210:演算部、211:グループ化処理部、212:ID意味推定処理部、213:テーブル意味推定処理部、220:記憶部、221:データ一覧情報、222:テンプレート情報、223:テーブル、224:テーブル間関連分析結果、225:グループ情報、226:論理記憶領域、227:ID意味推定辞書、228:カラム辞書、229:テーブル意味推定辞書、300:データソース

 

Claims (11)

  1.  複数のテーブルのそれぞれの内容上の意味を推定するデータ意味推定システムであって、
     前記複数のテーブル間の関係を解析して、前記複数のテーブルをグループに分けるグループ化処理部と、
     前記グループごとに、当該グループに所属するテーブルに関するテーブル情報と、前記テーブル情報と前記意味の候補との対応関係を示す辞書とを用いて、当該グループに所属するテーブルの意味を推定する推定処理部と、を有するデータ意味推定システム。
  2.  前記推定処理部は、
     前記グループごとに、前記テーブル情報と前記辞書とを用いて、当該グループに所属する各テーブルに格納された当該テーブルの各レコードを一意に識別するフィールド値であるレコードIDの内容上の意味を推定するID意味推定処理部と、
     前記レコードIDの内容上の意味を、当該レコードIDを格納するテーブルが所属しているグループの各テーブルの内容上の意味として付与するテーブル意味推定処理部と、を有する請求項1に記載のデータ意味推定システム。
  3.  前記ID意味推定処理部は、前記テーブル情報として、前記レコードIDに関するID情報を用いて、前記レコードIDの内容上の意味を推定する、請求項2に記載のデータ意味推定システム。
  4.  前記ID意味推定処理部は、前記テーブルに格納された時間に関するフィールド値に基づいて、前記レコードIDの増加率を前記ID情報として算出する、請求項3に記載のデータ意味推定システム。
  5.  前記辞書は、前記増加率に対する条件と前記候補との対応関係を示す意味推定辞書を含み、
     前記ID意味推定処理部は、前記意味推定辞書において、前記算出した増加率と適合する前記条件に対応する候補を前記レコードIDの内容上の意味として推定する、請求項4に記載のデータ意味推定システム。
  6.  前記ID意味推定処理部は、前記テーブル情報として、前記テーブルの各カラムに関するカラム情報を用いて、前記レコードIDの内容上の意味を推定する、請求項2に記載のデータ意味推定システム。
  7.  前記辞書は、複数の前記レコードIDの内容上の意味と前記テーブルの内容上の意味とを対応付けたテーブル意味推定辞書を含み、
     前記テーブル意味推定処理部は、複数の前記レコードIDの内容上の意味が付与されたテーブルが存在する場合、当該テーブルの内容上の意味を、当該複数のレコードIDの内容上の意味と前記テーブル意味推定辞書とを用いて推定する、請求項2に記載のデータ意味推定システム。
  8.  前記グループ化処理部は、前記テーブルの各レコードを一意に識別するフィールド値であるレコードIDを格納するカラムである親カラムを有するテーブルと、前記親カラムに格納されたレコードIDとの一致度が所定値以上のフィールド値を格納する子カラムを有するテーブルとを同一のグループにグループ分けする、請求項1に記載のデータ意味推定システム。
  9.  前記グループ化処理部は、複数の前記親カラムを有するテーブルが2つ以上の前記グループに所属している場合、当該2つ以上のグループを1つのグループに統合する、請求項8に記載のデータ意味推定システム。
  10.  前記推定処理部は、予め用意された複数の前記辞書から選択された辞書を用いて、前記テーブルの内容上の意味を推定する、請求項1に記載のデータ意味推定システム。
  11.  複数のテーブルのそれぞれの内容上の意味を推定するデータ意味推定システムによるデータ意味推定方法であって、
     前記複数のテーブル間の関係を解析して、前記複数のテーブルをグループに分け、
     前記グループごとに、当該グループに所属するテーブルに関するテーブル情報と、前記テーブル情報と前記意味の候補との対応関係を示す辞書とを用いて、当該グループに所属するテーブルの内容上の意味を推定する、データ意味推定方法。

     
PCT/JP2019/049534 2019-12-18 2019-12-18 データ意味推定システム及びデータ意味推定方法 WO2021124469A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/049534 WO2021124469A1 (ja) 2019-12-18 2019-12-18 データ意味推定システム及びデータ意味推定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/049534 WO2021124469A1 (ja) 2019-12-18 2019-12-18 データ意味推定システム及びデータ意味推定方法

Publications (1)

Publication Number Publication Date
WO2021124469A1 true WO2021124469A1 (ja) 2021-06-24

Family

ID=76477367

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/049534 WO2021124469A1 (ja) 2019-12-18 2019-12-18 データ意味推定システム及びデータ意味推定方法

Country Status (1)

Country Link
WO (1) WO2021124469A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010039593A (ja) * 2008-08-01 2010-02-18 Mitsubishi Electric Corp テーブル分類装置、テーブル分類方法及びテーブル分類プログラム
WO2018025706A1 (ja) * 2016-08-05 2018-02-08 日本電気株式会社 テーブル意味推定システム、方法およびプログラム
WO2018025707A1 (ja) * 2016-08-05 2018-02-08 日本電気株式会社 テーブル意味推定システム、方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010039593A (ja) * 2008-08-01 2010-02-18 Mitsubishi Electric Corp テーブル分類装置、テーブル分類方法及びテーブル分類プログラム
WO2018025706A1 (ja) * 2016-08-05 2018-02-08 日本電気株式会社 テーブル意味推定システム、方法およびプログラム
WO2018025707A1 (ja) * 2016-08-05 2018-02-08 日本電気株式会社 テーブル意味推定システム、方法およびプログラム

Similar Documents

Publication Publication Date Title
JP6843882B2 (ja) 履歴ログからの学習と、etlツール内のデータアセットに関するデータベースオペレーションの推奨
US10121157B2 (en) Recommending user actions based on collective intelligence for a multi-tenant data analysis system
JP4098539B2 (ja) プロファイル情報の推薦方法、プログラム及び装置
US10185478B2 (en) Creating a filter for filtering a list of objects
CN103927353A (zh) 用于生成业务表的方法和设备
US8458178B2 (en) Dimensional data explorer
JP5609056B2 (ja) コンテンツ関係可視化装置、表示制御装置、コンテンツ関係可視化方法およびプログラム
JP2016189079A (ja) 計画作成支援装置および計画作成支援方法
CN103473364A (zh) 一种服务推荐方法及装置
US20200402122A1 (en) Transaction management system and transaction management method
CN113742315A (zh) 一种制造大数据处理平台及方法
WO2021124469A1 (ja) データ意味推定システム及びデータ意味推定方法
JP2022073420A (ja) 情報管理システム
CN112488425A (zh) 一种银行业务流程任务模板优化的预测方法
US20190362283A1 (en) Working equipment specification support apparatus, working equipment specification support method, and working equipment specification support system
JP6655582B2 (ja) データ統合支援システム及びデータ統合支援方法
JP6119101B2 (ja) 集計装置、集計方法および集計システム
US20210397745A1 (en) Data providing server device and data providing method
AU2020201689A1 (en) Cognitive forecasting
JP6667714B2 (ja) プログラムの統合解析管理装置及びその統合解析管理方法
US20020123811A1 (en) Production management system and program
US10698874B2 (en) System, method, and program for business intelligence using table operations in a relational database
US10318258B2 (en) Reference information output method and reference information output device
CN110796526A (zh) 知识产权交易数据系统及处理方法
JP6641456B2 (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: 19956346

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP