WO2018025706A1 - テーブル意味推定システム、方法およびプログラム - Google Patents

テーブル意味推定システム、方法およびプログラム Download PDF

Info

Publication number
WO2018025706A1
WO2018025706A1 PCT/JP2017/026882 JP2017026882W WO2018025706A1 WO 2018025706 A1 WO2018025706 A1 WO 2018025706A1 JP 2017026882 W JP2017026882 W JP 2017026882W WO 2018025706 A1 WO2018025706 A1 WO 2018025706A1
Authority
WO
WIPO (PCT)
Prior art keywords
meaning
column
input
learning data
model
Prior art date
Application number
PCT/JP2017/026882
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 US15/756,108 priority Critical patent/US11062213B2/en
Priority to JP2018510896A priority patent/JP6338036B1/ja
Publication of WO2018025706A1 publication Critical patent/WO2018025706A1/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/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Definitions

  • the present invention relates to a table meaning estimation system, a table meaning estimation method, and a table meaning estimation program for estimating the meaning of a table.
  • Non-Patent Document 1 describes a technique for automatically estimating table column names using an ontology stored in a knowledge database. Non-Patent Document 1 describes that one of column names is used as a table name.
  • Non-patent document 2 describes active learning.
  • Patent Document 1 describes that a table naming rule is commonly used by a cache server and an application server.
  • Patent Document 2 describes that a vector optimal for classification of column name constituent words is generated by supervised learning.
  • the column name is the name actually assigned to the column in the table.
  • column names are determined by humans, the column names are distorted.
  • various column names such as “type” and “sex” can be given as column names of columns having the gender of the person as an attribute value.
  • the concept represented by the column is described as “the meaning of the column” in distinction from the column name.
  • “sex” corresponds to the meaning of the column.
  • the concept represented by the table is referred to as “the meaning of the table”.
  • a table name may be assigned to a table, or a table name may not be assigned.
  • the table name is not always appropriate as a concept of the table.
  • the table name is described as the meaning of the table in distinction from the table name.
  • Non-Patent Document 1 In the technology described in Non-Patent Document 1, it can be said that the meaning of a column is estimated using an ontology.
  • Typical analysis patterns may be used to perform automated analysis. For example, there is a typical analysis pattern for analyzing who made what purchase behavior. However, grasping the meaning of the table used in such analysis is performed manually. Therefore, there is a problem that it takes time to grasp the meaning of the table used in the analysis.
  • database migration may be performed.
  • a worker different from the database worker before migration may use the table after migration. Since the operator takes time to grasp the meaning of the table after the migration, the database after the migration cannot be used smoothly.
  • an object of the present invention is to provide a table meaning estimation system, a table meaning estimation method, and a table meaning estimation program that can estimate the meaning of a table.
  • the table meaning estimation system learns to learn a model indicating regularity between the meaning of a table column and the meaning of the table based on the learning data including the meaning of the table column and the meaning of the table. And means for estimating the meaning of the table based on the meaning and model of the column of the input table.
  • the table meaning estimation system includes an input receiving means for receiving an input of a table, an estimation means for estimating the meaning of the table based on the meaning of the column of the table and a model learned in advance.
  • the model is a model showing regularity between the meaning of the table column and the meaning of the table, learned based on the learning data including the meaning of the table column and the meaning of the table.
  • the table meaning estimation system includes learning means for learning a model indicating regularity between a table name and a table meaning based on learning data including the table name of the table and the meaning of the table. And an estimation means for estimating the meaning of the table based on the table name and model of the input table.
  • the table meaning estimation system includes an input receiving means for receiving an input of a table, an estimation means for estimating the meaning of the table based on a table name of the table and a model learned in advance.
  • the model is a model showing regularity between the table name and the meaning of the table learned based on learning data including the table name of the table and the meaning of the table.
  • the table meaning estimation method also learns a model indicating regularity between the meaning of a table column and the meaning of the table based on learning data including the meaning of the table column and the meaning of the table. Then, the meaning of the table is estimated based on the meaning and model of the column of the input table.
  • the table meaning estimation method accepts an input of a table and estimates the meaning of the table based on the meaning of the column of the table and a model learned in advance. And a model indicating regularity between the meaning of the table column and the meaning of the table, learned based on the learning data including the meaning of the table and the meaning of the table.
  • the table meaning estimation method learns a model indicating regularity between a table name and a table meaning based on learning data including the table name of the table and the meaning of the table.
  • the meaning of the table is estimated based on the table name and model of the table.
  • the table meaning estimation method accepts input of a table, estimates the meaning of the table based on the table name of the table and a model learned in advance, and the model is the table name of the table. And a model indicating regularity between the table name and the meaning of the table learned based on the learning data including the meaning of the table and the meaning of the table.
  • the table meaning estimation program shows the regularity between the meaning of the table column and the meaning of the table on the computer based on the learning data including the meaning of the table column and the meaning of the table.
  • a learning process for learning a model and an estimation process for estimating the meaning of the table based on the meaning of the column of the input table and the model are executed.
  • the table meaning estimation program estimates the meaning of a table on the basis of an input reception process for accepting the input of the table to the computer, the meaning of the column of the table, and a model learned in advance.
  • the model is a model showing regularity between the meaning of the table column and the meaning of the table, learned based on the learning data including the meaning of the table column and the meaning of the table. It is characterized by being.
  • the table meaning estimation program learns a model indicating regularity between a table name and a table meaning based on learning data including the table name of the table and the meaning of the table.
  • a learning process and an estimation process for estimating the meaning of the table are executed based on the table name and model of the input table.
  • the table meaning estimation program estimates the meaning of a table based on an input reception process for accepting input of the table to the computer, the table name of the table, and a model learned in advance.
  • the estimation process is executed, and the model is a model that shows regularity between the table name and the meaning of the table, learned based on the learning data including the table name of the table and the meaning of the table.
  • the meaning of the table can be estimated.
  • a set of table meanings (hereinafter referred to as a table semantic set) is prepared.
  • the number of meanings of tables belonging to the table semantic set is finite.
  • this invention estimates the meaning of a table by selecting the meaning of a table from a table meaning set regarding the table used as the estimation object of a meaning.
  • FIG. 1 is a block diagram illustrating a configuration example of a table meaning estimation system according to the first embodiment of this invention.
  • the table semantic estimation system 1 includes a data input unit 2, a learning data storage unit 3, a table semantic model generation unit 4, a table semantic model storage unit 5, a table semantic estimation unit 6, a display control unit 7, a learning And a data adding unit 8.
  • the data input unit 2 is an input device for inputting data.
  • a set of meanings for each column of a table to be estimated for meaning is input to the data input unit 2.
  • a table in which each column name is replaced with the meaning of each column is input to the data input unit 2.
  • processing for replacing each column name with the meaning of each column is performed on the table input to the data input unit 2 as preprocessing.
  • a method for specifying the meaning of each column for example, the method described in Non-Patent Document 1 may be used, or another method may be used.
  • the pre-processing for estimating the meaning of each column of the input table by the method described in Non-Patent Document 1 and replacing each column name with the estimated meaning of each column is an external system of the table meaning estimation system 1. (Not shown) is executed. Replacing the column name with the meaning of the column eliminates the fluctuation of the column name.
  • the pre-processed table is input to the data input unit 2.
  • a set of column meanings is predetermined. Further, it is assumed that the number of column meanings belonging to the column meaning set is finite. For example, the above external system estimates the meaning of a column by selecting the meaning of the column from the set.
  • the learning data storage unit 3 is a storage device that stores learning data.
  • the learning data storage unit 3 stores learning data used for learning an estimation model for estimating the meaning of a table from the meaning of a table column.
  • the learning data includes the meaning of the table column and the meaning of the table.
  • a set of combinations of a table in which each column name is replaced with the meaning of each column and the meaning of the table is stored in the learning data storage unit 3.
  • the external system estimates the meaning of each column of the table by the method described in Non-Patent Document 1, and each column name is estimated.
  • FIG. 2 is a schematic diagram showing an example of a combination of a table in which each column name is replaced with the meaning of the column and the meaning of the table.
  • “Name”, “Birthplace”, “Gender”, and “Occupation” illustrated in FIG. 2 are column meanings.
  • the meaning of the table illustrated in FIG. 2 is “customer table”.
  • the learning data storage unit 3 stores a set of combinations of the table illustrated in FIG. 2 and the meaning of the table.
  • an estimation model for estimating the meaning of a table is referred to as a table semantic model.
  • the table semantic model generation unit 4 generates a table semantic model based on the learning data.
  • the table semantic model generation unit 4 learns a table semantic model by machine learning using the learning data.
  • the method of machine learning is not particularly limited.
  • the table semantic model generation unit 4 generates a table semantic model for estimating the meaning of the table from the meaning of the table column.
  • This table semantic model can be said to be a model that shows the regularity between the meaning of the table column and the meaning of the table.
  • FIG. 3 is an explanatory diagram illustrating an example of a table semantic model generated by the table semantic model generation unit 4.
  • W and x shown in FIG. 3 are both column vectors, W and x are appropriately shown as transposed matrices of row vectors.
  • T means a transposed matrix.
  • n be the number of column meanings belonging to the column meaning set.
  • x (x 1 , x 2 , x 3 ,..., x n )
  • x 1 to x n in T are explanatory variables that have a one-to-one correspondence with the meaning of n columns, and x is n
  • explanatory variables x 1 to x n are explanatory variables that have a one-to-one correspondence with the meaning of n columns.
  • x is n
  • the value of each explanatory variable is defined as “1” when the meaning of the corresponding column is included in the table, and is defined as “0” when the meaning of the corresponding column is not included.
  • x 1 is, and corresponds to the meaning of the column called "name”.
  • the table semantic model generation unit 4 determines the values of the explanatory variables x 1 to x n for each table included in the learning data.
  • a vector x in which the values of explanatory variables x 1 to x n are defined is referred to as a table feature.
  • the table semantic model includes a table semantic set.
  • FIG. 3 illustrates a set ⁇ customer table, product table, purchase history table,... ⁇ As an example of the table semantic set.
  • the number of table meanings belonging to the table semantic set is k.
  • W (w 1 , w 2 , w 3 ,..., W n ) T is determined for each meaning of the table belonging to the table semantic set.
  • W corresponding to the meaning of the j-th table is denoted as W j . Since the number of meanings in the table is k, k vectors W are determined. Further, the number of elements of W is the same as the number of elements of x and is n.
  • f (x) shown in FIG. 3 indicates the probability that the meaning of the selected table corresponds to the meaning of the given table when a table is given and one meaning of the table is selected from the table meaning set. I mean.
  • the table semantic model generation unit 4 determines table characteristics for each table included in the learning data. Further, the table semantic model generation unit 4 calculates W for each meaning of the table belonging to the table semantic set and the table semantic set based on the correspondence between each table feature and the meaning of each table included in the learning data. By defining, a table semantic model is generated. In the generated table semantic model, elements of x are represented by variables. On the other hand, the W element determined for each meaning of the table is a specific value.
  • the table semantic model storage unit 5 is a storage device that stores the table semantic model generated by the table semantic model generation unit 4. When generating the table semantic model, the table semantic model generation unit 4 stores the table semantic model in the table semantic model storage unit 5.
  • the table meaning estimation unit 6 estimates the meaning of the table input to the data input unit 2 based on the table semantic model stored in the table semantic model storage unit 5.
  • the table meaning estimation unit 6 determines table characteristics according to the meaning of the columns included in the input table. Then, the table meaning estimation unit 6 sequentially selects the meanings of the tables from the table meaning set one by one, and calculates the accuracy f (x) using W corresponding to the meaning of the selected table and the table feature. . That is, assuming that the table feature is x data , the table meaning estimation unit 6 calculates the accuracy W (x) by calculating W T x data . The table meaning estimation unit 6 determines the meaning of the table with the highest accuracy as the meaning estimation result of the input table.
  • the table semantic model is represented as illustrated in FIG. 3, and the table semantic estimation unit 6 will be described as an example in which the meaning of the input table is estimated by the above calculation.
  • the aspect of the table semantic model is not limited to the aspect shown in FIG.
  • the table meaning estimation part 6 should just estimate the meaning of the input table by the calculation according to the aspect of a table semantic model.
  • the display control unit 7 displays information and GUI (Graphical User Interface) on a display device (not shown in FIG. 1) provided in the table meaning estimation system 1.
  • GUI Graphic User Interface
  • FIG. 4 is a schematic diagram illustrating an example of a display screen of an input table and its estimation result.
  • the table meaning estimation unit 6 displays the input table near the center of the screen.
  • FIG. 4 shows an example of displaying a “customer table” corresponding to the estimation result of the meaning of the table by displaying a sentence “Is the following table a customer table?”.
  • the display control unit 7 also displays buttons 51 and 52 as a GUI for the user to input whether the estimated result of the meaning of the displayed table is appropriate.
  • buttons 51 and 52 as a GUI for the user to input whether the estimated result of the meaning of the displayed table is appropriate.
  • the button 51 is clicked, it means that the user inputs that the meaning of the displayed table is appropriate.
  • the button 52 is clicked, it means that the user inputs that the meaning of the displayed table is not appropriate.
  • FIG. 5 is a schematic diagram showing an example of this screen.
  • the display control unit 7 displays a table input to the data input unit 2 and displays an input field 53 and a confirmation button 54 as a GUI for inputting the meaning of the table.
  • the user inputs an appropriate meaning to the input field 53 as the meaning of the displayed table (that is, the table input to the data input unit 2).
  • FIG. 5 illustrates a case where the meaning of “patient table” is input as the meaning of the table.
  • the learning data adding unit 8 adds learning data to existing learning data (that is, learning data already stored in the learning data storage unit 3) in response to an input from the user.
  • the learning data adding unit 8 when the fact that the meaning of the table displayed on the screen illustrated in FIG. 4 is appropriate is input, the table displayed by the display control unit 7 and the meaning of the table (see FIG. In the example shown in FIG. 4, a combination of “customer table”) is added to existing learning data as learning data.
  • the learning data adding unit 8 receives the table displayed by the display control unit 7 and the display control unit 7 from the user. A combination with the meaning of the table (“patient table” in the example shown in FIG. 5) is added as learning data to the existing learning data.
  • the table semantic model generation unit 4 redoes the generation of the table semantic model.
  • the table meaning model generation unit 4, the table meaning estimation unit 6, the display control unit 7, and the learning data addition unit 8 are realized by a CPU of a computer that operates according to a table meaning estimation program, for example.
  • the CPU reads a table meaning estimation program from a program recording medium such as a computer program storage device (not shown in FIG. 1), and in accordance with the program, the table meaning model generation unit 4, the table meaning estimation unit 6, What is necessary is just to operate
  • the table semantic model generation unit 4, the table meaning estimation unit 6, the display control unit 7, and the learning data addition unit 8 may be realized by separate hardware. These points are the same in other embodiments described later.
  • table meaning estimation system 1 may be configured such that two or more physically separated devices are connected by wire or wirelessly. This also applies to other embodiments described later.
  • the table semantic estimation system 1 generates a table semantic model in advance before accepting an input of a semantic estimation target table.
  • FIG. 6 is a flowchart showing an example of processing progress when generating a table semantic model.
  • the table semantic model generation unit 4 reads the learning data from the learning data storage unit 3 (step S1).
  • the table semantic model generation unit 4 generates a table semantic model based on the learning data (step S2).
  • step S2 the table semantic model generation unit 4 determines a table feature for each table included in the learning data.
  • the table characteristic of the table illustrated in FIG. 2 among the tables included in the learning data will be described as an example.
  • x 1 corresponds to “name”
  • x 2 corresponds to “product”
  • x 3 corresponds to “place of origin”
  • x 4 is corresponds to the "gender”
  • x 5 corresponds to a "job”
  • x 6 or later correspond to the meaning of the other column.
  • the table illustrated in FIG. 2 includes “name”, “birthplace”, “sex”, and “job type” as column meanings, and does not include the meanings of other columns.
  • the values of the explanatory variables x 6 to x n are all 0.
  • the table semantic model generation unit 4 similarly determines table features for other tables included in the learning data, and determines combinations of table features and table meanings.
  • the table semantic model generation unit 4 stores the generated table semantic model in the table semantic model storage unit 5.
  • FIG. 7 and FIG. 8 are flowcharts showing an example of the progress of processing when a table that is a meaning estimation target is input.
  • step S11 a table is input to the data input unit 2 (step S11).
  • step S11 a table on which processing for replacing each column name with the meaning of each column has been performed.
  • a case where the table shown in FIG. 9 is input will be described as an example.
  • the table meaning estimation unit 6 estimates the meaning of the table input in step S11 based on the table semantic model (step S12).
  • step S12 the table meaning estimation unit 6 reads the table meaning model from the table meaning model storage unit 5.
  • the table meaning estimation unit 6 sequentially selects the meanings of the tables from the table meaning set one by one, and calculates the accuracy f (x) using W corresponding to the meaning of the selected table and the table feature. .
  • W corresponding to the meaning of the j-th table is denoted as W j .
  • the table meaning estimation unit 6 uses the W 1 corresponding to the “customer table” and the table feature x data to “customer”.
  • the table meaning estimation unit 6 performs the same calculation on the meanings of other tables such as “product table” and “purchasing history table” (see FIG. 3), and the meaning of the selected table is input to the table. The accuracy corresponding to the meaning of is obtained.
  • the table meaning estimation unit 6 determines the meaning of the table with the highest accuracy as the meaning estimation result of the input table.
  • the table meaning estimation unit 6 estimates that the meaning of the input table is “customer table” by the above processing.
  • step S12 After the processing of step S12 is executed, the display control unit 7 displays the table input in step S11 and the meaning of the table estimated in step S12 on the display device, and whether or not the meaning of the table is appropriate. The user is prompted to input (step S13). In step S13, the display control unit 7 displays, for example, the screen shown in FIG. Since the screen shown in FIG. 4 has already been described, description thereof will be omitted as appropriate.
  • the table displayed on the screen illustrated in FIG. 4 is the table (the table whose meaning is to be estimated) input in step S11.
  • the “customer table” displayed on the screen illustrated in FIG. 4 means the table estimated in step S12.
  • step S13 When the user determines that the meaning “customer table” of the table displayed in step S13 is appropriate as the meaning of the table in the screen displayed in step S13, the user presses the button 51 (see FIG. 4). click. That is, the display control unit 7 receives an input indicating that the meaning of the displayed table is appropriate (Yes in step S14).
  • the learning data adding unit 8 adds the combination of the table displayed by the display control unit 7 in step S13 and the meaning of the table (the estimated meaning of the table) to the existing learning data (step S15). . That is, the learning data adding unit 8 adds the combination of the table and the estimated meaning of the table to the learning data stored in the learning data storage unit 3. After the process of step S15 is executed, the process proceeds to step S18.
  • step S13 If the user determines that the meaning of the table displayed in step S13 is not appropriate as the meaning of the table in the screen displayed in step S13, the user presses the button 52 (see FIG. 4). Click.
  • the display control unit 7 receives an input indicating that the meaning of the displayed table is not appropriate (No in step S14).
  • the display control unit 7 receives an input of the meaning of the table displayed in step S13 from the user (step S16).
  • the display control unit 7 displays, for example, the screen shown in FIG. Since the screen shown in FIG. 5 has already been described, description thereof will be omitted as appropriate.
  • the display control unit 7 receives an input of the meaning of the table from the user, for example, via the input field 53 (see FIG. 5).
  • the user determines that “patient table” is appropriate as the meaning of the table displayed in step S13, and “patient table” is input.
  • the learning data adding unit 8 uses a combination of the table displayed by the display control unit 7 in step S13 and the meaning of the table input in step S16 (in this example, “patient table”) as the existing learning. It adds to data (step S17). That is, the learning data adding unit 8 adds the combination of the table and the meaning of the table input by the user (in this example, “patient table”) to the learning data stored in the learning data storage unit 3. . After the process of step S17 is executed, the process proceeds to step S18.
  • step S15 and S17 new learning data is added to the learning data.
  • step S18 the table semantic model generation unit 4 redoes the process of generating a table semantic model based on the learning data stored in the learning data storage unit 3 at that time ( Step S18). In other words, the table semantic model generation unit 4 learns the table semantic model again using the existing learning data and the added learning data.
  • the table semantic model generation unit 4 generates an estimation model (table semantic model) for estimating the meaning of the table from the meaning of the table column.
  • the table meaning estimation unit 6 estimates the meaning of the table based on the column meaning and the table semantic model of the input table. Therefore, according to this embodiment, the meaning of the table can be estimated.
  • a person who intends to perform an automatic analysis using a typical analysis pattern can grasp the meaning of the table used in the analysis in a short time.
  • the worker has the meaning of the table after the migration. It can be grasped in a short time, and the migrated database can be used smoothly.
  • the user determines whether the meaning of the table estimated by the table meaning estimation unit 6 is appropriate. If it is determined that the meaning of the table is appropriate, the learning data adding unit 8 uses the combination of the table input in step S11 and the meaning of the table estimated by the table meaning estimating unit 6 as learning data. to add. If it is determined that the estimated meaning of the table is not appropriate, the display control unit 7 receives an appropriate meaning from the user as the meaning of the table input in step S11, and the learning data adding unit 8 determines that the meaning of the table is step S11. The combination of the table input in step 1 and the meaning of the table input by the user is added to the learning data. Then, the table semantic model generation unit 4 regenerates the table semantic model.
  • the accuracy of the table semantic model can be improved.
  • the meaning of the table determined by the user is added to the learning data, so that the effect of improving the accuracy of the table meaning model is achieved. large.
  • the table semantic model generation unit 4 may be configured to sequentially learn the table semantic model and obtain the estimation accuracy for each table in the learning data. At that time, the table semantic model generation unit 4 may perform the learning process in order from the table with the lowest estimation accuracy. In that case, sufficient estimation accuracy can be achieved before performing learning processing from all tables.
  • FIG. 10 is a block diagram illustrating a configuration example when the table meaning estimation system 1 does not generate a table meaning model.
  • the learning data storage unit 3 and the table semantic model generation unit 4 are provided in the learning system.
  • the learning data storage unit 3 and the table semantic model generation unit 4 provided in the learning system are the same as those shown in FIG.
  • the table meaning estimation system 1 includes a data input unit 2, a table meaning model storage unit 5, a table meaning estimation unit 6, and a display control unit 7.
  • the data input unit 2, the table meaning model storage unit 5, and the table meaning estimation unit 6 are the same as those shown in FIG.
  • the table semantic model storage unit 5 stores a table semantic model generated by the learning system. Since the learning system executes the processes of steps S1 and S2 (see FIG. 6), the table meaning estimation system 1 shown in FIG. 10 does not have to execute the processes of steps S1 and S2.
  • the display control unit 7 may display the meaning of the table input in step S11 and the table estimated in step S12 after the process of step S12 is executed. At this time, the display control unit 7 does not have to display the buttons 51 and 52. Then, the table meaning estimation system 1 may display the input table and the meaning of the estimated table, and terminate the process at that time.
  • FIG. FIG. 11 is a block diagram illustrating a configuration example of the table meaning estimation system according to the second embodiment of this invention. Constituent elements similar to the constituent elements included in the table meaning estimation system 1 (see FIG. 1) of the first embodiment are denoted by the same reference numerals as those in FIG.
  • the table meaning estimation system 1 according to the second embodiment includes a column meaning estimation unit 9 and a relationship information storage unit 10 in addition to the components included in the table meaning estimation system 1 according to the first embodiment.
  • a table in which each column name is replaced with the meaning of each column is input to the data input unit 2.
  • a table on which such replacement is not performed is input to the data input unit 2. That is, a table including the column name given at the time of table creation is input to the data input unit 2 as it is.
  • the relationship information storage unit 10 is a storage device that stores relationship information.
  • the relationship information is data representing the relationship between “column meaning” and “attribute value”.
  • the column meaning estimation unit 9 refers to the relationship information when estimating the meaning of each column of the input table.
  • the relationship information storage unit 10 stores, for example, predetermined relationship information.
  • FIG. 12 is a schematic diagram illustrating an example of the relationship information stored in the relationship information storage unit 10.
  • the individual relationship information is assumed to be represented in the format “A is B”.
  • each piece of relationship information is represented in the format of “column meaning is attribute value”.
  • “Column meaning is attribute value” means that the meaning of the column is associated with the attribute value.
  • “name is Sato” shown in FIG. 12 indicates that the attribute value “Sato” corresponds to the meaning of the column “name”.
  • “gender is male” indicates that the attribute value “male” corresponds to the meaning of the column “sex”.
  • the meaning of the column in which the attribute value is stored can be estimated.
  • the column meaning estimation unit 9 estimates the column meaning for each column of the table input to the data input unit 2, and replaces the column name with the column meaning.
  • the column meaning estimation unit 9 estimates the meaning of the column by, for example, performing the following processing on one column.
  • the column meaning estimation unit 9 specifies the corresponding “column meaning” for each attribute value in the column with reference to the relationship information. At this time, all attribute values in one column are not necessarily associated with the same “meaning of column”. Therefore, as a result of specifying the meaning of the column for each attribute value, the meaning of a plurality of columns may be obtained.
  • the column meaning estimation unit 9 counts the number of corresponding attribute values for each identified column meaning, and uses the meaning of the column having the maximum number of corresponding attribute values as the column meaning estimation result. .
  • 100 attribute values are stored in the column, of which 95 attribute values correspond to the meaning of the column “name”, and the remaining 5 attribute values are in the column “place of origin”. Suppose that it corresponds to the meaning.
  • the column meaning estimation unit 9 estimates that the meaning of the column is “name”. Further, the column meaning estimation unit 9 replaces the column name of the column with the estimated column meaning (“name” in this example).
  • the column meaning estimation unit 9 executes the above processing for each column of the input table.
  • the column meaning estimation unit 9 sends a table in which each column name is replaced with a column meaning to the table meaning estimation unit 6.
  • the learning data storage unit 3, the table semantic model generation unit 4, the table semantic model storage unit 5, the table semantic estimation unit 6, the display control unit 7, and the learning data addition unit 8 are the same as those in the first embodiment.
  • the column meaning estimation unit 9 is realized by a CPU of a computer that operates according to a table meaning estimation program, for example.
  • the operation of generating the table semantic model by the table semantic estimation system 1 is the same as the operation described in the first embodiment (see FIG. 6), and the description thereof is omitted.
  • FIG. 13 is a flowchart showing an example of the progress of processing when a table whose meaning is to be estimated is input.
  • the processing after step S12 is the same as the processing after step S12 in the first embodiment, and steps S14 to S18 are shown in FIG. Omitted.
  • a table is input to the data input unit 2 (step S21).
  • a table including the column name given at the time of table creation is input to the data input unit 2.
  • “Customer name”, “prefecture”, “type”, “work”, and the like shown in FIG. 14 are column names.
  • the column meaning estimation unit 9 estimates the meaning of the column for each column of the input table, and replaces the column name with the meaning of the column (step S22). Since the operation of estimating the meaning of the column by the column meaning estimation unit 9 has already been described, the description thereof is omitted here.
  • the table shown in FIG. 9 is obtained by replacing each column name shown in FIG. 14 with the meaning of the column in step S22. That is, column names such as “customer name”, “prefecture”, “type”, and “work” (see FIG. 14) are columns such as “name”, “hometown”, “gender”, and “job type”, respectively. Is replaced with the meaning of.
  • the column meaning estimation unit 9 sends the table (in this example, the table shown in FIG. 9) after replacing each column name with the column meaning to the table meaning estimation unit 6.
  • step S12 the table meaning estimation unit 6 estimates the meaning of the table using the table that has been subjected to the process of replacing each column name with the meaning of the column in step S22.
  • the display control unit 7 displays the table that has been subjected to the process of replacing each column name with the meaning of the column in step S22. indicate.
  • the column meaning estimation unit 9 estimates the meaning of the column for each column in the input table, and replaces the column name with the meaning of the column. Therefore, the table input to the data input unit 2 does not have to be a table subjected to preprocessing for replacing each column name with the meaning of each column. That is, the user may input a table including the assigned column name as it is in the data input unit 2.
  • the table meaning estimation unit 6 estimates the meaning of a table using the table including the assigned column name as it is.
  • the column name is generally determined by a human, the column name is distorted. Then, it is difficult to determine a finite number of column names.
  • the meaning of the column is finite (n), and in the table semantic model shown in FIG. 3, the number of elements of W and the number of elements of x are each n. If column names are used instead of table meanings, it is difficult to define a finite number of column names, and it is also difficult to generate the table semantic model shown in FIG. As a result, the table meaning estimation unit 6 cannot estimate the meaning of the table.
  • the column meaning estimation unit 9 estimates the meaning of the column for each column in the input table, and replaces the column name with the meaning of the column. Therefore, the table meaning estimation unit 6 can estimate the meaning of the table.
  • the column meaning estimation unit 9 estimates the meaning of the column for each column in the input table and replaces the column name with the meaning of the column, thus preventing such an increase in processing load. be able to.
  • FIG. 15 is a block diagram illustrating a configuration example when the table meaning estimation system 1 does not generate a table meaning model.
  • the data input unit 2, the relationship information storage unit 10, the column meaning estimation unit 9, the table meaning model storage unit 5, and the table meaning estimation unit 6 are the same as those shown in FIG.
  • the table semantic model storage unit 5 stores a table semantic model generated by the learning system.
  • the display control unit 7 may display the table in which the column name is replaced with the meaning of the column in step S22 and the meaning of the table estimated in step S12. At this time, the display control unit 7 may not display the buttons 51 and 52 (see FIG. 4). And the table meaning estimation system 1 may complete
  • the user inputs a set of combinations of a table including the column name given when creating the table as it is and the meaning of the table to the table meaning estimation system 1 in order to generate learning data. May be.
  • the column meaning estimation unit 9 estimates the meaning of the column for each column of each input table, performs the process of replacing the column name with the meaning of the column, and the table and the table after the process is performed.
  • a set of meaning combinations may be stored in the learning data storage unit 3 as learning data.
  • FIG. 16 is a block diagram illustrating a configuration example when the table meaning estimation system 1 generates relationship information. Constituent elements similar to the constituent elements of the second embodiment are denoted by the same reference numerals as those in FIG.
  • the table meaning estimation system 1 shown in FIG. 16 includes a relationship extraction unit 11 and a rule storage unit 12 in addition to the components (see FIG. 11) included in the table meaning estimation system 1 of the second embodiment. .
  • the relationship extraction unit 11 is a storage device that stores rules for extracting relationship information from text data.
  • the relationship extraction unit 11 extracts the relationship information from the text data according to the rule, and stores the extracted relationship information in the relationship information storage unit 10.
  • the method for extracting the relationship information from the text data according to the given rule may be a known method.
  • the relationship extraction unit 11 is realized by a CPU of a computer that operates according to a table meaning estimation program, for example.
  • the configuration shown in FIG. 16 reduces the work burden for the user to create the relationship information.
  • the following configurations and operations may be applied to the second embodiment.
  • FIG. 17 is a block diagram showing a configuration example in which the number of elements of vectors x and W can be set according to the meaning of the table.
  • the same components as those in the first embodiment are denoted by the same reference numerals as those in FIG.
  • the table meaning estimation system 1 shown in FIG. 17 includes an element number setting unit 13 in addition to the components (see FIG. 1) included in the table meaning estimation system 1 of the first embodiment.
  • the operation of setting the number of elements of the vectors x and W according to the meaning of the table is performed before the generation of the table semantic model.
  • the table meaning estimation system 1 starts this operation in response to, for example, an instruction from the user input via the GUI.
  • This table is a table on which preprocessing for replacing each column name with the meaning of each column has been performed.
  • FIG. 18 is an explanatory diagram illustrating an example of a screen including a table, an input column for the meaning of the table, and a check box.
  • the table 61 is an input table.
  • the input field 62 is an input field for inputting the meaning of the table 61.
  • the display control unit 7 displays the same number of check boxes as the number of columns in the table 61 as the check boxes 63.
  • the enter button 64 is a button for the user to input that the input to the input field 62 and the check to the check box 63 have been confirmed.
  • the display control unit 7 also displays a message that prompts the user to input the meaning of the table 61 and a message that prompts the user to select a characteristic column that represents the meaning of the table 61.
  • the user inputs the meaning of the table 61 into the input field 62 according to the message.
  • the user checks a check box corresponding to a characteristic column representing the meaning of the table 61, and does not check other check boxes.
  • the display control unit 7 informs the element number setting unit 13 of the meaning of the table 61 input to the input field 62 and the meaning of the column corresponding to the check box checked. send.
  • the display control unit 7 displays the meaning of the table “customer table” and the meanings of the three columns “name”, “sex”, and “job type” as the number-of-elements setting unit. 13
  • a table semantic model is generated with a vector having three explanatory variables called T as elements and the number of elements of W as three.
  • the table feature x data is derived by determining the values of three explanatory variables that are elements of T. Then, the table meaning estimation unit 6 calculates W T xdata using W corresponding to the “customer table” and its x data, and “customer table” is the meaning of the table to be estimated. Calculate accuracy. Since the number of elements of W corresponding to the “customer table” is 3, W T xdata can be calculated.
  • the table meaning estimation system 1 shown in FIG. 17 may perform the same setting operation on x and W corresponding to the meanings of other tables in accordance with the input from the user.
  • the number of elements of x and W may be set to default values. This default value is the number (n) of column meanings in the set of column meanings.
  • Embodiment 3 it is assumed that a table name is assigned to a table whose meaning is to be estimated.
  • the table meaning estimation system of the third embodiment estimates the meaning of a table based on a given table name and a table meaning model.
  • the table meaning estimation system of the third embodiment can be represented by the block diagram shown in FIG. 1 similarly to the table meaning estimation system of the first embodiment, the third embodiment is described with reference to FIG. explain. Explanation of matters similar to those in the first embodiment will be omitted as appropriate.
  • the table name of the table whose meaning is to be estimated is input to the data input unit 2.
  • a table with a table name is input to the data input unit 2.
  • the table semantic model in this embodiment is an estimation model for estimating the meaning of a table from the table name.
  • the learning data storage unit 3 stores learning data used for learning the table semantic model.
  • the learning data includes the table name of the table and the meaning of the table.
  • a set of combinations of table names and table meanings is stored in the learning data storage unit 3 as learning data.
  • a plurality of table names may be combined with the meaning of one table.
  • FIG. 19 is a schematic diagram showing an example of combinations of table names and table meanings.
  • FIG. 19 shows a combination of a plurality of table names such as “CustomerTables” and “Customer” and the meaning of the table “Customer”. Such a combination of the table name and the table meaning may be determined by the user determining the meaning of the existing table to which the table name is added and associating the table name with the meaning of the table.
  • the learning data storage unit 3 stores a set of combinations of table names and the meanings of the tables as illustrated in FIG.
  • the table semantic model generation unit 4 generates a table semantic model based on the learning data.
  • the method of machine learning when generating the table semantic model is not particularly limited.
  • the table semantic model generation unit 4 generates a table semantic model for estimating the meaning of the table from the table name.
  • This table semantic model can be said to be a model indicating regularity between the table name of the table and the meaning of the table.
  • FIG. 20 is an explanatory diagram illustrating an example of a table semantic model in the third embodiment.
  • W and x shown in FIG. 20 are both column vectors, W and x are appropriately shown as transposed matrices of row vectors.
  • each explanatory variable that is an element of x is different from the explanatory variable in the first and second embodiments.
  • each explanatory variable that is an element of x corresponds to a different character string.
  • One explanatory variable is a variable indicating how many character strings corresponding to the explanatory variable exist when a character string representing a table name is divided by a predetermined method.
  • a method of separating two characters at a time is adopted as a method of separating a character string representing a table name.
  • each explanatory variable that is an element of x corresponds to a character string composed of two characters.
  • the character string may be a character string (for example, “aa”) in which two identical characters are continued.
  • aa the number of character strings composed of two alphabets obtained by satisfying these conditions.
  • this n is the number of elements of x and W.
  • FIG. 21 is a schematic diagram illustrating an example of a correspondence relationship between an explanatory variable that is an element of x and a character string.
  • the explanatory variable x 1 corresponds to the character string “aa”
  • the explanatory variable x h corresponds to the character string “st”.
  • the table semantic model generation unit 4 determines the values of the explanatory variables x 1 to x n for each table name included in the learning data.
  • a vector x in which the values of explanatory variables x 1 to x n are defined is referred to as a table feature.
  • the table semantic model includes a table semantic set.
  • a table semantic set ⁇ Customer, Store,.
  • the number of table meanings belonging to the table semantic set is k.
  • W (w 1 , w 2 , w 3 ,..., W n ) T is determined for each meaning of the table belonging to the table semantic set.
  • W corresponding to the meaning of the j-th table is denoted as W j . Since the number of meanings in the table is k, k vectors W are determined. Further, the number of elements of W is the same as the number of elements of x and is n. This point is the same as in the first embodiment.
  • f (x) shown in FIG. 20 is given a table name, and when one table meaning is selected from the table meaning set, the meaning of the selected table corresponds to the meaning of the table having the table name. It means the accuracy to do.
  • the table semantic model generation unit 4 determines a table feature for each table name included in the learning data. Further, the table semantic model generation unit 4 calculates W for each meaning of the table belonging to the table semantic set and the table semantic set based on the correspondence between each table feature and the meaning of each table included in the learning data. By defining, a table semantic model is generated. In the generated table semantic model, elements of x are represented by variables. On the other hand, the W element determined for each meaning of the table is a specific value.
  • the table semantic model storage unit 5 stores the table semantic model in the table semantic model storage unit 5.
  • the table meaning estimation unit 6 estimates the meaning of the table input to the data input unit 2 based on the table semantic model stored in the table semantic model storage unit 5.
  • the table meaning estimation unit 6 determines a table feature based on the table name given to the input table. Then, the table meaning estimation unit 6 sequentially selects the meanings of the tables from the table meaning set one by one, and calculates the accuracy f (x) using W corresponding to the meaning of the selected table and the table feature. . That is, assuming that the table feature is x data , the table meaning estimation unit 6 calculates the accuracy W (x) by calculating W T x data . The table meaning estimation unit 6 determines the meaning of the table with the highest accuracy as the meaning estimation result of the input table.
  • the table semantic model is represented as illustrated in FIGS. 20 and 21, and the table semantic estimation unit 6 estimates the meaning of the input table by the above calculation as an example. explain.
  • the aspect of the table semantic model is not limited to the above example.
  • the table meaning estimation part 6 should just estimate the meaning of the input table by the calculation according to the aspect of a table semantic model.
  • the display control unit 7 is the same as the display control unit 7 in the first embodiment.
  • the learning data adding unit 8 is given to the table input to the data input unit 2 when it is input that the meaning of the table displayed by the display control unit 7 (that is, the meaning of the estimated table) is appropriate.
  • the combination of the table name and the estimated meaning of the table is added to the existing learning data as learning data.
  • the learning data adding unit 8 gives the table input to the data input unit 2 when the meaning of the table displayed by the display control unit 7 (that is, the meaning of the estimated table) is not appropriate.
  • the combination of the table name and the meaning of the table received by the display control unit 7 from the user is added as learning data to the existing learning data.
  • the table semantic model generation unit 4 redoes the generation of the table semantic model.
  • the table semantic estimation system 1 generates a table semantic model before accepting an input of a semantic estimation target table.
  • the table semantic model generation unit 4 reads the learning data from the learning data storage unit 3.
  • the table semantic model generation unit 4 generates a table semantic model based on the learning data.
  • the table semantic model generation unit 4 determines a table feature for each table name included in the learning data.
  • the process of determining table characteristics will be described using “CustomerTables” as an example of the table names shown in FIG.
  • the table semantic model generation unit 4 separates “CustomerTables” by two characters. As a result, character strings “Cu”, “st”, “om”, “er”, “Ta”, “bl”, “es” are obtained one by one. Accordingly, the table semantic model generation unit 4 sets the value 1 of the explanatory variable corresponding to “Cu” to 1 among the explanatory variables that are elements of x.
  • the table semantic model generation unit 4 also sets the value of each explanatory variable corresponding to “st”, “om”, “er”, “Ta”, “bl”, “es” to 1.
  • the table semantic model generation unit 4 sets the values of other explanatory variables to 0.
  • a table feature x (0, 0, 0,..., 1,..., 0) T is obtained.
  • This table feature includes seven elements “1”.
  • the table semantic model generation unit 4 determines the table characteristics in the same manner for the other table names included in the learning data. When the number of characters in the table name is an odd number, for example, the last character may be ignored.
  • the table semantic model generation unit 4 stores the generated table semantic model in the table semantic model storage unit 5.
  • FIG. 22 and FIG. 23 are flowcharts showing an example of processing progress in the case where a table that is a meaning estimation target is input.
  • step S31 a table is input to the data input unit 2 (step S31).
  • step S31 a table to which a table name is assigned is input. That is, the table name is always input in step S31.
  • a table having a table name “CustomersTables” is input.
  • the table meaning estimation unit 6 estimates the meaning of the table input in step S31 based on the table semantic model (step S32).
  • step S32 the table meaning estimation unit 6 reads the table meaning model from the table meaning model storage unit 5.
  • the table meaning estimation unit 6 determines the table characteristics based on the table name given to the input table. At this time, the table meaning estimation unit 6 separates the table name by two characters. In this example, the table meaning estimation unit 6 separates “CustomersTables” by two characters. When the number of characters in the table name is an odd number, for example, the last character may be ignored. As a result, two character strings “st” are obtained, and one character string “Cu”, “om”, “er”, “ab”, “le” is obtained one by one. As described above, in the present embodiment, an example in which uppercase letters and lowercase letters are not distinguished will be described. Therefore, the table meaning estimation unit 6 sets the value of the explanatory variable x h (see FIG.
  • the table meaning estimation unit 6 sequentially selects the meanings of the tables from the table meaning set one by one, and calculates the accuracy f (x) using W corresponding to the meaning of the selected table and the table feature. .
  • W corresponding to the meaning of the j-th table is denoted as W j .
  • the table meaning estimation unit 6 performs the same calculation for the meanings of other tables such as “Store”, and obtains the accuracy of the meaning of the selected table corresponding to the meaning of the input table.
  • the table meaning estimation unit 6 determines the meaning of the table with the highest accuracy as the meaning estimation result of the input table.
  • step S32 After the processing of step S32 is executed, the display control unit 7 displays the table input in step S31 and the meaning of the table estimated in step S32 on the display device, and whether or not the meaning of the table is appropriate. The user is prompted to input (step S33).
  • Step S33 is the same as step S13 (see FIG. 7), and the mode of the screen displayed in step S33 is, for example, the same as the mode of the screen shown in FIG.
  • the user determines the GUI according to the determination. An operation is performed (for example, the button 51 shown in FIG. 4 is clicked). That is, the display control unit 7 receives an input indicating that the meaning of the displayed table is appropriate (Yes in step S34).
  • step S35 the learning data adding unit 8 adds the combination of the table name input in step S31 and the meaning of the table (meaning of the estimated table) to the existing learning data (step S35). That is, the learning data adding unit 8 adds the combination of the table name and the estimated meaning of the table to the learning data stored in the learning data storage unit 3. After the process of step S35 is executed, the process proceeds to step S38.
  • step S33 determines that the meaning of the table displayed in step S33 is not appropriate as the meaning of the table displayed in step S33 (that is, the input table).
  • the user determines the GUI according to the determination. (For example, the button 52 shown in FIG. 4 is clicked). That is, the display control unit 7 receives an input indicating that the meaning of the displayed table is not appropriate (No in step S34).
  • the display control unit 7 receives an input of the meaning of the table displayed in step S33 from the user (step S36).
  • Step S36 is the same as step S16 (see FIG. 8), and the mode of the screen displayed in step S36 is, for example, the same as the mode of the screen shown in FIG.
  • the display control unit 7 receives an input of the meaning of the table from the user, for example, via the input field 53 (see FIG. 5).
  • step S36 the learning data adding unit 8 uses the combination of the table name input in step S31 and the meaning of the table input in step S36 as the existing learning data. (Step S37). That is, the learning data adding unit 8 adds the combination of the table name and the meaning of the table input by the user to the learning data stored in the learning data storage unit 3. After the process of step S37 is executed, the process proceeds to step S38.
  • the table semantic model generation unit 4 redoes the process of generating a table semantic model based on the learning data stored in the learning data storage unit 3 at that time (Ste S38). In other words, the table semantic model generation unit 4 learns the table semantic model again using the existing learning data and the added learning data.
  • the table semantic model generation unit 4 generates a table semantic model for estimating the meaning of the table from the table name.
  • the table meaning estimation part 6 estimates the meaning of the table based on the table name and the table semantic model given to the input table. Therefore, according to this embodiment, the meaning of the table can be estimated. Therefore, also in this embodiment, the same effect as the first embodiment can be obtained.
  • the user determines whether or not the meaning of the table estimated by the table meaning estimation unit 6 is appropriate.
  • the learning data adding unit 8 uses the combination of the table name input in step S31 and the meaning of the table estimated by the table meaning estimating unit 6 as learning data.
  • the display control unit 7 receives an appropriate meaning as the meaning of the table input in step S31 from the user, and adds learning data.
  • the unit 8 adds a combination of the table name input in step S31 and the meaning of the table input by the user to the learning data. Therefore, the accuracy of the table semantic model can be improved.
  • the meaning of the table determined by the user is added to the learning data, so that the effect of improving the accuracy of the table meaning model is achieved. large.
  • a table semantic model is generated by a learning system (not shown) different from the table semantic estimation system 1 and the table semantic estimation system 1 does not generate a table semantic model.
  • the table meaning estimation system 1 includes, for example, a data input unit 2, a table meaning model storage unit 5, a table meaning estimation unit 6, and a display control unit 7, as in the case shown in FIG.
  • the table semantic model storage unit 5 stores a table semantic model generated by the learning system.
  • the display control unit 7 may display the meaning of the table input in step S31 and the table estimated in step S32 after the process of step S32 is executed. And you may complete
  • FIG. 24 is a schematic block diagram showing a configuration example of a computer according to each embodiment of the present invention.
  • the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, an interface 1004, a display device 1005, and an input device 1006.
  • the input device 1006 corresponds to the data input unit 2.
  • the table meaning estimation system 1 is implemented in a computer 1000.
  • the operation of the table meaning estimation system 1 is stored in the auxiliary storage device 1003 in the form of a program (table meaning estimation program).
  • the CPU 1001 reads out the program from the auxiliary storage device 1003, develops it in the main storage device 1002, and executes the above processing according to the program.
  • the auxiliary storage device 1003 is an example of a tangible medium that is not temporary.
  • Other examples of the non-temporary tangible medium include a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, and a semiconductor memory connected via the interface 1004.
  • this program is distributed to the computer 1000 via a communication line, the computer 1000 that has received the distribution may develop the program in the main storage device 1002 and execute the above processing.
  • the program may be for realizing a part of the above-described processing.
  • the program may be a differential program that realizes the above-described processing in combination with another program already stored in the auxiliary storage device 1003.
  • each device is realized by general-purpose or dedicated circuits (circuitry IV), processors, etc., or combinations thereof. These may be configured by a single chip or may be configured by a plurality of chips connected via a bus. Part or all of each component of each device may be realized by a combination of the above-described circuit and the like and a program.
  • each device When some or all of the constituent elements of each device are realized by a plurality of information processing devices and circuits, the plurality of information processing devices and circuits may be centrally arranged or distributedly arranged. Good.
  • the information processing apparatus, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client and server system and a cloud computing system.
  • FIG. 25 is a block diagram showing an outline of the present invention.
  • the table meaning estimation system of the present invention includes learning means 71 and estimation means 72.
  • the learning means 71 determines the regularity between the meaning of the table column and the meaning of the table based on the learning data including the meaning of the table column and the meaning of the table.
  • the model shown (for example, table semantic model) is learned.
  • the estimation means 72 estimates the meaning of the table based on the meaning and model of the column of the input table.
  • the meaning of the table can be estimated by such a configuration.
  • a column meaning estimation unit (for example, a column meaning estimation unit 9) that estimates the meaning of the column from the column attribute value of the input table is provided, and the estimation unit 72 includes the estimated column meaning, model, and the like.
  • the structure of estimating the meaning of the table may be used.
  • the display control means (for example, the display control unit 7) that displays the estimated meaning of the table and receives an input regarding whether or not the meaning of the table is appropriate from the user, and learning data according to the input from the user May be provided with learning data adding means (for example, learning data adding unit 8).
  • the display control unit receives an input from the user that the meaning of the displayed table is not appropriate, the display control unit receives an input of the meaning of the table from the user, and the learning data addition unit indicates that the meaning of the table is appropriate.
  • the combination of the table and the meaning of the table displayed by the display control means is added to the existing learning data as learning data, and when the fact that the meaning of the table is inappropriate is input, the table and display The control means adds a combination with the meaning of the table received from the user as learning data to the existing learning data, and when the learning means adds the learning data, the existing learning data and the added learning data are added.
  • a configuration may be used in which the model is learned again.
  • the learning means 71 and the estimation means 72 may operate as follows.
  • the learning means 71 (for example, the table semantic model generating unit 4) is a model (for example, a regularity between the table name and the meaning of the table) based on the learning data including the table name of the table and the meaning of the table. , Table semantic model).
  • the estimation means 72 estimates the meaning of the table based on the table name and model of the input table.
  • the meaning of the estimated table is displayed, and a display control means (for example, the display control unit 7) that accepts an input regarding whether or not the meaning of the table is appropriate from the user, and according to the input from the user
  • the learning data adding means for adding learning data may be provided.
  • the display control means accepts an input from the user that the meaning of the displayed table is not appropriate
  • the input of the meaning of the table is accepted from the user
  • the learning data addition means indicates that the meaning of the table is appropriate. If entered, the combination of the table name of the table and the meaning of the table displayed by the display control means is added to the existing learning data as learning data, and if the meaning that the meaning of the table is not appropriate is entered, the table
  • the combination of the table name and the meaning of the table received by the display control means from the user is added to the existing learning data as learning data, and the learning means adds the existing learning data and the learning data when the learning data is added.
  • a configuration may be adopted in which the model is re-learned using the added learning data.
  • FIG. 26 is a block diagram showing another example of the outline of the present invention.
  • the table meaning estimation system shown in FIG. 26 includes an input reception unit 73 and an estimation unit 72.
  • the input receiving means 73 receives the table input.
  • the estimation means 72 estimates the meaning of the table based on the meaning of the table column and the model learned in advance.
  • a model for example, a table semantic model
  • a model is a model indicating regularity between the meaning of a table column and the meaning of the table, learned based on learning data including the meaning of the table column and the meaning of the table. It is.
  • the meaning of the table can be estimated by such a configuration.
  • a column meaning estimation unit (for example, a column meaning estimation unit 9) that estimates the meaning of the column from the column attribute value of the input table is provided, and the estimation unit 72 includes the estimated column meaning, model, and the like.
  • the structure of estimating the meaning of the table may be used.
  • the input receiving means 73 and the estimating means 72 may operate as follows.
  • the input receiving means 73 receives the table input.
  • the estimation means 72 estimates the meaning of the table based on the table name of the table and the model learned in advance.
  • a model (for example, a table semantic model) is a model indicating regularity between a table name and a table meaning learned based on learning data including the table name of the table and the meaning of the table.
  • the column meaning estimation means which estimates the meaning of the said column from the attribute value of the column of the input table is provided,
  • Display control means for displaying the estimated meaning of the table and receiving an input from the user regarding whether or not the meaning of the table is appropriate;
  • the table meaning estimation system according to claim 1 or 2 further comprising learning data addition means for adding learning data in response to an input from the user.
  • (Appendix 4) Display control means When an input indicating that the meaning of the displayed table is not appropriate is received from the user, an input of the meaning of the table is received from the user, Learning data addition means When it is input that the meaning of the table is appropriate, a combination of the table and the meaning of the table displayed by the display control means is added as learning data to existing learning data, When it is input that the meaning of the table is not appropriate, a combination of the table and the meaning of the table received from the user by the display control means is added as learning data to the existing learning data, Learning means The table meaning estimation system according to attachment 3, wherein when the learning data is added, the model is re-trained using the existing learning data and the added learning data.
  • the input reception means which receives the input of a table
  • An estimation means for estimating the meaning of the table based on the meaning of the column of the table and a model learned in advance;
  • the model is a model indicating regularity between the meaning of the table column and the meaning of the table, learned based on learning data including the meaning of the table column and the meaning of the table.
  • the column meaning estimation means which estimates the meaning of the said column from the attribute value of the column of the input table is provided,
  • a table meaning estimation system comprising: estimation means for estimating the meaning of the table based on a table name of the input table and the model.
  • Appendix 8 Display control means for displaying the estimated meaning of the table and receiving an input from the user regarding whether the meaning of the table is appropriate;
  • the display control means When an input indicating that the meaning of the displayed table is not appropriate is received from the user, an input of the meaning of the table is received from the user, Learning data addition means When it is input that the meaning of the table is appropriate, a combination of the table name of the table and the meaning of the table displayed by the display control means is added as learning data to the existing learning data, When it is input that the meaning of the table is not appropriate, a combination of the table name of the table and the meaning of the table received by the display control means from the user is added as learning data to the existing learning data, Learning means The table meaning estimation system according to claim 8, wherein when the learning data is added, the model is retrained using the existing learning data and the added learning data.
  • the input reception means which receives the input of a table
  • An estimation means for estimating the meaning of the table based on a table name of the table and a model learned in advance
  • the model is a model indicating regularity between a table name and a table meaning learned based on learning data including the table name of the table and the meaning of the table. system.
  • the model is a model indicating regularity between a table name and a table meaning learned based on learning data including the table name of the table and the meaning of the table.
  • the model is a model indicating regularity between a table name and a table meaning learned based on learning data including the table name of the table and the meaning of the table. program.
  • the present invention is preferably applied to a table meaning estimation system that estimates the meaning of a table.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

