WO2019171538A1 - 意味推定システム、方法およびプログラム - Google Patents
意味推定システム、方法およびプログラム Download PDFInfo
- Publication number
- WO2019171538A1 WO2019171538A1 PCT/JP2018/008997 JP2018008997W WO2019171538A1 WO 2019171538 A1 WO2019171538 A1 WO 2019171538A1 JP 2018008997 W JP2018008997 W JP 2018008997W WO 2019171538 A1 WO2019171538 A1 WO 2019171538A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- meaning
- column
- candidate
- estimated
- similarity
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
Definitions
- the present invention relates to a meaning estimation system, a meaning estimation method, and a meaning estimation program for estimating the meaning of each column of a table.
- Non-Patent Document 1 describes a technique for calculating a feature amount from each data included in a table column and determining a column label based on the feature amount.
- Patent Document 1 describes a system for estimating the meaning of a table in which the meaning of a column is determined.
- the system described in Patent Document 1 selects the meaning of a finite number of tables, and calculates the accuracy with which the selected meaning corresponds to the meaning of the table. And the system of patent document 1 determines the meaning with the highest accuracy as the meaning of a table
- the following method can be considered as a general method for estimating the meaning of the columns in the table.
- first general method a case where each data stored in the column is a numerical value and a case where each data stored in the column is a character string will be described.
- second general method the former is referred to as “first general method”, and the latter is referred to as “second general method”.
- the first general method is intended for a case where each data stored in a column is a numerical value.
- candidates for meanings of columns storing numerical values and statistical values (for example, average value and standard deviation) corresponding to the candidates are determined in advance.
- a column meaning candidate “Heisei” and a statistical value corresponding to “Heisei” are associated with each other and stored in advance in a storage device.
- “Heisei” is one of the Japanese eras.
- the column meaning candidate “age” and a statistical value corresponding to “age” are associated with each other and stored in advance in the storage device.
- “Heisei” and “age” are illustrated as the meaning candidates of the column storing the numerical values, but other candidates are also associated with the statistical values and stored in the storage device in advance. .
- the statistic of the numerical value stored in the column whose meaning is to be estimated is calculated, and candidates whose statistics are similar are determined as the meaning of the column.
- a table illustrated in FIG. 26 is given as a table whose meaning of each column is an estimation target. Since the second column shown in FIG. 26 stores numerical values, the first general method may be used.
- the meaning candidates of the column storing numerical values are “Heisei” and “age”.
- the similarity between the statistical value of the numerical value stored in the second column shown in FIG. 26 and the statistical value of “Heisei” is denoted as score (Heisei, ⁇ 29, 24, 23 ⁇ ).
- the similarity between the statistical value of the numerical value stored in the second column shown in FIG. 26 and the statistical value of “age” is denoted as score (age, ⁇ 29, 24, 23 ⁇ ).
- score the similarity between the statistical value of the numerical value stored in the second column shown in FIG. 26 and the statistical value of “age” is denoted as score (age, ⁇ 29, 24, 23 ⁇ ).
- KL Kullback-Leibler
- the reciprocal of KL-Divergence is calculated using the statistical values of ⁇ 29, 24, 23 ⁇ and the statistical value of “Heisei” to obtain score (Heisei, ⁇ 29, 24, 23 ⁇ ).
- the second general method is directed to a case where each data stored in a column is a character string.
- candidates for meanings of columns storing character strings and vectors corresponding to the candidates are determined in advance.
- a column meaning candidate “name” and a vector corresponding to “name” are associated with each other and stored in the storage device in advance.
- “name” is exemplified as the meaning candidate of the column storing the character string, but other candidates are also associated with the vector and stored in the storage device in advance.
- the dimension of each vector is common and is assumed to be an n-dimensional vector here. The n-dimensional vector is individually determined for each meaning candidate.
- an n-dimensional vector corresponding to the column is determined.
- Each element of the n-dimensional vector includes various predetermined values such as “weight”, “age”, “sex”,..., “Oyamada”, “Takeoka”, “Hanafusa”,. Corresponds to a word.
- Bag-of-Words is applied to the character string stored in the column, and the number of occurrences of each word included in the character string stored in the column is obtained. Then, the n-dimensional vector may be determined by setting the number of appearances to the value of the element corresponding to the word.
- n-dimensional vector corresponding to the first column shown in FIG. 26 when an n-dimensional vector corresponding to the first column shown in FIG. 26 is determined, “1” is set for the elements corresponding to “Oyamada”, “Takeoka”, “Hanabo”, and “0” is set for all other elements.
- An n-dimensional vector in which is set may be determined. Then, the similarity between the n-dimensional vector corresponding to the column whose meaning is to be estimated and the n-dimensional vector previously associated with each semantic candidate is calculated, and the candidate with the highest similarity is focused on. It may be determined as the meaning of the row.
- the similarity between two n-dimensional vectors for example, the reciprocal of the Euclidean distance between two n-dimensional vectors may be used.
- a probability value obtained from two n-dimensional vectors using Naive Bayes may be used.
- each element of the n-dimensional vector corresponds to a word
- each element of the n-dimensional vector corresponds to various character strings having a predetermined length. Also good.
- the number of occurrences of various character strings of the predetermined length is obtained, and each element of the n-dimensional vector corresponds to that element. What is necessary is just to set the appearance frequency of the character string (character string of predetermined length) to perform.
- Patent Document 2 describes a data processing apparatus that associates items of new data with unknown item specifications with known data with known item specifications.
- Patent Document 3 describes a technique for determining whether or not a plurality of columns having similar attributes are synonymous columns.
- Patent Document 4 describes a table classification device that classifies tables based on the similarity between tables.
- Patent Document 5 describes a system that can automatically extract columns that have a superordinate relationship from each column of a table.
- the above general method for estimating the meaning of a column uses only the data stored in the column. For this reason, the estimation accuracy of the meaning of the column is low. For example, even if the meaning of the second column shown in FIG. 26 is actually “age”, the estimation result of the meaning of the second column may be “Heisei” as in the above example. .
- an object of the present invention is to provide a semantic estimation system, a semantic estimation method, and a semantic estimation program that can estimate the meaning of each column of a table with high accuracy.
- a meaning estimation system is a meaning estimation system for estimating the meaning of a column included in a table, and includes column meaning candidate selection means for selecting a candidate for a meaning of a column to be a meaning estimation target, Column similarity calculation means for calculating, for each meaning candidate selected by the means, a score indicating the similarity between the selected meaning candidate and the meaning of each column other than the column to be estimated included in the table And column meaning specifying means for specifying the meaning of the column to be estimated from the column meaning candidates using the score calculated by the column similarity calculating means.
- a semantic estimation system is a semantic estimation system that estimates the meaning of a column included in a table, and includes column meaning candidate selection means for selecting a candidate for a meaning of a column that is a meaning estimation target, For each meaning candidate selected by the candidate selecting means, a first column table similarity calculating means for calculating a score indicating the similarity between the selected meaning candidate and the meaning of the table, and a first column table similarity Column meaning specifying means for specifying the meaning of the column to be estimated from the column meaning candidates using the score calculated by the calculating means is provided.
- the semantic estimation method is a semantic estimation method for estimating the meaning of a column included in a table, wherein the computer selects a candidate for the meaning of the column that is the target of meaning estimation, and the selected semantic candidate Each time, a column similarity calculation process is performed to calculate a score indicating a similarity between the selected meaning candidate and the meaning of each column other than the column to be estimated included in the table.
- the meaning of the column to be estimated is specified from the column meaning candidates using the score calculated in (1).
- the semantic estimation method is a semantic estimation method for estimating the meaning of a column included in a table, wherein the computer selects a candidate for the meaning of the column that is the target of meaning estimation, and the selected semantic candidate Each time, a first column table similarity calculation process for calculating a score indicating the similarity between the selected meaning candidate and the meaning of the table is executed, and the score calculated in the first column table similarity calculation process is used.
- the meaning of the column to be estimated is specified from the column meaning candidates.
- the semantic estimation program is a semantic estimation program for causing a computer to estimate the meaning of a column included in a table, and the computer selects a column semantic candidate to be a semantic estimation target. For each meaning candidate selected in the meaning candidate selection process and the column meaning candidate selection process, the degree of similarity between the selected meaning candidate and the meaning of each column other than the column to be estimated included in the table is indicated.
- column similarity calculation processing for calculating a score
- column semantic identification processing for specifying the meaning of the column to be estimated from the column meaning candidates using the score calculated in the column similarity calculation processing It is characterized by making it.
- the semantic estimation program is a semantic estimation program for causing a computer to estimate the meaning of a column included in a table, and the computer selects a column semantic candidate to be a semantic estimation target.
- a first column table similarity calculation process for calculating a score indicating the similarity between the selected meaning candidate and the meaning of the table, for each meaning candidate selected in the meaning candidate selection process and the column meaning candidate selection process;
- the column meaning specification process which specifies the meaning of the column used as an estimation object is performed from the candidate of the meaning of a column using the score calculated by the 1st column table similarity calculation process.
- the meaning of each column of the table can be estimated with high accuracy.
- FIG. FIG. 1 is a block diagram illustrating a configuration example of a semantic estimation system according to the first embodiment of this invention.
- the meaning estimation system of the present invention estimates both the meaning of each column of the table and the meaning of the table.
- the semantic estimation system 1 of the present invention includes a table storage unit 2, a data reading unit 3, a semantic set storage unit 4, a semantic initial value assignment unit 5, a table selection unit 6, a column meaning estimation unit 7, a column A meaning storage unit 8, a column meaning recording unit 9, a table meaning estimation unit 10, a table meaning storage unit 11, a table meaning recording unit 12, and an end determination unit 13 are provided.
- the table storage unit 2 is a storage device that stores a table in which the meaning of each column and the meaning of the table are not defined.
- the meaning estimation system 1 estimates the meaning of each column of the table stored in the table storage unit 2 and the meaning of the table. That is, the table storage unit 2 stores a table for which the meaning of each column and the meaning of the table are to be estimated.
- the administrator of the semantic estimation system 1 may store a table in which the meaning of each column and the meaning of the table are not defined in the table storage unit 2 in advance.
- the fact that the administrator stores a table in which the meaning of each column and the meaning of the table are not defined in the table storage unit 2 means that a table for which the meaning of the column and the meaning of the table are to be estimated is given. To do.
- the table storage unit 2 may store one table for estimating the meaning of each column and the meaning of the table, or may store a plurality of tables. However, when a plurality of tables are stored, if there are a plurality of tables associated by the primary key and the foreign key, the table storage unit 2 determines which table is associated with which table. The information shown is also stored in advance. Regarding information indicating which table is associated with which table, for example, the administrator may store the information in the table storage unit 2 in advance.
- the table storage unit 2 stores a plurality of tables for which the meaning of each column and the meaning of the table are to be estimated, and further stores information indicating which table is associated with which table. It will be explained as a thing.
- the data reading unit 3 reads all tables from which the meaning of each column and the meaning of the table should be estimated from the table storage unit 2.
- the data reading unit 3 also reads all information indicating which table is associated with which table from the table storage unit 2.
- the semantic set storage unit 4 is a storage device that stores column meaning candidates and table meaning candidates. In the present embodiment, description will be made assuming that the semantic set storage unit 4 stores the table meaning candidates and the concept dictionary having the table meaning candidates as nodes.
- the concept dictionary is expressed as a graph in which candidates for the meaning of the table and candidates for the meaning of the table are nodes, and candidates (nodes) having similar meanings are connected by links.
- FIG. 2 is a schematic diagram showing an example of a concept dictionary.
- FIG. 2 is an example of a concept dictionary, and the number of nodes included in the concept dictionary is not limited to the example illustrated in FIG.
- the number of nodes included in the concept dictionary is finite.
- Each node of the concept dictionary illustrated in FIG. 2 is a column meaning candidate or a table meaning candidate.
- candidates (nodes) having similar meanings are connected by a link. Therefore, a score indicating the degree of similarity between one meaning and another meaning can be represented by the reciprocal of the number of hops between the two meanings in the concept dictionary.
- the concept dictionary stored in the semantic set storage unit 4 may be a publicly available concept dictionary or a concept dictionary created by the administrator of the semantic estimation system 1.
- the semantic initial value assigning unit 5 sets the initial value of the meaning of the table and the meaning of each column included in the table for each of the plurality of tables read by the data reading unit 3 (that is, a plurality of given tables). Assign an initial value of.
- the initial value of meaning is the meaning assigned first at the start of processing.
- the semantic initial value assigning unit 5 randomly selects a semantic candidate that is a node of the concept dictionary when assigning an initial value of the meaning of each given table, and assigns the semantic candidate as an initial value. Also good. Similarly, the meaning initial value assigning unit 5 randomly selects a meaning candidate that is a node of the concept dictionary when assigning the meaning initial value of each column included in each table. May be assigned as initial values.
- the semantic initial value assigning unit 5 determines the meaning of each column by the above-described general method for estimating the meaning of the column. An initial value may be assigned. In this case, when each data stored in the column is a numerical value, the semantic initial value assigning unit 5 may assign the initial value of the meaning of the column by the first general method described above. When each data stored in the column is a character string, the semantic initial value assigning unit 5 may assign the initial value of the column meaning by the second general method described above. Note that the meanings selected by the first general method and the second general method are included as nodes in the concept dictionary.
- the semantic initial value assigning unit 5 assigns the initial meaning value of each column included in the table before assigning the initial value of the meaning of the table, and then, by the method described in Patent Document 1, A meaning may be obtained, and the meaning may be assigned as an initial value of the meaning of the table. It is assumed that meanings obtained by the method described in Patent Document 1 are also included as nodes in the concept dictionary.
- the table selection unit 6 selects a table one by one from among all the tables after the initial value of the meaning of each column and the meaning of the table are assigned.
- the column meaning estimation unit 7 estimates the meaning of each column included in the table selected by the table selection unit 6. Details of the column meaning estimation unit 7 will be described later with reference to FIG.
- the column meaning storage unit 8 is a storage device that stores the meaning of each column of each table. If the meaning of each column included in the selected table is estimated by the column meaning estimation unit 7, the column meaning recording unit 9 stores the estimation result of the meaning of each column in the table in the column meaning storage unit 8.
- the table meaning estimation unit 10 estimates the meaning of the table selected by the table selection unit 6. Details of the table meaning estimation unit 10 will be described later with reference to FIG.
- the table meaning storage unit 11 is a storage device that stores the meaning of each table. If the meaning of the selected table is estimated by the table meaning estimation unit 10, the table meaning recording unit 12 stores the estimation result of the meaning of the table in the table meaning storage unit 11.
- the table selection unit 6 selects all the tables
- the column meaning estimation unit 7 estimates the meaning of each column included in the selected table
- the table meaning estimation unit 10 selects The process of estimating the meaning of the table is repeatedly executed. Therefore, the meaning of each column of each table stored in the column meaning storage unit 8 and the meaning of each table stored in the table meaning storage unit 11 are updated by repeating the above processing.
- the process repeated in this way may be referred to as a repeated process.
- the end determination unit 13 determines whether or not the end condition for repeating the above processing is satisfied.
- this termination condition include, for example, that the number of repetitions of the above processing has reached a predetermined number, or that the meaning of each column included in each table and the meaning of each table are no longer updated. It is done.
- examples of the end condition are not limited to these examples.
- FIG. 3 is a block diagram illustrating a configuration example of the column meaning estimation unit 7.
- the column meaning estimation unit 7 includes a column selection unit 71, a column meaning candidate acquisition unit 72, a column meaning candidate selection unit 73, a column data score calculation unit 74, a column similarity calculation unit 75, and a first column table similarity.
- a degree calculation unit 76, a column score calculation unit 77, and a column meaning identification unit 78 are provided.
- the column selection unit 71 sequentially selects one column at a time from the columns included in the table selected by the table selection unit 6 one by one.
- the column selected by the column selection unit 71 is a column whose meaning is to be estimated.
- the column meaning candidate acquisition unit 72 acquires a plurality of meaning candidates for the column selected by the column selection unit 71 from the meaning candidates stored in the meaning set storage unit 4.
- a node in the concept dictionary corresponds to a candidate for meaning.
- the column meaning candidate acquisition unit 72 may acquire all the meaning candidates indicated by the nodes in the concept dictionary.
- the column meaning candidate acquisition unit 72 may select any k nodes from the nodes in the concept dictionary, and acquire k meaning candidates corresponding to these nodes.
- the column meaning candidate acquisition unit 72 identifies a node in the concept dictionary corresponding to the meaning assigned to the currently selected column, and selects k nodes within a predetermined number of hops from the node.
- K meaning candidates corresponding to the nodes may be acquired.
- the value of k and the value of the predetermined number of hops may be determined in advance as constants.
- the plurality of meaning candidates acquired by the column meaning candidate acquisition unit 72 will be referred to as a column meaning candidate set.
- the column semantic candidate selection unit 73 sequentially selects semantic candidates one by one from the column semantic candidate set.
- the column data score calculation unit 74 based on each data stored in the column selected by the column selection unit 71, the meaning candidate selected by the column meaning candidate selection unit 73 corresponds to the meaning of the selected column. A score indicating the degree to be performed is calculated.
- the column data score calculation unit 74 may calculate the similarity in the above-described general method for estimating the meaning of the column as the score. For example, when each data stored in the selected column is a numerical value, the column data score calculation unit 74 uses the statistical value of the numerical value and the statistical value corresponding to the selected meaning candidate, The reciprocal of KL-Divergence is calculated, and the value may be used as the score.
- the column data score calculation unit 74 determines an n-dimensional vector based on each character string, and selects the n-dimensional vector and the selection The reciprocal of the Euclidean distance from the n-dimensional vector corresponding to the given meaning candidate may be used as the score.
- the column data score calculation unit 74 may use a probability value obtained from the two n-dimensional vectors using Naive Bayes as a score. Note that statistical values and n-dimensional vectors corresponding to various meaning candidates may be stored in advance in a storage device (not shown in FIG. 1) for storing the data.
- the score calculation method (score calculation method in the column data score calculation unit 74) indicating the degree to which the selected meaning candidate corresponds to the meaning of the selected column is not limited to the above example.
- the column data score calculation unit 74 may calculate the score by another method.
- the column similarity calculation unit 75 includes the meanings of individual columns other than the column (the column selected by the column selection unit 71) to be estimated of the meaning of the table selected by the table selection unit 6, and column meaning candidates. A score indicating the degree of similarity with the meaning candidate selected by the selection unit 73 is calculated.
- the semantic initial value assigning unit 5 assigns the initial value of meaning to all the columns of all the tables, so that the column similarity calculating unit 75 is selected even in the first iterative process. A meaning is assigned to each column of the table.
- FIG. 4 is a schematic diagram showing an example of a column whose meaning is to be estimated and individual columns other than the column. “?” Shown in FIG. 4 indicates that the column is a column whose meaning is to be estimated (the column selected by the column selection unit 71). In the example shown in FIG. 4, it is assumed that the third column is a column whose meaning is to be estimated.
- the meaning candidate selected by the column meaning candidate selection unit 73 is X and the meaning of the other one column is Y, the similarity between X and Y is written as sim (X, Y). .
- the column similarity calculation unit 75 sequentially selects columns other than the column whose meaning is to be estimated, one column at a time, and the similarity between the meaning of the selected column and the meaning candidate selected by the column meaning candidate selection unit 73 The degree is calculated, and the sum of the similarities is calculated as the above score.
- the column similarity calculation unit 75 obtains sim (X, Y) as the reciprocal of the number of hops between X and Y in the concept dictionary. By this calculation, the higher the similarity between X and Y, the larger the value of sim (X, Y) can be obtained.
- the column similarity calculation unit 75 calculates sim (Heisei, name) + sim (Heisei, height) and selects the calculation result as the meaning of each column other than the column whose meaning is to be estimated.
- the column similarity calculation unit 75 calculates sim (age, name) + sim (age, height) and selects the calculation result as the meaning of each column other than the column whose meaning is to be estimated.
- the column similarity calculation unit 75 calculates the above score for each meaning candidate selected by the column meaning candidate selection unit 73.
- the first column table similarity calculation unit 76 calculates the meaning of the table selected by the table selection unit 6 and the meaning candidate (meaning candidate of the column to be estimated) selected by the column meaning candidate selection unit 73. A score indicating the degree of similarity is calculated.
- the semantic initial value assigning unit 5 assigns the initial value of the meaning of the table to all the tables, so even if the first column table similarity calculating unit 76 operates in the first iteration process. A meaning is assigned to the selected table.
- FIG. 5 is a schematic diagram showing an example of a meaning estimation target column and a meaning of a table including the column.
- “?” Indicates a column (a column selected by the column selection unit 71) that is a meaning estimation target.
- the third column is a column whose meaning is to be estimated.
- the meaning assigned to the table is “human”.
- the meaning candidate selected by the column meaning candidate selection unit 73 is X and the meaning of the selected table is Z
- the similarity between X and Z is written as sim (X, Z).
- the method for calculating sim (X, Z) is the same as the method for calculating sim (X, Y) described above.
- the column similarity calculation unit 75 may obtain sim (X, Z) as the reciprocal of the number of hops between X and Z in the concept dictionary. As the similarity between X and Z is higher, the value of sim (X, Z) can be obtained as a larger value.
- the first column table similarity calculation unit 76 calculates sim (X, Z) as a score indicating the similarity between the selected meaning candidate X and the selected table meaning Z.
- the meaning candidate selected by the column meaning candidate selection unit 73 is “Heisei”.
- the first column table similarity calculation unit 76 sets sim (Heisei, human) as a score indicating the similarity between “Heisei” and “human (meaning of the table illustrated in FIG. 5)”.
- the meaning candidate selected by the column meaning candidate selection unit 73 is age.
- the first column table similarity calculation unit 76 calculates the above score for each meaning candidate selected by the column meaning candidate selection unit 73.
- the column score calculation unit 77 calculates the score of the candidate for the meaning selected by the column meaning candidate selection unit 73 in the selected column (the column for which the meaning is to be estimated). Specifically, the column score calculating unit 77 calculates the sum of the scores calculated by the column data score calculating unit 74, the column similarity calculating unit 75, and the first column table similarity calculating unit 76 for the selected meaning candidates. Is calculated as the score of the selected semantic candidate in the column.
- the meaning candidate selected by the column meaning candidate selection unit 73 is “Heisei”.
- the score calculated by the column data score calculation unit 74 for “Heisei” is 0.7.
- the meaning candidate selected by the column meaning candidate selection unit 73 is “age”.
- the column data score calculation unit 74 assumes that the score calculated for “age” is 0.5.
- the first column table similarity calculation unit 76 calculates 1.0 as sim (age, human) as a score.
- the column score calculating unit 77 calculates the above score for each meaning candidate selected by the column meaning candidate selecting unit 73.
- FIG. 6 is an explanatory diagram showing score calculation formulas calculated by the column score calculation unit 77, taking the meaning candidates “Heisei” and “age” as an example.
- a term indicated by a symbol A is a term calculated by the column similarity calculation unit 75.
- the term indicated by the symbol B is a term calculated by the first column table similarity calculation unit 76.
- the column meaning specifying unit 78 specifies the meaning of the column to be estimated based on the score of each candidate calculated by the column score calculating unit 77.
- the column meaning specifying unit 78 may specify the meaning candidate having the maximum score calculated by the column score calculating unit 77 as the meaning of the column to be estimated.
- the column meaning recording unit 9 uses the meaning specified by the column meaning specifying unit 78 as an estimation result of the meaning of the selected column in the selected table, as shown in FIG. ).
- the column meaning specifying unit 78 may specify a plurality of meanings of columns to be estimated.
- the column meaning specifying unit 78 may specify the upper predetermined number of meaning candidates as the meaning of the column to be estimated, in descending order of the score calculated by the column score calculating unit 77.
- the column meaning specifying unit 78 may specify each of the meaning candidates whose score calculated by the column score calculating unit 77 is equal to or greater than a threshold as the meaning of the column to be estimated.
- the threshold value is a predetermined constant.
- the column meaning specifying unit 78 specifies the meaning candidate having the maximum score calculated by the column score calculating unit 77 as the meaning of the column to be estimated. This will be described as an example. That is, a case where one meaning of a column to be estimated is specified will be described as an example.
- FIG. 7 is a block diagram illustrating a configuration example of the table meaning estimation unit 10.
- the table meaning estimation unit 10 includes a table meaning candidate acquisition unit 101, a table meaning candidate selection unit 102, a second column table similarity calculation unit 103, a table similarity calculation unit 104, a table score calculation unit 105, a table And a meaning specifying unit 106.
- the table meaning candidate acquisition unit 101 acquires a plurality of candidate meanings of the table selected by the table selection unit 6 (see FIG. 1) from the meaning candidates stored in the meaning set storage unit 4.
- the table meaning candidate acquisition unit 101 may acquire all the meaning candidates indicated by the nodes of the concept dictionary.
- the table meaning candidate acquisition unit 101 may select arbitrary h nodes from the nodes in the concept dictionary and acquire h meaning candidates corresponding to these nodes.
- the table meaning candidate acquisition unit 101 identifies a node in the concept dictionary corresponding to the meaning of the currently selected table, selects h nodes within a predetermined number of hops from the node, and selects those nodes. You may acquire h meaning candidates corresponding to.
- the value of h and the value of the predetermined number of hops may be determined in advance as constants.
- a plurality of meaning sets acquired by the table meaning candidate acquisition unit 101 will be referred to as a table meaning candidate set.
- the table meaning candidate selection unit 102 sequentially selects meaning candidates one by one from the table meaning candidate set.
- the second column table similarity calculation unit 103 calculates a score indicating the similarity between the meaning candidate selected by the table meaning candidate selection unit 102 and the meaning of each column of the selected table.
- the selected meaning candidate (table meaning candidate) is Z.
- the meaning of the column is X.
- the similarity between Z and X is denoted as sim (Z, X).
- the calculation method of sim (Z, X) is the same as the calculation method of sim (X, Y) and sim (Z, X) described above. That is, the second column table similarity calculation unit 103 may obtain sim (Z, X) as the reciprocal of the number of hops between Z and X in the concept dictionary. The higher the similarity between Z and X, the larger the value of sim (Z, X) can be obtained.
- the second column table similarity calculation unit 103 sequentially selects columns included in the selected table one column at a time, the meaning candidates selected by the table meaning candidate selection unit 102, the meaning of the selected column, And the sum of the similarities is calculated as the above score.
- FIG. 8 is a schematic diagram showing an example of a table (selected table) whose meaning is to be estimated. Assume that the meaning assigned to the selected table is “human”, and the meaning of each column included in the table is “height”, “name”, and “age”. In this case, the second column table similarity calculation unit 103 may calculate sim (human, height) + sim (human, name) + sim (human, age) as the score.
- the second column table similarity calculation unit 103 calculates the above score for each meaning candidate selected by the table meaning candidate selection unit 102.
- the second column table similarity calculation unit 103 calculates a score by the above method.
- the second column table similarity calculation unit 103 may calculate the score by another method.
- the second column table similarity calculation unit 103 calculates the accuracy that the candidate of the meaning of the selected table corresponds to the meaning of the table by the method described in Patent Document 1, and uses the accuracy as a score. May be.
- the table similarity calculation unit 104 specifies a table associated with the selected table based on information indicating which table is associated with which table. There may be a plurality of tables associated with the selected table. As already described, information indicating which table is associated with which table is stored in the table storage unit 2 in advance.
- the table similarity calculation unit 104 calculates the similarity between the meaning candidate selected in the selected table (the table whose meaning is to be estimated) and the meanings of other individual tables associated with the table. Calculate the score shown.
- the meaning candidate selected as described above (table meaning candidate) is defined as Z.
- the value of m may be 1 or 2 or more.
- the meanings of the m tables are W 1 to W m .
- the table similarity calculation unit 104 may calculate the above score by calculating the following equation (1).
- the calculation method of the sim (Z, W i) is the same as the calculation method of the aforementioned sim (X, Y) and sim (Z, X). That is, Table similarity calculating unit 104 may be determined as the reciprocal of the number of hops between the Z and W i in concept dictionary.
- the concept dictionary used by the table similarity calculation unit 104 to calculate the above score may be stored in the semantic set storage unit 4 in advance separately from the concept dictionary described so far.
- the concept dictionary is referred to as a second concept dictionary.
- the meanings of tables that are easily associated are connected by links.
- the table similarity calculation unit 104 includes a column similarity calculation unit 75, a first column table similarity calculation unit 76, and a first similarity table. The reciprocal of the number of hops may be obtained by using a concept dictionary that is the same as the concept dictionary used by the second column table similarity calculation unit 103.
- FIG. 9 is a schematic diagram illustrating an example of a plurality of associated tables.
- the table 51 is a selected table (a table whose meaning is to be estimated).
- the tables 52 and 53 are tables associated with the table 51.
- CID shown in FIG. 9 is synonymous with “Customer ID”
- IID is synonymous with “Item ID”.
- the meaning of Table 52 is “customer” and the meaning of Table 53 is “product”.
- the table meaning candidate set in Table 51 includes “human”, “purchasing history”, and the like.
- m 2
- customer corresponds to W 1
- product corresponds to W 2 .
- the table similarity calculation unit 104 may obtain the above score by calculating sim (human, customer) + sim (human, product). .
- the table similarity calculation unit 104 sets the above score as sim (purchasing history, customer) + sim (purchasing history, product). What is necessary is just to obtain
- the table similarity calculation unit 104 calculates the score for each meaning candidate selected by the table meaning candidate selection unit 102.
- the table score calculation unit 105 calculates the score calculated by the second column table similarity calculation unit 103 and the table similarity for each meaning candidate selected by the table meaning candidate selection unit 102 with respect to the table whose meaning is to be estimated. The sum with the score calculated by the calculation unit 104 is calculated.
- the table meaning specifying unit 106 specifies the meaning of the table to be estimated based on the score of each candidate calculated by the table score calculating unit 105.
- the table meaning specifying unit 106 may specify the meaning candidate having the maximum score calculated by the table score calculating unit 105 as the meaning of the table to be estimated.
- the table meaning recording unit 12 stores the meaning specified by the table meaning specifying unit 106 in the table meaning storage unit 11 (see FIG. 1) as an estimation result of the meaning of the selected table.
- the table meaning specifying unit 106 may specify a plurality of meanings of the table to be estimated. For example, the table meaning specifying unit 106 may specify the top predetermined number of meaning candidates as the meaning of the table to be estimated, in descending order of the scores calculated by the table score calculating unit 105. Further, for example, the table meaning identification unit 106 may identify each meaning candidate whose score calculated by the table score calculation unit 105 is equal to or greater than a threshold as the meaning of the table to be estimated. The threshold value is a predetermined constant. When a plurality of meanings of a table to be estimated are specified, the table meaning recording unit 12 associates each specified meaning with a score of the meaning (score calculated by the table score calculation unit 105). And stored in the table meaning storage unit 11.
- the table meaning specifying unit 106 specifies the meaning candidate having the maximum score calculated by the table score calculating unit 105 as the meaning of the table to be estimated. This will be described as an example. That is, a case where one meaning of a table to be estimated is specified will be described as an example.
- the candidate selection unit 102, the second column table similarity calculation unit 103, the table similarity calculation unit 104, the table score calculation unit 105, and the table meaning identification unit 106), the table meaning recording unit 12, and the end determination unit 13 are, for example, , Realized by a computer processor (eg, CPU (Central Processing Unit), GPU (Graphics Processing Unit), FPGA (Field-Programmable Gate Array)) that operates according to a semantic estimation program.
- the processor reads the meaning estimation program from a program recording medium such as a program storage device.
- the processor reads the data reading unit 3, the semantic initial value allocation unit 5, the table selection unit 6, the column semantic estimation unit 7 (the column selection unit 71, the column semantic candidate acquisition unit 72, the column semantic candidate selection).
- FIG. 11 and FIG. 12 are flowcharts showing an example of processing progress of the meaning estimation system 1 of the present invention. In the following description, description of items already described will be omitted as appropriate.
- the data reading unit 3 reads all tables from which the meaning of each column and the meaning of the table are not defined from the table storage unit 2 (step S1).
- the semantic initial value assigning unit 5 assigns an initial value of the meaning of the table and an initial value of the meaning of each column included in the table to each of the plurality of tables read by the data reading unit 3 (Step S1). S2). Since the example of the method of assigning the initial value of the table and the initial value of the meaning of each column has already been described, the description thereof is omitted here.
- the semantic initial value assigning unit 5 stores the initial value of the meaning of each column included in each table in the column meaning storage unit 8. Further, the semantic initial value assigning unit 5 stores the initial meaning values of the respective tables in the table meaning storing unit 11.
- step S2 the table selection unit 6 selects one unselected table from all the tables (step S3).
- Steps S4 to S12 and Step S14 are executed by elements included in the column meaning estimation unit 7 (see FIG. 3).
- step S3 the column selection unit 71 selects one unselected column from the table selected in step S3 (step S4).
- the column meaning candidate acquisition unit 72 acquires a plurality of meaning candidates for the column selected in step S4 from the meaning candidates stored in the meaning set storage unit 4 (step S5).
- the column meaning candidate acquisition unit 72 acquires a column meaning candidate set related to the column selected in step S4. Since an example of a method for acquiring a column meaning candidate set (a plurality of meaning candidates) has already been described, description thereof is omitted here.
- the column meaning candidate selection unit 73 selects one candidate of meaning that has not been selected (column meaning candidate) from the column meaning candidate set (step S6).
- the column data score calculation unit 74 is a score indicating the degree to which the meaning candidate selected in step S6 corresponds to the meaning of the selected column based on each data stored in the selected column. Is calculated (step S7). Since the example of the operation
- the column similarity calculation unit 75 calculates the similarity between the meanings of individual columns other than the column selected in step S4 in the table selected in step S3 and the meaning candidates selected in step S6. Is calculated (step S8). Since the operation
- the first column table similarity calculation unit 76 calculates a score indicating the similarity between the meaning of the table selected in step S3 and the meaning candidate selected in step S6 (step S9). Since the operation for calculating the score by the first column table similarity calculation unit 76 has already been described, the description thereof is omitted here.
- the column score calculation unit 77 calculates the sum of the scores calculated in steps S7, S8, and S9 with respect to the meaning candidate selected in step S6 (step S10).
- the column meaning candidate selection unit 73 determines whether or not there is a meaning candidate for an unselected column in the column meaning candidate set (step S11).
- step S11 When there is a meaning candidate for an unselected column (Yes in step S11), the processing from step S6 is repeated.
- step S11 If there is no meaning candidate for the unselected column (No in step S11), the process proceeds to step S12.
- the column score calculation unit 77 calculates a score in step S10.
- the column meaning specifying unit 78 specifies the meaning of the selected column based on the score calculated in step S10 for each column meaning candidate.
- the column meaning specifying unit 78 specifies the candidate of the meaning having the maximum score as the meaning of the selected column.
- the column meaning recording unit 9 stores the meaning of the column specified in step S12 in the column meaning storage unit 8 in association with the column (step S13).
- the column selection unit 71 determines whether or not there is an unselected column in the table selected in step S3 (step S14).
- step S14 If there is an unselected column (Yes in step S14), the processing after step S4 is repeated.
- step S14 If there is no unselected column (No in step S14), the table meaning estimation unit 10 performs the operations of steps S15 to S21 shown below. Steps S15 to S21 shown below are executed by elements (see FIG. 7) included in the table meaning estimation unit 10.
- the table meaning candidate acquisition unit 101 selects the meaning candidates of the table selected in Step S3 from the meaning candidates stored in the meaning set storage unit 4. A plurality of items are acquired (step S15). In other words, the table meaning candidate acquisition unit 101 acquires a table meaning candidate set related to the table selected in step S3. Since an example of a method for acquiring a table meaning candidate set (a plurality of meaning candidates) has already been described, description thereof is omitted here.
- the table meaning candidate selection unit 102 selects one unselected meaning candidate (table meaning candidate) from the table meaning candidate set (step S16).
- the second column table similarity calculation unit 103 calculates a score indicating the similarity between the meaning of each column in the table selected in Step S3 and the meaning candidate selected in Step S16 (Step S16). S17). Since the operation for calculating the score by the second column table similarity calculation unit 103 has already been described, the description thereof is omitted here.
- the table similarity calculation unit 104 calculates a score indicating the similarity between the meaning of each table associated with the table selected in step S3 and the meaning candidate selected in step S16 ( Step S18). Since the operation
- the table score calculation unit 105 calculates the sum of the scores calculated in steps S17 and S18 for the meaning candidate selected in step S16 (step S19).
- the table meaning candidate selection unit 102 determines whether or not there is a meaning candidate for an unselected table in the table meaning candidate set (step S20).
- step S20 If there is a meaning candidate in the unselected table (Yes in step S20), the processes in and after step S16 are repeated.
- step S21 the table score calculation unit 105 calculates the score in step S19 for each candidate table meaning.
- step S21 the table meaning specifying unit 106 specifies the meaning of the selected table based on the score calculated in step S19 for each candidate of the table. In this example, the table meaning specifying unit 106 specifies the meaning candidate having the maximum score as the meaning of the selected table.
- the table meaning recording unit 12 stores the meaning of the table specified in step S21 in the table meaning storage unit 11 in association with the table (step S22).
- the table selection unit 6 determines whether there is an unselected table (step S23).
- step S23 If there is an unselected table (Yes in step S23), the processing after step S3 is repeated.
- step S24 determines whether or not the end condition of the repetition process is satisfied. Specifically, this iterative process is a process from step S3 to step S25 when it is determined in step S24 that the end condition is not satisfied. That is, the process from step S3 to step S25 corresponds to one repetitive process. As described above, as an example of the end condition, for example, the number of repetitions of the iteration process has reached a predetermined number, or the meaning of each column included in each table and the meaning of each table are not updated. Etc.
- step S24 If the termination condition is not satisfied (No in step S24), the table selection unit 6 determines that all tables have not been selected (step S25). At this time, the table selection unit 6 determines that the individual columns of all the tables are not selected. After step S25, the processes after step S3 are repeated.
- step S24 If the end condition is satisfied (Yes in step S24), the process ends.
- the score indicating the similarity between the meaning of the column selected in the table (the column to be estimated) and the meaning of the other individual columns in the table is calculated in step S10 by adding a score indicating the similarity between the meaning candidate and the meaning of the table (score calculated in step S9). To do. Then, the column meaning specifying unit 78 specifies the meaning of the column based on the score calculated for each column meaning candidate. Therefore, the meaning of each column of the table can be estimated with high accuracy.
- a score indicating the similarity between a table meaning candidate and the meaning of each column in the table (score calculated in step S17), the meaning candidate
- the table score calculation unit 105 calculates a score that takes into account a score (score calculated in step S18) indicating the similarity to the meaning of each table associated with the table.
- the table meaning specifying unit 106 specifies the meaning of the table based on the score calculated for each candidate of the table meaning. Therefore, the meaning of the table can be estimated with high accuracy.
- the column meaning specifying unit 78 specifies the meaning candidate having the maximum score as the meaning of the selected column in step S12 has been described as an example.
- one meaning is specified for the column whose meaning is to be estimated.
- the column meaning specifying unit 78 may specify a plurality of meanings of columns to be estimated.
- the column meaning recording unit 9 stores a plurality of meanings (column meanings) specified in step S12 in the column meaning storage unit 8 together with the score calculated in step S10.
- FIG. 13 is a schematic diagram illustrating an example of a table including a column to which a meaning is to be estimated and a column to which a plurality of meanings are assigned. In order to simplify the description, in FIG. 13, the number of columns is two. Assume that two meanings “name” and “prefecture name” are assigned to the first column shown in FIG.
- the numerical value shown in parenthesis is a score corresponding to the meaning.
- the second column shown in FIG. 13 is a column (a column selected in step S ⁇ b> 4) whose meaning is to be estimated.
- the meaning candidate selected for the second column is denoted by the symbol X.
- the column similarity calculation unit 75 uses only the “name” having the highest score in the example illustrated in FIG. Name). Even when a column other than the column whose meaning is to be estimated exists in addition to the first column, the column similarity calculation unit 75 performs the same calculation for each column and calculates the sum in step S8. The score may be used.
- the column similarity calculating unit 75 calculates sim () for each meaning assigned to the other column, The calculation result may be weighted and added using a score associated with the meaning. For example, in the case illustrated in FIG. 13, the column similarity calculation unit 75 may calculate the similarity between the meaning candidate “X” and the meaning of the first column as follows. (4.5 / (4.5 + 3.5)) x sim (X, name) + (3.5 / (4.5 + 3.5)) x sim (X, prefecture name)
- the column similarity calculation unit 75 performs the same calculation as above for each column, and calculates the sum of the steps. It is good also as a calculation score in S8.
- FIG. 14 is a schematic diagram illustrating a table including columns to which a plurality of meanings are assigned, and candidates for the meaning of the table. In FIG. 14, only one column is shown for ease of explanation. Moreover, the meaning candidate of a table
- the numerical value shown in parenthesis is a score corresponding to the meaning.
- the second column table similarity calculation unit 103 uses only the “name” having the highest score in the column shown in FIG. (Z, name) may be calculated.
- the second column table similarity calculation unit 103 may perform the same calculation for other columns (not shown in FIG. 14) for each column, and use the sum as the calculated score in step S17.
- the second column table similarity calculating unit 103 calculates sim () for each meaning assigned to the one column.
- the calculation result may be weighted and added using the score associated with the meaning.
- the similarity between the table meaning candidate “Z” and the meaning of one column shown in FIG. 14 may be calculated as follows. (4.5 / (4.5 + 3.5)) x sim (Z, name) + (3.5 / (4.5 + 3.5)) x sim (Z, prefecture name)
- the second column table similarity calculation unit 103 performs the same calculation for other columns (not shown in FIG. 14) for each column, and the sum is used as the calculation score in step S17.
- the table meaning specifying unit 106 specifies the meaning candidate having the maximum score as the meaning of the selected table in step S21 has been described as an example.
- one meaning is specified for the selected table.
- the table meaning specifying unit 106 may specify a plurality of table meanings.
- the table meaning recording unit 12 stores the plurality of meanings (table meanings) specified in step S21 in the table meaning storage unit 11 together with the score calculated in step S19.
- FIG. 15 is a schematic diagram illustrating examples of meanings to be estimated and a plurality of meanings assigned to the table. In order to simplify the description, in FIG. 15, illustration of columns other than the column whose meaning is to be estimated is omitted.
- the selected meaning candidate (sequence meaning candidate) is represented by symbol X.
- the numerical value shown in parenthesis is a score corresponding to the meaning.
- the first column table similarity calculation unit 76 uses only the “researcher” with the highest score in the example shown in FIG. Sim (X, researcher) may be calculated. And the 1st column table similarity calculation part 76 should just make the calculation result the calculation score in step S9.
- the first column table similarity calculation unit 76 calculates sim () for each meaning assigned to the table, and the calculation result is assigned to the score associated with the meaning. May be used for weighted addition.
- the first column table similarity calculating unit 76 may calculate the meaning candidate “X” and the meaning of the table meaning as follows. (4.5 / (4.5 + 3.5)) x sim (X, researcher) + (3.5 / (4.5 + 3.5)) x sim (X, customer)
- the first column table similarity calculation unit 76 may use the calculation result as the calculation score in step S9.
- FIG. 16 is a schematic diagram illustrating an example of a table whose meaning is to be estimated and another table associated with the table.
- a table 51 illustrated in FIG. 16 is a table that is a target of meaning estimation.
- the meaning candidate selected in Table 51 is represented by the symbol Z.
- the table 52 is a table associated with the table 51. Assume that two meanings “customer” and “researcher” are assigned to the table 52.
- the numerical value shown in parenthesis is a score corresponding to the meaning.
- the table similarity calculation unit 104 uses only “customer” having the highest score in the example illustrated in FIG. Customer).
- the table similarity calculation unit 104 may perform the same calculation for each table for other tables associated with the table 51, and use the sum as the calculation score in step S18.
- the table similarity calculation unit 104 calculates sim for each meaning assigned to the other table. () May be calculated, and the calculation result may be weighted and added using a score associated with the meaning. For example, in the case illustrated in FIG. 16, the table similarity calculation unit 104 may calculate the similarity between the meaning candidate “Z” and the meaning of the table 52 as follows. (4.5 / (4.5 + 3.5)) ⁇ sim (Z, customer) + (3.5 / (4.5 + 3.5)) ⁇ sim (Z, researcher)
- the table similarity calculation unit 104 may perform the same calculation as described above for each table associated with the table 51, and use the sum as the calculated score in step S18.
- FIG. 17 is a block diagram illustrating a configuration example of a semantic estimation system according to the second embodiment of this invention. Elements similar to those shown in FIG. 1 are denoted by the same reference numerals as those in FIG. The configuration is the same as that shown in FIG. 1 except that the table meaning estimation unit 10 and the table meaning recording unit 12 are not provided. In the second embodiment, the meaning estimation system 1 does not include the table meaning estimation unit 10 and therefore does not estimate the meaning of the table.
- the meaning estimation system 1 does not execute the processes of steps S15 to S22 described above. That is, in step S14, when the column selection unit 71 determines that there is no unselected column (No in step S14), the process proceeds to step S23, and the table selection unit 6 determines whether there is an unselected table. Can be determined. About another point, it is the same as that of the process progress demonstrated in 1st Embodiment.
- the meaning of the table need not be defined in the table stored in the table storage unit 2 in advance. Even in such a case, the semantic initial value assigning unit 5 assigns the initial value of the meaning of the table, so the first column table similarity calculating unit 76 (see FIG. 3) executes the score calculation in step S9. Can do. If the meaning of the table is not defined, the score calculation process in step S9 may be omitted. A configuration example of the column meaning estimation unit 7 that omits the score calculation process in step S9 will be described later.
- the meaning of the table may be determined in advance in the table stored in the table storage unit 2.
- the semantic initial value assigning unit 5 may assign a predetermined meaning of the table as an initial value of the meaning of the table.
- the meaning of the table is not updated from the initial value.
- the score indicates the similarity between the meaning candidate of the column selected in the table (the column to be estimated) and the meaning of the other individual columns in the table.
- the column score calculation unit 77 calculates a score in consideration of the score (calculated score) and a score indicating the similarity between the meaning candidate and the meaning of the table (score calculated in step S9) in step S10. .
- the column meaning specifying unit 78 specifies the meaning of the column based on the score calculated for each column meaning candidate. Therefore, the meaning of each column of the table can be estimated with high accuracy.
- FIG. 18 is a block diagram illustrating a configuration example of a semantic estimation system according to the third embodiment of this invention. Elements similar to those shown in FIG. 1 are denoted by the same reference numerals as those in FIG. The configuration is the same as that shown in FIG. 1 except that the column meaning estimation unit 7 and the column meaning recording unit 9 are not provided.
- the meaning estimation system 1 does not include the column meaning estimation unit 7, and thus does not estimate the meaning of each column in the table.
- the semantic estimation system 1 does not execute the processes of steps S4 to S14 described above. That is, after the table selection unit 6 selects one table in step S3, the process proceeds to step S15, and the table meaning candidate acquisition unit 101 may acquire the table meaning candidate set of the selected table. About another point, it is the same as that of the process progress demonstrated in 1st Embodiment.
- the meaning of each column may not be defined. Even in that case, since the semantic initial value assigning unit 5 assigns the initial value of the meaning of each column of each table, the second column table similarity calculating unit 103 (see FIG. 7) calculates the score in step S17. Processing can be executed. If the meaning of each column in each table is not defined, the score calculation process in step S17 may be omitted. A configuration example of the table meaning estimation unit 10 that omits the score calculation process in step S17 will be described later.
- the meaning may be defined for each column of each table stored in the table storage unit 2 in advance.
- the semantic initial value assigning unit 5 may assign the meaning of each column of each table determined in advance as the initial value of the meaning of each column.
- the meaning of each column in each table is not updated from the initial value.
- a score indicating the degree of similarity between a table meaning candidate and the meaning of each column of the table (score calculated in step S17), the meaning candidate, and the table
- the table score calculation unit 105 calculates a score that takes into account a score indicating the degree of similarity with the meaning of each associated table (the score calculated in step S18). Then, the table meaning specifying unit 106 specifies the meaning of the table based on the score calculated for each candidate of the table meaning. Therefore, the meaning of the table can be estimated with high accuracy.
- the column meaning estimation unit 7 may omit the score calculation process in step S8 described in the first embodiment.
- FIG. 19 is a block diagram illustrating a configuration example of the column meaning estimation unit 7 in this case.
- the same elements as those shown in FIG. 3 are denoted by the same reference numerals as those in FIG.
- the configuration is the same as that shown in FIG. 3 except that the column similarity calculation unit 75 is not provided.
- the column meaning estimation unit 7 does not include the column similarity calculation unit 75, and therefore does not perform the score calculation process in step S8.
- step S8 since the score calculation process in step S8 is not performed, the column score calculation unit 77 shown in FIG. 19 calculates the sum of the scores calculated in steps S7 and S9 in step S10 (see FIG. 10).
- the column score calculation unit 77 uses the score (score calculated in step S9) indicating the similarity between the meaning of the column to be estimated and the meaning of the table in step S10. calculate. Then, the column meaning specifying unit 78 specifies the meaning of the column based on the score calculated for each column meaning candidate. Therefore, the meaning of each column of the table can be estimated with high accuracy.
- the column meaning estimation unit 7 may omit the score calculation process in step 9 described in the first embodiment.
- FIG. 20 is a block diagram illustrating a configuration example of the column meaning estimation unit 7 in this case.
- the same elements as those shown in FIG. 3 are denoted by the same reference numerals as those in FIG.
- the configuration is the same as that shown in FIG. 3 except that the first column table similarity calculation unit 76 is not provided.
- the column meaning estimation unit 7 does not include the first column table similarity calculation unit 76, and therefore does not perform the score calculation process in step S9.
- step S9 since the score calculation process in step S9 is not performed, the column score calculation unit 77 shown in FIG. 20 calculates the sum of the scores calculated in steps S7 and S8 in step S10 (see FIG. 10).
- a column score is calculated by adding a score (score calculated in step S8) indicating the degree of similarity between the column meaning candidates to be estimated and the meanings of the other individual columns in the table.
- the calculation unit 77 calculates in step S10.
- the column meaning specifying unit 78 specifies the meaning of the column based on the score calculated for each column meaning candidate. Therefore, the meaning of each column of the table can be estimated with high accuracy.
- the table meaning estimation unit 10 may omit the score calculation process in step S17 described in the first embodiment. If the score calculation process in step S17 is omitted, the process in step S19 may be omitted.
- FIG. 21 is a block diagram illustrating a configuration example of the table meaning estimation unit 10 in this case. The same elements as those shown in FIG. 7 are denoted by the same reference numerals as those in FIG. Except that the second column table similarity calculation unit 103 and the table score calculation unit 105 are not provided, the configuration is the same as that shown in FIG. In the present modification, the table meaning estimation unit 10 does not include the second column table similarity calculation unit 103 and the table score calculation unit 105, and thus performs the score calculation process in step S17 and the score addition process in step S19. Absent.
- step S21 the table meaning identification unit 106 identifies the meaning of the selected table based on the score calculated in step S18. This point is different from step S21 of the first embodiment and the third embodiment.
- the table meaning specifying unit 106 uses the score (score calculated in step S18) indicating the degree of similarity between a table meaning candidate and the meaning of each table associated with the table. Identify the meaning of the table. Therefore, the meaning of the table can be estimated with high accuracy.
- the table meaning estimation unit 10 may omit the score calculation process in step S18 described in the first embodiment. If the score calculation process in step S18 is omitted, the process in step S19 may be omitted.
- FIG. 22 is a block diagram illustrating a configuration example of the table meaning estimation unit 10 in this case. The same elements as those shown in FIG. 7 are denoted by the same reference numerals as those in FIG. Except for not including the table similarity calculation unit 104 and the table score calculation unit 105, the configuration is the same as that shown in FIG. In the present modification, the table meaning estimation unit 10 does not include the table similarity calculation unit 104 and the table score calculation unit 105, and thus does not perform the score calculation process in step S18 and the score addition process in step S19.
- step S21 the table meaning specifying unit 106 specifies the meaning of the selected table based on the score calculated in step S17. This point is different from step S21 of the first embodiment and the third embodiment.
- the table meaning specifying unit 106 determines the meaning of the table based on the score (score calculated in step S17) indicating the similarity between the meaning of the table and the meaning of each column in the table. Identify. Therefore, the meaning of the table can be estimated with high accuracy.
- the number of hops in the concept dictionary is used when obtaining the similarity between a selected meaning candidate and another meaning. More specifically, it has been described that the similarity between the selected meaning candidate and another meaning is calculated as the reciprocal of the number of hops between the two in the concept dictionary.
- a vector for calculating a value corresponding to the number of hops in the concept dictionary is assigned in advance to each candidate for the table meaning and each candidate for the table meaning.
- a combination of semantic candidates and vectors may be stored in the semantic set storage unit 4 for each semantic candidate.
- This vector is referred to as an embedded vector.
- RESCAL is known as an algorithm for deriving an embedded vector of each node of a concept dictionary based on a given concept dictionary. An embedded vector is derived in advance for each candidate (meaning candidate) by RESCAL, and a combination of the meaning candidate and the embedded vector is stored in the meaning set storage unit 4 for each meaning candidate. Also good.
- sim (X, Y) (where X and Y are arbitrary meanings) can be obtained.
- the inner product of the embedding vector corresponding to X and the embedding vector corresponding to Y is a value corresponding to the number of hops between X and Y in the concept dictionary. Therefore, for each meaning candidate, the combination of the meaning candidate and the embedding vector is stored in the meaning set storage unit 4, and when sim (X, Y) is obtained for arbitrary X and Y, X is supported. What is necessary is just to obtain
- word2vec is known as an algorithm for deriving an embedded vector corresponding to each meaning candidate.
- an embedded vector can be derived from various existing documents even if a concept dictionary is not given.
- FIG. 23 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, and an interface 1004.
- the meaning estimation system 1 of each embodiment of the present invention is implemented in a computer 1000.
- the operation of the meaning estimation system 1 is stored in the auxiliary storage device 1003 in the form of a meaning estimation program.
- the CPU 1001 reads out the meaning estimation program from the auxiliary storage device 1003 and develops it in the main storage device 1002, and executes the processes described in the above embodiments and various modifications according to the meaning estimation program.
- the auxiliary storage device 1003 is an example of a tangible medium that is not temporary.
- Other examples of non-temporary tangible media include magnetic disks, magneto-optical disks, CD-ROMs (Compact Disk Read Only Memory), DVD-ROMs (Digital Versatile Disk Read Only Memory) connected via the interface 1004, Semiconductor memory etc. are mentioned.
- 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.
- circuitry IV circuitry IV
- processors 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 may be realized by a combination of the above-described circuit and the like and a program.
- the plurality of information processing devices and circuits may be centrally arranged or distributedly arranged.
- 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. 24 is a block diagram showing an outline of the meaning estimation system of the present invention.
- the meaning estimation system of the present invention includes column meaning candidate selection means 303, column similarity calculation means 304, and column meaning specification means 305.
- the column meaning candidate selection means 303 (for example, the column meaning candidate selection unit 73) selects the meaning candidate of the column that is the target of meaning estimation.
- the column similarity calculation unit 304 (for example, the column similarity calculation unit 75) becomes a candidate of the selected meaning and an estimation target included in the table for each of the meaning candidates selected by the column meaning candidate selection unit 303. A score indicating the similarity to the meaning of each column other than the column is calculated.
- the column meaning specifying unit 305 uses the score calculated by the column similarity calculating unit 304 to specify the meaning of the column to be estimated from the column meaning candidates.
- FIG. 25 is a block diagram showing another example of the outline of the meaning estimation system of the present invention.
- the meaning estimation system shown in FIG. 25 includes a column meaning candidate selection unit 403, a first column table similarity calculation unit 404, and a column meaning specification unit 405.
- the column meaning candidate selection means 403 (for example, the column meaning candidate selection unit 73) selects the meaning candidate of the column that is the target of meaning estimation.
- the first column table similarity calculating unit 404 (for example, the first column table similarity calculating unit 76), for each meaning candidate selected by the column meaning candidate selecting unit, selects the meaning candidate and the table meaning. A score indicating the similarity to is calculated.
- the column meaning specifying unit 405 uses the score calculated by the first column table similarity calculation unit 404 to determine the meaning of the column to be estimated from the column meaning candidates. Identify.
- a semantic estimation system for estimating the meaning of columns included in a table Column meaning candidate selecting means for selecting candidate meanings of the column whose meaning is to be estimated; For each meaning candidate selected by the column meaning candidate selecting means, a score indicating the similarity between the selected meaning candidate and the meaning of each column other than the column to be estimated included in the table is calculated.
- Column similarity calculating means to A semantic meaning estimation system comprising: a column meaning specifying means for specifying a meaning of a column to be estimated from among candidate column meanings using a score calculated by the column similarity calculating means.
- the semantic initial value assigning means assigns an initial value of the meaning of the table, For each meaning candidate selected by the column meaning candidate selecting means, a first column table similarity calculating means for calculating a score indicating the similarity between the selected meaning candidate and the meaning of the table, The column meaning specifying means specifies the meaning of the column to be estimated using the score calculated by the column similarity calculating means and the score calculated by the first column table similarity calculating means. Semantic estimation system.
- the meaning initial value assigning means assigns an initial value of meaning of each column included in the table to each of a plurality of given tables, A table selecting means for selecting a table from the plurality of given tables; Until certain conditions are met The table selecting means selects a table from the plurality of given tables, and the column selecting means selects a column whose meaning is to be estimated from the tables selected by the table selecting means;
- the meaning estimation system according to claim 2, wherein the column meaning identification unit repeats the process of identifying the meaning of each column of the selected table.
- the meaning initial value assigning means assigns an initial value of the meaning of the table and an initial value of the meaning of each column included in the table to each of the plurality of given tables,
- the table selecting means selects a table from the plurality of given tables, and the column selecting means selects a column whose meaning is to be estimated from the tables selected by the table selecting means;
- the meaning estimation system according to claim 3, wherein the column meaning identification unit repeats the process of identifying the meaning of each column of the selected table.
- a semantic estimation system for estimating the meaning of columns included in a table, Column meaning candidate selecting means for selecting candidate meanings of the column whose meaning is to be estimated; For each meaning candidate selected by the column meaning candidate selecting means, a first column table similarity calculating means for calculating a score indicating the similarity between the selected meaning candidate and the meaning of the table; The column meaning specifying means for specifying the meaning of the column to be estimated from the column meaning candidates using the score calculated by the first column table similarity calculating means. Estimation system.
- (Appendix 7) Semantic initial value assigning means for assigning an initial value of the meaning of the table and an initial value of the meaning of each column of the table;
- the meaning initial value assigning means assigns an initial value of the meaning of the table and an initial value of the meaning of each column included in the table to each of the plurality of given tables, A table selecting means for selecting a table from the plurality of given tables; Until certain conditions are met The table selecting means selects a table from the plurality of given tables, and the column selecting means selects a column whose meaning is to be estimated from the tables selected by the table selecting means;
- the meaning estimation system according to claim 7, wherein the column meaning identification unit repeats the process of identifying the meaning of each column of the selected table.
- the meaning initial value assigning means assigns an initial value of the meaning of the table and an initial value of the meaning of each column included in the table to each of the plurality of given tables,
- a table selection means for selecting a table whose meaning is to be estimated from the plurality of given tables;
- Table meaning candidate selection means for selecting a candidate for the meaning of the table to be estimated;
- a table similarity calculation means for calculating a score; Using the score calculated by the table similarity calculating means, and comprising table meaning specifying means for specifying the meaning of the table to be estimated from the table meaning candidates.
- the meaning initial value assigning means assigns an initial value of the meaning of the table and an initial value of the meaning of each column included in the table to each of the plurality of given tables,
- a table selection means for selecting a table whose meaning is to be estimated from the plurality of given tables;
- Table meaning candidate selection means for selecting a candidate for the meaning of the table to be estimated;
- For each meaning candidate selected by the table meaning candidate selecting means a second column table for calculating a score indicating the degree of similarity between the selected meaning candidate and the meaning of each column of the table to be estimated Similarity calculation means;
- Table meaning specifying means for specifying the meaning of the table to be estimated from the table meaning candidates using the score calculated by the second column table similarity calculating means.
- Appendix 2, Appendix 3, and Appendix The semantic estimation system according to any one of 7.
- the meaning initial value assigning means assigns an initial value of the meaning of the table and an initial value of the meaning of each column included in the table to each of the given plurality of tables
- a table selection means for selecting a table whose meaning is to be estimated from the plurality of given tables
- Table meaning candidate selection means for selecting a candidate for the meaning of the table to be estimated; For each meaning candidate selected by the table meaning candidate selection means, the similarity between the selected meaning candidate and the meaning of each table other than the table associated with the estimation target table is indicated.
- a table similarity calculation means for calculating a score; For each meaning candidate selected by the table meaning candidate selecting means, a second column table for calculating a score indicating the degree of similarity between the selected meaning candidate and the meaning of each column of the table to be estimated Similarity calculation means; A table that specifies the meaning of the table to be estimated from the table meaning candidates using the score calculated by the table similarity calculating means and the score calculated by the second column table similarity calculating means.
- the meaning estimation system according to any one of Appendix 2, Appendix 3, and Appendix 7.
- the table selecting means selects a table from the plurality of given tables, and the column selecting means selects a column whose meaning is to be estimated from the tables selected by the table selecting means;
- the column meaning specifying means specifies the meaning of each column of the selected table, and the table meaning specifying means repeats the process of specifying the meaning of each table. The meaning according to any one of appendix 9 to appendix 11 Estimation system.
- a semantic estimation method for estimating the meaning of columns included in a table Computer Select a candidate for the meaning of the column whose meaning is to be estimated, For each selected meaning candidate, execute a column similarity calculation process for calculating a score indicating the degree of similarity between the selected meaning candidate and the meaning of each column other than the column to be estimated included in the table.
- the meaning estimation method characterized by identifying the meaning of the column to be estimated from among the meaning candidates of the column using the score calculated in the column similarity calculation process.
- a semantic estimation program for causing a computer to estimate the meaning of a column included in a table, In the computer, Column meaning candidate selection processing for selecting candidate meanings of the column whose meaning is to be estimated, For each meaning candidate selected in the column meaning candidate selection process, a score indicating the similarity between the selected meaning candidate and the meaning of each column other than the column to be estimated included in the table is calculated. Column similarity calculation processing, and A semantic estimation program for executing a column semantic identification process for identifying a meaning of a column to be estimated from column semantic candidates using a score calculated in the column similarity calculation process.
- a semantic estimation program for causing a computer to estimate the meaning of a column included in a table, In the computer, Column meaning candidate selection processing for selecting candidate meanings of the column whose meaning is to be estimated, A first column table similarity calculation process for calculating a score indicating the similarity between the selected meaning candidate and the meaning of the table, for each of the meaning candidates selected in the column meaning candidate selection process; and A semantic estimation program for executing a column semantic identification process for identifying a meaning of a column to be estimated from column semantic candidates using a score calculated in the first column table similarity calculation process.
- the present invention can be suitably applied to a meaning estimation system that estimates the meaning of each column of a table and the meaning of the table.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
列意味候補選択手段303は、意味の推定対象となる列の意味の候補を選択する。列類似度算出手段304は、列意味候補選択手段303によって選択された意味の候補毎に、選択された意味の候補と、表に含まれる推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する。列意味特定手段305は、列類似度算出手段304が算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定する。
Description
本発明は、表の各列の意味を推定する意味推定システム、意味推定方法および意味推定プログラムに関する。
非特許文献1には、表の列に含まれる各データから特徴量を算出し、その特徴量に基づいて列のラベルを定める技術が記載されている。
また、特許文献1には、列の意味が定められている表の意味を推定するシステムが記載されている。特許文献1に記載のシステムは、有限個の表の意味をそれぞれ選択し、選択した意味が表の意味に該当する確度を計算する。そして、特許文献1に記載のシステムは、確度が最も高い意味を、表の意味として決定する。
表の列の意味を推定する一般的な方法として、以下に示す方法が考えられる。以下の説明では、列に格納されている各データが数値である場合、および、列に格納されている各データが文字列である場合について、それぞれ説明する。以下、前者を、「第1の一般的な方法」と記し、後者を「第2の一般的な方法」と記す。
第1の一般的な方法
第1の一般的な方法は、列に格納されている各データが数値である場合を対象としている。第1の一般的な方法では、予め、数値を格納している列の意味の候補と、その候補に対応する統計値(例えば、平均値および標準偏差)が予め定められている。例えば、列の意味の候補「平成」と、「平成」に対応する統計値(例えば、平均値「15」および標準偏差「8.5」)とが対応付けられて、予め記憶装置に記憶されている。なお、「平成」とは、日本の元号の1つである。また、例えば、列の意味の候補「年齢」と、「年齢」に対応する統計値(例えば、平均値「45」および標準偏差「20」)とが対応付けられて、予め記憶装置に記憶されている。ここでは、数値を格納している列の意味の候補として、「平成」および「年齢」を例示したが、他の候補についても、統計値と対応付けられて、予め記憶装置に記憶されている。
第1の一般的な方法は、列に格納されている各データが数値である場合を対象としている。第1の一般的な方法では、予め、数値を格納している列の意味の候補と、その候補に対応する統計値(例えば、平均値および標準偏差)が予め定められている。例えば、列の意味の候補「平成」と、「平成」に対応する統計値(例えば、平均値「15」および標準偏差「8.5」)とが対応付けられて、予め記憶装置に記憶されている。なお、「平成」とは、日本の元号の1つである。また、例えば、列の意味の候補「年齢」と、「年齢」に対応する統計値(例えば、平均値「45」および標準偏差「20」)とが対応付けられて、予め記憶装置に記憶されている。ここでは、数値を格納している列の意味の候補として、「平成」および「年齢」を例示したが、他の候補についても、統計値と対応付けられて、予め記憶装置に記憶されている。
そして、意味の推定対象となる列に格納されている数値の統計量を計算し、統計量が類似している候補を、その列の意味として定める。例えば、各列の意味が推定対象となっている表として、図26に例示する表が与えられたとする。図26に示す第2列は、数値が格納されているので、第1の一般的な方法を用いればよい。ここでは、説明を簡単にするために、数値を格納している列の意味の候補が「平成」および「年齢」であるものとする。図26に示す第2列に格納されている数値の統計値と、「平成」の統計値との類似度をscore(平成,{29,24,23})と記す。同様に、図26に示す第2列に格納されている数値の統計値と、「年齢」の統計値との類似度をscore(年齢,{29,24,23})と記す。例えば、KL(Kullback-Leibler)-Divergence の逆数を、統計値の類似度として用いることができる。本例では、{29,24,23}の統計値と、「平成」の統計値とを用いて、KL-Divergenceの逆数を算出し、score(平成,{29,24,23})を求める。同様に、{29,24,23}の統計値と、「平成」の統計値とを用いて、KL-Divergenceの逆数を算出し、score(年齢,{29,24,23})を求める。例えば、以下の結果が得られたとする。
score(平成,{29,24,23})=0.7
score(年齢,{29,24,23})=0.5
この場合、類似度が高い「平成」が、図26に示す第2列の意味として定められる。
score(平成,{29,24,23})=0.7
score(年齢,{29,24,23})=0.5
この場合、類似度が高い「平成」が、図26に示す第2列の意味として定められる。
第2の一般的な方法
第2の一般的な方法は、列に格納されている各データが文字列である場合を対象としている。第2の一般的な方法では、予め、文字列を格納している列の意味の候補と、その候補に対応するベクトルとが予め定められている。例えば、列の意味の候補「名前」と、「名前」に対応するベクトルとが対応付けられて、予め記憶装置に記憶されている。ここでは、文字列を格納している列の意味の候補として、「名前」を例示したが、他の候補についても、ベクトルと対応付けられて、予め記憶装置に格納されている。なお、各ベクトルの次元は共通であり、ここでは、n次元ベクトルであるものとする。また、n次元ベクトルは、意味の候補毎に個別に定められている。
第2の一般的な方法は、列に格納されている各データが文字列である場合を対象としている。第2の一般的な方法では、予め、文字列を格納している列の意味の候補と、その候補に対応するベクトルとが予め定められている。例えば、列の意味の候補「名前」と、「名前」に対応するベクトルとが対応付けられて、予め記憶装置に記憶されている。ここでは、文字列を格納している列の意味の候補として、「名前」を例示したが、他の候補についても、ベクトルと対応付けられて、予め記憶装置に格納されている。なお、各ベクトルの次元は共通であり、ここでは、n次元ベクトルであるものとする。また、n次元ベクトルは、意味の候補毎に個別に定められている。
そして、意味の推定対象となる列に格納されている文字列に基づいて、その列に応じたn次元ベクトルを定める。n次元ベクトルの各要素は、例えば、「体重」、「年齢」、「性別」、・・・、「小山田」、「竹岡」、「花房」、・・・等の予め定められている種々の単語に対応している。列に応じたn次元ベクトルを定める場合、その列に格納されている文字列にBag-of-Wordsを適用し、その列に格納されている文字列に含まれる各単語の出現回数を求める。そして、単語に対応する要素の値にその出現回数を設定することによって、n次元ベクトルを定めればよい。例えば、図26に示す第1列に応じたn次元ベクトルを定める場合、「小山田」、「竹岡」、「花房」に対応する要素に“1”を設定し、他の要素に全て“0”を設定したn次元ベクトルを定めればよい。そして、意味の推定対象となる列に応じたn次元ベクトルと、各意味の候補に予め対応付けられているn次元ベクトルとの類似度を算出し、類似度が最も高い候補を、着目している列の意味として定めればよい。2つのn次元ベクトルの類似度として、例えば、2つのn次元ベクトルのユークリッド距離の逆数を用いてもよい。あるいは、2つのn次元ベクトルの類似度として、例えば、2つのn次元ベクトルからNaive Bayes を用いて得られる確率値を用いてもよい。また、上記の例では、n次元ベクトルの各要素が単語に対応している場合を例にして説明したが、n次元ベクトルの各要素が所定の長さの種々の文字列に対応していてもよい。この場合、列に格納されている文字列にn-gramを適用することによって、その所定の長さの種々の文字列の出現回数を求め、n次元ベクトルの個々の要素に、その要素に対応する文字列(所定の長さの文字列)の出現回数を設定すればよい。
また、特許文献2には、項目の仕様が未知の新規データと項目の仕様が既知の既知データとの項目の対応付けを行うデータ処理装置が記載されている。
また、特許文献3には、同じような属性を持つ複数のカラムについて同義カラムであるか否かを判定する技術が記載されている。
また、特許文献4には、テーブル間の類似性に基づいて、テーブルを分類するテーブル分類装置が記載されている。
また、特許文献5には、テーブルの各カラムから、上位概念関係にあるカラムを自動抽出することができるシステムが記載されている。
Minh Pham、外3名、"Semantic labeling: A domain-independent approach"
列の意味を推定するための上記の一般的な方法は、列に格納されているデータのみを用いる。そのため、列の意味の推定精度が低い。例えば、図26に示す第2列の意味が実際には「年齢」であったとしても、前述の例のように、第2列の意味の推定結果が「平成」になってしまう場合がある。
そこで、本発明は、表の各列の意味を高い精度で推定することができる意味推定システム、意味推定方法および意味推定プログラムを提供することを目的とする。
本発明による意味推定システムは、表に含まれる列の意味を推定する意味推定システムであって、意味の推定対象となる列の意味の候補を選択する列意味候補選択手段と、列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表に含まれる推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出手段と、列類似度算出手段が算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定する列意味特定手段とを備えることを特徴とする。
また、本発明による意味推定システムは、表に含まれる列の意味を推定する意味推定システムであって、意味の推定対象となる列の意味の候補を選択する列意味候補選択手段と、列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出手段と、第1の列表類似度算出手段が算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定する列意味特定手段とを備えることを特徴とする。
また、本発明による意味推定方法は、表に含まれる列の意味を推定する意味推定方法であって、コンピュータが、意味の推定対象となる列の意味の候補を選択し、選択した意味の候補毎に、選択した意味の候補と、表に含まれる推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出処理を実行し、列類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定することを特徴とする。
また、本発明による意味推定方法は、表に含まれる列の意味を推定する意味推定方法であって、コンピュータが、意味の推定対象となる列の意味の候補を選択し、選択した意味の候補毎に、選択した意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出処理を実行し、第1の列表類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定することを特徴とする。
また、本発明による意味推定プログラムは、コンピュータに、表に含まれる列の意味を推定させるための意味推定プログラムであって、コンピュータに、意味の推定対象となる列の意味の候補を選択する列意味候補選択処理、列意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、表に含まれる推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出処理、および、列類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定する列意味特定処理を実行させることを特徴とする。
また、本発明による意味推定プログラムは、コンピュータに、表に含まれる列の意味を推定させるための意味推定プログラムであって、コンピュータに、意味の推定対象となる列の意味の候補を選択する列意味候補選択処理、列意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出処理、および、第1の列表類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定する列意味特定処理を実行させることを特徴とする。
本発明によれば、表の各列の意味を高い精度で推定することができる。
以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、本発明の第1の実施形態の意味推定システムの構成例を示すブロック図である。第1の実施形態では、本発明の意味推定システムは、表の各列の意味と、表の意味の両方を推定する。本発明の意味推定システム1は、表記憶部2と、データ読み込み部3と、意味集合記憶部4と、意味初期値割り当て部5と、表選択部6と、列意味推定部7と、列意味記憶部8と、列意味記録部9と、表意味推定部10と、表意味記憶部11と、表意味記録部12と、終了判定部13とを備える。
図1は、本発明の第1の実施形態の意味推定システムの構成例を示すブロック図である。第1の実施形態では、本発明の意味推定システムは、表の各列の意味と、表の意味の両方を推定する。本発明の意味推定システム1は、表記憶部2と、データ読み込み部3と、意味集合記憶部4と、意味初期値割り当て部5と、表選択部6と、列意味推定部7と、列意味記憶部8と、列意味記録部9と、表意味推定部10と、表意味記憶部11と、表意味記録部12と、終了判定部13とを備える。
表記憶部2は、各列の意味および表の意味が定められていない表を記憶する記憶装置である。第1の実施形態の意味推定システム1は、表記憶部2に記憶されている表の各列の意味、および、表の意味を推定する。すなわち、表記憶部2は、各列の意味および表の意味を推定すべき表を記憶する。例えば、意味推定システム1の管理者が、各列の意味および表の意味が定められていない表を表記憶部2に予め記憶させておけばよい。管理者が、各列の意味および表の意味が定められていない表を表記憶部2に記憶させたということは、列の意味および表の意味を推定すべき表が与えられたことを意味する。
表記憶部2は、各列の意味および表の意味を推定すべき表を1つ記憶していてもよいし、複数個、記憶していてもよい。ただし、複数の表を記憶している場合、主キーおよび外部キーによって関連付けられている複数の表が存在しているならば、表記憶部2は、どの表とどの表が関連付けられているかを示す情報も予め記憶する。どの表とどの表が関連付けられているかを示す情報に関しても、例えば、管理者が、予め表記憶部2に記憶させておけばよい。
以下の説明では、表記憶部2が、各列の意味および表の意味を推定すべき表を複数個記憶し、さらに、どの表とどの表が関連付けられているかを示す情報も記憶しているものとして説明する。
データ読み込み部3は、各列の意味および表の意味を推定すべき表を全て、表記憶部2から読み込む。また、データ読み込み部3は、どの表とどの表が関連付けられているかを示す情報も、全て、表記憶部2から読み込む。
意味集合記憶部4は、列の意味の候補、および、表の意味の候補を記憶する記憶装置である。本実施形態では、意味集合記憶部4が、表の意味の候補、および、表の意味の候補をノードとする概念辞書を記憶するものとして説明する。概念辞書は、表の意味の候補、および、表の意味の候補をノードとし、意味が類似する候補(ノード)同士がリンクで接続されたグラフとして表される。
図2は、概念辞書の例を示す模式図である。ただし、図2は、概念辞書の一例であり、概念辞書に含まれるノードの数は、図2に示す例に限定されない。概念辞書に含まれるノードの数は、有限個である。図2に例示する概念辞書の個々のノードは、列の意味の候補や表の意味の候補である。概念辞書において、意味が類似する候補(ノード)同士は、リンクで接続されている。従って、1つの意味と他の1つの意味との類似度を示すスコアは、概念辞書におけるその2つの意味の間のホップ数の逆数で表すことができる。
意味集合記憶部4が記憶する概念辞書は、一般に公開されている概念辞書であっても、あるいは、意味推定システム1の管理者が作成した概念辞書であってもよい。
意味初期値割り当て部5は、データ読み込み部3が読み込んだ複数の表(すなわち、与えられた複数の表)それぞれに対して、表の意味の初期値、および、表に含まれる各列の意味の初期値を割り当てる。意味の初期値とは、処理開始時に、最初に割り当てられる意味である。
意味初期値割り当て部5は、与えられたそれぞれの表の意味の初期値を割り当てる際、概念辞書のノードとなっている意味の候補をランダムに選択し、その意味の候補を初期値として割り当ててもよい。同様に、意味初期値割り当て部5は、各表に含まれている各列の意味の初期値を割り当てる際にも、概念辞書のノードとなっている意味の候補をランダムに選択し、その意味の候補を初期値として割り当ててもよい。
また、各表に含まれている各列の意味の初期値を割り当てる際に、意味初期値割り当て部5は、列の意味を推定するための前述の一般的な方法によって、各列の意味の初期値を割り当ててもよい。この場合、列に格納されている各データが数値である場合には、意味初期値割り当て部5は、前述の第1の一般的な方法によって、列の意味の初期値を割り当てればよい。また、列に格納されている各データが文字列である場合には、意味初期値割り当て部5は、前述の第2の一般的な方法によって、列の意味の初期値を割り当てればよい。なお、第1の一般的な方法や第2の一般的な方法によって選ばれる意味は、概念辞書にノードとして含まれているものとする。また、意味初期値割り当て部5は、表の意味の初期値を割り当てる前に、その表に含まれる各列の意味の初期値を割り当て、その後、特許文献1に記載の方法で、その表の意味を求め、その意味を、その表の意味の初期値として割り当ててもよい。なお、特許文献1に記載の方法で求められる意味も、概念辞書にノードとして含まれているものとする。
表選択部6は、各列の意味の初期値や表の意味が割り当てられた後の全ての表の中から、順次、1つずつ表を選択する。
列意味推定部7は、表選択部6によって選択された表に含まれる各列の意味をそれぞれ推定する。列意味推定部7の詳細については、図3を参照して、後述する。
列意味記憶部8は、各表の各列の意味を記憶する記憶装置である。列意味記録部9は、選択された表に含まれる各列の意味が列意味推定部7によって推定されたならば、その表の各列の意味の推定結果を、列意味記憶部8に記憶させる。
表意味推定部10は、表選択部6によって選択された表の意味を推定する。表意味推定部10の詳細については、図7を参照して後述する。
表意味記憶部11は、各表の意味を記憶する記憶装置である。表意味記録部12は、選択された表の意味が表意味推定部10によって推定されたならば、その表の意味の推定結果を、表意味記憶部11に記憶させる。
意味推定システム1において、表選択部6が、全ての表をそれぞれ選択し、列意味推定部7が、選択された表に含まれる各列の意味を推定し、表意味推定部10が、選択された表の意味を推定する処理が繰り返し実行される。従って、列意味記憶部8に記憶される各表の各列の意味や、表意味記憶部11に記憶される各表の意味は、上記の処理が繰り返されることによって、更新されていく。以下、このように繰り返される処理を、繰り返し処理と記す場合がある。
終了判定部13は、上記の処理の繰りかえしの終了条件が満たされたか否かを判定する。この終了条件の例として、例えば、上記の処理の繰り返し数が所定数に達したこと、あるいは、各表に含まれる各列の意味、および、各表の意味が更新されなくなったこと等が挙げられる。ただし、終了条件の例は、これらの例に限定されない。
次に、列意味推定部7について、より詳細に説明する。図3は、列意味推定部7の構成例を示すブロック図である。列意味推定部7は、列選択部71と、列意味候補取得部72と、列意味候補選択部73と、列データスコア算出部74と、列類似度算出部75と、第1の列表類似度算出部76と、列スコア算出部77と、列意味特定部78とを備える。
列選択部71は、表選択部6によって選択された表に含まれる各列の中から、意味の推定対象となる列を、1列ずつ、順次、選択する。列選択部71によって選択された列は、意味の推定対象となる列である。
列意味候補取得部72は、列選択部71によって選択された列の意味の候補を、意味集合記憶部4に記憶された意味の候補の中から、複数個取得する。概念辞書のノードは、意味の候補に該当する。列意味候補取得部72は、概念辞書のノードが示す意味の候補を全て取得してもよい。あるいは、列意味候補取得部72は、概念辞書のノードのうち、任意のk個のノードを選択し、それらのノードに対応するk個の意味の候補を取得してもよい。あるいは、列意味候補取得部72は、現在、選択されている列に割り当てられている意味に該当する概念辞書内のノードを特定し、そのノードから所定ホップ数以内のk個のノードを選択し、それらのノードに対応するk個の意味の候補を取得してもよい。上記のkの値や、所定ホップ数の値は、予め定数として定めておけばよい。
列意味候補取得部72が取得する複数個の意味の候補を、列意味候補集合と記す。
列意味候補選択部73は、列意味候補集合の中から、意味の候補を、順次、1つずつ選択する。
列データスコア算出部74は、列選択部71が選択した列に格納されている各データに基づいて、列意味候補選択部73によって選択された意味の候補が、選択された列の意味に該当する度合いを示すスコアを算出する。列データスコア算出部74は、例えば、列の意味を推定するための前述の一般的な方法における類似度を、このスコアとして算出してもよい。例えば、選択された列に格納されている各データが数値である場合、列データスコア算出部74は、その数値の統計値と、選択された意味の候補に対応する統計値とを用いて、KL-Divergenceの逆数を算出し、その値をスコアとしてもよい。また、例えば、選択された列に格納されている各データが文字列である場合、列データスコア算出部74は、その各文字列に基づいてn次元ベクトルを定め、そのn次元ベクトルと、選択された意味の候補に対応するn次元ベクトルとのユークリッド距離の逆数を、スコアとしてもよい。あるいは、列データスコア算出部74は、その2つのn次元ベクトルからNaive Bayes を用いて得られる確率値をスコアとしてもよい。なお、種々の意味の候補に対応する統計値やn次元ベクトルは、例えば、それらのデータを記憶するための記憶装置(図1において図示略)に予め記憶させておけばよい。
なお、選択された意味の候補が、選択された列の意味に該当する度合いを示すスコアの算出方法(列データスコア算出部74におけるスコアの算出方法)は、上記の例に限定されない。列データスコア算出部74は、他の方法でスコアを算出してもよい。
列類似度算出部75は、表選択部6によって選択された表のうち、意味の推定対象となる列(列選択部71に選択された列)以外の個々の列の意味と、列意味候補選択部73によって選択された意味の候補との類似度を示すスコアを算出する。なお、意味初期値割り当て部5が、全ての表の全ての列に意味の初期値を割り当てるので、1回目の繰り返し処理において列類似度算出部75が動作する場合であっても、選択された表の各列には意味が割り当てられている。
図4は、意味の推定対象となる列、および、その列以外の個々の列の例を示す模式図である。図4に示す“?”は、意味の推定対象となる列(列選択部71に選択された列)であることを示している。図4に示す例では、第3列が意味の推定対象となる列であるものとしている。列意味候補選択部73によって選択された意味の候補をXとし、他の1つの列の意味をYとしたときに、XとYとの類似度をsim(X,Y)と記すこととする。列類似度算出部75は、意味の推定対象となる列以外の列を1列ずつ順次、選択し、選択した列の意味と、列意味候補選択部73によって選択された意味の候補との類似度を算出し、その類似度の総和を、上記のスコアとして算出する。また、列類似度算出部75は、sim(X,Y)を、概念辞書におけるXとYの間のホップ数の逆数として求める。この演算によって、XとYとの類似性が高いほど、sim(X,Y)の値を大きな値として得ることができる。
列意味候補選択部73によって選択された意味の候補が「平成」であるとする。この場合、列類似度算出部75は、sim(平成,名前)+sim(平成,身長)を計算し、その計算結果を、意味の推定対象となる列以外の個々の列の意味と、選択された意味の候補「平成」との類似度を示すスコアとする。概念辞書が図2に示すように定められているとする。「平成」と「名前」の間のホップ数は“5”であり、「平成」と「身長」の間のホップ数も“5”である。従って、本例では、sim(平成,名前)+sim(平成,身長)=(1/5)+(1/5)=0.4となる。
また、例えば、列意味候補選択部73によって選択された意味の候補が「年齢」であるとする。この場合、列類似度算出部75は、sim(年齢,名前)+sim(年齢,身長)を計算し、その計算結果を、意味の推定対象となる列以外の個々の列の意味と、選択された意味の候補「年齢」との類似度を示すスコアとする。「年齢」と「名前」の間のホップ数は“2”であり、「年齢」と「身長」の間のホップ数も“2”である(図2参照)。従って、本例では、sim(年齢,名前)+sim(年齢,身長)=(1/2)+(1/2)=1.0となる。
列類似度算出部75は、列意味候補選択部73によって選択された意味の候補毎に、上記のスコアを算出する。
第1の列表類似度算出部76は、表選択部6によって選択された表の意味と、列意味候補選択部73によって選択された意味の候補(推定対象となる列の意味の候補)との類似度を示すスコアを算出する。なお、意味初期値割り当て部5が、全ての表に対して、表の意味の初期値を割り当てるので、1回目の繰り返し処理において第1の列表類似度算出部76が動作する場合であっても、選択された表には意味が割り当てられている。
図5は、意味の推定対象となる列と、その列を含む表の意味の例を示す模式図である。図4に示す場合と同様に、“?”は、意味の推定対象となる列(列選択部71に選択された列)を示している。図5に示す例でも、第3列が意味の推定対象となる列であるものとしている。また、図5に示す例では、表に割り当てられている意味は「人間」である。列意味候補選択部73によって選択された意味の候補をXとし、選択されている表の意味をZとしたときに、XとZとの類似度をsim(X,Z)と記すこととする。sim(X,Z)の算出方法は、前述のsim(X,Y)の算出方法と同様である。すなわち、列類似度算出部75は、sim(X,Z)を、概念辞書におけるXとZの間のホップ数の逆数として求めればよい。XとZとの類似性が高いほど、sim(X,Z)の値を大きな値として得ることができる。第1の列表類似度算出部76は、選択された意味の候補Xと選択された表の意味Zとの類似度を示すスコアとして、sim(X,Z)を算出する。
列意味候補選択部73によって選択された意味の候補が「平成」であるとする。この場合、第1の列表類似度算出部76は、sim(平成,人間)を、「平成」と「人間(図5に例示する表の意味)」との類似度を示すスコアとする。概念辞書が図2に示すように定められているとする。「平成」と「人間」のホップ数は“4”である。従って、sim(平成,人間)=1/4=0.25となる。
また、例えば、列意味候補選択部73によって選択された意味の候補が年齢であるとする。この場合、第1の列表類似度算出部76は、sim(年齢,人間)を、「年齢」と「人間」との類似度を示すスコアとする。「年齢」と「人間」とのホップ数は“1”である(図2参照)。従って、本例では、sim(年齢,人間)=1/1=1.0となる。
第1の列表類似度算出部76は、列意味候補選択部73によって選択された意味の候補毎に、上記のスコアを算出する。
列スコア算出部77は、選択された列(意味の推定対象となる列)における、列意味候補選択部73によって選択された意味の候補のスコアを算出する。具体的には、列スコア算出部77は、選択された意味の候補に関して、列データスコア算出部74、列類似度算出部75および第1の列表類似度算出部76がそれぞれ算出したスコアの総和を、その列における選択された意味の候補のスコアとして算出する。
例えば、図4,5に示す第3列が選択されているとする。また、列意味候補選択部73によって選択された意味の候補が「平成」であるとする。この列において、列データスコア算出部74が、「平成」に対して算出したスコアが0.7であるとする。また、列類似度算出部75が、スコアとして、sim(平成,名前)+sim(平成,身長)=0.4を算出したとする。また、第1の列表類似度算出部76が、スコアとして、sim(平成,人間)=1/4=0.25を算出したとする。この場合、列スコア算出部77は、この列における意味の候補「平成」のスコアとして、0.7+0.4+0.25=1.35を算出する。
また、列意味候補選択部73によって選択された意味の候補が「年齢」であるとする。そして、上記と同じ列(図4,5に示す第3列)において、列データスコア算出部74が、「年齢」に対して算出したスコアが0.5であるとする。また、列類似度算出部75が、スコアとして、sim(年齢,名前)+sim(年齢,身長)=1.0を算出したとする。また、第1の列表類似度算出部76が、スコアとして、sim(年齢,人間)として、1.0を算出したとする。この場合、列スコア算出部77は、この列における意味の候補「年齢」のスコアとして、0.5+1.0+1.0=2.5を算出する。
列スコア算出部77は、列意味候補選択部73によって選択された意味の候補毎に、上記のスコアを算出する。
図6は、意味の候補「平成」および「年齢」を例にして、列スコア算出部77によって算出されるスコアの計算式を示した説明図である。図6において、符号Aで示した項は、列類似度算出部75によって計算される項である。また、符号Bで示した項は、第1の列表類似度算出部76によって計算される項である。
列意味特定部78は、列スコア算出部77によって算出される各候補のスコアに基づいて、推定対象となる列の意味を特定する。例えば、列意味特定部78は、列スコア算出部77によって算出されたスコアが最大となっている意味の候補を、推定対象となる列の意味として特定してもよい。
列意味記録部9(図1参照)は、列意味特定部78が特定した意味を、選択されている表における選択されている列の意味の推定結果として、列意味記憶部8(図1参照)に記憶させる。
また、列意味特定部78は、推定対象となる列の意味を複数個、特定してもよい。例えば、列意味特定部78は、列スコア算出部77によって算出されたスコアが高い順に、上位所定個の意味の候補をそれぞれ、推定対象となる列の意味として特定してもよい。また、例えば、列意味特定部78は、列スコア算出部77によって算出されたスコアが閾値以上となっている意味の候補をそれぞれ、推定対象となる列の意味として特定してもよい。閾値は、予め定められた定数である。推定対象となる列の意味が複数個特定された場合、列意味記録部9、特定された個々の意味と、その意味のスコア(列スコア算出部77によって算出されたスコア)とを対応付けて、列意味記憶部8に記憶させる。
以下の説明では、説明を簡単にするために、列意味特定部78が、列スコア算出部77によって算出されたスコアが最大となっている意味の候補を、推定対象となる列の意味として特定する場合を例にして説明する。すなわち、推定対象となる列の意味が、1つ特定される場合を例にして説明する。
次に、表意味推定部10について、より詳細に説明する。図7は、表意味推定部10の構成例を示すブロック図である。表意味推定部10は、表意味候補取得部101と、表意味候補選択部102と、第2の列表類似度算出部103と、表類似度算出部104と、表スコア算出部105と、表意味特定部106とを備える。
表意味候補取得部101は、表選択部6(図1参照)によって選択された表の意味の候補を、意味集合記憶部4に記憶された意味の候補の中から、複数個取得する。表意味候補取得部101は、概念辞書のノードが示す意味の候補を全て取得してもよい。あるいは、表意味候補取得部101は、概念辞書のノードのうち、任意のh個のノードを選択し、それらのノードに対応するh個の意味の候補を取得してもよい。あるいは、表意味候補取得部101は、現在、選択されている表の意味に該当する概念辞書内のノードを特定し、そのノードから所定ホップ数以内のh個のノードを選択し、それらのノードに対応するh個の意味の候補を取得してもよい。上記のhの値や、所定ホップ数の値は、予め定数として定めておけばよい。
表意味候補取得部101が取得する複数個の意味の集合を、表意味候補集合と記す。
表意味候補選択部102は、表意味候補集合の中から、意味の候補を、順次、1つずつ選択する。
第2の列表類似度算出部103は、表意味候補選択部102によって選択された意味の候補と、選択されている表の個々の列の意味との類似度を示すスコアを算出する。
選択された意味の候補(表の意味の候補)をZとする。また、その表から1つの列を選択した場合における、その列の意味をXとする。このとき、ZとXとの類似度をsim(Z,X)と記すこととする。sim(Z,X)の計算方法は、前述のsim(X,Y)やsim(Z,X)の計算方法と同様である。すなわち、第2の列表類似度算出部103は、sim(Z,X)を、概念辞書におけるZとXとの間のホップ数の逆数として求めればよい。ZとXとの類似性が高いほど、sim(Z,X)の値を大きな値として得ることができる。
第2の列表類似度算出部103は、選択されている表に含まれる列を1列ずつ順次、選択し、表意味候補選択部102によって選択された意味の候補と、選択した列の意味との類似度を算出し、その類似度の総和を、上記のスコアとして算出する。
図8は、意味の推定対象となる表(選択されている表)の例を示す模式図である。選択されている表に割り当てられている意味が「人間」であり、その表に含まれる各列の意味が「身長」、「名前」、「年齢」であるとする。この場合、第2の列表類似度算出部103は、上記のスコアとして、sim(人間,身長)+sim(人間,名前)+sim(人間,年齢)を算出すればよい。
第2の列表類似度算出部103は、表意味候補選択部102によって選択された意味の候補毎に、上記のスコアを算出する。
以下の説明では、第2の列表類似度算出部103が上記の方法でスコアを算出する場合を例にして説明する。ただし、第2の列表類似度算出部103は、他の方法でスコアを算出してもよい。例えば、第2の列表類似度算出部103は、特許文献1に記載された方法で、選択された表の意味の候補が表の意味に該当する確度を算出し、その確度を、スコアとして用いてもよい。
表類似度算出部104は、どの表とどの表が関連付けられているかを示す情報に基づいて、選択されている表と関連付けられている表を特定する。選択されている表と関連付けられている表は、複数個存在していてもよい。なお、既に説明したように、どの表とどの表が関連付けられているかを示す情報は、予め表記憶部2に記憶されている。
表類似度算出部104は、選択されている表(意味の推定対象となる表)において選択された意味の候補と、その表に関連付けられている他の個々の表の意味との類似度を示すスコアを算出する。上記のように選択された意味の候補(表の意味の候補)をZとする。また、選択されている表に関連付けられている表がm個存在しているとする。なお、mの値は、1であっても、2以上であってもよい。また、そのm個の表の意味をW1~Wmとする。この場合、表類似度算出部104は、以下に示す式(1)の計算によって、上記のスコアを算出すればよい。
なお、sim(Z,Wi)の計算方法は、前述のsim(X,Y)やsim(Z,X)の計算方法と同様である。すなわち、表類似度算出部104は、概念辞書におけるZとWiとの間のホップ数の逆数として求めればよい。
表類似度算出部104が上記のスコアを計算するために用いる概念辞書を、これまでに述べた概念辞書とは別に予め意味集合記憶部4に記憶させておいてもよい。これまでに述べた概念辞書とは別に、表類似度算出部104が上記のスコアを計算するために用いる概念辞書を用いる場合、その概念辞書を第2の概念辞書と記す。第2の概念辞書では、関連付けられやすい表の意味同士がリンクで接続される。ただし、表類似度算出部104用の概念辞書(第2の概念辞書)を設けずに、表類似度算出部104は、列類似度算出部75、第1の列表類似度算出部76および第2の列表類似度算出部103が用いる概念辞書と共通の概念辞書を用いて、ホップ数の逆数を求めてもよい。
図9は、関連付けられている複数の表の例を示す模式図である。図9に示す例において、表51が選択されている表(意味の推定対象となる表)であるとする。また、表52,53が、表51に関連付けられている表であるとする。なお、図9に示す“CID”は“Customer ID ”と同義であり、“IID”は“Item ID ”と同義である。表52の意味が「顧客」であり、表53の意味が「商品」であるとする。また、表51の表意味候補集合には、「人間」、「購買履歴」等が含まれているとする。本例では、m=2であり、「顧客」がW1に相当し、「商品」がW2に相当する。
例えば、表51に関して選択された意味の候補が「人間」である場合、表類似度算出部104は、上記のスコアを、sim(人間,顧客)+sim(人間、商品)の計算によって求めればよい。また、例えば、表51に関して選択された意味の候補が「購買履歴」である場合、表類似度算出部104は、上記のスコアを、sim(購買履歴,顧客)+sim(購買履歴、商品)の計算によって求めればよい。
表類似度算出部104は、表意味候補選択部102によって選択された意味の候補毎に、上記のスコアを算出する。
表スコア算出部105は、意味の推定対象となる表に関して、表意味候補選択部102によって選択された意味の候補毎に、第2の列表類似度算出部103が算出したスコアと、表類似度算出部104が算出したスコアとの和を計算する。
表意味特定部106は、表スコア算出部105によって算出される各候補のスコアに基づいて、推定対象となる表の意味を特定する。例えば、表意味特定部106は、表スコア算出部105によって算出されたスコアが最大となっている意味の候補を、推定対象となる表の意味として特定してもよい。
表意味記録部12(図1参照)は、表意味特定部106が特定した意味を、選択されている表の意味の推定結果として、表意味記憶部11(図1参照)に記憶させる。
また、表意味特定部106は、推定対象となる表の意味を複数個、特定してもよい。例えば、表意味特定部106は、表スコア算出部105によって算出されたスコアが高い順に、上位所定個の意味の候補をそれぞれ、推定対象となる表の意味として特定してもよい。また、例えば、表意味特定部106は、表スコア算出部105によって算出されたスコアが閾値以上となっている意味の候補をそれぞれ、推定対象となる表の意味として特定してもよい。閾値は、予め定められた定数である。推定対象となる表の意味が複数個特定された場合、表意味記録部12は、特定された個々の意味と、その意味のスコア(表スコア算出部105によって算出されたスコア)とを対応付けて、表意味記憶部11に記憶させる。
以下の説明では、説明を簡単にするために、表意味特定部106が、表スコア算出部105によって算出されたスコアが最大となっている意味の候補を、推定対象となる表の意味として特定する場合を例にして説明する。すなわち、推定対象となる表の意味が、1つ特定される場合を例にして説明する。
データ読み込み部3、意味初期値割り当て部5、表選択部6、列意味推定部7(列選択部71、列意味候補取得部72、列意味候補選択部73、列データスコア算出部74、列類似度算出部75、第1の列表類似度算出部76、列スコア算出部77および列意味特定部78)、列意味記録部9、表意味推定部10(表意味候補取得部101、表意味候補選択部102、第2の列表類似度算出部103、表類似度算出部104、表スコア算出部105および表意味特定部106)、表意味記録部12、および、終了判定部13は、例えば、意味推定プログラムに従って動作するコンピュータのプロセッサ(例えば、CPU(Central Processing Unit )、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array ))によって実現される。この場合、プロセッサが、プログラム記憶装置等のプログラム記録媒体から意味推定プログラムを読み込む。そして、プロセッサは、その意味推定プログラムに従って、データ読み込み部3、意味初期値割り当て部5、表選択部6、列意味推定部7(列選択部71、列意味候補取得部72、列意味候補選択部73、列データスコア算出部74、列類似度算出部75、第1の列表類似度算出部76、列スコア算出部77および列意味特定部78)、列意味記録部9、表意味推定部10(表意味候補取得部101、表意味候補選択部102、第2の列表類似度算出部103、表類似度算出部104、表スコア算出部105および表意味特定部106)、表意味記録部12、および、終了判定部13として動作すればよい。
次に、第1の実施形態の処理経過について説明する。図10、図11および図12は、本発明の意味推定システム1の処理経過の例を示すフローチャートである。以下の説明では、既に説明した事項については、適宜、説明を省略する。
なお、予め、管理者によって、各列の意味および表の意味が定められていない複数個の表が表記憶部2に記憶されているものとする。同様に、どの表とどの表が関連付けられているかを示す情報も、予め、表記憶部2に記憶されているものとする。また、予め、管理者によって、概念辞書が意味集合記憶部4に記憶されているものとする。
まず、データ読み込み部3が、各列の意味および表の意味が定められていない全ての表を、表記憶部2から読み込む(ステップS1)。
次に、意味初期値割り当て部5は、データ読み込み部3が読み込んだ複数の表それぞれに対して、表の意味の初期値、および、表に含まれる各列の意味の初期値を割り当てる(ステップS2)。表の意味の初期値や各列の意味の初期値を割り当てる方法の例については、既に説明したので、ここでは説明を省略する。意味初期値割り当て部5は、各表に含まれる各列の意味の初期値をそれぞれ、列意味記憶部8に記憶させる。また、意味初期値割り当て部5は、各表の意味の初期値をそれぞれ、表意味記憶部11に記憶させる。
ステップS2の後、表選択部6が、全ての表の中から、未選択の表を1つ選択する(ステップS3)。
ステップS4~S12、およびステップS14は、列意味推定部7に含まれる要素(図3参照)によって実行される。
ステップS3の後、列選択部71は、ステップS3で選択された表の中から、未選択の列を1つ選択する(ステップS4)。
次に、列意味候補取得部72が、ステップS4で選択された列の意味の候補を、意味集合記憶部4に記憶された意味の候補の中から、複数個取得する(ステップS5)。換言すれば、列意味候補取得部72は、ステップS4で選択された列に関する列意味候補集合を取得する。列意味候補集合(複数個の意味の候補)を取得する方法の例については、既に説明したので、ここでは説明を省略する。
次に、列意味候補選択部73が、列意味候補集合の中から、未選択の意味の候補(列の意味の候補)を1つ選択する(ステップS6)。
次に、列データスコア算出部74が、選択された列に格納されている各データに基づいて、ステップS6で選択された意味の候補が、選択された列の意味に該当する度合いを示すスコアを算出する(ステップS7)。列データスコア算出部74がスコアを算出する動作の例については既に説明したので、ここでは説明を省略する。
次に、列類似度算出部75が、ステップS3で選択された表のうち、ステップS4で選択された列以外の個々の列の意味と、ステップS6で選択された意味の候補との類似度を示すスコアを算出する(ステップS8)。列類似度算出部75がスコアを算出する動作については既に説明したので、ここでは説明を省略する。
次に、第1の列表類似度算出部76が、ステップS3で選択された表の意味と、ステップS6で選択された意味の候補との類似度を示すスコアを算出する(ステップS9)。第1の列表類似度算出部76がスコアを算出する動作については既に説明したので、ここでは説明を省略する。
次に、列スコア算出部77は、ステップS6で選択された意味の候補に関して、ステップS7,S8,S9で算出されたスコアの和を算出する(ステップS10)。
次に、列意味候補選択部73は、列意味候補集合の中に、未選択の列の意味の候補があるか否かを判定する(ステップS11)。
未選択の列の意味の候補がある場合(ステップS11のYes)、ステップS6以降の処理を繰り返す。
未選択の列の意味の候補がない場合(ステップS11のNo)、ステップS12に移行する。この場合、列の意味の候補毎に、列スコア算出部77がステップS10でスコアを算出していることになる。ステップS12では、列意味特定部78が、列の意味の候補毎にステップS10で算出されたスコアに基づいて、選択された列の意味を特定する。本例では、列意味特定部78は、スコアが最大となっている意味の候補を、選択された列の意味として特定する。
続いて、列意味記録部9(図1参照)が、ステップS12で特定された列の意味を、その列と対応づけて列意味記憶部8に記憶させる(ステップS13)。
次に、列選択部71が、ステップS3で選択された表の中に未選択の列があるか否かを判定する(ステップS14)。
未選択の列がある場合(ステップS14のYes)、ステップS4以降の処理を繰り返す。
未選択の列がない場合(ステップS14のNo)、表意味推定部10が以下に示すステップS15~S21の動作を行う。以下に示すステップS15~S21は、表意味推定部10に含まれる要素(図7参照)によって実行される。
未選択の列がない場合(ステップS14のNo)、表意味候補取得部101が、ステップS3で選択された表の意味の候補を、意味集合記憶部4に記憶された意味の候補の中から、複数個取得する(ステップS15)。換言すれば、表意味候補取得部101は、ステップS3で選択された表に関する表意味候補集合を取得する。表意味候補集合(複数個の意味の候補)を取得する方法の例については、既に説明したので、ここでは説明を省略する。
次に、表意味候補選択部102が、表意味候補集合の中から、未選択の意味の候補(表の意味の候補)を1つ選択する(ステップS16)。
次に、第2の列表類似度算出部103が、ステップS3で選択された表の個々の列の意味と、ステップS16で選択された意味の候補との類似度を示すスコアを算出する(ステップS17)。第2の列表類似度算出部103がスコアを算出する動作については既に説明したので、ここでは説明を省略する。
次に、表類似度算出部104が、ステップS3で選択された表に関連付けられている個々の表の意味と、ステップS16で選択された意味の候補との類似度を示すスコアを算出する(ステップS18)。表類似度算出部104がスコアを算出する動作については既に説明したので、ここでは説明を省略する。
次に、表スコア算出部105は、ステップS16で選択された意味の候補に関して、ステップS17,S18で算出されたスコアの和を計算する(ステップS19)。
次に、表意味候補選択部102は、表意味候補集合の中に、未選択の表の意味の候補があるか否かを判定する(ステップS20)。
未選択の表の意味の候補がある場合(ステップS20のYes)、ステップS16以降の処理を繰り返す。
未選択の表の意味の候補がない場合(ステップS20のNo)、ステップS21に移行する。この場合、表の意味の候補毎に、表スコア算出部105がステップS19でスコアを算出していることになる。ステップS21では、表意味特定部106が、表の意味の候補毎にステップS19で算出されたスコアに基づいて、選択されている表の意味を特定する。本例では、表意味特定部106は、スコアが最大となっている意味の候補を、選択されている表の意味として特定する。
続いて、表意味記録部12(図1参照)が、ステップS21で特定された表の意味を、その表と対応付けて表意味記憶部11に記憶させる(ステップS22)。
次に、表選択部6は、未選択の表があるか否かを判定する(ステップS23)。
未選択の表がある場合(ステップS23のYes)、ステップS3以降の処理を繰り返す。
未選択の表がない場合(ステップS23のNo)、終了判定部13は、繰り返し処理の終了条件が満たされたか否かを判定する(ステップS24)。この繰り返し処理は、具体的には、ステップS3から、ステップS24で終了条件を満たしていないと判定されたことによってステップS25に至るまでの処理である。すなわち、ステップS3からステップS25に至るまでの処理が1回の繰り返し処理に該当する。前述のように、終了条件の例として、例えば、繰り返し処理の繰り返し数が所定数に達したこと、あるいは、各表に含まれる各列の意味、および、各表の意味が更新されなくなったこと等が挙げられる。
終了条件が満たされていない場合(ステップS24のNo)、表選択部6は、全ての表を未選択であるものと定める(ステップS25)。このとき、表選択部6は、全ての表の個々の列についても、未選択であるものと定める。ステップS25の後、ステップS3以降の処理を繰り返す。
また、終了条件が満たされている場合(ステップS24のYes)、処理を終了する。
第1の実施形態によれば、表内で選択された列(推定対象となる列)の意味の候補と、その表内の他の個々の列の意味との類似度を示すスコア(ステップS8で算出されるスコア)や、その意味の候補とその表の意味との類似度を示すスコア(ステップS9で算出されるスコア)を加味したスコアを、列スコア算出部77が、ステップS10で算出する。そして、列意味特定部78が、列の意味の候補毎に算出されたそのスコアに基づいて、列の意味を特定する。従って、表の各列の意味を高い精度で推定することができる。
例えば、図4や図5に示す第3列の意味を推定する場合を考える。この第3列の意味が正しくは「年齢」であるものとする。ステップS7で得られるスコアだけを用いると、第3列の意味の推定結果として「平成」が得られることがあり得る。しかし、ステップS7で得られるスコアだけでなく、ステップS8で得られるスコアやステップS9で得られるスコアも加味することによって、正しい推定結果である「年齢」が得られやすくなる。すなわち、列の意味の推定精度を向上させることができる。
また、第1の実施形態によれば、表の意味の候補と、その表の個々の列の意味との類似度を示すスコア(ステップS17で算出されるスコア)や、その意味の候補と、その表に関連付けられている個々の表の意味との類似度を示すスコア(ステップS18で算出されるスコア)を加味したスコアを、表スコア算出部105が、ステップS19で算出する。そして、表意味特定部106が、表の意味の候補毎に算出されたそのスコアに基づいて、表の意味を特定する。従って、表の意味を高い精度で推定することができる。
次に、第1の実施形態の変形例について説明する。
上記の処理経過の説明では、ステップS12で、列意味特定部78が、スコアが最大となっている意味の候補を、選択された列の意味として特定する場合を例にして説明した。この場合、意味の推定対象となる列に対して、1つの意味が特定されることになる。前述のように、列意味特定部78は、推定対象となる列の意味を複数個、特定してもよい。この場合、列意味記録部9は、ステップS12で特定された複数の意味(列の意味)を、ステップS10で算出されたスコアとともに、列意味記憶部8に記憶させる。
また、この場合、1つの列に複数の意味が割り当てられることになる。この場合のステップS8におけるスコア算出方法の例について説明する。1つの列に複数の意味が割り当てられている場合、列類似度算出部75(図3参照)は、その複数の意味のうち、スコアが最も高い意味のみに着目して、ステップS8におけるスコア計算を行ってもよい。図13は、意味の推定対象となる列と、複数の意味が割り当てられている列を含む表の例を示す模式図である。説明を簡単にするため、図13では、列の数を2列としている。図13に示す第1列には、「名前」、「県名」という2つの意味が割り当てられているとする。なお、括弧書きで示した数値は、意味に対応するスコアである。また、図13に示す第2列が、意味の推定対象となる列(ステップS4で選択された列)である。第2列に関して選択された意味の候補を符号Xで表す。スコアが最も高い意味のみに着目してステップS8のスコア計算を行う場合、列類似度算出部75は、図13に示す例では、スコアが最も高い「名前」のみを用いて、sim(X,名前)を計算すればよい。意味の推定対象となる列以外の列が第1の列の他にも存在する場合にも、列類似度算出部75は、列毎に同様の計算を行い、その総和を、ステップS8における算出スコアとすればよい。
また、推定対象となる列と、他の1つの列との類似度を計算する場合、列類似度算出部75は、他の列に割り当てられている意味毎にsim()を計算し、その計算結果を、意味に対応付けられたスコアを用いて重み付け加算してもよい。例えば、図13に例示する場合、列類似度算出部75は、意味の候補“X”と、第1列の意味との類似度を、以下のように計算すればよい。
(4.5/(4.5+3.5))×sim(X,名前)+(3.5/(4.5+3.5))×sim(X,県名)
(4.5/(4.5+3.5))×sim(X,名前)+(3.5/(4.5+3.5))×sim(X,県名)
意味の推定対象となる列以外の列が、第1の列の他にも存在する場合にも、列類似度算出部75は、列毎に、上記と同様の計算を行い、その総和をステップS8における算出スコアとしてもよい。
また、1つの列に複数の意味が割り当てられる場合のステップS17におけるスコア算出方法の例について説明する。1つの列に複数の意味が割り当てられている場合、第2の列表類似度算出部103(図7参照)は、その複数の意味のうち、スコアが最も高い意味のみに着目して、ステップS17におけるスコア計算を行ってもよい。図14は、複数の意味が割り当てられている列を含む表と、表の意味の候補とを示す模式図である。図14では、説明を簡単にするため、1つの列のみを図示している。また、表の意味の候補を符号Zで表す。図14に示す列には、「名前」、「県名」という2つの意味が割り当てられているとする。なお、括弧書きで示した数値は、意味に対応するスコアである。スコアが最も高い意味のみに着目してステップS17のスコア計算を行う場合、第2の列表類似度算出部103は、図14に示す列では、スコアが最も高い「名前」のみを用いて、sim(Z,名前)を計算すればよい。第2の列表類似度算出部103は、他の列(図14において図示略)に対しても、列毎に同様の計算を行い、その総和を、ステップS17における算出スコアとすればよい。
また、1つの列の意味と、表の意味の候補との類似度を計算する場合、第2の列表類似度算出部103は、その1つの列に割り当てられている意味毎にsim()を計算し、その計算結果を、意味に対応付けられたスコアを用いて重み付け加算してもよい。例えば、表の意味の候補“Z”と、図14に示す1つの列の意味との類似度を、以下のように計算すればよい。
(4.5/(4.5+3.5))×sim(Z,名前)+(3.5/(4.5+3.5))×sim(Z,県名)
(4.5/(4.5+3.5))×sim(Z,名前)+(3.5/(4.5+3.5))×sim(Z,県名)
第2の列表類似度算出部103は、他の列(図14において図示略)に対しても、列毎に同様の計算を行い、その総和を、ステップS17における算出スコアとすればよい。
また、上記の処理経過の説明では、ステップS21で、表意味特定部106が、スコアが最大となっている意味の候補を、選択された表の意味として特定する場合を例にして説明した。この場合、選択された表に対して、1つの意味が特定されることになる。前述のように、表意味特定部106は、表の意味を複数個、特定してもよい。この場合、表意味記録部12は、ステップS21で特定された複数の意味(表の意味)を、ステップS19で算出されたスコアとともに、表意味記憶部11に記憶させる。
また、この場合、1つの表に複数の意味が割り当てられることになる。この場合のステップS9におけるスコア算出方法の例について説明する。1つの表に複数の意味が割り当てられている場合、第1の列表類似度算出部76(図3参照)は、その複数の意味のうち、スコアが最も高い意味のみに着目して、ステップS9におけるスコア計算を行ってもよい。図15は、意味の推定対象となる列と、表に割り当てられた複数の意味の例を示す模式図である。説明を簡単にするため、図15では、意味の推定対象となる列以外の列の図示を省略している。選択された意味の候補(列の意味の候補)を符号Xで表す。また、表には、「研究者」、「顧客」という2つの意味が割り当てられているとする。なお、括弧書きで示した数値は、意味に対応するスコアである。スコアが最も高い意味のみに着目してステップS9のスコア計算を行う場合、第1の列表類似度算出部76は、図15に示す例では、スコアが最も高い「研究者」のみを用いて、sim(X,研究者)を計算すればよい。そして、第1の列表類似度算出部76は、その計算結果を、ステップS9における算出スコアとすればよい。
また、ステップS9のスコア計算を行う場合、第1の列表類似度算出部76は、表に割り当てられている意味毎にsim()を計算し、その計算結果を、意味に対応付けられたスコアを用いて重み付け加算してもよい。例えば、図15に例示する場合、第1の列表類似度算出部76は、意味の候補“X”と、表の意味の類似度を、以下のように計算すればよい。
(4.5/(4.5+3.5))×sim(X,研究者)+(3.5/(4.5+3.5))×sim(X,顧客)
(4.5/(4.5+3.5))×sim(X,研究者)+(3.5/(4.5+3.5))×sim(X,顧客)
第1の列表類似度算出部76は、上記の計算結果を、ステップS9における算出スコアとしてもよい。
また、1つの表に複数の意味が割り当てられる場合のステップS18におけるスコア計算方法の例について説明する。1つの表に複数の意味が割り当てられている場合、表類似度算出部104(図7参照)は、その複数の意味のうち、スコアが最も高い意味のみに着目して、ステップS18におけるスコア計算を行ってもよい。図16は、意味の推定対象となる表と、その表に関連付けられている他の表の例を示す模式図である。図16に示す表51は、意味の推定対象となる表である。表51において選択されている意味の候補を符号Zで表す。表52は、表51に関連付けられている表である。表52には、「顧客」、「研究者」という2つの意味が割り当てられているとする。なお、括弧書きで示した数値は、意味に対応するスコアである。スコアが最も高い意味のみに着目してステップS18のスコア計算を行い場合、表類似度算出部104は、図16に示す例では、スコアが最も高い「顧客」のみを用いて、sim(Z,顧客)を計算すればよい。表類似度算出部104は、表51に関連付けられている他の表に関しても、表毎に同様の計算を行い、その総和を、ステップS18における算出スコアとすればよい。
また、表の意味の候補と、その表に関連付けられている他の表の意味との類似度を計算する場合、表類似度算出部104は、他の表に割り当てられている意味毎にsim()を計算し、その計算結果を、意味に対応付けられたスコアを用いて重み付け加算してもよい。例えば、図16に例示する場合、表類似度算出部104は、意味の候補“Z”と、表52の意味との類似度を以下のように計算すればよい。
(4.5/(4.5+3.5))×sim(Z,顧客)+(3.5/(4.5+3.5))×sim(Z,研究者)
(4.5/(4.5+3.5))×sim(Z,顧客)+(3.5/(4.5+3.5))×sim(Z,研究者)
表類似度算出部104は、表51に関連付けられている表毎に、上記と同様の計算を行い、その総和をステップS18における算出スコアとしてもよい。
実施形態2.
第2の実施形態では、本発明の意味推定システムは、表の各列の意味を推定し、表の意味に関しては推定しない。図17は、本発明の第2の実施形態の意味推定システムの構成例を示すブロック図である。図1に示す要素と同様の要素には、図1と同一の符号を付し、説明を省略する。表意味推定部10および表意味記録部12を備えていない点以外は、図1に示す構成と同様である。第2の実施形態では、意味推定システム1は、表意味推定部10を備えていないので、表の意味の推定を行わない。
第2の実施形態では、本発明の意味推定システムは、表の各列の意味を推定し、表の意味に関しては推定しない。図17は、本発明の第2の実施形態の意味推定システムの構成例を示すブロック図である。図1に示す要素と同様の要素には、図1と同一の符号を付し、説明を省略する。表意味推定部10および表意味記録部12を備えていない点以外は、図1に示す構成と同様である。第2の実施形態では、意味推定システム1は、表意味推定部10を備えていないので、表の意味の推定を行わない。
第2の実施形態では、どの表とどの表が関連付けられているかを示す情報は与えられなくてよい。
第2の実施形態では、意味推定システム1は、前述のステップS15~S22の処理を実行しない。すなわち、ステップS14において、列選択部71によって未選択の列がないと判定された場合(ステップS14のNo)、ステップS23に移行し、表選択部6が、未選択の表があるか否かを判定すればよい。その他の点については、第1の実施形態で説明した処理経過と同様である。
なお、予め表記憶部2に記憶される表には、表の意味が定められていなくてよい。その場合であっても、意味初期値割り当て部5が、表の意味の初期値を割り当てるので、第1の列表類似度算出部76(図3参照)は、ステップS9のスコア算出を実行することができる。なお、表の意味が定められていない場合には、ステップS9のスコア算出処理を省略してもよい。ステップS9のスコア算出処理を省略する列意味推定部7の構成例については、後述する。
また、予め表記憶部2に記憶される表に、表の意味が定められていてもよい。この場合、意味初期値割り当て部5は、予め定められている表の意味を、表の意味の初期値として割り当てればよい。
なお、第2の実施形態では、表の意味は、初期値から更新されることはない。
第2の実施形態においても、表内で選択された列(推定対象となる列)の意味の候補と、その表内の他の個々の列の意味との類似度を示すスコア(ステップS8で算出されるスコア)や、その意味の候補とその表の意味との類似度を示すスコア(ステップS9で算出されるスコア)を加味したスコアを、列スコア算出部77が、ステップS10で算出する。そして、列意味特定部78が、列の意味の候補毎に算出されたそのスコアに基づいて、列の意味を特定する。従って、表の各列の意味を高い精度で推定することができる。
なお、第1の実施形態で説明した変形例を、第2の実施形態に適用してもよい。
実施形態3.
第3の実施形態では、本発明の意味推定システムは、表の意味を推定し、表の各列の意味に関しては推定しない。図18は、本発明の第3の実施形態の意味推定システムの構成例を示すブロック図である。図1に示す要素と同様の要素には、図1と同一の符号を付し、説明を省略する。列意味推定部7および列意味記録部9を備えていない点以外は、図1に示す構成と同様である。第3の実施形態では、意味推定システム1は、列意味推定部7を備えていないので、表の各列の意味の推定を行わない。
第3の実施形態では、本発明の意味推定システムは、表の意味を推定し、表の各列の意味に関しては推定しない。図18は、本発明の第3の実施形態の意味推定システムの構成例を示すブロック図である。図1に示す要素と同様の要素には、図1と同一の符号を付し、説明を省略する。列意味推定部7および列意味記録部9を備えていない点以外は、図1に示す構成と同様である。第3の実施形態では、意味推定システム1は、列意味推定部7を備えていないので、表の各列の意味の推定を行わない。
第3の実施形態では、意味推定システム1は、前述のステップS4~S14の処理を実行しない。すなわち、ステップS3で、表選択部6が1つの表を選択した後、ステップS15に移行し、表意味候補取得部101が、選択された表の表意味候補集合を取得すればよい。その他の点については、第1の実施形態で説明した処理経過と同様である。
なお、予め表記憶部2に記憶される各表において、各列の意味が定められていなくてもよい。その場合であっても、意味初期値割り当て部5が、各表の各列の意味の初期値を割り当てるので、第2の列表類似度算出部103(図7参照)は、ステップS17のスコア算出処理を実行することができる。なお、各表の各列の意味が定められていない場合には、ステップS17のスコア算出処理を省略してもよい。ステップS17のスコア算出処理を省略する表意味推定部10の構成例については、後述する。
また、予め表記憶部2に記憶される各表の各列に意味が定められていてもよい。この場合、意味初期値割り当て部5は、予め定められている各表の各列の意味を、それぞれの列の意味の初期値として割り当てればよい。
なお、第3の実施形態では、各表の各列の意味は、初期値から更新されることはない。
第3の実施形態においても、表の意味の候補と、その表の個々の列の意味との類似度を示すスコア(ステップS17で算出されるスコア)や、その意味の候補と、その表に関連付けられている個々の表の意味との類似度を示すスコア(ステップS18で算出されるスコア)を加味したスコアを、表スコア算出部105が、ステップS19で算出する。そして、表意味特定部106が、表の意味の候補毎に算出されたそのスコアに基づいて、表の意味を特定する。従って、表の意味を高い精度で推定することができる。
なお、第1の実施形態で説明した変形例を、第3の実施形態に適用してもよい。
次に、前述の種々の実施形態の変形例について説明する。
第1の実施形態および第2の実施形態において、列意味推定部7は、第1の実施形態で説明したステップS8のスコア算出処理を省略してもよい。図19は、この場合の列意味推定部7の構成例を示すブロック図である。図3に示す要素と同一の要素には、図3と同一の符号を付し、説明を省略する。列類似度算出部75を備えていない点以外は、図3に示す構成と同様である。本変形例では、列意味推定部7は、列類似度算出部75を備えていないので、ステップS8のスコア算出処理を行わない。
また、ステップS8のスコア算出処理は行われないので、図19に示す列スコア算出部77は、ステップS10(図10参照)において、ステップS7,S9で算出されたスコアの和を算出する。
その他の点は、第1の実施形態または第2の実施形態と同様である。本変形例では、推定対象となる列の意味の候補と表の意味との類似度を示すスコア(ステップS9で算出されるスコア)を加味したスコアを、列スコア算出部77が、ステップS10で算出する。そして、列意味特定部78が、列の意味の候補毎に算出されたそのスコアに基づいて、列の意味を特定する。従って、表の各列の意味を高い精度で推定することができる。
また、第1の実施形態および第2の実施形態において、列意味推定部7は、第1の実施形態で説明したステップ9のスコア算出処理を省略してもよい。図20は、この場合の列意味推定部7の構成例を示すブロック図である。図3に示す要素と同一の要素には、図3と同一の符号を付し、説明を省略する。第1の列表類似度算出部76を備えていない点以外は、図3に示す構成と同様である。本変形例では、列意味推定部7は、第1の列表類似度算出部76を備えていないので、ステップS9のスコア算出処理を行わない。
また、ステップS9のスコア算出処理は行われないので、図20に示す列スコア算出部77は、ステップS10(図10参照)において、ステップS7,S8で算出されたスコアの和を算出する。
その他の点は、第1の実施形態または第2の実施形態と同様である。本変形例では、推定対象となる列の意味の候補と、表内の他の個々の列の意味との類似度を示すスコア(ステップS8で算出されるスコア)を加味したスコアを、列スコア算出部77が、ステップS10で算出する。そして、列意味特定部78が、列の意味の候補毎に算出されたそのスコアに基づいて、列の意味を特定する。従って、表の各列の意味を高い精度で推定することができる。
また、第1の実施形態および第3の実施形態において、表意味推定部10は、第1の実施形態で説明したステップS17のスコア算出処理を省略してもよい。なお、ステップS17のスコア算出処理を省略する場合には、ステップS19の処理も省略してよい。図21は、この場合の表意味推定部10の構成例を示すブロック図である。図7に示す要素と同一の要素には、図7と同一の符号を付し、説明を省略する。第2の列表類似度算出部103および表スコア算出部105を備えていない点以外は、図7に示す構成と同様である。本変形例では、表意味推定部10は、第2の列表類似度算出部103および表スコア算出部105を備えていないので、ステップS17のスコア算出処理、および、ステップS19のスコア加算処理を行わない。
本変形例では、ステップS21(図12参照)において、表意味特定部106は、ステップS18で算出されたスコアに基づいて、選択されている表の意味を特定する。この点は、第1の実施形態および第3の実施形態のステップS21と異なる。
その他の点は、第1の実施形態または第3の実施形態と同様である。本変形例では、表の意味の候補と、その表に関連付けられている個々の表の意味との類似度を示すスコア(ステップS18で算出されるスコア)に基づいて、表意味特定部106が表の意味を特定する。従って、表の意味を高い精度で推定することができる。
また、第1の実施形態および第3の実施形態において、表意味推定部10は、第1の実施形態で説明したステップS18のスコア算出処理を省略してもよい。なお、ステップS18のスコア算出処理を省略する場合には、ステップS19の処理も省略してよい。図22は、この場合の表意味推定部10の構成例を示すブロック図である。図7に示す要素と同一の要素には、図7と同一の符号を付し、説明を省略する。表類似度算出部104および表スコア算出部105を備えていない点以外は、図7に示す構成と同様である。本変形例では、表意味推定部10は、表類似度算出部104および表スコア算出部105を備えていないので、ステップS18のスコア算出処理、および、ステップS19のスコア加算処理を行わない。
本変形例では、どの表とどの表が関連付けられているかを示す情報は与えられなくてよい。また、本変形例では、ステップS21(図12参照)において、表意味特定部106は、ステップS17で算出されたスコアに基づいて、選択されている表の意味を特定する。この点は、第1の実施形態および第3の実施形態のステップS21と異なる。
その他の点は、第1の実施形態または第3の実施形態と同様である。本変形例では、表の意味の候補と、その表の個々の列の意味との類似度を示すスコア(ステップS17で算出されるスコア)に基づいて、表意味特定部106が表の意味を特定する。従って、表の意味を高い精度で推定することができる。
また、上記の各実施形態やその変形例では、選択された意味の候補と、他の意味との類似度を求める際に、概念辞書のホップ数を用いるものとして説明した。より具体的には、選択された意味の候補と、他の意味との類似度を、概念辞書における両者間のホップ数の逆数として算出するものとして説明した。
上記の各実施形態やその変形例において、概念辞書のホップ数に相当する値を算出するためのベクトルを、表の意味の個々の候補、および、表の意味の個々の候補に、予め割り当てておき、概念辞書の代わりに、意味の候補毎に、意味の候補とベクトルとの組合せを意味集合記憶部4に記憶させておいてもよい。このベクトルは、埋め込みベクトルと称される。与えられた概念辞書に基づいて、概念辞書の各ノードの埋め込みベクトルを導出するアルゴリズムとして、RESCALが知られている。予めRESCALによって、個々の候補(意味の候補)毎に、埋め込みベクトルを導出しておき、意味の候補毎に、意味の候補と埋め込みベクトルとの組合せを意味集合記憶部4に記憶させておいてもよい。この場合、概念辞書が意味集合記憶部4に記憶されていなくても、sim(X,Y)(ここで、X,Yは、任意の意味)を求めることができる。Xに対応する埋め込みベクトルとYに対応する埋め込みベクトルの内積は、概念辞書におけるX,Y間のホップ数に相当する値となる。従って、意味の候補毎に、意味の候補と埋め込みベクトルとの組合せを意味集合記憶部4に記憶させておき、任意のX,Yに関してsim(X,Y)を求める場合には、Xに対応する埋め込みベクトルとYに対応する埋め込みベクトルの内積の逆数を求めればよい。このように、ホップ数を直接求めなくても、類似度を算出することができる。また、各意味の候補に応じた埋め込みベクトルを導出するアルゴリズムとして、word2vecが知られている。word2vecでは、概念辞書が与えられなくても、既存の種々の文書から埋め込みベクトルを導出することができる。
図23は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004とを備える。
本発明の各実施形態の意味推定システム1は、コンピュータ1000に実装される。意味推定システム1の動作は、意味推定プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、その意味推定プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、その意味推定プログラムに従って、上記の各実施形態や各種変形例で説明した処理を実行する。
補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、上記の処理を実行してもよい。
また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
また、各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
次に、本発明の概要について説明する。図24は、本発明の意味推定システムの概要を示すブロック図である。本発明の意味推定システムは、列意味候補選択手段303と、列類似度算出手段304と、列意味特定手段305とを備える。
列意味候補選択手段303(例えば、列意味候補選択部73)は、意味の推定対象となる列の意味の候補を選択する。
列類似度算出手段304(例えば、列類似度算出部75)は、列意味候補選択手段303によって選択された意味の候補毎に、選択された意味の候補と、表に含まれる推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する。
列意味特定手段305(例えば、列意味特定部78)は、列類似度算出手段304が算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定する。
そのような構成により、表の各列の意味を高い精度で推定することができる。
図25は、本発明の意味推定システムの概要の他の例を示すブロック図である。図25に示す意味推定システムは、列意味候補選択手段403と、第1の列表類似度算出手段404と、列意味特定手段405とを備える。
列意味候補選択手段403(例えば、列意味候補選択部73)は、意味の推定対象となる列の意味の候補を選択する。
第1の列表類似度算出手段404(例えば、第1の列表類似度算出部76)は、列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する。
列意味特定手段405(例えば、列意味特定部78)は、第1の列表類似度算出手段404が算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定する。
そのような構成により、表の各列の意味を高い精度で推定することができる。
上記の本発明の実施形態は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)
表に含まれる列の意味を推定する意味推定システムであって、
意味の推定対象となる列の意味の候補を選択する列意味候補選択手段と、
前記列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出手段と、
前記列類似度算出手段が算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定手段とを備える
ことを特徴とする意味推定システム。
表に含まれる列の意味を推定する意味推定システムであって、
意味の推定対象となる列の意味の候補を選択する列意味候補選択手段と、
前記列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出手段と、
前記列類似度算出手段が算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定手段とを備える
ことを特徴とする意味推定システム。
(付記2)
表の各列の意味の初期値を割り当てる意味初期値割り当て手段と、
意味の推定対象となる列を選択する列選択手段とを備える
付記1に記載の意味推定システム。
表の各列の意味の初期値を割り当てる意味初期値割り当て手段と、
意味の推定対象となる列を選択する列選択手段とを備える
付記1に記載の意味推定システム。
(付記3)
意味初期値割り当て手段は、表の意味の初期値を割り当て、
列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出手段を備え、
列意味特定手段は、列類似度算出手段が算出したスコアと、前記第1の列表類似度算出手段が算出したスコアとを用いて、推定対象となる列の意味を特定する
付記2に記載の意味推定システム。
意味初期値割り当て手段は、表の意味の初期値を割り当て、
列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出手段を備え、
列意味特定手段は、列類似度算出手段が算出したスコアと、前記第1の列表類似度算出手段が算出したスコアとを用いて、推定対象となる列の意味を特定する
付記2に記載の意味推定システム。
(付記4)
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から表を選択する表選択手段を備え、
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定する処理を繰り返す
付記2に記載の意味推定システム。
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から表を選択する表選択手段を備え、
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定する処理を繰り返す
付記2に記載の意味推定システム。
(付記5)
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から表を選択する表選択手段を備え、
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定する処理を繰り返す
付記3に記載の意味推定システム。
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から表を選択する表選択手段を備え、
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定する処理を繰り返す
付記3に記載の意味推定システム。
(付記6)
表に含まれる列の意味を推定する意味推定システムであって、
意味の推定対象となる列の意味の候補を選択する列意味候補選択手段と、
前記列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出手段と、
前記第1の列表類似度算出手段が算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定手段とを備える
ことを特徴とする意味推定システム。
表に含まれる列の意味を推定する意味推定システムであって、
意味の推定対象となる列の意味の候補を選択する列意味候補選択手段と、
前記列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出手段と、
前記第1の列表類似度算出手段が算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定手段とを備える
ことを特徴とする意味推定システム。
(付記7)
表の意味の初期値と、前記表の各列の意味の初期値とを割り当てる意味初期値割り当て手段と、
意味の推定対象となる列を選択する列選択手段とを備える
付記6に記載の意味推定システム。
表の意味の初期値と、前記表の各列の意味の初期値とを割り当てる意味初期値割り当て手段と、
意味の推定対象となる列を選択する列選択手段とを備える
付記6に記載の意味推定システム。
(付記8)
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から表を選択する表選択手段を備え、
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定する処理を繰り返す
付記7に記載の意味推定システム。
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から表を選択する表選択手段を備え、
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定する処理を繰り返す
付記7に記載の意味推定システム。
(付記9)
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段と、
前記推定対象となる表の意味の候補を選択する表意味候補選択手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する表類似度算出手段と、
前記表類似度算出手段が算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定手段とを備える
付記2、付記3および付記7のうちのいずれかに記載の意味推定システム。
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段と、
前記推定対象となる表の意味の候補を選択する表意味候補選択手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する表類似度算出手段と、
前記表類似度算出手段が算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定手段とを備える
付記2、付記3および付記7のうちのいずれかに記載の意味推定システム。
(付記10)
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段と、
前記推定対象となる表の意味の候補を選択する表意味候補選択手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表の個々の列の意味との類似度を示すスコアを算出する第2の列表類似度算出手段と、
前記第2の列表類似度算出手段が算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定手段とを備える
付記2、付記3および付記7のうちのいずれかに記載の意味推定システム。
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段と、
前記推定対象となる表の意味の候補を選択する表意味候補選択手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表の個々の列の意味との類似度を示すスコアを算出する第2の列表類似度算出手段と、
前記第2の列表類似度算出手段が算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定手段とを備える
付記2、付記3および付記7のうちのいずれかに記載の意味推定システム。
(付記11)
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段と、
前記推定対象となる表の意味の候補を選択する表意味候補選択手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する表類似度算出手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表の個々の列の意味との類似度を示すスコアを算出する第2の列表類似度算出手段と、
前記表類似度算出手段が算出したスコアと、前記第2の列表類似度算出手段が算出したスコアとを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定手段とを備える
付記2、付記3および付記7のうちのいずれかに記載の意味推定システム。
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段と、
前記推定対象となる表の意味の候補を選択する表意味候補選択手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する表類似度算出手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表の個々の列の意味との類似度を示すスコアを算出する第2の列表類似度算出手段と、
前記表類似度算出手段が算出したスコアと、前記第2の列表類似度算出手段が算出したスコアとを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定手段とを備える
付記2、付記3および付記7のうちのいずれかに記載の意味推定システム。
(付記12)
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定し、表意味特定手段が、各表の意味を特定する処理を繰り返す
付記9から付記11のうちのいずれかに記載の意味推定システム。
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定し、表意味特定手段が、各表の意味を特定する処理を繰り返す
付記9から付記11のうちのいずれかに記載の意味推定システム。
(付記13)
表に含まれる列の意味を推定する意味推定方法であって、
コンピュータが、
意味の推定対象となる列の意味の候補を選択し、
選択した意味の候補毎に、選択した意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出処理を実行し、
前記列類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する
ことを特徴とする意味推定方法。
表に含まれる列の意味を推定する意味推定方法であって、
コンピュータが、
意味の推定対象となる列の意味の候補を選択し、
選択した意味の候補毎に、選択した意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出処理を実行し、
前記列類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する
ことを特徴とする意味推定方法。
(付記14)
表に含まれる列の意味を推定する意味推定方法であって、
コンピュータが、
意味の推定対象となる列の意味の候補を選択し、
選択した意味の候補毎に、選択した意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出処理を実行し、
前記第1の列表類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する
ことを特徴とする意味推定方法。
表に含まれる列の意味を推定する意味推定方法であって、
コンピュータが、
意味の推定対象となる列の意味の候補を選択し、
選択した意味の候補毎に、選択した意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出処理を実行し、
前記第1の列表類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する
ことを特徴とする意味推定方法。
(付記15)
コンピュータに、表に含まれる列の意味を推定させるための意味推定プログラムであって、
前記コンピュータに、
意味の推定対象となる列の意味の候補を選択する列意味候補選択処理、
前記列意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出処理、および、
前記列類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定処理
を実行させるための意味推定プログラム。
コンピュータに、表に含まれる列の意味を推定させるための意味推定プログラムであって、
前記コンピュータに、
意味の推定対象となる列の意味の候補を選択する列意味候補選択処理、
前記列意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出処理、および、
前記列類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定処理
を実行させるための意味推定プログラム。
(付記16)
コンピュータに、表に含まれる列の意味を推定させるための意味推定プログラムであって、
前記コンピュータに、
意味の推定対象となる列の意味の候補を選択する列意味候補選択処理、
前記列意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出処理、および、
前記第1の列表類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定処理
を実行させるための意味推定プログラム。
コンピュータに、表に含まれる列の意味を推定させるための意味推定プログラムであって、
前記コンピュータに、
意味の推定対象となる列の意味の候補を選択する列意味候補選択処理、
前記列意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出処理、および、
前記第1の列表類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定処理
を実行させるための意味推定プログラム。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
本発明は、表の各列の意味や表の意味を推定する意味推定システムに好適に適用可能である。
1 意味推定システム
2 表記憶部
3 データ読み込み部
4 意味集合記憶部
5 意味初期値割り当て部
6 表選択部
7 列意味推定部
8 列意味記憶部
9 列意味記録部
10 表意味推定部
11 表意味記憶部
12 表意味記録部
13 終了判定部
71 列選択部
72 列意味候補取得部
73 列意味候補選択部
74 列データスコア算出部
75 列類似度算出部
76 第1の列表類似度算出部
77 列スコア算出部
78 列意味特定部
101 表意味候補取得部
102 表意味候補選択部
103 第2の列表類似度算出部
104 表類似度算出部
105 表スコア算出部
106 表意味特定部
2 表記憶部
3 データ読み込み部
4 意味集合記憶部
5 意味初期値割り当て部
6 表選択部
7 列意味推定部
8 列意味記憶部
9 列意味記録部
10 表意味推定部
11 表意味記憶部
12 表意味記録部
13 終了判定部
71 列選択部
72 列意味候補取得部
73 列意味候補選択部
74 列データスコア算出部
75 列類似度算出部
76 第1の列表類似度算出部
77 列スコア算出部
78 列意味特定部
101 表意味候補取得部
102 表意味候補選択部
103 第2の列表類似度算出部
104 表類似度算出部
105 表スコア算出部
106 表意味特定部
Claims (16)
- 表に含まれる列の意味を推定する意味推定システムであって、
意味の推定対象となる列の意味の候補を選択する列意味候補選択手段と、
前記列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出手段と、
前記列類似度算出手段が算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定手段とを備える
ことを特徴とする意味推定システム。 - 表の各列の意味の初期値を割り当てる意味初期値割り当て手段と、
意味の推定対象となる列を選択する列選択手段とを備える
請求項1に記載の意味推定システム。 - 意味初期値割り当て手段は、表の意味の初期値を割り当て、
列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出手段を備え、
列意味特定手段は、列類似度算出手段が算出したスコアと、前記第1の列表類似度算出手段が算出したスコアとを用いて、推定対象となる列の意味を特定する
請求項2に記載の意味推定システム。 - 意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から表を選択する表選択手段を備え、
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定する処理を繰り返す
請求項2に記載の意味推定システム。 - 意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から表を選択する表選択手段を備え、
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定する処理を繰り返す
請求項3に記載の意味推定システム。 - 表に含まれる列の意味を推定する意味推定システムであって、
意味の推定対象となる列の意味の候補を選択する列意味候補選択手段と、
前記列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出手段と、
前記第1の列表類似度算出手段が算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定手段とを備える
ことを特徴とする意味推定システム。 - 表の意味の初期値と、前記表の各列の意味の初期値とを割り当てる意味初期値割り当て手段と、
意味の推定対象となる列を選択する列選択手段とを備える
請求項6に記載の意味推定システム。 - 意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から表を選択する表選択手段を備え、
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定する処理を繰り返す
請求項7に記載の意味推定システム。 - 意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段と、
前記推定対象となる表の意味の候補を選択する表意味候補選択手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する表類似度算出手段と、
前記表類似度算出手段が算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定手段とを備える
請求項2、請求項3および請求項7のうちのいずれか1項に記載の意味推定システム。 - 意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段と、
前記推定対象となる表の意味の候補を選択する表意味候補選択手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表の個々の列の意味との類似度を示すスコアを算出する第2の列表類似度算出手段と、
前記第2の列表類似度算出手段が算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定手段とを備える
請求項2、請求項3および請求項7のうちのいずれか1項に記載の意味推定システム。 - 意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段と、
前記推定対象となる表の意味の候補を選択する表意味候補選択手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する表類似度算出手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表の個々の列の意味との類似度を示すスコアを算出する第2の列表類似度算出手段と、
前記表類似度算出手段が算出したスコアと、前記第2の列表類似度算出手段が算出したスコアとを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定手段とを備える
請求項2、請求項3および請求項7のうちのいずれか1項に記載の意味推定システム。 - 所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定し、表意味特定手段が、各表の意味を特定する処理を繰り返す
請求項9から請求項11のうちのいずれか1項に記載の意味推定システム。 - 表に含まれる列の意味を推定する意味推定方法であって、
コンピュータが、
意味の推定対象となる列の意味の候補を選択し、
選択した意味の候補毎に、選択した意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出処理を実行し、
前記列類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する
ことを特徴とする意味推定方法。 - 表に含まれる列の意味を推定する意味推定方法であって、
コンピュータが、
意味の推定対象となる列の意味の候補を選択し、
選択した意味の候補毎に、選択した意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出処理を実行し、
前記第1の列表類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する
ことを特徴とする意味推定方法。 - コンピュータに、表に含まれる列の意味を推定させるための意味推定プログラムであって、
前記コンピュータに、
意味の推定対象となる列の意味の候補を選択する列意味候補選択処理、
前記列意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出処理、および、
前記列類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定処理
を実行させるための意味推定プログラム。 - コンピュータに、表に含まれる列の意味を推定させるための意味推定プログラムであって、
前記コンピュータに、
意味の推定対象となる列の意味の候補を選択する列意味候補選択処理、
前記列意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第1の列表類似度算出処理、および、
前記第1の列表類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定処理
を実行させるための意味推定プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020504592A JP6988991B2 (ja) | 2018-03-08 | 2018-03-08 | 意味推定システム、方法およびプログラム |
US16/978,402 US11948098B2 (en) | 2018-03-08 | 2018-03-08 | Meaning inference system, method, and program |
PCT/JP2018/008997 WO2019171538A1 (ja) | 2018-03-08 | 2018-03-08 | 意味推定システム、方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/008997 WO2019171538A1 (ja) | 2018-03-08 | 2018-03-08 | 意味推定システム、方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019171538A1 true WO2019171538A1 (ja) | 2019-09-12 |
Family
ID=67845599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/008997 WO2019171538A1 (ja) | 2018-03-08 | 2018-03-08 | 意味推定システム、方法およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11948098B2 (ja) |
JP (1) | JP6988991B2 (ja) |
WO (1) | WO2019171538A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114547285B (zh) * | 2022-03-03 | 2023-03-24 | 创新奇智(浙江)科技有限公司 | 表格数据含义推断方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012181605A (ja) * | 2011-02-28 | 2012-09-20 | Toshiba Corp | データ分析支援装置およびプログラム |
JP2013120534A (ja) * | 2011-12-08 | 2013-06-17 | Mitsubishi Electric Corp | 関連語分類装置及びコンピュータプログラム及び関連語分類方法 |
WO2013132614A1 (ja) * | 2012-03-07 | 2013-09-12 | 三菱電機株式会社 | 語義推定装置、方法及びプログラム |
WO2016204996A1 (en) * | 2015-06-18 | 2016-12-22 | Microsoft Technology Licensing, Llc | Automated database schema annotation |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4902863B2 (ja) | 2007-01-26 | 2012-03-21 | 三菱電機株式会社 | テーブル分類装置 |
JP5506527B2 (ja) | 2010-04-26 | 2014-05-28 | 三菱電機株式会社 | 同義カラム検出装置及び同義カラム検出方法 |
JP6424756B2 (ja) | 2015-07-13 | 2018-11-21 | トヨタ自動車株式会社 | データ処理装置およびデータ処理方法 |
US10877989B2 (en) | 2016-03-17 | 2020-12-29 | Hitachi, Ltd. | Data conversion system and method of converting data |
US11062213B2 (en) | 2016-08-05 | 2021-07-13 | Nec Corporation | Table-meaning estimation system, method, and program |
US20190205361A1 (en) * | 2016-08-05 | 2019-07-04 | Nec Corporation | Table-meaning estimating system, method, and program |
US10108600B2 (en) * | 2016-09-16 | 2018-10-23 | Entigenlogic Llc | System and method of attribute, entity, and action organization of a data corpora |
-
2018
- 2018-03-08 JP JP2020504592A patent/JP6988991B2/ja active Active
- 2018-03-08 US US16/978,402 patent/US11948098B2/en active Active
- 2018-03-08 WO PCT/JP2018/008997 patent/WO2019171538A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012181605A (ja) * | 2011-02-28 | 2012-09-20 | Toshiba Corp | データ分析支援装置およびプログラム |
JP2013120534A (ja) * | 2011-12-08 | 2013-06-17 | Mitsubishi Electric Corp | 関連語分類装置及びコンピュータプログラム及び関連語分類方法 |
WO2013132614A1 (ja) * | 2012-03-07 | 2013-09-12 | 三菱電機株式会社 | 語義推定装置、方法及びプログラム |
WO2016204996A1 (en) * | 2015-06-18 | 2016-12-22 | Microsoft Technology Licensing, Llc | Automated database schema annotation |
Also Published As
Publication number | Publication date |
---|---|
US11948098B2 (en) | 2024-04-02 |
JP6988991B2 (ja) | 2022-01-05 |
US20210049483A1 (en) | 2021-02-18 |
JPWO2019171538A1 (ja) | 2021-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109978060B (zh) | 一种自然语言要素抽取模型的训练方法及装置 | |
CN109726269B (zh) | 信息处理方法、信息处理装置以及程序 | |
JP2013206187A (ja) | 情報変換装置、情報検索装置、情報変換方法、情報検索方法、情報変換プログラム、情報検索プログラム | |
WO2019167794A1 (ja) | 学習品質推定装置、方法、及びプログラム | |
US10635991B2 (en) | Learning method, information processing device, and recording medium | |
WO2014199920A1 (ja) | 予測関数作成装置、予測関数作成方法、及びコンピュータ読み取り可能な記録媒体 | |
JP2013206193A (ja) | 情報変換プログラム、情報変換装置および情報変換方法 | |
WO2019171537A1 (ja) | 意味推定システム、方法およびプログラム | |
WO2019171538A1 (ja) | 意味推定システム、方法およびプログラム | |
CN113076758A (zh) | 一种面向任务型对话的多域请求式意图识别方法 | |
JP5980142B2 (ja) | 学習データ選択装置、識別的音声認識精度推定装置、学習データ選択方法、識別的音声認識精度推定方法、プログラム | |
JP7031686B2 (ja) | 画像認識システム、方法およびプログラム、並びにパラメータ学習システム、方法およびプログラム | |
CN111666965A (zh) | 改进图像识别的多级别深度特征和多匹配器融合 | |
US11836447B2 (en) | Word embedding for non-mutually exclusive categorical data | |
CN114358011A (zh) | 命名实体提取方法与装置以及电子设备 | |
JP5824429B2 (ja) | スパムアカウントスコア算出装置、スパムアカウントスコア算出方法、及びプログラム | |
JP6973733B2 (ja) | 特許情報処理装置、特許情報処理方法およびプログラム | |
US7933853B2 (en) | Computer-readable recording medium, apparatus and method for calculating scale-parameter | |
US12056147B2 (en) | Analysis device, analysis method, and analysis program | |
CN111310419B (zh) | 对词语改写候选集进行更新的方法及装置 | |
JP7559842B2 (ja) | 情報処理装置、変換パターンの決定方法、および変換パターン決定プログラム | |
JP6798055B1 (ja) | 情報処理装置、情報処理方法、プログラムおよび順序情報 | |
JP7297704B2 (ja) | 照合装置、照合方法およびプログラム | |
US11314781B2 (en) | Construction of reference database accurately representing complete set of data items for faster and tractable classification usage | |
JP2017220149A (ja) | データ処理装置、データ処理方法、およびデータ処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2020504592 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18909055 Country of ref document: EP Kind code of ref document: A1 |