学習手段71は、テーブルのカラムの意味とそのテーブルの意味とを含む学習データに基づいて、テーブルのカラムの意味とテーブルの意味との間の規則性を示すモデルを学習する。推定手段72は、入力されるテーブルのカラムの意味とモデルとに基づいて、そのテーブルの意味を推定する。

Description

テーブル意味推定システム、方法およびプログラム
 本発明は、テーブルの意味を推定するテーブル意味推定システム、テーブル意味推定方法およびテーブル意味推定プログラムに関する。
 非特許文献1には、知識データベースに格納されているオントロジを用いて、テーブルのカラム名を自動推定する技術が記載されている。また、非特許文献1には、カラム名の中の1つを、テーブル名として流用することが記載されている。
 また、非特許文献2には、能動学習について記載されている。
 特許文献1には、テーブルの命名規則が、キャッシュサーバとアプリケーションサーバとで共通に用いられることが記載されている。
 特許文献2には、カラム名構成単語の分類に最適なベクトルを教師あり学習により生成することが記載されている。
特開2014-48741号公報 特開2013-120534号公報
Petros Venetis,外7名,"Recovering Semantics of Tables on the Web",[2016年7月20日検索]、インターネット<URL: http://www.vldb.org/pvldb/vol4/p528-venetis.pdf> Burr Settles, "Active Learning Literature Survey", University of Wisconsin Madison Technical Report #1648, January, 2009
 カラム名とは、実際にテーブル内のカラムに付与されている名称である。一般に、カラム名は、人間によって決定されるので、カラム名には表記ゆれが生じる。例えば、人物の性別を属性値とするカラムのカラム名として、「種別」、「男女」等の種々のカラム名が付与され得る。ここで、そのカラムが表わしている概念を、カラム名とは区別して、「カラムの意味」と記す。上記の例では、「性別」がカラムの意味に該当する。
 同様に、テーブルが表わしている概念を、「テーブルの意味」と記す。テーブルにテーブル名が付与されている場合や、テーブル名が付与されていない場合がある。ここで、テーブルにテーブル名が付与されている場合であっても、そのテーブル名が、テーブルの概念として適切であるとは限らない。例えば、非特許文献1に記載されているように、カラム名の中の1つをテーブル名として流用することでテーブル名を定めたとしても、そのテーブル名が、テーブルの概念を表しているとは限らない。そこで、テーブルが表わしている概念を、テーブル名と区別して、テーブルの意味と記す。
 なお、非特許文献1に記載の技術では、オントロジを用いてカラムの意味を推定しているということができる。
 自動分析を行うために典型的分析パターンが利用されることがある。例えば、誰がどのような購買行動をしたか等を分析するための典型的分析パターンがある。しかし、そのような分析で用いられるテーブルの意味の把握は、人手で行われる。そのため、分析で用いられるテーブルの意味の把握に時間がかかってしまうという問題がある。
 また、データベースの移行作業(マイグレーション)が行われる場合がある。このとき、移行前のデータベース作業者とは異なる作業者が、移行後のテーブルを利用する場合がある。その作業者は、移行後のテーブルの意味の把握に時間がかかってしまうために、移行後のデータベースを円滑に利用できない。
 そこで、本発明は、テーブルの意味を推定することができるテーブル意味推定システム、テーブル意味推定方法およびテーブル意味推定プログラムを提供することを目的とする。
 本発明によるテーブル意味推定システムは、テーブルのカラムの意味とそのテーブルの意味とを含む学習データに基づいて、テーブルのカラムの意味とテーブルの意味との間の規則性を示すモデルを学習する学習手段と、入力されるテーブルのカラムの意味とモデルとに基づいて、そのテーブルの意味を推定する推定手段とを備えることを特徴とする。
 また、本発明によるテーブル意味推定システムは、テーブルの入力を受け付ける入力受付手段と、そのテーブルのカラムの意味と、予め学習されているモデルとに基づいて、そのテーブルの意味を推定する推定手段とを備え、モデルは、テーブルのカラムの意味とそのテーブルの意味とを含む学習データに基づいて学習された、テーブルのカラムの意味とテーブルの意味との間の規則性を示すモデルであることを特徴とする。
 また、本発明によるテーブル意味推定システムは、テーブルのテーブル名とそのテーブルの意味とを含む学習データに基づいて、テーブル名とテーブルの意味との間の規則性を示すモデルを学習する学習手段と、入力されるテーブルのテーブル名とモデルとに基づいて、そのテーブルの意味を推定する推定手段とを備えることを特徴とする。
 また、本発明によるテーブル意味推定システムは、テーブルの入力を受け付ける入力受付手段と、そのテーブルのテーブル名と、予め学習されているモデルとに基づいて、そのテーブルの意味を推定する推定手段とを備え、モデルは、テーブルのテーブル名とそのテーブルの意味とを含む学習データに基づいて学習された、テーブル名とテーブルの意味との間の規則性を示すモデルであることを特徴とする。
 また、本発明によるテーブル意味推定方法は、テーブルのカラムの意味とそのテーブルの意味とを含む学習データに基づいて、テーブルのカラムの意味とテーブルの意味との間の規則性を示すモデルを学習し、入力されるテーブルのカラムの意味とモデルとに基づいて、そのテーブルの意味を推定することを特徴とする。
 また、本発明によるテーブル意味推定方法は、テーブルの入力を受け付け、そのテーブルのカラムの意味と、予め学習されているモデルとに基づいて、そのテーブルの意味を推定し、モデルは、テーブルのカラムの意味とそのテーブルの意味とを含む学習データに基づいて学習された、テーブルのカラムの意味とテーブルの意味との間の規則性を示すモデルであることを特徴とする。
 また、本発明によるテーブル意味推定方法は、テーブルのテーブル名とそのテーブルの意味とを含む学習データに基づいて、テーブル名とテーブルの意味との間の規則性を示すモデルを学習し、入力されるテーブルのテーブル名とモデルとに基づいて、そのテーブルの意味を推定することを特徴とする。
 また、本発明によるテーブル意味推定方法は、テーブルの入力を受け付け、そのテーブルのテーブル名と、予め学習されているモデルとに基づいて、そのテーブルの意味を推定し、モデルは、テーブルのテーブル名とそのテーブルの意味とを含む学習データに基づいて学習された、テーブル名とテーブルの意味との間の規則性を示すモデルであることを特徴とする。
 また、本発明によるテーブル意味推定プログラムは、コンピュータに、テーブルのカラムの意味とそのテーブルの意味とを含む学習データに基づいて、テーブルのカラムの意味とテーブルの意味との間の規則性を示すモデルを学習する学習処理、および、入力されるテーブルのカラムの意味とモデルとに基づいて、そのテーブルの意味を推定する推定処理を実行させることを特徴とする。
 また、本発明によるテーブル意味推定プログラムは、コンピュータに、テーブルの入力を受け付ける入力受付処理、および、そのテーブルのカラムの意味と、予め学習されているモデルとに基づいて、そのテーブルの意味を推定する推定処理を実行させ、モデルは、テーブルのカラムの意味とそのテーブルの意味とを含む学習データに基づいて学習された、テーブルのカラムの意味とテーブルの意味との間の規則性を示すモデルであることを特徴とする。
 また、本発明によるテーブル意味推定プログラムは、コンピュータに、テーブルのテーブル名とそのテーブルの意味とを含む学習データに基づいて、テーブル名とテーブルの意味との間の規則性を示すモデルを学習する学習処理、および、入力されるテーブルのテーブル名とモデルとに基づいて、そのテーブルの意味を推定する推定処理を実行させることを特徴とする。
 また、本発明によるテーブル意味推定プログラムは、コンピュータに、テーブルの入力を受け付ける入力受付処理、および、そのテーブルのテーブル名と、予め学習されているモデルとに基づいて、そのテーブルの意味を推定する推定処理を実行させ、モデルは、テーブルのテーブル名とそのテーブルの意味とを含む学習データに基づいて学習された、テーブル名とテーブルの意味との間の規則性を示すモデルであることを特徴とする。
 本発明によれば、テーブルの意味を推定することができる。
本発明の第1の実施形態のテーブル意味推定システムの構成例を示すブロック図である。 各カラム名がそれぞれカラムの意味に置き換えられたテーブルと、そのテーブルの意味との組み合わせの例を示す模式図である。 テーブル意味モデルの例を示す説明図である。 テーブルの意味の推定結果等の表示画面の例を示す模式図である。 適切なテーブルの意味の入力を促す画面の例を示す模式図である。 テーブル意味モデルを生成する際の処理経過の例を示すフローチャートである。 意味の推定対象となるテーブルが入力された場合の処理経過の例を示すフローチャートである。 意味の推定対象となるテーブルが入力された場合の処理経過の例を示すフローチャートである。 入力されるテーブルの例を示す模式図である。 テーブル意味推定システムがテーブル意味モデルの生成を行わない場合の構成例を示すブロック図である。 本発明の第2の実施形態のテーブル意味推定システムの構成例を示すブロック図である。 関係性情報の例を示す模式図である。 意味の推定対象となるテーブルが入力された場合の処理経過の例を示すフローチャートである。 入力されるテーブルの例を示す模式図である。 テーブル意味推定システムがテーブル意味モデルの生成を行わない場合の構成例を示すブロック図である。 テーブル意味推定システムが関係性情報を生成する場合の構成例を示すブロック図である。 テーブルの意味に応じてベクトルx,Wの要素数を設定可能な構成例を示すブロック図である。 テーブルと、テーブルの意味の入力欄と、チェックボックスとを含む画面の例を示す説明図である。 テーブル名とテーブルの意味との組み合わせの例を示す模式図である。 第3の実施形態におけるテーブル意味モデルの例を示す説明図である。 xの要素である説明変数と文字列との対応関係の例を示す模式図である。 意味の推定対象となるテーブルが入力された場合の処理経過の例を示すフローチャートである。 意味の推定対象となるテーブルが入力された場合の処理経過の例を示すフローチャートである。 本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。 本発明の概要を示すブロック図である。 本発明の概要の他の例を示すブロック図である。
 以下、本発明の実施形態を図面を参照して説明する。
 本発明では、テーブルの意味の集合(以下、テーブル意味集合と記す。)が用意される。テーブル意味集合に属するテーブルの意味の個数は有限個である。そして、本発明は、意味の推定対象となるテーブルに関して、テーブル意味集合からテーブルの意味を選択することによって、テーブルの意味を推定する。
実施形態1.
 図1は、本発明の第1の実施形態のテーブル意味推定システムの構成例を示すブロック図である。テーブル意味推定システム1は、データ入力部2と、学習データ記憶部3と、テーブル意味モデル生成部4と、テーブル意味モデル記憶部5と、テーブル意味推定部6と、表示制御部7と、学習データ追加部8とを備える。
 データ入力部2は、データが入力される入力デバイスである。本実施形態では、データ入力部2に、意味の推定対象となるテーブルの各カラムの意味の集合が入力される。以下、各カラム名がそれぞれカラムの意味に置き換えられたテーブルがデータ入力部2に入力されるものとして説明する。この場合、データ入力部2に入力されるテーブルには、前処理として、各カラム名をそれぞれカラムの意味に置き換える処理が行われる。各カラムの意味を特定する方法は、例えば、非特許文献1に記載された方法を用いればよく、あるいは、他の方法であってもよい。例えば、入力されるテーブルの各カラムの意味を非特許文献1に記載された方法で推定し、各カラム名をそれぞれ推定した各カラムの意味に置き換える前処理を、テーブル意味推定システム1の外部システム(図示略)が実行する。カラム名をカラムの意味に置き換えることで、カラム名の表記ゆれは排除される。データ入力部2には、その前処理後のテーブルが入力される。
 ここで、カラムの意味の集合は予め定められているものとする。また、カラムの意味の集合に属するカラムの意味の個数は有限個であるものとする。例えば、上記の外部システムは、その集合からカラムの意味を選択することによって、カラムの意味を推定するものとする。
 学習データ記憶部3は、学習データを記憶する記憶装置である。本実施形態では、学習データ記憶部3は、テーブルのカラムの意味からテーブルの意味を推定するための推定モデルの学習に用いられる学習データを記憶する。学習データは、テーブルのカラムの意味とそのテーブルの意味とを含む。以下に示す例では、各カラム名がそれぞれカラムの意味に置き換えられたテーブルと、そのテーブルの意味との組み合わせの集合が、学習データ記憶部3に記憶されるものとする。例えば、上記の外部システムが、テーブルの意味が既知となっているテーブル毎に、テーブルの各カラムの意味を非特許文献1に記載された方法で推定し、各カラム名をそれぞれ推定した各カラムの意味に置き換える処理を行えばよい。例えば、元々、テーブルに4つのカラムが存在し、それらのカラムにそれぞれ、「顧客名」、「都道府県」、「種別」、「仕事」というカラム名が付与されているとする。また、それらのカラムの意味の推定結果がそれぞれ、「名前」、「出身地」、「性別」、「職種」であるとする。この場合、「顧客名」、「都道府県」、「種別」、「仕事」というカラム名がそれぞれ、「名前」、「出身地」、「性別」、「職種」というカラムの意味に置き換えられる。そして、そのような処理が実行されたテーブルと、そのテーブルの意味との組み合わせの集合を、学習データとして学習データ記憶部3に記憶させておけばよい。既に説明したように、カラムの意味の集合は予め定められていて、その集合に属するカラムの意味の個数は有限個であるものとする。
 図2は、各カラム名がそれぞれカラムの意味に置き換えられたテーブルと、そのテーブルの意味との組み合わせの例を示す模式図である。図2に例示する「名前」、「出身地」、「性別」、「職種」はそれぞれ、カラムの意味である。また、図2に例示するテーブルの意味が「顧客テーブル」であるということは既知であるものとする。学習データ記憶部3は、図2に例示したようなテーブルとそのテーブルの意味との組み合わせの集合を記憶する。
 以下の説明で、テーブルの意味を推定するための推定モデルをテーブル意味モデルと記す。
 テーブル意味モデル生成部4は、学習データに基づいて、テーブル意味モデルを生成する。換言すれば、テーブル意味モデル生成部4は、学習データを用いて、機械学習によって、テーブル意味モデルを学習する。機械学習の方法は、特に限定されない。本実施形態では、テーブル意味モデル生成部4は、テーブルのカラムの意味からテーブルの意味を推定するためのテーブル意味モデルを生成する。このテーブル意味モデルは、テーブルのカラムの意味と、テーブルの意味との間の規則性を示すモデルであると言うことができる。
 図3は、テーブル意味モデル生成部4によって生成されるテーブル意味モデルの例を示す説明図である。図3に示すW,xはいずれも列ベクトルであるが、適宜、W,xを行ベクトルの転置行列として示す。以下の説明において、“T”は、転置行列を意味する。
 カラムの意味の集合に属しているカラムの意味の個数をnとする。x=(x,x,x,・・・,xにおけるx~xは、n個のカラムの意味と一対一に対応する説明変数であり、xは、n個の説明変数x~xを要素とするベクトルである。各説明変数の値は、テーブル内に、対応するカラムの意味が含まれている場合に“1”と定められ、対応するカラムの意味が含まれていない場合に“0”と定められる。例えば、xが、「名前」というカラムの意味に対応しているとする。この場合、着目しているテーブルに「名前」というカラムの意味が含まれていれば、x=1であり、着目しているテーブルに「名前」というカラムの意味が含まれていなければx=0である。他の説明変数にx~xに関しても同様である。テーブル意味モデル生成部4は、学習データに含まれているテーブル毎に、説明変数x~xの値を定める。説明変数x~xの値が定められたベクトルxをテーブル特徴と記す。
 また、テーブル意味モデルには、テーブル意味集合も含まれる。図3では、テーブル意味集合の例として、{顧客テーブル,商品テーブル,購買履歴テーブル,・・・}という集合を例示している。テーブル意味集合に属しているテーブルの意味の個数をk個とする。
 W=(w,w,w,・・・,wは、テーブル意味集合に属しているテーブルの意味毎に定められる。j番目のテーブルの意味に対応するWを、Wと記す。テーブルの意味の個数はk個であるのでは、ベクトルWは、k個定められることになる。また、Wの要素の数は、xの要素の数と同数であり、n個である。
 また、図3に示すf(x)は、テーブルが与えられ、テーブル意味集合からテーブルの意味を1つ選択した場合に、選択したテーブルの意味が、与えられたテーブルの意味に該当する確度を意味している。
 テーブル意味モデル生成部4は、学習データに含まれているテーブル毎に、テーブル特徴を定める。さらに、テーブル意味モデル生成部4は、各テーブル特徴と学習データに含まれている各テーブルの意味との対応関係に基づいて、テーブル意味集合および、テーブル意味集合に属するテーブルの意味毎のWを定めることで、テーブル意味モデルを生成する。生成されたテーブル意味モデルにおいて、xの要素は変数で表される。一方、テーブルの意味毎に定められるWの要素は、具体的な値である。
 テーブル意味モデル記憶部5は、テーブル意味モデル生成部4によって生成されたテーブル意味モデルを記憶する記憶装置である。テーブル意味モデル生成部4は、テーブル意味モデルを生成すると、そのテーブル意味モデルをテーブル意味モデル記憶部5に記憶させる。
 テーブル意味推定部6は、テーブル意味モデル記憶部5に記憶されているテーブル意味モデルに基づいて、データ入力部2に入力されたテーブルの意味を推定する。テーブル意味推定部6は、入力されたテーブルに含まれているカラムの意味に応じて、テーブル特徴を定める。そして、テーブル意味推定部6は、テーブル意味集合からテーブルの意味を1つずつ順に選択し、選択したテーブルの意味に対応するWと、テーブル特徴とを用いて、確度f(x)を計算する。すなわち、テーブル特徴をxdataとすると、テーブル意味推定部6は、Wdataを計算することによって、確度f(x)を求める。テーブル意味推定部6は、確度が最も高いテーブルの意味を、入力されたテーブルの意味の推定結果として定める。
 なお、本実施形態では、テーブル意味モデルが図3に例示するように表され、テーブル意味推定部6が、上記の演算によって、入力されたテーブルの意味を推定する場合を例にして説明する。ただし、テーブル意味モデルの態様は図3に示す態様に限定されない。また、テーブル意味推定部6は、テーブル意味モデルの態様に応じた演算で、入力されたテーブルの意味を推定すればよい。
 表示制御部7は、テーブル意味推定システム1が備えるディスプレイ装置(図1において図示略)上に、情報やGUI(Graphical User Interface)を表示する。
 テーブル意味推定部6が入力されたテーブルの意味の推定結果を求めると、表示制御部7は、ディスプレイ装置上に、入力されたテーブルおよびその推定結果を表示する。図4は、入力されたテーブルおよびその推定結果の表示画面の例を示す模式図である。図4に示す例では、テーブル意味推定部6が、入力されたテーブルを画面中央付近に表示する場合を示している。また、図4では、「下記テーブルは、顧客テーブルですか?」という文章を表示することによって、テーブルの意味の推定結果に該当する「顧客テーブル」を表示する場合を例示している。
 表示制御部7は、表示したテーブルの意味の推定結果が適切か否かをユーザが入力するためのGUIとして、ボタン51,52も表示する。ボタン51がクリックされたということは、表示したテーブルの意味が適切である旨がユーザによって入力されたことを意味する。一方、ボタン52がクリックされたということは、表示したテーブルの意味が適切でない旨がユーザによって入力されたことを意味する。
 ボタン52がクリックされた場合(すなわち、表示したテーブルの意味が適切でない旨の入力を受け付けた場合)、表示制御部7は、データ入力部2に入力されたテーブルの意味として適切な意味の入力を促す画面をディスプレイ装置上に表示する。図5は、この画面の例を示す模式図である。表示制御部7は、データ入力部2に入力されたテーブルを表示するとともに、そのテーブルの意味を入力するためのGUIとして、入力欄53および確認ボタン54を表示する。ユーザは、表示されているテーブル(すなわち、データ入力部2に入力されたテーブル)の意味として適切な意味を、入力欄53に入力する。図5では、テーブルの意味として「患者テーブル」という意味が入力された場合を例示している。ユーザが入力欄53にテーブルの意味を入力し、確認ボタン54をクリックすると、表示制御部7は、入力欄53を介して、テーブルの意味の入力を受け付ける。
 学習データ追加部8は、ユーザからの入力に応じて、既存の学習データ(すなわち、既に学習データ記憶部3に記憶されている学習データ)に、学習データを追加する。
 具体的には、学習データ追加部8は、図4に例示する画面に表示したテーブルの意味が適切である旨が入力された場合、表示制御部7が表示したテーブルおよびそのテーブルの意味(図4に示す例では「顧客テーブル」)の組み合わせを学習データとして、既存の学習データに追加する。
 また、学習データ追加部8は、図4に例示する画面に表示したテーブルの意味が適切でない旨が入力された場合、表示制御部7が表示したテーブルと、表示制御部7がユーザから受け付けたテーブルの意味(図5に示す例では「患者テーブル」)との組み合わせを学習データとして、既存の学習データに追加する。
 学習データ追加部8によって学習データ記憶部3に学習データが追加された場合、テーブル意味モデル生成部4は、テーブル意味モデルの生成をやり直す。
 テーブル意味モデル生成部4、テーブル意味推定部6、表示制御部7および学習データ追加部8は、例えば、テーブル意味推定プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUは、例えば、コンピュータのプログラム記憶装置(図1において図示略)等のプログラム記録媒体からテーブル意味推定プログラムを読み込み、そのプログラムに従って、テーブル意味モデル生成部4、テーブル意味推定部6、表示制御部7および学習データ追加部8として動作すればよい。また、テーブル意味モデル生成部4、テーブル意味推定部6、表示制御部7および学習データ追加部8が別々のハードウェアによって実現されていてもよい。これらの点は、後述の他の実施形態でも同様である。
 また、テーブル意味推定システム1は、2つ以上の物理的に分離した装置が有線または無線で接続される構成であってもよい。この点は、後述の他の実施形態でも同様である。
 以下、本発明の第1の実施形態の処理経過について説明する。
 テーブル意味推定システム1は、意味の推定対象のテーブルの入力を受け付ける前に、事前に、テーブル意味モデルを生成する。図6は、テーブル意味モデルを生成する際の処理経過の例を示すフローチャートである。
 なお、学習データ記憶部3には、各カラム名がそれぞれカラムの意味に置き換えられたテーブルと、そのテーブルの意味との組み合わせの集合が、学習データとして記憶されているものとする。
 テーブル意味モデル生成部4は、その学習データを、学習データ記憶部3から読み込む(ステップS1)。
 次に、テーブル意味モデル生成部4は、その学習データに基づいて、テーブル意味モデル生成する(ステップS2)。
 ステップS2において、テーブル意味モデル生成部4は、学習データに含まれているテーブル毎に、テーブル特徴を定める。ここでは、学習データに含まれているテーブルのうち、図2に例示するテーブルのテーブル特徴を定める場合を例にして説明する。本実施形態では、図3に示すベクトルxの要素のうち、xが「名前」に対応し、xが「商品」に対応し、xが「出身地」に対応し、xが「性別」に対応し、xが「職種」に対応し、x以降が他のカラムの意味に対応しているとする。図2に例示するテーブルには、カラムの意味として、「名前」、「出身地」、「性別」および「職種」が含まれていて、他のカラムの意味は含まれていない。従って、x=1,x=0,x=1,x=1,x=1となる。また、x~xの各説明変数の値はいずれも0である。テーブル意味モデル生成部4は、図2に例示するテーブルのテーブル特徴として、x=(1,0,1,1,1,0,・・・,0)というn次元ベクトルを定める。この結果、x=(1,0,1,1,1,0,・・・,0)というテーブル特徴と、「顧客テーブル」というテーブルの意味との組み合わせが定まる。
 テーブル意味モデル生成部4は、学習データに含まれている他の各テーブルに関しても同様にテーブル特徴を定め、テーブル特徴とテーブルの意味との組み合わせを定める。
 そして、テーブル意味モデル生成部4は、テーブル特徴とテーブルの意味との組み合わせの集合に基づいて、テーブル意味集合を定めるとともに、f(x)=Wxという式におけるベクトルWを、テーブル意味集合に属するテーブルの意味毎に定める。この結果、テーブル意味モデルが定まる。既に説明したように、テーブル意味モデルにおいて、xの要素は変数で表される。一方、テーブルの意味毎に定められるWの要素は、具体的な値である。
 テーブル意味モデル生成部4は、生成したテーブル意味モデルをテーブル意味モデル記憶部5に記憶させる。
 次に、テーブル意味推定システム1に対して、意味の推定対象となるテーブルが入力された場合の処理経過を説明する。図7および図8は、意味の推定対象となるテーブルが入力された場合の処理経過の例を示すフローチャートである。
 まず、データ入力部2にテーブルが入力される(ステップS11)。ステップS11では、各カラム名をそれぞれカラムの意味に置き換える処理が行われたテーブルが入力される。ここでは、図9に示すテーブルが入力される場合を例にして説明する。
 次に、テーブル意味推定部6は、ステップS11で入力されたテーブルの意味を、テーブル意味モデルに基づいて推定する(ステップS12)。
 ステップS12において、テーブル意味推定部6は、テーブル意味モデル記憶部5からテーブル意味モデルを読み込む。
 さらに、テーブル意味推定部6は、入力されたテーブルのテーブル特徴を定める。既に説明したように、本実施形態では、図3に示すベクトルxの要素のうち、xが「名前」に対応し、xが「商品」に対応し、xが「出身地」に対応し、xが「性別」に対応し、xが「職種」に対応し、x6以降が他のカラムの意味に対応しているとする。従って、図9に示すテーブルに関して、x=1,x=0,x=1,x=1,x=1となる。テーブル意味推定部6は、同様に、第5カラム以降のカラムの意味に応じて、x~xの各説明変数の値を定め、図9に例示するテーブルのテーブル特徴として、x=(1,0,1,1,1,・・・)というn次元ベクトルを定める。このテーブル特徴をxdataとする。
 そして、テーブル意味推定部6は、テーブル意味集合からテーブルの意味を1つずつ順に選択し、選択したテーブルの意味に対応するWと、テーブル特徴とを用いて、確度f(x)を計算する。既に説明したように、j番目のテーブルの意味に対応するWを、Wと記す。テーブル意味推定部6は、図3に示す1番目のテーブルの意味「顧客テーブル」を選択した場合、「顧客テーブル」に対応するWと、上記のテーブル特徴xdataとを用いて、「顧客テーブル」が、入力されたテーブルの意味である確度を、f(x)=W dataの計算によって求める。テーブル意味推定部6は、「商品テーブル」、「購買履歴テーブル」(図3参照)等の他のテーブルの意味に関してもそれぞれ、同様の演算を行い、選択したテーブルの意味が、入力されたテーブルの意味に該当する確度を求める。
 そして、テーブル意味推定部6は、確度が最も高いテーブルの意味を、入力されたテーブルの意味の推定結果として定める。
 以下の説明では、テーブル意味推定部6が上記の処理によって、入力されたテーブルの意味が「顧客テーブル」であると推定した場合を例にして説明する。
 ステップS12の処理が実行された後、表示制御部7は、ステップS11で入力されたテーブルと、ステップS12で推定されたテーブルの意味をディスプレイ装置上に表示し、そのテーブルの意味が適切か否かの入力をユーザに促す(ステップS13)。ステップS13では、表示制御部7は、例えば、図4に示す画面を表示する。図4に示す画面については、既に説明したので、ここでは適宜、説明を省略する。
 図4に例示する画面で表示されているテーブルは、ステップS11で入力されたテーブル(意味の推定対象であるテーブル)である。図4に例示する画面で表示されている「顧客テーブル」は、ステップS12で推定されたテーブルの意味である。
 ステップS13で表示されたテーブルの意味「顧客テーブル」が、ステップS13で表示されている画面内のテーブルの意味として適切であるとユーザが判断した場合、ユーザは、ボタン51(図4参照)をクリックする。すなわち、表示制御部7は、表示したテーブルの意味が適切である旨の入力を受け付ける(ステップS14のYes)。
 すると、学習データ追加部8は、表示制御部7がステップS13で表示したテーブルと、そのテーブルの意味(推定されたテーブルの意味)との組み合わせを、既存の学習データに追加する(ステップS15)。すなわち、学習データ追加部8は、テーブルと、推定されたテーブルの意味との組み合わせを、学習データ記憶部3に記憶されている学習データに追加する。ステップS15の処理が実行された後、ステップS18に移行する。
 また、ステップS13で表示されたテーブルの意味「顧客テーブル」が、ステップS13で表示されている画面内のテーブルの意味として適切でないとユーザが判断した場合、ユーザは、ボタン52(図4参照)をクリックする。表示制御部7は、表示したテーブルの意味が適切でない旨の入力を受け付ける(ステップS14のNo)。
 すると、表示制御部7は、ステップS13で表示したテーブルの意味の入力をユーザから受け付ける(ステップS16)。表示制御部7は、例えば、図5に示す画面を表示する。図5に示す画面については、既に説明したので、ここでは適宜、説明を省略する。表示制御部7は、ユーザから、例えば、入力欄53(図5参照)を介して、テーブルの意味の入力を受け付ける。ここでは、ステップS13で表示されたテーブルの意味として、「患者テーブル」が適切であるとユーザが判断し、「患者テーブル」が入力されたとする。
 次に、学習データ追加部8は、表示制御部7がステップS13で表示したテーブルと、ステップS16で入力されたテーブルの意味(本例では、「患者テーブル」)との組み合わせを、既存の学習データに追加する(ステップS17)。すなわち、学習データ追加部8は、テーブルと、ユーザに入力されたテーブルの意味(本例では、「患者テーブル」)との組み合わせを、学習データ記憶部3に記憶されている学習データに追加する。ステップS17の処理が実行された後、ステップS18に移行する。
 ステップS15,S17の何れにおいても、学習データに新たな学習データが追加される。ステップS15またはステップS17からステップS18に移行した場合、テーブル意味モデル生成部4は、その時点で学習データ記憶部3に記憶されている学習データに基づいて、テーブル意味モデルを生成する処理をやり直す(ステップS18)。換言すれば、テーブル意味モデル生成部4は、既存の学習データおよび追加された学習データを用いて、テーブル意味モデルを学習し直す。
 本実施形態によれば、テーブル意味モデル生成部4が、テーブルのカラムの意味からテーブルの意味を推定するための推定モデル(テーブル意味モデル)を生成する。そして、テーブル意味推定部6は、入力されたテーブルのカラムの意味とテーブル意味モデルに基づいて、そのテーブルの意味を推定する。従って、本実施形態によれば、テーブルの意味を推定することができる。
 従って、例えば、典型的分析パターンを用いて自動分析を実施しようとする者は、その分析で用いるテーブルの意味を短時間で把握することができる。
 また、例えば、データベースの移行作業が行われ、移行前のデータベース作業者とは異なる作業者が、移行後のテーブルを利用する場合であっても、その作業者は、移行後のテーブルの意味を短時間で把握することができ、移行後のデータベースを円滑に利用することができる。
 また、第1の実施形態によれば、テーブル意味推定部6が推定したテーブルの意味が適切か否かをユーザが判断する。そして、そのテーブルの意味が適切であると判断された場合、学習データ追加部8は、ステップS11で入力されたテーブルと、テーブル意味推定部6が推定したテーブルの意味との組み合わせを学習データに追加する。また、推定したテーブルの意味が適切でないと判断された場合、表示制御部7は、ステップS11で入力されたテーブルの意味として適切な意味をユーザから入力され、学習データ追加部8は、ステップS11で入力されたテーブルと、ユーザによって入力されたそのテーブルの意味との組み合わせを学習データに追加する。そして、テーブル意味モデル生成部4は、テーブル意味モデルを生成し直す。従って、テーブル意味モデルの精度を向上させることができる。特に、テーブル意味推定部6が推定したテーブルの意味が適切でないと判断された場合、ユーザが適切と判断したテーブルの意味が学習データに追加されるので、テーブル意味モデルの精度を向上させる効果が大きい。
 また、テーブル意味モデル生成部4は、逐次的にテーブル意味モデルを学習し、学習データ内の各テーブルについて、推定の確度を得る構成であってもよい。その際、テーブル意味モデル生成部4は、推定の確度の低いテーブルから順に学習処理をおこなってもよい。その場合、全てのテーブルから学習処理を行う前に、十分な推定精度を達成することができる。
 次に、第1の実施形態の変形例について説明する。第1の実施形態では、テーブル意味推定システム1がテーブル意味モデルの生成と、入力されたテーブルの意味の推定とを行う場合を示した。テーブル意味推定システム1とは異なる別のシステム(図示略。以下、学習システムと記す。)がテーブル意味モデルの生成を実行し、テーブル意味推定システム1がテーブル意味モデルの生成を行わない構成であってもよい。図10は、テーブル意味推定システム1がテーブル意味モデルの生成を行わない場合の構成例を示すブロック図である。この場合、学習データ記憶部3およびテーブル意味モデル生成部4(図1参照)は、学習システムに設けられる。学習システムに設けられる学習データ記憶部3およびテーブル意味モデル生成部4は、図1に示すそれらと同様である。テーブル意味推定システム1は、例えば、図10に示すように、データ入力部2と、テーブル意味モデル記憶部5と、テーブル意味推定部6と、表示制御部7とを備える。データ入力部2、テーブル意味モデル記憶部5およびテーブル意味推定部6は、図1に示すそれらと同様である。ただし、テーブル意味モデル記憶部5には、学習システムが生成したテーブル意味モデルが記憶される。学習システムが、ステップS1,S2の処理(図6参照)を実行するので、図10に示すテーブル意味推定システム1は、ステップS1,S2の処理を実行しなくてよい。また、表示制御部7は、ステップS12の処理が実行された後、ステップS11で入力されたテーブル、および、ステップS12で推定されたテーブルの意味を表示すればよい。このとき、表示制御部7は、ボタン51,52を表示しなくてよい。そして、テーブル意味推定システム1は、入力されたテーブル、および、推定したテーブルの意味を表示し、その時点で、処理を終了してもよい。
実施形態2.
 図11は、本発明の第2の実施形態のテーブル意味推定システムの構成例を示すブロック図である。第1の実施形態のテーブル意味推定システム1(図1参照)が備える構成要素と同様の構成要素については、図1と同一の符号を付し、適宜、説明を省略する。第2の実施形態のテーブル意味推定システム1は、第1の実施形態のテーブル意味推定システム1が備える各構成要素に加えて、カラム意味推定部9と、関係性情報記憶部10とを備える。
 第1の実施形態では、各カラム名がそれぞれカラムの意味に置き換えられたテーブルがデータ入力部2に入力される。それに対して、第2の実施形態では、そのような置き換えが行われていないテーブルがデータ入力部2に入力される。すなわち、テーブル作成時に付与されたカラム名をそのまま含むテーブルがデータ入力部2に入力される。
 関係性情報記憶部10は、関係性情報を記憶する記憶装置である。関係性情報とは、「カラムの意味」と「属性値」との関係を表すデータである。カラム意味推定部9は、入力されたテーブルの各カラムの意味を推定するときに、関係性情報を参照する。関係性情報記憶部10には、例えば、予め定められた関係性情報が記憶される。
 図12は、関係性情報記憶部10が記憶する関係性情報の例を示す模式図である。本実施形態では、個々の関係性情報は、“A is B”という形式で表されるものとする。具体的には、個々の関係性情報は、“カラムの意味 is 属性値”という形式で表されるものとする。“カラムの意味 is 属性値”は、そのカラムの意味と属性値とが対応付けられていることを意味する。例えば、図12に示す“名前 is 佐藤”は、「佐藤」という属性値が「名前」というカラムの意味に対応していることを表している。また、例えば、“性別 is 男”は、「男」という属性値が「性別」というカラムの意味に対応していることを表している。
 関係性情報を用いることで、属性値が格納されているカラムの意味を推定することができる。
 カラム意味推定部9は、データ入力部2に入力されたテーブルのカラム毎に、カラムの意味を推定し、カラム名をカラムの意味に置き換える。
 カラム意味推定部9は、1つのカラムに対して、例えば、以下の処理を行うことによって、そのカラムの意味を推定する。カラム意味推定部9は、カラム内の属性値毎に、対応する「カラムの意味」を、関係性情報を参照して特定する。このとき、1つのカラム内の全ての属性値が同一の「カラムの意味」に対応付けられているとは限らない。そのため、属性値毎にカラムの意味を特定した結果、複数個のカラムの意味が得られてもよい。カラム意味推定部9は、特定したカラムの意味毎に、対応する属性値の数をカウントし、対応する属性値の数が最大となっているカラムの意味を、カラムの意味の推定結果とする。例えば、カラムに100個の属性値が格納されていて、そのうち95個の属性値が、「名前」というカラムの意味に対応し、残りの5個の属性値が、「出身地」というカラムの意味に対応していたとする。この場合、カラム意味推定部9は、そのカラムの意味は「名前」であると推定する。さらに、カラム意味推定部9は、そのカラムのカラム名を、推定したカラムの意味(本例では「名前」)に置き換える。
 カラム意味推定部9は、上記の処理を、入力されたテーブルのカラム毎に実行する。
 カラム意味推定部9は、各カラム名をカラムの意味に置き換えたテーブルをテーブル意味推定部6に送る。
 学習データ記憶部3、テーブル意味モデル生成部4、テーブル意味モデル記憶部5、テーブル意味推定部6、表示制御部7および学習データ追加部8は、第1の実施形態におけるそれらと同様である。
 カラム意味推定部9は、例えば、テーブル意味推定プログラムに従って動作するコンピュータのCPUによって実現される。
 以下、本発明の第2の実施形態の処理経過について説明する。
 テーブル意味推定システム1がテーブル意味モデルを生成する動作は、第1の実施形態で説明した動作(図6参照)と同様であり、説明を省略する。
 図13は、意味の推定対象となるテーブルが入力された場合の処理経過の例を示すフローチャートである。なお、ステップS12以降の処理は、第1の実施形態におけるステップS12以降の処理と同様であり、ステップS14~S18については、図8に示しているので、ここでは、ステップS14~S18の図示を省略している。
 まず、データ入力部2にテーブルが入力される(ステップS21)。第2の実施形態では、テーブル作成時に付与されたカラム名をそのまま含むテーブルが、データ入力部2に入力される。ここでは、図14に示すテーブルが入力される場合を例にして説明する。図14に示す「顧客名」、「都道府県」、「種別」、「仕事」等はカラム名である。
 次に、カラム意味推定部9は、入力されたテーブルのカラム毎に、カラムの意味を推定し、カラム名をカラムの意味に置き換える(ステップS22)。カラム意味推定部9がカラムの意味を推定する動作については、既に説明したので、ここでは説明を省略する。
 ステップS22において、図14に示す各カラム名がカラムの意味に置き換えられたことにより、図9に示すテーブルが得られたとする。すなわち、「顧客名」、「都道府県」、「種別」、「仕事」等のカラム名(図14参照)がそれぞれ、「名前」、「出身地」、「性別」、「職種」等のカラムの意味に置き換えられたとする。カラム意味推定部9は、各カラム名をカラムの意味に置き換えた後のテーブル(本例では、図9に示すテーブル)を、テーブル意味推定部6に送る。
 この後の処理は、第1の実施形態におけるステップS12以降の処理と同様である。ただし、ステップS12において、テーブル意味推定部6は、ステップS22で各カラム名をそれぞれカラムの意味に置き換える処理が行われたテーブルを用いて、テーブルの意味を推定する。
 また、ステップS13(図13参照)やステップS16(図8参照)でテーブルを表示する場合、表示制御部7は、ステップS22で各カラム名をそれぞれカラムの意味に置き換える処理が行われたテーブルを表示する。
 第2の実施形態においても、第1の実施形態と同様の効果が得られる。
 また、第2の実施形態では、カラム意味推定部9が、入力されたテーブル内のカラム毎に、カラムの意味を推定し、カラム名をカラムの意味に置き換える。従って、データ入力部2に入力されるテーブルは、各カラム名をそれぞれカラムの意味に置き換える前処理を施したテーブルでなくてよい。すなわち、ユーザは、付与されたカラム名をそのまま含むテーブルをデータ入力部2に入力してよい。
 また、付与されたカラム名をそのまま含むテーブルをそのまま用いて、テーブル意味推定部6がテーブルの意味を推定する場合を考える。前述のように、一般に、カラム名は、人間によって決定されるので、カラム名には表記ゆれが生じる。すると、カラム名を有限個に定めることは困難である。カラムの意味は有限個(n個)であり、図3に示すテーブル意味モデルにおいて、Wの要素の個数、および、xの要素の個数はそれぞれn個である。テーブルの意味の代わりに、カラム名を用いるとすると、カラム名を有限個に定めることは困難であるので、図3に示すテーブル意味モデルを生成することも困難となる。その結果、テーブル意味推定部6がテーブルの意味を推定できないことになる。それに対して、第2の実施形態では、カラム意味推定部9が、入力されたテーブル内のカラム毎に、カラムの意味を推定し、カラム名をカラムの意味に置き換える。従って、テーブル意味推定部6がテーブルの意味を推定できる。
 また、仮に、カラム名を有限個に定めることができ、図3に示すテーブル意味モデルを生成できたとしても、カラム名の個数は、カラムの意味の個数に比べて、膨大な数となる。従って、テーブル意味モデルにおけるベクトルW,xの要素の個数(次元数)も膨大な数になる。すると、テーブル意味モデル生成部4がテーブル意味モデルを生成する処理や、テーブル意味推定部6がテーブルの意味を推定する処理の処理負荷が非常に大きくなる。第2の実施形態では、カラム意味推定部9が、入力されたテーブル内のカラム毎に、カラムの意味を推定し、カラム名をカラムの意味に置き換えるので、そのような処理負荷の増加を防ぐことができる。
 次に、第2の実施形態の変形例について説明する。
 第1の実施形態の変形例と同様に、テーブル意味推定システム1とは異なる学習システム(図示略)がテーブル意味モデルの生成を実行し、テーブル意味推定システム1がテーブル意味モデルの生成を行わない構成であってもよい。図15は、テーブル意味推定システム1がテーブル意味モデルの生成を行わない場合の構成例を示すブロック図である。データ入力部2、関係性情報記憶部10、カラム意味推定部9、テーブル意味モデル記憶部5およびテーブル意味推定部6は、図11に示すそれらと同様である。テーブル意味モデル記憶部5には、学習システムが生成したテーブル意味モデルが記憶される。また、表示制御部7は、ステップS12の処理が実行された後、ステップS22でカラム名がカラムの意味に置き換えられたテーブル、および、ステップS12で推定されたテーブルの意味を表示すればよい。このとき、表示制御部7は、ボタン51,52(図4参照)を表示しなくてよい。そして、テーブル意味推定システム1は、テーブル、および、テーブルの意味を表示した時点で、処理を終了してもよい。
 また、第2の実施形態において、ユーザは、学習データの生成のために、テーブル作成時に付与されたカラム名をそのまま含むテーブルとそのテーブルの意味との組み合わせの集合をテーブル意味推定システム1に入力してもよい。このとき、カラム意味推定部9が、入力された各テーブルのカラム毎に、カラムの意味を推定し、カラム名をカラムの意味に置き換える処理を行い、その処理を行った後のテーブルおよびテーブルの意味の組み合わせの集合を学習データとして、学習データ記憶部3に記憶させてもよい。
 また、テーブル意味推定システム1が関係性情報を生成してもよい。図16は、テーブル意味推定システム1が関係性情報を生成する場合の構成例を示すブロック図である。第2の実施形態の構成要素と同様の構成要素については、図11と同一の符号を付し、説明を省略する。図16に示すテーブル意味推定システム1は、第2の実施形態のテーブル意味推定システム1が備える各構成要素(図11参照)に加えて、関係性抽出部11と、ルール記憶部12とを備える。
 関係性抽出部11には、例えば、仕様書等のテキストデータが入力される。関係性抽出部11に入力されるテキストデータの種類は特に限定されない。ルール記憶部12は、テキストデータから、関係性情報を抽出するためのルールを記憶する記憶装置である。関係性抽出部11は、そのルールに従って、テキストデータから関係性情報を抽出し、抽出した関係性情報を関係性情報記憶部10に記憶させる。与えられたルールに従って、テキストデータから関係性情報を抽出する方法は、公知の方法でよい。
 関係性抽出部11は、例えば、テーブル意味推定プログラムに従って動作するコンピュータのCPUによって実現される。
 図16に示す構成によれば、ユーザが関係性情報を作成する作業負担が軽減される。
 また、第1の実施形態および第2の実施形態において、テーブルの意味に応じてf(x)=Wxにおけるベクトルx,Wの要素数を設定可能な構成であってもよい。以下、第1の実施形態の変形例として説明するが、以下に示す構成および動作を第2の実施形態に適用してもよい。
 図17は、テーブルの意味に応じてベクトルx,Wの要素数を設定可能な構成例を示すブロック図である。第1の実施形態と同様の構成要素については、図1と同一の符号を付し、説明を省略する。図17に示すテーブル意味推定システム1は、第1の実施形態のテーブル意味推定システム1が備える各構成要素(図1参照)に加えて、要素数設定部13を備える。
 テーブルの意味に応じてベクトルx,Wの要素数を設定する動作は、テーブル意味モデルの生成よりも前に行われる。テーブル意味推定システム1は、例えば、GUIを介して入力されるユーザからの指示に応じて、この動作を開始する。
 テーブルの意味に応じてx,Wの要素数を設定する動作の開始後、データ入力部2には、テーブルが入力される。このテーブルは、各カラム名をそれぞれカラムの意味に置き換える前処理が行われたテーブルである。
 テーブルが入力されると、表示制御部7は、そのテーブルと、そのテーブルの意味の入力欄と、そのテーブルの各カラムと一対一に対応するチェックボックスとをディスプレイ上に表示する。図18は、テーブルと、テーブルの意味の入力欄と、チェックボックスとを含む画面の例を示す説明図である。テーブル61は、入力されたテーブルである。入力欄62は、テーブル61の意味が入力される入力欄である。表示制御部7は、チェックボックス63として、テーブル61のカラム数と同数のチェックボックスを表示する。決定ボタン64は、入力欄62への入力およびチェックボックス63へのチェックが確定した旨をユーザが入力するためのボタンである。図18に示すように、表示制御部7は、テーブル61の意味の入力を促すメッセージや、テーブル61の意味を表す特徴的なカラムの選択を促すメッセージも合わせて表示する。
 ユーザは、メッセージに応じて、テーブル61の意味を入力欄62に入力する。また、ユーザは、テーブル61の意味を表す特徴的なカラムに対応するチェックボックスにチェックを入れ、その他のチェックボックスにはチェックを入れない。
 その後、決定ボタン64がクリックされると、表示制御部7は、入力欄62に入力されたテーブル61の意味と、チェックが入れられたチェックボックスに対応するカラムの意味を要素数設定部13に送る。図18に例示する入力が行われた場合、表示制御部7は、「顧客テーブル」というテーブルの意味と、「名前」、「性別」、「職種」という3つのカラムの意味を要素数設定部13に送る。
 要素数設定部13は、そのテーブルの意味に関する確度を計算する際のf(x)=WxにおけるW,xの要素の数を、表示制御部7から送られたカラムの意味の数(換言すれば、チェックが入れられたチェックボックス)の数に設定する。さらに、そのxの要素となる説明変数を、表示制御部7から送られたカラムの意味に対応する説明変数に定める。例えば、xが「名前」に対応し、xが「性別」に対応し、xが「職種」に対応するものとする。本例では、要素数設定部13は、「顧客テーブル」に関する確度を計算する際のf(x)=Wxにおけるxを、x=(x,x,xという3つの説明変数を要素とするベクトルとして設定する。また、そのWの要素数を3に設定する。要素数設定部13は、その設定結果をテーブル意味モデル生成部4およびテーブル意味推定部6に通知する。
 その通知を受けた場合、テーブル意味モデル生成部4は、「顧客テーブル」に関する確度を計算する際のf(x)=Wxにおけるxを、x=(x,x,xという3つの説明変数を要素とするベクトルとし、そのWの要素数を3として、テーブル意味モデルを生成する。
 また、要素数設定部13からの通知を受けたテーブル意味推定部6は、テーブル意味集合から「顧客テーブル」を選択し、「顧客テーブル」の確度を計算する際、x=(x,x,xの要素である3つの説明変数の値を定めることによってテーブル特徴xdataを導出する。そして、テーブル意味推定部6は、「顧客テーブル」に対応するWと、そのxdataとを用いて、Wdataを計算することにより、「顧客テーブル」が推定対象のテーブルの意味である確度を計算する。「顧客テーブル」に対応するWの要素数は3であるので、Wdataは計算可能である。
 上記の例では、「顧客テーブル」というテーブルの意味に対応するx,Wの要素数を設定する場合を説明した。図17に示すテーブル意味推定システム1は、他のテーブルの意味に対応するx,Wに対しても、ユーザからの入力に応じて、同様の設定動作を行ってもよい。また、ユーザからの指定されなかったテーブルの意味に関しては、x,Wの要素数をデフォルト値にすればよい。このデフォルト値は、カラムの意味の集合にカラムの意味の個数(n個)である。
実施形態3.
 第3の実施形態では、意味の推定対象となるテーブルにテーブル名が付与されていることを前提とする。第3の実施形態のテーブル意味推定システムは、与えられたテーブル名とテーブル意味モデルとに基づいて、テーブルの意味を推定する。
 第3の実施形態のテーブル意味推定システムは、第1の実施形態のテーブル意味推定システムと同様に、図1に示すブロック図で表すことができるので、図1を用いて第3の実施形態を説明する。第1の実施形態と同様の事項については、適宜説明を省略する。
 第3の実施形態では、データ入力部2に、意味の推定対象となるテーブルのテーブル名が入力される。以下、テーブル名が付与されたテーブルが、データ入力部2に入力されるものとして説明する。
 また、本実施形態におけるテーブル意味モデルは、テーブル名からテーブルの意味を推定するための推定モデルである。学習データ記憶部3は、そのテーブル意味モデルの学習に用いられる学習データを記憶する。本実施形態では、学習データは、テーブルのテーブル名と、そのテーブルの意味とを含む。以下に示す例では、テーブル名とテーブルの意味のとの組み合わせの集合が、学習データとして、学習データ記憶部3に記憶されているものとする。1つのテーブルの意味と組み合わせをなすテーブル名は、複数であってもよい。
 図19は、テーブル名とテーブルの意味との組み合わせの例を示す模式図である。図19では、“CustomerTables”,“Customer”等の複数のテーブル名と、“Customer”というテーブルの意味との組み合わせを示している。このようなテーブル名とテーブル意味との組み合わせは、ユーザが、テーブル名が付加されている既存のテーブルの意味を判断し、そのテーブル名とテーブルの意味とを対応付けることによって定めればよい。学習データ記憶部3は、図19に例示したようなテーブル名とそのテーブルの意味との組み合わせの集合を記憶する。
 テーブル意味モデル生成部4は、学習データに基づいて、テーブル意味モデルを生成する。テーブル意味モデルを生成する際の機械学習の方法は、特に限定されない。本実施形態では、テーブル意味モデル生成部4は、テーブル名からテーブルの意味を推定するためのテーブル意味モデルを生成する。このテーブル意味モデルは、テーブルのテーブル名と、テーブルの意味との間の規則性を示すモデルであると言うことができる。
 図20は、第3の実施形態におけるテーブル意味モデルの例を示す説明図である。図20に示すW,xはいずれも列ベクトルであるが、適宜、W,xを行ベクトルの転置行列として示す。
 xの要素となる説明変数は、第1および第2の実施形態における説明変数とは異なる。第3の実施形態では、xの要素となる各説明変数はそれぞれ異なる文字列に対応している。1つの説明変数は、テーブル名を表す文字列を所定の方法で区切った場合に、その説明変数に対応する文字列が何個存在するかを示す変数である。本実施形態では、テーブル名を表す文字列を区切る方法として、2文字ずつ区切る方法を採用する場合を例にして説明する。また、それに合わせて、xの要素となる各説明変数はそれぞれ、2つの文字からなる文字列に対応しているものとする。
 ここで、2つの文字の順番が異なれば、異なる文字列として扱う。例えば、“ab”と“ba”とを異なる文字列として扱う。また、文字列は、同じ文字が2つ続いた文字列(例えば“aa”)であってもよい。また、本実施形態では、大文字と小文字とを区別しない場合を例にして説明する。本実施形態では、これらの条件を満たして得られる2つのアルファベットからなる文字列の数をnとする。本実施形態では、このnを、xおよびWの要素数とする。
 図21は、xの要素である説明変数と文字列との対応関係の例を示す模式図である。図21に示す例では、例えば、説明変数xは、文字列“aa”に対応し、説明変数xは、文字列“st”に対応する。例えば、説明変数xは、テーブル名を表す文字列を2文字ずつ区切った場合、文字列“st”が何個存在するかを示す。例えば、テーブル名“CustomerTables”を2文字ずつ区切った場合、文字列“st”は1つ存在するので、テーブル名“CustomerTables”に関して、x=1となる。また、テーブル名を2文字ずつ区切った場合、文字列“st”が1つも存在しなければ、x=0であり、文字列“st”が2つ存在すれば、x=2である。他の説明変数に関しても同様である。テーブル意味モデル生成部4は、学習データに含まれているテーブル名毎に、説明変数x~xの値を定める。説明変数x~xの値が定められたベクトルxをテーブル特徴と記す。
 また、テーブル意味モデルには、テーブル意味集合も含まれる。図20では、テーブル意味集合の例として、{Customer,Store,・・・} という集合を例示している。テーブル意味集合に属しているテーブルの意味の個数をk個とする。
 W=(w,w,w,・・・,wは、テーブル意味集合に属しているテーブルの意味毎に定められる。j番目のテーブルの意味に対応するWを、Wと記す。テーブルの意味の個数はk個であるのでは、ベクトルWは、k個定められることになる。また、Wの要素の数は、xの要素の数と同数であり、n個である。この点は、第1の実施形態と同様である。
 また、図20に示すf(x)は、テーブル名が与えられ、テーブル意味集合からテーブルの意味を1つ選択した場合に、選択したテーブルの意味が、そのテーブル名を有するテーブルの意味に該当する確度を意味している。
 テーブル意味モデル生成部4は、学習データに含まれているテーブル名毎に、テーブル特徴を定める。さらに、テーブル意味モデル生成部4は、各テーブル特徴と学習データに含まれている各テーブルの意味との対応関係に基づいて、テーブル意味集合および、テーブル意味集合に属するテーブルの意味毎のWを定めることで、テーブル意味モデルを生成する。生成されたテーブル意味モデルにおいて、xの要素は変数で表される。一方、テーブルの意味毎に定められるWの要素は、具体的な値である。
 テーブル意味モデル生成部4は、テーブル意味モデルを生成すると、そのテーブル意味モデルをテーブル意味モデル記憶部5に記憶させる。
 テーブル意味推定部6は、テーブル意味モデル記憶部5に記憶されているテーブル意味モデルに基づいて、データ入力部2に入力されたテーブルの意味を推定する。テーブル意味推定部6は、入力されたテーブルに付与されているテーブル名に基づいて、テーブル特徴を定める。そして、テーブル意味推定部6は、テーブル意味集合からテーブルの意味を1つずつ順に選択し、選択したテーブルの意味に対応するWと、テーブル特徴とを用いて、確度f(x)を計算する。すなわち、テーブル特徴をxdataとすると、テーブル意味推定部6は、Wdataを計算することによって、確度f(x)を求める。テーブル意味推定部6は、確度が最も高いテーブルの意味を、入力されたテーブルの意味の推定結果として定める。
 なお、本実施形態では、テーブル意味モデルが図20および図21に例示するように表され、テーブル意味推定部6が、上記の演算によって、入力されたテーブルの意味を推定する場合を例にして説明する。ただし、テーブル意味モデルの態様は上記の例に限定されない。また、テーブル意味推定部6は、テーブル意味モデルの態様に応じた演算で、入力されたテーブルの意味を推定すればよい。
 表示制御部7は、第1の実施形態における表示制御部7と同様である。
 学習データ追加部8は、表示制御部7が表示したテーブルの意味(すなわち、推定されたテーブルの意味)が適切である旨が入力された場合、データ入力部2に入力されたテーブルに付与されているテーブル名と、推定されたテーブルの意味との組み合わせを学習データとして、既存の学習データに追加する。
 また、学習データ追加部8は、表示制御部7が表示したテーブルの意味(すなわち、推定されたテーブルの意味)が適切でない旨が入力された場合、データ入力部2に入力されたテーブルに付与されているテーブル名と、表示制御部7がユーザから受け付けたテーブルの意味との組み合わせを学習データとして、既存の学習データに追加する。
 学習データ追加部8によって学習データ記憶部3に学習データが追加された場合、テーブル意味モデル生成部4は、テーブル意味モデルの生成をやり直す。
 以下、本発明の第3の実施形態の処理経過について説明する。
 まず、テーブル意味モデルを生成する際の処理経過の例を説明する。テーブル意味推定システム1は、意味の推定対象のテーブルの入力を受け付ける前に、テーブル意味モデルを生成する。
 なお、学習データ記憶部3には、図19に例示するようなテーブル名とテーブルの意味との組み合わせの集合が、学習データとして記憶されているものとする。
 テーブル意味モデル生成部4は、その学習データを、学習データ記憶部3から読み込む。
 次に、テーブル意味モデル生成部4は、その学習データに基づいて、テーブル意味モデル生成する。このとき、テーブル意味モデル生成部4は、学習データに含まれているテーブル名毎にテーブル特徴を定める。ここでは、図19に示すテーブル名のうち“CustomerTables”を例にして、テーブル特徴を定める処理を説明する。テーブル意味モデル生成部4は、“CustomerTables”を2文字ずつ区切る。この結果、“Cu”,“st”,“om”,“er”,“Ta”,“bl”,“es”という文字列が1つずつ得られる。従って、テーブル意味モデル生成部4は、xの要素となっている説明変数のうち、“Cu”に対応する説明変数の値1を1に定める。テーブル意味モデル生成部4は、同様に、“st”,“om”,“er”,“Ta”,“bl”,“es”に対応する各説明変数の値も1に定める。テーブル意味モデル生成部4は、その他の説明変数の値を0に定める。この結果、x=(0,0,0,・・,1,・・・,0)というテーブル特徴が得られる。このテーブル特徴は、“1”という要素を7個含んでいる。
 テーブル意味モデル生成部4は、学習データに含まれている他の各テーブル名に関しても、同様にテーブル特徴を定める。なお、テーブル名の文字数が奇数である場合、例えば、最後の1文字は無視してよい。
 そして、テーブル意味モデル生成部4は、各テーブル特徴と学習データに含まれている各テーブルの意味との対応関係に基づいて、テーブル意味集合を定めるとともに、f(x)=Wxという式におけるベクトルWを、テーブル意味集合に属するテーブルの意味毎に定める。この結果、テーブル意味モデルが定まる。
 テーブル意味モデル生成部4は、生成したテーブル意味モデルをテーブル意味モデル記憶部5に記憶させる。
 次に、テーブル意味推定システム1に対して、意味の推定対象となるテーブルが入力された場合の処理経過を説明する。図22および図23は、意味の推定対象となるテーブルが入力された場合の処理経過の例を示すフローチャートである。
 まず、データ入力部2にテーブルが入力される(ステップS31)。ステップS31では、テーブル名が付与されているテーブルが入力される。すなわち、ステップS31で、テーブル名は必ず入力される。ここでは、“CustomersTables”というテーブル名が付与されたテーブルが入力されたとする。
 次に、テーブル意味推定部6は、ステップS31で入力されたテーブルの意味を、テーブル意味モデルに基づいて推定する(ステップS32)。
 ステップS32において、テーブル意味推定部6は、テーブル意味モデル記憶部5からテーブル意味モデルを読み込む。
 さらに、テーブル意味推定部6は、入力されたテーブルに付与されているテーブル名に基づいて、テーブル特徴を定める。このとき、テーブル意味推定部6は、そのテーブル名を2文字ずつ区切る。本例では、テーブル意味推定部6は、“CustomersTables”を2文字ずつ区切る。テーブル名の文字数が奇数である場合、例えば、最後の1文字は無視してよい。この結果、“st”という文字列が2つ得られ、“Cu”,“om”,“er”,“ab”,“le”という文字列が1つずつ得られる。なお、前述のように、本実施形態では、大文字と小文字とを区別しない場合を例に説明する。従って、テーブル意味推定部6は、xの要素となっている説明変数のうち、“st”に対応する説明変数x(図21を参照)の値を2に定める。また、テーブル意味推定部6は、“Cu”,“om”,“er”,“ab”,“le”に対応する各説明変数の値をそれぞれ1に定める。テーブル意味推定部6は、その他の説明変数の値を0に定める。この結果、x=(0,1,0,・・,1,・・・,2,・・・,0)というテーブル特徴が得られる。このテーブル特徴は、“1”という要素を5個含み、“2”という要素を1つ含んでいる。このテーブル特徴をxdataとする。
 そして、テーブル意味推定部6は、テーブル意味集合からテーブルの意味を1つずつ順に選択し、選択したテーブルの意味に対応するWと、テーブル特徴とを用いて、確度f(x)を計算する。j番目のテーブルの意味に対応するWを、Wと記す。テーブル意味推定部6は、図20に示す1番目のテーブルの意味“Customer”を選択した場合、“Customer”に対応するWと、上記のテーブル特徴xdataとを用いて、“Customer”が、入力されたテーブルの意味である確度を、f(x)=W dataの計算によって求める。テーブル意味推定部6は、“Store” 等の他のテーブルの意味に関してもそれぞれ、同様の演算を行い、選択したテーブルの意味が、入力されたテーブルの意味に該当する確度を求める。
 そして、テーブル意味推定部6は、確度が最も高いテーブルの意味を、入力されたテーブルの意味の推定結果として定める。
 ステップS32の処理が実行された後、表示制御部7は、ステップS31で入力されたテーブルと、ステップS32で推定されたテーブルの意味をディスプレイ装置上に表示し、そのテーブルの意味が適切か否かの入力をユーザに促す(ステップS33)。ステップS33は、ステップS13(図7参照)と同様であり、ステップS33で表示される画面の態様は、例えば、図4に示す画面の態様と同様である。
 ステップS33で表示されたテーブルの意味が、ステップS33表示されているテーブル(すなわち、入力されたテーブル)の意味として適切であるとユーザが判断した場合、ユーザは、その判断に応じて、GUIを操作する(例えば、図4に示すボタン51をクリックする)。すなわち、表示制御部7は、表示したテーブルの意味が適切である旨の入力を受け付ける(ステップS34のYes)。
 すると、学習データ追加部8は、ステップS31で入力されたテーブルのテーブル名と、そのテーブルの意味(推定されたテーブルの意味)との組み合わせを、既存の学習データに追加する(ステップS35)。すなわち、学習データ追加部8は、テーブル名と、推定されたテーブルの意味との組み合わせを、学習データ記憶部3に記憶されている学習データに追加する。ステップS35の処理が実行された後、ステップS38に移行する。
 また、ステップS33で表示されたテーブルの意味が、ステップS33表示されているテーブル(すなわち、入力されたテーブル)の意味として適切でないとユーザが判断した場合、ユーザは、その判断に応じて、GUIを操作する(例えば、図4に示すボタン52をクリックする)。すなわち、表示制御部7は、表示したテーブルの意味が適切でない旨の入力を受け付ける(ステップS34のNo)。
 すると、表示制御部7は、ステップS33で表示したテーブルの意味の入力をユーザから受け付ける(ステップS36)。ステップS36は、ステップS16(図8参照)と同様であり、ステップS36で表示される画面の態様は、例えば、図5に示す画面の態様と同様である。表示制御部7は、ユーザから、例えば、入力欄53(図5参照)を介して、テーブルの意味の入力を受け付ける。
 ステップS36の次に、学習データ追加部8は、学習データ追加部8は、ステップS31で入力されたテーブルのテーブル名と、ステップS36で入力されたテーブルの意味との組み合わせを、既存の学習データに追加する(ステップS37)。すなわち、学習データ追加部8は、テーブル名と、ユーザに入力されたテーブルの意味との組み合わせを、学習データ記憶部3に記憶されている学習データに追加する。ステップS37の処理が実行された後、ステップS38に移行する。
 ステップS35またはステップS37からステップS38に移行した場合、テーブル意味モデル生成部4は、その時点で学習データ記憶部3に記憶されている学習データに基づいて、テーブル意味モデルを生成する処理をやり直す(ステップS38)。換言すれば、テーブル意味モデル生成部4は、既存の学習データおよび追加された学習データを用いて、テーブル意味モデルを学習し直す。
 本実施形態によれば、テーブル意味モデル生成部4が、テーブル名からテーブルの意味を推定するためのテーブル意味モデルを生成する。そして、テーブル意味推定部6は、入力されたテーブルに付与されているテーブル名とテーブル意味モデルに基づいて、そのテーブルの意味を推定する。従って、本実施形態によれば、テーブルの意味を推定することができる。よって、本実施形態においても、第1の実施形態と同様の効果が得られる。
 また、テーブル意味推定部6が推定したテーブルの意味が適切か否かをユーザが判断する。そして、そのテーブルの意味が適切であると判断された場合、学習データ追加部8は、ステップS31で入力されたテーブル名と、テーブル意味推定部6が推定したテーブルの意味との組み合わせを学習データに追加する。また、推定したテーブルの意味が適切でないと判断された場合、表示制御部7は、表示制御部7は、ステップS31で入力されたテーブルの意味として適切な意味をユーザから入力され、学習データ追加部8は、ステップS31で入力されたテーブル名と、ユーザによって入力されたテーブルの意味との組み合わせを学習データに追加する。従って、テーブル意味モデルの精度を向上させることができる。特に、テーブル意味推定部6が推定したテーブルの意味が適切でないと判断された場合、ユーザが適切と判断したテーブルの意味が学習データに追加されるので、テーブル意味モデルの精度を向上させる効果が大きい。
 第1の実施形態の変形例と同様に、テーブル意味モデルの生成をテーブル意味推定システム1とは異なる学習システム(図示略)が実行し、テーブル意味推定システム1がテーブル意味モデルの生成を行わない構成であってもよい。この場合、テーブル意味推定システム1は、図10に示す場合と同様に、例えば、データ入力部2と、テーブル意味モデル記憶部5と、テーブル意味推定部6と、表示制御部7とを備える。テーブル意味モデル記憶部5には、学習システムが生成したテーブル意味モデルが記憶される。表示制御部7は、ステップS32の処理が実行された後、ステップS31で入力されたテーブル、および、ステップS32で推定されたテーブルの意味を表示すればよい。そして、その時点で処理を終了してもよい。
 図24は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、ディスプレイ装置1005と、入力デバイス1006とを備える。図24に示す例では、入力デバイス1006がデータ入力部2に相当する。
 本発明の各実施形態のテーブル意味推定システム1は、コンピュータ1000に実装される。テーブル意味推定システム1の動作は、プログラム(テーブル意味推定プログラム)の形式で補助記憶装置1003に記憶されている。CPU1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのプログラムに従って上記の処理を実行する。
 補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、上記の処理を実行してもよい。
 また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
 また、各装置の各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
 各装置の各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 次に、本発明の概要について説明する。図25は、本発明の概要を示すブロック図である。本発明のテーブル意味推定システムは、学習手段71と、推定手段72とを備える。
 学習手段71(例えば、テーブル意味モデル生成部4)は、テーブルのカラムの意味とそのテーブルの意味とを含む学習データに基づいて、テーブルのカラムの意味とテーブルの意味との間の規則性を示すモデル(例えば、テーブル意味モデル)を学習する。
 推定手段72(例えば、テーブル意味推定部6)は、入力されるテーブルのカラムの意味とモデルとに基づいて、そのテーブルの意味を推定する。
 そのような構成によりテーブルの意味を推定することができる。
 また、入力されるテーブルのカラムの属性値から、カラムの意味を推定するカラム意味推定手段(例えば、カラム意味推定部9)を備え、推定手段72が、推定されたカラムの意味と、モデルとに基づいて、テーブルの意味を推定する構成であってもよい。
 また、推定されたテーブルの意味を表示し、当該テーブルの意味が適切か否かに関する入力をユーザから受け付ける表示制御手段(例えば、表示制御部7)と、ユーザからの入力に応じて、学習データを追加する学習データ追加手段(例えば、学習データ追加部8)とを備える構成であってもよい。
 また、表示制御手段が、表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、テーブルの意味の入力をユーザから受け付け、学習データ追加手段が、テーブルの意味が適切である旨が入力された場合、テーブルと、表示制御手段が表示したテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、テーブルの意味が適切でない旨が入力された場合、テーブルと、表示制御手段がユーザから受け付けたテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、学習手段が、学習データが追加された場合に、既存の学習データおよび追加された学習データを用いて、モデルを学習し直す構成であってもよい。
 また、図25に示す構成において、学習手段71および推定手段72が以下のように動作してもよい。
 学習手段71(例えば、テーブル意味モデル生成部4)は、テーブルのテーブル名とそのテーブルの意味とを含む学習データに基づいて、テーブル名とテーブルの意味との間の規則性を示すモデル(例えば、テーブル意味モデル)を学習する。
 推定手段72(例えば、テーブル意味推定部6)は、入力されるテーブルのテーブル名とモデルとに基づいて、そのテーブルの意味を推定する。
 この場合にも、テーブルの意味を推定することができる。
 また、この場合において、推定されたテーブルの意味を表示し、当該テーブルの意味が適切か否かに関する入力をユーザから受け付ける表示制御手段(例えば、表示制御部7)と、ユーザからの入力に応じて、学習データを追加する学習データ追加手段(例えば、学習データ追加部8)とを備える構成であってもよい。
 また、 表示制御手段が、表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、テーブルの意味の入力をユーザから受け付け、学習データ追加手段が、テーブルの意味が適切である旨が入力された場合、テーブルのテーブル名と、表示制御手段が表示したテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、テーブルの意味が適切でない旨が入力された場合、テーブルのテーブル名と、表示制御手段がユーザから受け付けたテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、学習手段が、学習データが追加された場合に、既存の学習データおよび追加された学習データを用いて、モデルを学習し直す構成であってもよい。
 図26は、本発明の概要の他の例を示すブロック図である。図26に示すテーブル意味推定システムは、入力受付手段73と、推定手段72とを備える。
 入力受付手段73(例えば、データ入力部2)は、テーブルの入力を受け付ける。
 推定手段72(例えば、テーブル意味推定部6)は、テーブルのカラムの意味と、予め学習されているモデルとに基づいて、テーブルの意味を推定する。
 モデル(例えば、テーブル意味モデル)は、テーブルのカラムの意味とそのテーブルの意味とを含む学習データに基づいて学習された、テーブルのカラムの意味とテーブルの意味との間の規則性を示すモデルである。
 そのような構成によりテーブルの意味を推定することができる。
 また、入力されるテーブルのカラムの属性値から、カラムの意味を推定するカラム意味推定手段(例えば、カラム意味推定部9)を備え、推定手段72が、推定されたカラムの意味と、モデルとに基づいて、テーブルの意味を推定する構成であってもよい。
 また、図26に示す構成において、入力受付手段73および推定手段72が以下のように動作してもよい。
 入力受付手段73(例えば、データ入力部2)は、テーブルの入力を受け付ける。
 推定手段72(例えば、テーブル意味推定部6)は、テーブルのテーブル名と、予め学習されているモデルとに基づいて、テーブルの意味を推定する。
 モデル(例えば、テーブル意味モデル)は、テーブルのテーブル名とそのテーブルの意味とを含む学習データに基づいて学習された、テーブル名とテーブルの意味との間の規則性を示すモデルである。
 この場合にも、テーブルの意味を推定することができる。
 なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
(付記1)テーブルのカラムの意味と前記テーブルの意味とを含む学習データに基づいて、前記テーブルのカラムの意味と前記テーブルの意味との間の規則性を示すモデルを学習する学習手段と、
 入力されるテーブルのカラムの意味と前記モデルとに基づいて、前記テーブルの意味を推定する推定手段とを備える
 ことを特徴とするテーブル意味推定システム。
(付記2)入力されるテーブルのカラムの属性値から、前記カラムの意味を推定するカラム意味推定手段を備え、
 推定手段は、推定されたカラムの意味と、モデルとに基づいて、前記テーブルの意味を推定する
 付記1に記載のテーブル意味推定システム。
(付記3)推定されたテーブルの意味を表示し、当該テーブルの意味が適切か否かに関する入力をユーザから受け付ける表示制御手段と、
 前記ユーザからの入力に応じて、学習データを追加する学習データ追加手段とを備える
 付記1または付記2に記載のテーブル意味推定システム。
(付記4)表示制御手段は、
 表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、前記テーブルの意味の入力を前記ユーザから受け付け、
 学習データ追加手段は、
 前記テーブルの意味が適切である旨が入力された場合、前記テーブルと、前記表示制御手段が表示したテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、
 前記テーブルの意味が適切でない旨が入力された場合、前記テーブルと、前記表示制御手段が前記ユーザから受け付けたテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、
 学習手段は、
 学習データが追加された場合に、既存の学習データおよび追加された学習データを用いて、モデルを学習し直す
 付記3に記載のテーブル意味推定システム。
(付記5)テーブルの入力を受け付ける入力受付手段と、
 前記テーブルのカラムの意味と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定手段とを備え、
 前記モデルは、テーブルのカラムの意味と前記テーブルの意味とを含む学習データに基づいて学習された、前記テーブルのカラムの意味と前記テーブルの意味との間の規則性を示すモデルである
 ことを特徴とするテーブル意味推定システム。
(付記6)入力されるテーブルのカラムの属性値から、前記カラムの意味を推定するカラム意味推定手段を備え、
 推定手段は、推定されたカラムの意味と、モデルとに基づいて、前記テーブルの意味を推定する
 付記5に記載のテーブル意味推定システム。
(付記7)テーブルのテーブル名と前記テーブルの意味とを含む学習データに基づいて、テーブル名とテーブルの意味との間の規則性を示すモデルを学習する学習手段と、
 入力されるテーブルのテーブル名と前記モデルとに基づいて、前記テーブルの意味を推定する推定手段とを備える
 ことを特徴とするテーブル意味推定システム。
(付記8)推定されたテーブルの意味を表示し、当該テーブルの意味が適切か否かに関する入力をユーザから受け付ける表示制御手段と、
 前記ユーザからの入力に応じて、学習データを追加する学習データ追加手段とを備える
 付記7に記載のテーブル意味推定システム。
(付記9)表示制御手段は、
 表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、前記テーブルの意味の入力を前記ユーザから受け付け、
 学習データ追加手段は、
 前記テーブルの意味が適切である旨が入力された場合、前記テーブルのテーブル名と、前記表示制御手段が表示したテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、
 前記テーブルの意味が適切でない旨が入力された場合、前記テーブルのテーブル名と、前記表示制御手段が前記ユーザから受け付けたテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、
 学習手段は、
 学習データが追加された場合に、既存の学習データおよび追加された学習データを用いて、モデルを学習し直す
 付記8に記載のテーブル意味推定システム。
(付記10)テーブルの入力を受け付ける入力受付手段と、
 前記テーブルのテーブル名と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定手段とを備え、
 前記モデルは、テーブルのテーブル名と前記テーブルの意味とを含む学習データに基づいて学習された、テーブル名とテーブルの意味との間の規則性を示すモデルである
 ことを特徴とするテーブル意味推定システム。
(付記11)テーブルのカラムの意味と前記テーブルの意味とを含む学習データに基づいて、前記テーブルのカラムの意味と前記テーブルの意味との間の規則性を示すモデルを学習し、
 入力されるテーブルのカラムの意味と前記モデルとに基づいて、前記テーブルの意味を推定する
 ことを特徴とするテーブル意味推定方法。
(付記12)テーブルの入力を受け付け、
 前記テーブルのカラムの意味と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定し、
 前記モデルは、テーブルのカラムの意味と前記テーブルの意味とを含む学習データに基づいて学習された、前記テーブルのカラムの意味と前記テーブルの意味との間の規則性を示すモデルである
 ことを特徴とするテーブル意味推定方法。
(付記13)テーブルのテーブル名と前記テーブルの意味とを含む学習データに基づいて、テーブル名とテーブルの意味との間の規則性を示すモデルを学習し、
 入力されるテーブルのテーブル名と前記モデルとに基づいて、前記テーブルの意味を推定する
 ことを特徴とするテーブル意味推定方法。
(付記14)テーブルの入力を受け付け、
 前記テーブルのテーブル名と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定し、
 前記モデルは、テーブルのテーブル名と前記テーブルの意味とを含む学習データに基づいて学習された、テーブル名とテーブルの意味との間の規則性を示すモデルである
 ことを特徴とするテーブル意味推定方法。
(付記15)コンピュータに、
 テーブルのカラムの意味と前記テーブルの意味とを含む学習データに基づいて、前記テーブルのカラムの意味と前記テーブルの意味との間の規則性を示すモデルを学習する学習処理、および、
 入力されるテーブルのカラムの意味と前記モデルとに基づいて、前記テーブルの意味を推定する推定処理
 を実行させるためのテーブル意味推定プログラム。
(付記16)コンピュータに、
 テーブルの入力を受け付ける入力受付処理、および、
 前記テーブルのカラムの意味と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定処理を実行させ、
 前記モデルは、テーブルのカラムの意味と前記テーブルの意味とを含む学習データに基づいて学習された、前記テーブルのカラムの意味と前記テーブルの意味との間の規則性を示すモデルである
 ことを特徴とするテーブル意味推定プログラム。
(付記17)コンピュータに、
 テーブルのテーブル名と前記テーブルの意味とを含む学習データに基づいて、テーブル名とテーブルの意味との間の規則性を示すモデルを学習する学習処理、および、
 入力されるテーブルのテーブル名と前記モデルとに基づいて、前記テーブルの意味を推定する推定処理
 を実行させるためのテーブル意味推定プログラム。
(付記18)コンピュータに、
 テーブルの入力を受け付ける入力受付処理、および、
 前記テーブルのテーブル名と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定処理を実行させ、
 前記モデルは、テーブルのテーブル名と前記テーブルの意味とを含む学習データに基づいて学習された、テーブル名とテーブルの意味との間の規則性を示すモデルである
 ことを特徴とするテーブル意味推定プログラム。
 以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2016年8月5日に出願された日本特許出願2016-154384を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、テーブルの意味を推定するテーブル意味推定システムに好適に適用される。
 1 テーブル意味推定システム
 2 データ入力部
 3 学習データ記憶部
 4 テーブル意味モデル生成部
 5 テーブル意味モデル記憶部
 6 テーブル意味推定部
 7 表示制御部
 8 学習データ追加部

Claims (18)

  1.  テーブルのカラムの意味と前記テーブルの意味とを含む学習データに基づいて、前記テーブルのカラムの意味と前記テーブルの意味との間の規則性を示すモデルを学習する学習手段と、
     入力されるテーブルのカラムの意味と前記モデルとに基づいて、前記テーブルの意味を推定する推定手段とを備える
     ことを特徴とするテーブル意味推定システム。
  2.  入力されるテーブルのカラムの属性値から、前記カラムの意味を推定するカラム意味推定手段を備え、
     推定手段は、推定されたカラムの意味と、モデルとに基づいて、前記テーブルの意味を推定する
     請求項1に記載のテーブル意味推定システム。
  3.  推定されたテーブルの意味を表示し、当該テーブルの意味が適切か否かに関する入力をユーザから受け付ける表示制御手段と、
     前記ユーザからの入力に応じて、学習データを追加する学習データ追加手段とを備える
     請求項1または請求項2に記載のテーブル意味推定システム。
  4.  表示制御手段は、
     表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、前記テーブルの意味の入力を前記ユーザから受け付け、
     学習データ追加手段は、
     前記テーブルの意味が適切である旨が入力された場合、前記テーブルと、前記表示制御手段が表示したテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、
     前記テーブルの意味が適切でない旨が入力された場合、前記テーブルと、前記表示制御手段が前記ユーザから受け付けたテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、
     学習手段は、
     学習データが追加された場合に、既存の学習データおよび追加された学習データを用いて、モデルを学習し直す
     請求項3に記載のテーブル意味推定システム。
  5.  テーブルの入力を受け付ける入力受付手段と、
     前記テーブルのカラムの意味と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定手段とを備え、
     前記モデルは、テーブルのカラムの意味と前記テーブルの意味とを含む学習データに基づいて学習された、前記テーブルのカラムの意味と前記テーブルの意味との間の規則性を示すモデルである
     ことを特徴とするテーブル意味推定システム。
  6.  入力されるテーブルのカラムの属性値から、前記カラムの意味を推定するカラム意味推定手段を備え、
     推定手段は、推定されたカラムの意味と、モデルとに基づいて、前記テーブルの意味を推定する
     請求項5に記載のテーブル意味推定システム。
  7.  テーブルのテーブル名と前記テーブルの意味とを含む学習データに基づいて、テーブル名とテーブルの意味との間の規則性を示すモデルを学習する学習手段と、
     入力されるテーブルのテーブル名と前記モデルとに基づいて、前記テーブルの意味を推定する推定手段とを備える
     ことを特徴とするテーブル意味推定システム。
  8.  推定されたテーブルの意味を表示し、当該テーブルの意味が適切か否かに関する入力をユーザから受け付ける表示制御手段と、
     前記ユーザからの入力に応じて、学習データを追加する学習データ追加手段とを備える
     請求項7に記載のテーブル意味推定システム。
  9.  表示制御手段は、
     表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、前記テーブルの意味の入力を前記ユーザから受け付け、
     学習データ追加手段は、
     前記テーブルの意味が適切である旨が入力された場合、前記テーブルのテーブル名と、前記表示制御手段が表示したテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、
     前記テーブルの意味が適切でない旨が入力された場合、前記テーブルのテーブル名と、前記表示制御手段が前記ユーザから受け付けたテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、
     学習手段は、
     学習データが追加された場合に、既存の学習データおよび追加された学習データを用いて、モデルを学習し直す
     請求項8に記載のテーブル意味推定システム。
  10.  テーブルの入力を受け付ける入力受付手段と、
     前記テーブルのテーブル名と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定手段とを備え、
     前記モデルは、テーブルのテーブル名と前記テーブルの意味とを含む学習データに基づいて学習された、テーブル名とテーブルの意味との間の規則性を示すモデルである
     ことを特徴とするテーブル意味推定システム。
  11.  テーブルのカラムの意味と前記テーブルの意味とを含む学習データに基づいて、前記テーブルのカラムの意味と前記テーブルの意味との間の規則性を示すモデルを学習し、
     入力されるテーブルのカラムの意味と前記モデルとに基づいて、前記テーブルの意味を推定する
     ことを特徴とするテーブル意味推定方法。
  12.  テーブルの入力を受け付け、
     前記テーブルのカラムの意味と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定し、
     前記モデルは、テーブルのカラムの意味と前記テーブルの意味とを含む学習データに基づいて学習された、前記テーブルのカラムの意味と前記テーブルの意味との間の規則性を示すモデルである
     ことを特徴とするテーブル意味推定方法。
  13.  テーブルのテーブル名と前記テーブルの意味とを含む学習データに基づいて、テーブル名とテーブルの意味との間の規則性を示すモデルを学習し、
     入力されるテーブルのテーブル名と前記モデルとに基づいて、前記テーブルの意味を推定する
     ことを特徴とするテーブル意味推定方法。
  14.  テーブルの入力を受け付け、
     前記テーブルのテーブル名と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定し、
     前記モデルは、テーブルのテーブル名と前記テーブルの意味とを含む学習データに基づいて学習された、テーブル名とテーブルの意味との間の規則性を示すモデルである
     ことを特徴とするテーブル意味推定方法。
  15.  コンピュータに、
     テーブルのカラムの意味と前記テーブルの意味とを含む学習データに基づいて、前記テーブルのカラムの意味と前記テーブルの意味との間の規則性を示すモデルを学習する学習処理、および、
     入力されるテーブルのカラムの意味と前記モデルとに基づいて、前記テーブルの意味を推定する推定処理
     を実行させるためのテーブル意味推定プログラム。
  16.  コンピュータに、
     テーブルの入力を受け付ける入力受付処理、および、
     前記テーブルのカラムの意味と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定処理を実行させ、
     前記モデルは、テーブルのカラムの意味と前記テーブルの意味とを含む学習データに基づいて学習された、前記テーブルのカラムの意味と前記テーブルの意味との間の規則性を示すモデルである
     ことを特徴とするテーブル意味推定プログラム。
  17.  コンピュータに、
     テーブルのテーブル名と前記テーブルの意味とを含む学習データに基づいて、テーブル名とテーブルの意味との間の規則性を示すモデルを学習する学習処理、および、
     入力されるテーブルのテーブル名と前記モデルとに基づいて、前記テーブルの意味を推定する推定処理
     を実行させるためのテーブル意味推定プログラム。
  18.  コンピュータに、
     テーブルの入力を受け付ける入力受付処理、および、
     前記テーブルのテーブル名と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定処理を実行させ、
     前記モデルは、テーブルのテーブル名と前記テーブルの意味とを含む学習データに基づいて学習された、テーブル名とテーブルの意味との間の規則性を示すモデルである
     ことを特徴とするテーブル意味推定プログラム。
PCT/JP2017/026882 2016-08-05 2017-07-25 テーブル意味推定システム、方法およびプログラム WO2018025706A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/756,108 US11062213B2 (en) 2016-08-05 2017-07-25 Table-meaning estimation system, method, and program
JP2018510896A JP6338036B1 (ja) 2016-08-05 2017-07-25 テーブル意味推定システム、方法およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016154384 2016-08-05
JP2016-154384 2016-08-05

Publications (1)

Publication Number Publication Date
WO2018025706A1 true WO2018025706A1 (ja) 2018-02-08

Family

ID=61072834

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/026882 WO2018025706A1 (ja) 2016-08-05 2017-07-25 テーブル意味推定システム、方法およびプログラム

Country Status (3)

Country Link
US (1) US11062213B2 (ja)
JP (1) JP6338036B1 (ja)
WO (1) WO2018025706A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018045625A (ja) * 2016-09-16 2018-03-22 日本電信電話株式会社 表キャプション生成器学習装置、表キャプション生成装置、方法、及びプログラム
WO2021124469A1 (ja) * 2019-12-18 2021-06-24 株式会社日立製作所 データ意味推定システム及びデータ意味推定方法
WO2021220403A1 (ja) * 2020-04-28 2021-11-04 日本電信電話株式会社 属性推定装置、属性推定方法、プログラム
US11860910B2 (en) 2019-01-23 2024-01-02 Nec Corporation Information provision system, method, and program
US11948098B2 (en) 2018-03-08 2024-04-02 Nec Corporation Meaning inference system, method, and program

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10546056B1 (en) 2018-06-01 2020-01-28 Palantir Technologies Inc. Transformation in tabular data cleaning tool
US11416246B2 (en) 2018-09-03 2022-08-16 Nec Corporation Information processing apparatus, analysis system, analysis method, and non-transitory computer readable medium storing analysis program
US11645523B2 (en) * 2020-02-20 2023-05-09 Adobe Inc. Generating explanatory paths for predicted column annotations
JP7350674B2 (ja) 2020-02-26 2023-09-26 株式会社東芝 情報処理装置、情報処理方法、およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004334369A (ja) * 2003-05-01 2004-11-25 Nippon Telegr & Teleph Corp <Ntt> 音声対話シナリオ変換方法、音声対話シナリオ変換装置、音声対話シナリオ変換プログラム
US20150309990A1 (en) * 2014-04-25 2015-10-29 International Business Machines Corporation Producing Insight Information from Tables Using Natural Language Processing

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3026879A1 (en) * 2009-08-24 2011-03-10 Nuix North America, Inc. Generating a reference set for use during document review
DE102011005802A1 (de) * 2011-03-18 2012-09-20 Kaltenbach & Voigt Gmbh Elektronisches Registriergerät zur Erfassung von Kieferbewegungen
JP2013120534A (ja) 2011-12-08 2013-06-17 Mitsubishi Electric Corp 関連語分類装置及びコンピュータプログラム及び関連語分類方法
JP5994490B2 (ja) 2012-08-29 2016-09-21 富士通株式会社 データ検索プログラム、データベース装置および情報処理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004334369A (ja) * 2003-05-01 2004-11-25 Nippon Telegr & Teleph Corp <Ntt> 音声対話シナリオ変換方法、音声対話シナリオ変換装置、音声対話シナリオ変換プログラム
US20150309990A1 (en) * 2014-04-25 2015-10-29 International Business Machines Corporation Producing Insight Information from Tables Using Natural Language Processing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TAKASHI OTANI ET AL.: "A Method for Analysis of Table Contents of HTML Format and Its Application", IPSJ SIG NOTES, vol. 2003, no. 23, 7 March 2003 (2003-03-07), pages 137 - 144 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018045625A (ja) * 2016-09-16 2018-03-22 日本電信電話株式会社 表キャプション生成器学習装置、表キャプション生成装置、方法、及びプログラム
US11948098B2 (en) 2018-03-08 2024-04-02 Nec Corporation Meaning inference system, method, and program
US11860910B2 (en) 2019-01-23 2024-01-02 Nec Corporation Information provision system, method, and program
WO2021124469A1 (ja) * 2019-12-18 2021-06-24 株式会社日立製作所 データ意味推定システム及びデータ意味推定方法
WO2021220403A1 (ja) * 2020-04-28 2021-11-04 日本電信電話株式会社 属性推定装置、属性推定方法、プログラム
JP7355232B2 (ja) 2020-04-28 2023-10-03 日本電信電話株式会社 属性推定装置、属性推定方法、プログラム

Also Published As

Publication number Publication date
US11062213B2 (en) 2021-07-13
JP6338036B1 (ja) 2018-06-06
JPWO2018025706A1 (ja) 2018-08-02
US20180240019A1 (en) 2018-08-23

Similar Documents

Publication Publication Date Title
JP6338036B1 (ja) テーブル意味推定システム、方法およびプログラム
US11727203B2 (en) Information processing system, feature description method and feature description program
US20200151608A1 (en) Merging feature subsets using graphical representation
WO2018025707A1 (ja) テーブル意味推定システム、方法およびプログラム
JP5755823B1 (ja) 類似度算出システム、類似度算出方法およびプログラム
JP6506360B2 (ja) 教師データを生成する方法、学習済みモデルを生成する方法、学習済みモデル、コンピュータおよびプログラム
JP5928091B2 (ja) タググループ分類方法、装置及びデータマッシュアップ方法、装置
US20180068009A1 (en) Point-in-time dependent identification for offering interactive services in a user web journey
US10885011B2 (en) Information processing system, descriptor creation method, and descriptor creation program
WO2017078067A1 (ja) 要因解析装置、要因解析方法、及びプログラム
JP6062384B2 (ja) タスク割り当てサーバ、タスク割り当て方法およびプログラム
JP2023541527A (ja) テキスト検出に用いる深層学習モデルトレーニング方法及びテキスト検出方法
JP5140509B2 (ja) 設計事例検索装置,設計事例検索プログラム
US20210232895A1 (en) Flexible Parameter Sharing for Multi-Task Learning
US8495070B2 (en) Logic operation system
WO2006048919A1 (ja) 最適設計管理装置、最適設計計算システム、最適設計管理方法、最適設計管理プログラム
JP5393816B2 (ja) 情報検索装置および情報検索方法
JP6056094B2 (ja) サイト分析システム、サイト分析方法、サーバ装置、及びプログラム
JP7184155B2 (ja) テンソル分解処理システム、方法およびプログラム
JP2019008640A (ja) 類似度計算装置及び類似度計算方法
JP2014056475A (ja) 意思決定支援装置および方法ならびにプログラム
WO2023105610A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6611865B1 (ja) 学習済みモデルを選定する方法、訓練データを生成する方法、学習済みモデルを生成する方法、コンピュータおよびプログラム
JP6410668B2 (ja) 図面情報抽出装置
JP2016053751A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018510896

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15756108

Country of ref document: US

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

Ref document number: 17836812

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

Country of ref document: EP

Kind code of ref document: A1