(57)【特許請求の範囲】
【請求項１】
表に含まれる列の意味を推定する意味推定システムであって、
意味の推定対象となる列の意味の候補を選択する列意味候補選択手段と、
前記列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出手段と、
前記列類似度算出手段が算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定手段とを備える
ことを特徴とする意味推定システム。
【請求項２】
表の各列の意味の初期値を割り当てる意味初期値割り当て手段と、
意味の推定対象となる列を選択する列選択手段とを備える
請求項１に記載の意味推定システム。
【請求項３】
意味初期値割り当て手段は、表の意味の初期値を割り当て、
列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第１の列表類似度算出手段を備え、
列意味特定手段は、列類似度算出手段が算出したスコアと、前記第１の列表類似度算出手段が算出したスコアとを用いて、推定対象となる列の意味を特定する
請求項２に記載の意味推定システム。
【請求項４】
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から表を選択する表選択手段を備え、
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定する処理を繰り返す
請求項２に記載の意味推定システム。
【請求項５】
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から表を選択する表選択手段を備え、
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定する処理を繰り返す
請求項３に記載の意味推定システム。
【請求項６】
表に含まれる列の意味を推定する意味推定システムであって、
意味の推定対象となる列の意味の候補を選択する列意味候補選択手段と、
前記列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第１の列表類似度算出手段と、
前記第１の列表類似度算出手段が算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定手段とを備える
ことを特徴とする意味推定システム。
【請求項７】
表に含まれる列の意味を推定する意味推定方法であって、
コンピュータが、
意味の推定対象となる列の意味の候補を選択し、
選択した意味の候補毎に、選択した意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出処理を実行し、
前記列類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する
ことを特徴とする意味推定方法。
【請求項８】
表に含まれる列の意味を推定する意味推定方法であって、
コンピュータが、
意味の推定対象となる列の意味の候補を選択し、
選択した意味の候補毎に、選択した意味の候補と、表の意味との類似度を示すスコアを算出する第１の列表類似度算出処理を実行し、
前記第１の列表類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する
ことを特徴とする意味推定方法。
【請求項９】
コンピュータに、表に含まれる列の意味を推定させるための意味推定プログラムであって、
前記コンピュータに、
意味の推定対象となる列の意味の候補を選択する列意味候補選択処理、
前記列意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出処理、および、
前記列類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定処理
を実行させるための意味推定プログラム。
【請求項１０】
コンピュータに、表に含まれる列の意味を推定させるための意味推定プログラムであって、
前記コンピュータに、
意味の推定対象となる列の意味の候補を選択する列意味候補選択処理、
前記列意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第１の列表類似度算出処理、および、
前記第１の列表類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定処理
を実行させるための意味推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表の各列の意味を推定する意味推定システム、意味推定方法および意味推定プログラムに関する。
【背景技術】
【０００２】
非特許文献１には、表の列に含まれる各データから特徴量を算出し、その特徴量に基づいて列のラベルを定める技術が記載されている。【０００３】
また、特許文献１には、列の意味が定められている表の意味を推定するシステムが記載されている。特許文献１に記載のシステムは、有限個の表の意味をそれぞれ選択し、選択した意味が表の意味に該当する確度を計算する。そして、特許文献１に記載のシステムは、確度が最も高い意味を、表の意味として決定する。【０００４】
表の列の意味を推定する一般的な方法として、以下に示す方法が考えられる。以下の説明では、列に格納されている各データが数値である場合、および、列に格納されている各データが文字列である場合について、それぞれ説明する。以下、前者を、「第１の一般的な方法」と記し、後者を「第２の一般的な方法」と記す。【０００５】
第１の一般的な方法
第１の一般的な方法は、列に格納されている各データが数値である場合を対象としている。第１の一般的な方法では、予め、数値を格納している列の意味の候補と、その候補に対応する統計値（例えば、平均値および標準偏差）が予め定められている。例えば、列の意味の候補「平成」と、「平成」に対応する統計値（例えば、平均値「１５」および標準偏差「８．５」）とが対応付けられて、予め記憶装置に記憶されている。なお、「平成」とは、日本の元号の１つである。また、例えば、列の意味の候補「年齢」と、「年齢」に対応する統計値（例えば、平均値「４５」および標準偏差「２０」）とが対応付けられて、予め記憶装置に記憶されている。ここでは、数値を格納している列の意味の候補として、「平成」および「年齢」を例示したが、他の候補についても、統計値と対応付けられて、予め記憶装置に記憶されている。【０００６】
そして、意味の推定対象となる列に格納されている数値の統計量を計算し、統計量が類似している候補を、その列の意味として定める。例えば、各列の意味が推定対象となっている表として、図２６に例示する表が与えられたとする。図２６に示す第２列は、数値が格納されているので、第１の一般的な方法を用いればよい。ここでは、説明を簡単にするために、数値を格納している列の意味の候補が「平成」および「年齢」であるものとする。図２６に示す第２列に格納されている数値の統計値と、「平成」の統計値との類似度をｓｃｏｒｅ（平成，｛２９，２４，２３｝）と記す。同様に、図２６に示す第２列に格納されている数値の統計値と、「年齢」の統計値との類似度をｓｃｏｒｅ（年齢，｛２９，２４，２３｝）と記す。例えば、KL（Kullback-Leibler）-Divergence の逆数を、統計値の類似度として用いることができる。本例では、｛２９，２４，２３｝の統計値と、「平成」の統計値とを用いて、KL-Divergenceの逆数を算出し、ｓｃｏｒｅ（平成，｛２９，２４，２３｝）を求める。同様に、｛２９，２４，２３｝の統計値と、「平成」の統計値とを用いて、KL-Divergenceの逆数を算出し、ｓｃｏｒｅ（年齢，｛２９，２４，２３｝）を求める。例えば、以下の結果が得られたとする。
ｓｃｏｒｅ（平成，｛２９，２４，２３｝）＝０．７
ｓｃｏｒｅ（年齢，｛２９，２４，２３｝）＝０．５
この場合、類似度が高い「平成」が、図２６に示す第２列の意味として定められる。【０００７】
第２の一般的な方法
第２の一般的な方法は、列に格納されている各データが文字列である場合を対象としている。第２の一般的な方法では、予め、文字列を格納している列の意味の候補と、その候補に対応するベクトルとが予め定められている。例えば、列の意味の候補「名前」と、「名前」に対応するベクトルとが対応付けられて、予め記憶装置に記憶されている。ここでは、文字列を格納している列の意味の候補として、「名前」を例示したが、他の候補についても、ベクトルと対応付けられて、予め記憶装置に格納されている。なお、各ベクトルの次元は共通であり、ここでは、ｎ次元ベクトルであるものとする。また、ｎ次元ベクトルは、意味の候補毎に個別に定められている。【０００８】
そして、意味の推定対象となる列に格納されている文字列に基づいて、その列に応じたｎ次元ベクトルを定める。ｎ次元ベクトルの各要素は、例えば、「体重」、「年齢」、「性別」、・・・、「小山田」、「竹岡」、「花房」、・・・等の予め定められている種々の単語に対応している。列に応じたｎ次元ベクトルを定める場合、その列に格納されている文字列にBag-of-Wordsを適用し、その列に格納されている文字列に含まれる各単語の出現回数を求める。そして、単語に対応する要素の値にその出現回数を設定することによって、ｎ次元ベクトルを定めればよい。例えば、図２６に示す第１列に応じたｎ次元ベクトルを定める場合、「小山田」、「竹岡」、「花房」に対応する要素に“１”を設定し、他の要素に全て“０”を設定したｎ次元ベクトルを定めればよい。そして、意味の推定対象となる列に応じたｎ次元ベクトルと、各意味の候補に予め対応付けられているｎ次元ベクトルとの類似度を算出し、類似度が最も高い候補を、着目している列の意味として定めればよい。２つのｎ次元ベクトルの類似度として、例えば、２つのｎ次元ベクトルのユークリッド距離の逆数を用いてもよい。あるいは、２つのｎ次元ベクトルの類似度として、例えば、２つのｎ次元ベクトルからNaive Bayes を用いて得られる確率値を用いてもよい。また、上記の例では、ｎ次元ベクトルの各要素が単語に対応している場合を例にして説明したが、ｎ次元ベクトルの各要素が所定の長さの種々の文字列に対応していてもよい。この場合、列に格納されている文字列にｎ−ｇｒａｍを適用することによって、その所定の長さの種々の文字列の出現回数を求め、ｎ次元ベクトルの個々の要素に、その要素に対応する文字列（所定の長さの文字列）の出現回数を設定すればよい。【０００９】
また、特許文献２には、項目の仕様が未知の新規データと項目の仕様が既知の既知データとの項目の対応付けを行うデータ処理装置が記載されている。【００１０】
また、特許文献３には、同じような属性を持つ複数のカラムについて同義カラムであるか否かを判定する技術が記載されている。【００１１】
また、特許文献４には、テーブル間の類似性に基づいて、テーブルを分類するテーブル分類装置が記載されている。【００１２】
また、特許文献５には、テーブルの各カラムから、上位概念関係にあるカラムを自動抽出することができるシステムが記載されている。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】国際公開第ＷＯ２０１８／０２５７０６号
【特許文献２】特開２０１７−２１６３４号公報
【特許文献３】特開２０１１−２３２８７９号公報
【特許文献４】特開２００８−１８１４５９号公報
【特許文献５】特許第６２４２５４０号公報
【非特許文献】
【００１４】
【非特許文献１】Minh Pham、外３名、“Semantic labeling: A domain-independent approach”
【発明の概要】
【発明が解決しようとする課題】
【００１５】
列の意味を推定するための上記の一般的な方法は、列に格納されているデータのみを用いる。そのため、列の意味の推定精度が低い。例えば、図２６に示す第２列の意味が実際には「年齢」であったとしても、前述の例のように、第２列の意味の推定結果が「平成」になってしまう場合がある。【００１６】
そこで、本発明は、表の各列の意味を高い精度で推定することができる意味推定システム、意味推定方法および意味推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明による意味推定システムは、表に含まれる列の意味を推定する意味推定システムであって、意味の推定対象となる列の意味の候補を選択する列意味候補選択手段と、列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表に含まれる推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出手段と、列類似度算出手段が算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定する列意味特定手段とを備えることを特徴とする。【００１８】
また、本発明による意味推定システムは、表に含まれる列の意味を推定する意味推定システムであって、意味の推定対象となる列の意味の候補を選択する列意味候補選択手段と、列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第１の列表類似度算出手段と、第１の列表類似度算出手段が算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定する列意味特定手段とを備えることを特徴とする。【００１９】
また、本発明による意味推定方法は、表に含まれる列の意味を推定する意味推定方法であって、コンピュータが、意味の推定対象となる列の意味の候補を選択し、選択した意味の候補毎に、選択した意味の候補と、表に含まれる推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出処理を実行し、列類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定することを特徴とする。【００２０】
また、本発明による意味推定方法は、表に含まれる列の意味を推定する意味推定方法であって、コンピュータが、意味の推定対象となる列の意味の候補を選択し、選択した意味の候補毎に、選択した意味の候補と、表の意味との類似度を示すスコアを算出する第１の列表類似度算出処理を実行し、第１の列表類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定することを特徴とする。【００２１】
また、本発明による意味推定プログラムは、コンピュータに、表に含まれる列の意味を推定させるための意味推定プログラムであって、コンピュータに、意味の推定対象となる列の意味の候補を選択する列意味候補選択処理、列意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、表に含まれる推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出処理、および、列類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定する列意味特定処理を実行させることを特徴とする。【００２２】
また、本発明による意味推定プログラムは、コンピュータに、表に含まれる列の意味を推定させるための意味推定プログラムであって、コンピュータに、意味の推定対象となる列の意味の候補を選択する列意味候補選択処理、列意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第１の列表類似度算出処理、および、第１の列表類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定する列意味特定処理を実行させることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、表の各列の意味を高い精度で推定することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施形態の意味推定システムの構成例を示すブロック図である。
【図２】概念辞書の例を示す模式図である。
【図３】列意味推定部の構成例を示すブロック図である。
【図４】意味の推定対象となる列、および、その列以外の個々の列の例を示す模式図である。
【図５】意味の推定対象となる列と、その列を含む表の意味の例を示す模式図である。
【図６】意味の候補「平成」および「年齢」を例にして、列スコア算出部によって算出されるスコアの計算式を示した説明図である。
【図７】表意味推定部の構成例を示すブロック図である。
【図８】意味の推定対象となる表の例を示す模式図である。
【図９】関連付けられている複数の表の例を示す模式図である。
【図１０】本発明の意味推定システムの処理経過の例を示すフローチャートである。
【図１１】本発明の意味推定システムの処理経過の例を示すフローチャートである。
【図１２】本発明の意味推定システムの処理経過の例を示すフローチャートである。
【図１３】意味の推定対象となる列と、複数の意味が割り当てられている列を含む表の例を示す模式図である。
【図１４】複数の意味が割り当てられている列を含む表と、表の意味の候補とを示す模式図である。
【図１５】意味の推定対象となる列と、表に割り当てられた複数の意味の例を示す模式図である。
【図１６】意味の推定対象となる表と、その表に関連付けられている他の表の例を示す模式図である。
【図１７】本発明の第２の実施形態の意味推定システムの構成例を示すブロック図である。
【図１８】本発明の第３の実施形態の意味推定システムの構成例を示すブロック図である。
【図１９】列意味推定部の変形例を示すブロック図である。
【図２０】列意味推定部の変形例を示すブロック図である。
【図２１】表意味推定部の変形例を示すブロック図である。
【図２２】表意味推定部の変形例を示すブロック図である。
【図２３】本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。
【図２４】本発明の意味推定システムの概要を示すブロック図である。
【図２５】本発明の意味推定システムの概要の他の例を示すブロック図である。
【図２６】各列の意味が推定対象となっている表の例を示す模式図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態を図面を参照して説明する。
【００２６】
実施形態１．
図１は、本発明の第１の実施形態の意味推定システムの構成例を示すブロック図である。第１の実施形態では、本発明の意味推定システムは、表の各列の意味と、表の意味の両方を推定する。本発明の意味推定システム１は、表記憶部２と、データ読み込み部３と、意味集合記憶部４と、意味初期値割り当て部５と、表選択部６と、列意味推定部７と、列意味記憶部８と、列意味記録部９と、表意味推定部１０と、表意味記憶部１１と、表意味記録部１２と、終了判定部１３とを備える。
【００２７】
表記憶部２は、各列の意味および表の意味が定められていない表を記憶する記憶装置である。第１の実施形態の意味推定システム１は、表記憶部２に記憶されている表の各列の意味、および、表の意味を推定する。すなわち、表記憶部２は、各列の意味および表の意味を推定すべき表を記憶する。例えば、意味推定システム１の管理者が、各列の意味および表の意味が定められていない表を表記憶部２に予め記憶させておけばよい。管理者が、各列の意味および表の意味が定められていない表を表記憶部２に記憶させたということは、列の意味および表の意味を推定すべき表が与えられたことを意味する。
【００２８】
表記憶部２は、各列の意味および表の意味を推定すべき表を１つ記憶していてもよいし、複数個、記憶していてもよい。ただし、複数の表を記憶している場合、主キーおよび外部キーによって関連付けられている複数の表が存在しているならば、表記憶部２は、どの表とどの表が関連付けられているかを示す情報も予め記憶する。どの表とどの表が関連付けられているかを示す情報に関しても、例えば、管理者が、予め表記憶部２に記憶させておけばよい。
【００２９】
以下の説明では、表記憶部２が、各列の意味および表の意味を推定すべき表を複数個記憶し、さらに、どの表とどの表が関連付けられているかを示す情報も記憶しているものとして説明する。
【００３０】
データ読み込み部３は、各列の意味および表の意味を推定すべき表を全て、表記憶部２から読み込む。また、データ読み込み部３は、どの表とどの表が関連付けられているかを示す情報も、全て、表記憶部２から読み込む。
【００３１】
意味集合記憶部４は、列の意味の候補、および、表の意味の候補を記憶する記憶装置である。本実施形態では、意味集合記憶部４が、表の意味の候補、および、表の意味の候補をノードとする概念辞書を記憶するものとして説明する。概念辞書は、表の意味の候補、および、表の意味の候補をノードとし、意味が類似する候補（ノード）同士がリンクで接続されたグラフとして表される。
【００３２】
図２は、概念辞書の例を示す模式図である。ただし、図２は、概念辞書の一例であり、概念辞書に含まれるノードの数は、図２に示す例に限定されない。概念辞書に含まれるノードの数は、有限個である。図２に例示する概念辞書の個々のノードは、列の意味の候補や表の意味の候補である。概念辞書において、意味が類似する候補（ノード）同士は、リンクで接続されている。従って、１つの意味と他の１つの意味との類似度を示すスコアは、概念辞書におけるその２つの意味の間のホップ数の逆数で表すことができる。
【００３３】
意味集合記憶部４が記憶する概念辞書は、一般に公開されている概念辞書であっても、あるいは、意味推定システム１の管理者が作成した概念辞書であってもよい。
【００３４】
意味初期値割り当て部５は、データ読み込み部３が読み込んだ複数の表（すなわち、与えられた複数の表）それぞれに対して、表の意味の初期値、および、表に含まれる各列の意味の初期値を割り当てる。意味の初期値とは、処理開始時に、最初に割り当てられる意味である。
【００３５】
意味初期値割り当て部５は、与えられたそれぞれの表の意味の初期値を割り当てる際、概念辞書のノードとなっている意味の候補をランダムに選択し、その意味の候補を初期値として割り当ててもよい。同様に、意味初期値割り当て部５は、各表に含まれている各列の意味の初期値を割り当てる際にも、概念辞書のノードとなっている意味の候補をランダムに選択し、その意味の候補を初期値として割り当ててもよい。
【００３６】
また、各表に含まれている各列の意味の初期値を割り当てる際に、意味初期値割り当て部５は、列の意味を推定するための前述の一般的な方法によって、各列の意味の初期値を割り当ててもよい。この場合、列に格納されている各データが数値である場合には、意味初期値割り当て部５は、前述の第１の一般的な方法によって、列の意味の初期値を割り当てればよい。また、列に格納されている各データが文字列である場合には、意味初期値割り当て部５は、前述の第２の一般的な方法によって、列の意味の初期値を割り当てればよい。なお、第１の一般的な方法や第２の一般的な方法によって選ばれる意味は、概念辞書にノードとして含まれているものとする。また、意味初期値割り当て部５は、表の意味の初期値を割り当てる前に、その表に含まれる各列の意味の初期値を割り当て、その後、特許文献１に記載の方法で、その表の意味を求め、その意味を、その表の意味の初期値として割り当ててもよい。なお、特許文献１に記載の方法で求められる意味も、概念辞書にノードとして含まれているものとする。
【００３７】
表選択部６は、各列の意味の初期値や表の意味が割り当てられた後の全ての表の中から、順次、１つずつ表を選択する。
【００３８】
列意味推定部７は、表選択部６によって選択された表に含まれる各列の意味をそれぞれ推定する。列意味推定部７の詳細については、図３を参照して、後述する。
【００３９】
列意味記憶部８は、各表の各列の意味を記憶する記憶装置である。列意味記録部９は、選択された表に含まれる各列の意味が列意味推定部７によって推定されたならば、その表の各列の意味の推定結果を、列意味記憶部８に記憶させる。
【００４０】
表意味推定部１０は、表選択部６によって選択された表の意味を推定する。表意味推定部１０の詳細については、図７を参照して後述する。
【００４１】
表意味記憶部１１は、各表の意味を記憶する記憶装置である。表意味記録部１２は、選択された表の意味が表意味推定部１０によって推定されたならば、その表の意味の推定結果を、表意味記憶部１１に記憶させる。
【００４２】
意味推定システム１において、表選択部６が、全ての表をそれぞれ選択し、列意味推定部７が、選択された表に含まれる各列の意味を推定し、表意味推定部１０が、選択された表の意味を推定する処理が繰り返し実行される。従って、列意味記憶部８に記憶される各表の各列の意味や、表意味記憶部１１に記憶される各表の意味は、上記の処理が繰り返されることによって、更新されていく。以下、このように繰り返される処理を、繰り返し処理と記す場合がある。
【００４３】
終了判定部１３は、上記の処理の繰りかえしの終了条件が満たされたか否かを判定する。この終了条件の例として、例えば、上記の処理の繰り返し数が所定数に達したこと、あるいは、各表に含まれる各列の意味、および、各表の意味が更新されなくなったこと等が挙げられる。ただし、終了条件の例は、これらの例に限定されない。
【００４４】
次に、列意味推定部７について、より詳細に説明する。図３は、列意味推定部７の構成例を示すブロック図である。列意味推定部７は、列選択部７１と、列意味候補取得部７２と、列意味候補選択部７３と、列データスコア算出部７４と、列類似度算出部７５と、第１の列表類似度算出部７６と、列スコア算出部７７と、列意味特定部７８とを備える。
【００４５】
列選択部７１は、表選択部６によって選択された表に含まれる各列の中から、意味の推定対象となる列を、１列ずつ、順次、選択する。列選択部７１によって選択された列は、意味の推定対象となる列である。
【００４６】
列意味候補取得部７２は、列選択部７１によって選択された列の意味の候補を、意味集合記憶部４に記憶された意味の候補の中から、複数個取得する。概念辞書のノードは、意味の候補に該当する。列意味候補取得部７２は、概念辞書のノードが示す意味の候補を全て取得してもよい。あるいは、列意味候補取得部７２は、概念辞書のノードのうち、任意のｋ個のノードを選択し、それらのノードに対応するｋ個の意味の候補を取得してもよい。あるいは、列意味候補取得部７２は、現在、選択されている列に割り当てられている意味に該当する概念辞書内のノードを特定し、そのノードから所定ホップ数以内のｋ個のノードを選択し、それらのノードに対応するｋ個の意味の候補を取得してもよい。上記のｋの値や、所定ホップ数の値は、予め定数として定めておけばよい。
【００４７】
列意味候補取得部７２が取得する複数個の意味の候補を、列意味候補集合と記す。
【００４８】
列意味候補選択部７３は、列意味候補集合の中から、意味の候補を、順次、１つずつ選択する。
【００４９】
列データスコア算出部７４は、列選択部７１が選択した列に格納されている各データに基づいて、列意味候補選択部７３によって選択された意味の候補が、選択された列の意味に該当する度合いを示すスコアを算出する。列データスコア算出部７４は、例えば、列の意味を推定するための前述の一般的な方法における類似度を、このスコアとして算出してもよい。例えば、選択された列に格納されている各データが数値である場合、列データスコア算出部７４は、その数値の統計値と、選択された意味の候補に対応する統計値とを用いて、KL-Divergenceの逆数を算出し、その値をスコアとしてもよい。また、例えば、選択された列に格納されている各データが文字列である場合、列データスコア算出部７４は、その各文字列に基づいてｎ次元ベクトルを定め、そのｎ次元ベクトルと、選択された意味の候補に対応するｎ次元ベクトルとのユークリッド距離の逆数を、スコアとしてもよい。あるいは、列データスコア算出部７４は、その２つのｎ次元ベクトルからNaive Bayes を用いて得られる確率値をスコアとしてもよい。なお、種々の意味の候補に対応する統計値やｎ次元ベクトルは、例えば、それらのデータを記憶するための記憶装置（図１において図示略）に予め記憶させておけばよい。
【００５０】
なお、選択された意味の候補が、選択された列の意味に該当する度合いを示すスコアの算出方法（列データスコア算出部７４におけるスコアの算出方法）は、上記の例に限定されない。列データスコア算出部７４は、他の方法でスコアを算出してもよい。
【００５１】
列類似度算出部７５は、表選択部６によって選択された表のうち、意味の推定対象となる列（列選択部７１に選択された列）以外の個々の列の意味と、列意味候補選択部７３によって選択された意味の候補との類似度を示すスコアを算出する。なお、意味初期値割り当て部５が、全ての表の全ての列に意味の初期値を割り当てるので、１回目の繰り返し処理において列類似度算出部７５が動作する場合であっても、選択された表の各列には意味が割り当てられている。
【００５２】
図４は、意味の推定対象となる列、および、その列以外の個々の列の例を示す模式図である。図４に示す“？”は、意味の推定対象となる列（列選択部７１に選択された列）であることを示している。図４に示す例では、第３列が意味の推定対象となる列であるものとしている。列意味候補選択部７３によって選択された意味の候補をＸとし、他の１つの列の意味をＹとしたときに、ＸとＹとの類似度をｓｉｍ（Ｘ，Ｙ）と記すこととする。列類似度算出部７５は、意味の推定対象となる列以外の列を１列ずつ順次、選択し、選択した列の意味と、列意味候補選択部７３によって選択された意味の候補との類似度を算出し、その類似度の総和を、上記のスコアとして算出する。また、列類似度算出部７５は、ｓｉｍ（Ｘ，Ｙ）を、概念辞書におけるＸとＹの間のホップ数の逆数として求める。この演算によって、ＸとＹとの類似性が高いほど、ｓｉｍ（Ｘ，Ｙ）の値を大きな値として得ることができる。
【００５３】
列意味候補選択部７３によって選択された意味の候補が「平成」であるとする。この場合、列類似度算出部７５は、ｓｉｍ(平成，名前）＋ｓｉｍ（平成，身長）を計算し、その計算結果を、意味の推定対象となる列以外の個々の列の意味と、選択された意味の候補「平成」との類似度を示すスコアとする。概念辞書が図２に示すように定められているとする。「平成」と「名前」の間のホップ数は“５”であり、「平成」と「身長」の間のホップ数も“５”である。従って、本例では、ｓｉｍ(平成，名前）＋ｓｉｍ（平成，身長）＝（１／５）＋（１／５）＝０．４となる。
【００５４】
また、例えば、列意味候補選択部７３によって選択された意味の候補が「年齢」であるとする。この場合、列類似度算出部７５は、ｓｉｍ(年齢，名前）＋ｓｉｍ（年齢，身長）を計算し、その計算結果を、意味の推定対象となる列以外の個々の列の意味と、選択された意味の候補「年齢」との類似度を示すスコアとする。「年齢」と「名前」の間のホップ数は“２”であり、「年齢」と「身長」の間のホップ数も“２”である（図２参照）。従って、本例では、ｓｉｍ(年齢，名前）＋ｓｉｍ（年齢，身長）＝（１／２）＋（１／２）＝１．０となる。
【００５５】
列類似度算出部７５は、列意味候補選択部７３によって選択された意味の候補毎に、上記のスコアを算出する。
【００５６】
第１の列表類似度算出部７６は、表選択部６によって選択された表の意味と、列意味候補選択部７３によって選択された意味の候補（推定対象となる列の意味の候補）との類似度を示すスコアを算出する。なお、意味初期値割り当て部５が、全ての表に対して、表の意味の初期値を割り当てるので、１回目の繰り返し処理において第１の列表類似度算出部７６が動作する場合であっても、選択された表には意味が割り当てられている。
【００５７】
図５は、意味の推定対象となる列と、その列を含む表の意味の例を示す模式図である。図４に示す場合と同様に、“？”は、意味の推定対象となる列（列選択部７１に選択された列）を示している。図５に示す例でも、第３列が意味の推定対象となる列であるものとしている。また、図５に示す例では、表に割り当てられている意味は「人間」である。列意味候補選択部７３によって選択された意味の候補をＸとし、選択されている表の意味をＺとしたときに、ＸとＺとの類似度をｓｉｍ（Ｘ，Ｚ）と記すこととする。ｓｉｍ（Ｘ，Ｚ）の算出方法は、前述のｓｉｍ（Ｘ，Ｙ）の算出方法と同様である。すなわち、列類似度算出部７５は、ｓｉｍ（Ｘ，Ｚ）を、概念辞書におけるＸとＺの間のホップ数の逆数として求めればよい。ＸとＺとの類似性が高いほど、ｓｉｍ（Ｘ，Ｚ）の値を大きな値として得ることができる。第１の列表類似度算出部７６は、選択された意味の候補Ｘと選択された表の意味Ｚとの類似度を示すスコアとして、ｓｉｍ（Ｘ，Ｚ）を算出する。
【００５８】
列意味候補選択部７３によって選択された意味の候補が「平成」であるとする。この場合、第１の列表類似度算出部７６は、ｓｉｍ（平成,人間）を、「平成」と「人間（図５に例示する表の意味）」との類似度を示すスコアとする。概念辞書が図２に示すように定められているとする。「平成」と「人間」のホップ数は“４”である。従って、ｓｉｍ（平成,人間）＝１／４＝０．２５となる。
【００５９】
また、例えば、列意味候補選択部７３によって選択された意味の候補が年齢であるとする。この場合、第１の列表類似度算出部７６は、ｓｉｍ（年齢，人間）を、「年齢」と「人間」との類似度を示すスコアとする。「年齢」と「人間」とのホップ数は“１”である（図２参照）。従って、本例では、ｓｉｍ（年齢，人間）＝１／１＝１．０となる。
【００６０】
第１の列表類似度算出部７６は、列意味候補選択部７３によって選択された意味の候補毎に、上記のスコアを算出する。
【００６１】
列スコア算出部７７は、選択された列（意味の推定対象となる列）における、列意味候補選択部７３によって選択された意味の候補のスコアを算出する。具体的には、列スコア算出部７７は、選択された意味の候補に関して、列データスコア算出部７４、列類似度算出部７５および第１の列表類似度算出部７６がそれぞれ算出したスコアの総和を、その列における選択された意味の候補のスコアとして算出する。
【００６２】
例えば、図４，５に示す第３列が選択されているとする。また、列意味候補選択部７３によって選択された意味の候補が「平成」であるとする。この列において、列データスコア算出部７４が、「平成」に対して算出したスコアが０．７であるとする。また、列類似度算出部７５が、スコアとして、ｓｉｍ(平成，名前）＋ｓｉｍ（平成，身長）＝０．４を算出したとする。また、第１の列表類似度算出部７６が、スコアとして、ｓｉｍ（平成,人間）＝１／４＝０．２５を算出したとする。この場合、列スコア算出部７７は、この列における意味の候補「平成」のスコアとして、０．７＋０．４＋０．２５＝１．３５を算出する。
【００６３】
また、列意味候補選択部７３によって選択された意味の候補が「年齢」であるとする。そして、上記と同じ列（図４，５に示す第３列）において、列データスコア算出部７４が、「年齢」に対して算出したスコアが０．５であるとする。また、列類似度算出部７５が、スコアとして、ｓｉｍ(年齢，名前）＋ｓｉｍ（年齢，身長）＝１．０を算出したとする。また、第１の列表類似度算出部７６が、スコアとして、ｓｉｍ（年齢，人間）として、１．０を算出したとする。この場合、列スコア算出部７７は、この列における意味の候補「年齢」のスコアとして、０．５＋１．０＋１．０＝２．５を算出する。
【００６４】
列スコア算出部７７は、列意味候補選択部７３によって選択された意味の候補毎に、上記のスコアを算出する。
【００６５】
図６は、意味の候補「平成」および「年齢」を例にして、列スコア算出部７７によって算出されるスコアの計算式を示した説明図である。図６において、符号Ａで示した項は、列類似度算出部７５によって計算される項である。また、符号Ｂで示した項は、第１の列表類似度算出部７６によって計算される項である。
【００６６】
列意味特定部７８は、列スコア算出部７７によって算出される各候補のスコアに基づいて、推定対象となる列の意味を特定する。例えば、列意味特定部７８は、列スコア算出部７７によって算出されたスコアが最大となっている意味の候補を、推定対象となる列の意味として特定してもよい。
【００６７】
列意味記録部９（図１参照）は、列意味特定部７８が特定した意味を、選択されている表における選択されている列の意味の推定結果として、列意味記憶部８（図１参照）に記憶させる。
【００６８】
また、列意味特定部７８は、推定対象となる列の意味を複数個、特定してもよい。例えば、列意味特定部７８は、列スコア算出部７７によって算出されたスコアが高い順に、上位所定個の意味の候補をそれぞれ、推定対象となる列の意味として特定してもよい。また、例えば、列意味特定部７８は、列スコア算出部７７によって算出されたスコアが閾値以上となっている意味の候補をそれぞれ、推定対象となる列の意味として特定してもよい。閾値は、予め定められた定数である。推定対象となる列の意味が複数個特定された場合、列意味記録部９、特定された個々の意味と、その意味のスコア（列スコア算出部７７によって算出されたスコア）とを対応付けて、列意味記憶部８に記憶させる。
【００６９】
以下の説明では、説明を簡単にするために、列意味特定部７８が、列スコア算出部７７によって算出されたスコアが最大となっている意味の候補を、推定対象となる列の意味として特定する場合を例にして説明する。すなわち、推定対象となる列の意味が、１つ特定される場合を例にして説明する。
【００７０】
次に、表意味推定部１０について、より詳細に説明する。図７は、表意味推定部１０の構成例を示すブロック図である。表意味推定部１０は、表意味候補取得部１０１と、表意味候補選択部１０２と、第２の列表類似度算出部１０３と、表類似度算出部１０４と、表スコア算出部１０５と、表意味特定部１０６とを備える。
【００７１】
表意味候補取得部１０１は、表選択部６（図１参照）によって選択された表の意味の候補を、意味集合記憶部４に記憶された意味の候補の中から、複数個取得する。表意味候補取得部１０１は、概念辞書のノードが示す意味の候補を全て取得してもよい。あるいは、表意味候補取得部１０１は、概念辞書のノードのうち、任意のｈ個のノードを選択し、それらのノードに対応するｈ個の意味の候補を取得してもよい。あるいは、表意味候補取得部１０１は、現在、選択されている表の意味に該当する概念辞書内のノードを特定し、そのノードから所定ホップ数以内のｈ個のノードを選択し、それらのノードに対応するｈ個の意味の候補を取得してもよい。上記のｈの値や、所定ホップ数の値は、予め定数として定めておけばよい。
【００７２】
表意味候補取得部１０１が取得する複数個の意味の集合を、表意味候補集合と記す。
【００７３】
表意味候補選択部１０２は、表意味候補集合の中から、意味の候補を、順次、１つずつ選択する。
【００７４】
第２の列表類似度算出部１０３は、表意味候補選択部１０２によって選択された意味の候補と、選択されている表の個々の列の意味との類似度を示すスコアを算出する。
【００７５】
選択された意味の候補（表の意味の候補）をＺとする。また、その表から１つの列を選択した場合における、その列の意味をＸとする。このとき、ＺとＸとの類似度をｓｉｍ（Ｚ，Ｘ）と記すこととする。ｓｉｍ（Ｚ，Ｘ）の計算方法は、前述のｓｉｍ（Ｘ，Ｙ）やｓｉｍ（Ｚ，Ｘ）の計算方法と同様である。すなわち、第２の列表類似度算出部１０３は、ｓｉｍ（Ｚ，Ｘ）を、概念辞書におけるＺとＸとの間のホップ数の逆数として求めればよい。ＺとＸとの類似性が高いほど、ｓｉｍ（Ｚ，Ｘ）の値を大きな値として得ることができる。
【００７６】
第２の列表類似度算出部１０３は、選択されている表に含まれる列を１列ずつ順次、選択し、表意味候補選択部１０２によって選択された意味の候補と、選択した列の意味との類似度を算出し、その類似度の総和を、上記のスコアとして算出する。
【００７７】
図８は、意味の推定対象となる表（選択されている表）の例を示す模式図である。選択されている表に割り当てられている意味が「人間」であり、その表に含まれる各列の意味が「身長」、「名前」、「年齢」であるとする。この場合、第２の列表類似度算出部１０３は、上記のスコアとして、ｓｉｍ（人間，身長）＋ｓｉｍ（人間，名前）＋ｓｉｍ（人間，年齢）を算出すればよい。
【００７８】
第２の列表類似度算出部１０３は、表意味候補選択部１０２によって選択された意味の候補毎に、上記のスコアを算出する。
【００７９】
以下の説明では、第２の列表類似度算出部１０３が上記の方法でスコアを算出する場合を例にして説明する。ただし、第２の列表類似度算出部１０３は、他の方法でスコアを算出してもよい。例えば、第２の列表類似度算出部１０３は、特許文献１に記載された方法で、選択された表の意味の候補が表の意味に該当する確度を算出し、その確度を、スコアとして用いてもよい。
【００８０】
表類似度算出部１０４は、どの表とどの表が関連付けられているかを示す情報に基づいて、選択されている表と関連付けられている表を特定する。選択されている表と関連付けられている表は、複数個存在していてもよい。なお、既に説明したように、どの表とどの表が関連付けられているかを示す情報は、予め表記憶部２に記憶されている。
【００８１】
表類似度算出部１０４は、選択されている表（意味の推定対象となる表）において選択された意味の候補と、その表に関連付けられている他の個々の表の意味との類似度を示すスコアを算出する。上記のように選択された意味の候補（表の意味の候補）をＺとする。また、選択されている表に関連付けられている表がｍ個存在しているとする。なお、ｍの値は、１であっても、２以上であってもよい。また、そのｍ個の表の意味をＷ１〜Ｗｍとする。この場合、表類似度算出部１０４は、以下に示す式（１）の計算によって、上記のスコアを算出すればよい。
【００８２】
【数１】
0006988991.tif 000002
【００８３】
なお、ｓｉｍ（Ｚ，Ｗｉ）の計算方法は、前述のｓｉｍ（Ｘ，Ｙ）やｓｉｍ（Ｚ，Ｘ）の計算方法と同様である。すなわち、表類似度算出部１０４は、概念辞書におけるＺとＷｉとの間のホップ数の逆数として求めればよい。
【００８４】
表類似度算出部１０４が上記のスコアを計算するために用いる概念辞書を、これまでに述べた概念辞書とは別に予め意味集合記憶部４に記憶させておいてもよい。これまでに述べた概念辞書とは別に、表類似度算出部１０４が上記のスコアを計算するために用いる概念辞書を用いる場合、その概念辞書を第２の概念辞書と記す。第２の概念辞書では、関連付けられやすい表の意味同士がリンクで接続される。ただし、表類似度算出部１０４用の概念辞書（第２の概念辞書）を設けずに、表類似度算出部１０４は、列類似度算出部７５、第１の列表類似度算出部７６および第２の列表類似度算出部１０３が用いる概念辞書と共通の概念辞書を用いて、ホップ数の逆数を求めてもよい。
【００８５】
図９は、関連付けられている複数の表の例を示す模式図である。図９に示す例において、表５１が選択されている表（意味の推定対象となる表）であるとする。また、表５２，５３が、表５１に関連付けられている表であるとする。なお、図９に示す“ＣＩＤ”は“Customer ID ”と同義であり、“ＩＩＤ”は“Item ID ”と同義である。表５２の意味が「顧客」であり、表５３の意味が「商品」であるとする。また、表５１の表意味候補集合には、「人間」、「購買履歴」等が含まれているとする。本例では、ｍ＝２であり、「顧客」がＷ１に相当し、「商品」がＷ２に相当する。
【００８６】
例えば、表５１に関して選択された意味の候補が「人間」である場合、表類似度算出部１０４は、上記のスコアを、ｓｉｍ（人間，顧客）＋ｓｉｍ（人間、商品）の計算によって求めればよい。また、例えば、表５１に関して選択された意味の候補が「購買履歴」である場合、表類似度算出部１０４は、上記のスコアを、ｓｉｍ（購買履歴，顧客）＋ｓｉｍ（購買履歴、商品）の計算によって求めればよい。
【００８７】
表類似度算出部１０４は、表意味候補選択部１０２によって選択された意味の候補毎に、上記のスコアを算出する。
【００８８】
表スコア算出部１０５は、意味の推定対象となる表に関して、表意味候補選択部１０２によって選択された意味の候補毎に、第２の列表類似度算出部１０３が算出したスコアと、表類似度算出部１０４が算出したスコアとの和を計算する。
【００８９】
表意味特定部１０６は、表スコア算出部１０５によって算出される各候補のスコアに基づいて、推定対象となる表の意味を特定する。例えば、表意味特定部１０６は、表スコア算出部１０５によって算出されたスコアが最大となっている意味の候補を、推定対象となる表の意味として特定してもよい。
【００９０】
表意味記録部１２（図１参照）は、表意味特定部１０６が特定した意味を、選択されている表の意味の推定結果として、表意味記憶部１１（図１参照）に記憶させる。
【００９１】
また、表意味特定部１０６は、推定対象となる表の意味を複数個、特定してもよい。例えば、表意味特定部１０６は、表スコア算出部１０５によって算出されたスコアが高い順に、上位所定個の意味の候補をそれぞれ、推定対象となる表の意味として特定してもよい。また、例えば、表意味特定部１０６は、表スコア算出部１０５によって算出されたスコアが閾値以上となっている意味の候補をそれぞれ、推定対象となる表の意味として特定してもよい。閾値は、予め定められた定数である。推定対象となる表の意味が複数個特定された場合、表意味記録部１２は、特定された個々の意味と、その意味のスコア（表スコア算出部１０５によって算出されたスコア）とを対応付けて、表意味記憶部１１に記憶させる。
【００９２】
以下の説明では、説明を簡単にするために、表意味特定部１０６が、表スコア算出部１０５によって算出されたスコアが最大となっている意味の候補を、推定対象となる表の意味として特定する場合を例にして説明する。すなわち、推定対象となる表の意味が、１つ特定される場合を例にして説明する。
【００９３】
データ読み込み部３、意味初期値割り当て部５、表選択部６、列意味推定部７（列選択部７１、列意味候補取得部７２、列意味候補選択部７３、列データスコア算出部７４、列類似度算出部７５、第１の列表類似度算出部７６、列スコア算出部７７および列意味特定部７８）、列意味記録部９、表意味推定部１０（表意味候補取得部１０１、表意味候補選択部１０２、第２の列表類似度算出部１０３、表類似度算出部１０４、表スコア算出部１０５および表意味特定部１０６）、表意味記録部１２、および、終了判定部１３は、例えば、意味推定プログラムに従って動作するコンピュータのプロセッサ（例えば、ＣＰＵ（Central Processing Unit ）、ＧＰＵ（Graphics Processing Unit）、ＦＰＧＡ（Field-Programmable Gate Array ））によって実現される。この場合、プロセッサが、プログラム記憶装置等のプログラム記録媒体から意味推定プログラムを読み込む。そして、プロセッサは、その意味推定プログラムに従って、データ読み込み部３、意味初期値割り当て部５、表選択部６、列意味推定部７（列選択部７１、列意味候補取得部７２、列意味候補選択部７３、列データスコア算出部７４、列類似度算出部７５、第１の列表類似度算出部７６、列スコア算出部７７および列意味特定部７８）、列意味記録部９、表意味推定部１０（表意味候補取得部１０１、表意味候補選択部１０２、第２の列表類似度算出部１０３、表類似度算出部１０４、表スコア算出部１０５および表意味特定部１０６）、表意味記録部１２、および、終了判定部１３として動作すればよい。
【００９４】
次に、第１の実施形態の処理経過について説明する。図１０、図１１および図１２は、本発明の意味推定システム１の処理経過の例を示すフローチャートである。以下の説明では、既に説明した事項については、適宜、説明を省略する。
【００９５】
なお、予め、管理者によって、各列の意味および表の意味が定められていない複数個の表が表記憶部２に記憶されているものとする。同様に、どの表とどの表が関連付けられているかを示す情報も、予め、表記憶部２に記憶されているものとする。また、予め、管理者によって、概念辞書が意味集合記憶部４に記憶されているものとする。
【００９６】
まず、データ読み込み部３が、各列の意味および表の意味が定められていない全ての表を、表記憶部２から読み込む（ステップＳ１）。
【００９７】
次に、意味初期値割り当て部５は、データ読み込み部３が読み込んだ複数の表それぞれに対して、表の意味の初期値、および、表に含まれる各列の意味の初期値を割り当てる（ステップＳ２）。表の意味の初期値や各列の意味の初期値を割り当てる方法の例については、既に説明したので、ここでは説明を省略する。意味初期値割り当て部５は、各表に含まれる各列の意味の初期値をそれぞれ、列意味記憶部８に記憶させる。また、意味初期値割り当て部５は、各表の意味の初期値をそれぞれ、表意味記憶部１１に記憶させる。
【００９８】
ステップＳ２の後、表選択部６が、全ての表の中から、未選択の表を１つ選択する（ステップＳ３）。
【００９９】
ステップＳ４〜Ｓ１２、およびステップＳ１４は、列意味推定部７に含まれる要素（図３参照）によって実行される。
【０１００】
ステップＳ３の後、列選択部７１は、ステップＳ３で選択された表の中から、未選択の列を１つ選択する（ステップＳ４）。
【０１０１】
次に、列意味候補取得部７２が、ステップＳ４で選択された列の意味の候補を、意味集合記憶部４に記憶された意味の候補の中から、複数個取得する（ステップＳ５）。換言すれば、列意味候補取得部７２は、ステップＳ４で選択された列に関する列意味候補集合を取得する。列意味候補集合（複数個の意味の候補）を取得する方法の例については、既に説明したので、ここでは説明を省略する。
【０１０２】
次に、列意味候補選択部７３が、列意味候補集合の中から、未選択の意味の候補（列の意味の候補）を１つ選択する（ステップＳ６）。
【０１０３】
次に、列データスコア算出部７４が、選択された列に格納されている各データに基づいて、ステップＳ６で選択された意味の候補が、選択された列の意味に該当する度合いを示すスコアを算出する（ステップＳ７）。列データスコア算出部７４がスコアを算出する動作の例については既に説明したので、ここでは説明を省略する。
【０１０４】
次に、列類似度算出部７５が、ステップＳ３で選択された表のうち、ステップＳ４で選択された列以外の個々の列の意味と、ステップＳ６で選択された意味の候補との類似度を示すスコアを算出する（ステップＳ８）。列類似度算出部７５がスコアを算出する動作については既に説明したので、ここでは説明を省略する。
【０１０５】
次に、第１の列表類似度算出部７６が、ステップＳ３で選択された表の意味と、ステップＳ６で選択された意味の候補との類似度を示すスコアを算出する（ステップＳ９）。第１の列表類似度算出部７６がスコアを算出する動作については既に説明したので、ここでは説明を省略する。
【０１０６】
次に、列スコア算出部７７は、ステップＳ６で選択された意味の候補に関して、ステップＳ７，Ｓ８，Ｓ９で算出されたスコアの和を算出する（ステップＳ１０）。
【０１０７】
次に、列意味候補選択部７３は、列意味候補集合の中に、未選択の列の意味の候補があるか否かを判定する（ステップＳ１１）。
【０１０８】
未選択の列の意味の候補がある場合（ステップＳ１１のＹｅｓ）、ステップＳ６以降の処理を繰り返す。
【０１０９】
未選択の列の意味の候補がない場合（ステップＳ１１のＮｏ）、ステップＳ１２に移行する。この場合、列の意味の候補毎に、列スコア算出部７７がステップＳ１０でスコアを算出していることになる。ステップＳ１２では、列意味特定部７８が、列の意味の候補毎にステップＳ１０で算出されたスコアに基づいて、選択された列の意味を特定する。本例では、列意味特定部７８は、スコアが最大となっている意味の候補を、選択された列の意味として特定する。
【０１１０】
続いて、列意味記録部９（図１参照）が、ステップＳ１２で特定された列の意味を、その列と対応づけて列意味記憶部８に記憶させる（ステップＳ１３）。
【０１１１】
次に、列選択部７１が、ステップＳ３で選択された表の中に未選択の列があるか否かを判定する（ステップＳ１４）。
【０１１２】
未選択の列がある場合（ステップＳ１４のＹｅｓ）、ステップＳ４以降の処理を繰り返す。
【０１１３】
未選択の列がない場合（ステップＳ１４のＮｏ）、表意味推定部１０が以下に示すステップＳ１５〜Ｓ２１の動作を行う。以下に示すステップＳ１５〜Ｓ２１は、表意味推定部１０に含まれる要素（図７参照）によって実行される。
【０１１４】
未選択の列がない場合（ステップＳ１４のＮｏ）、表意味候補取得部１０１が、ステップＳ３で選択された表の意味の候補を、意味集合記憶部４に記憶された意味の候補の中から、複数個取得する（ステップＳ１５）。換言すれば、表意味候補取得部１０１は、ステップＳ３で選択された表に関する表意味候補集合を取得する。表意味候補集合（複数個の意味の候補）を取得する方法の例については、既に説明したので、ここでは説明を省略する。
【０１１５】
次に、表意味候補選択部１０２が、表意味候補集合の中から、未選択の意味の候補（表の意味の候補）を１つ選択する（ステップＳ１６）。
【０１１６】
次に、第２の列表類似度算出部１０３が、ステップＳ３で選択された表の個々の列の意味と、ステップＳ１６で選択された意味の候補との類似度を示すスコアを算出する（ステップＳ１７）。第２の列表類似度算出部１０３がスコアを算出する動作については既に説明したので、ここでは説明を省略する。
【０１１７】
次に、表類似度算出部１０４が、ステップＳ３で選択された表に関連付けられている個々の表の意味と、ステップＳ１６で選択された意味の候補との類似度を示すスコアを算出する（ステップＳ１８）。表類似度算出部１０４がスコアを算出する動作については既に説明したので、ここでは説明を省略する。
【０１１８】
次に、表スコア算出部１０５は、ステップＳ１６で選択された意味の候補に関して、ステップＳ１７，Ｓ１８で算出されたスコアの和を計算する（ステップＳ１９）。
【０１１９】
次に、表意味候補選択部１０２は、表意味候補集合の中に、未選択の表の意味の候補があるか否かを判定する（ステップＳ２０）。
【０１２０】
未選択の表の意味の候補がある場合（ステップＳ２０のＹｅｓ）、ステップＳ１６以降の処理を繰り返す。
【０１２１】
未選択の表の意味の候補がない場合（ステップＳ２０のＮｏ）、ステップＳ２１に移行する。この場合、表の意味の候補毎に、表スコア算出部１０５がステップＳ１９でスコアを算出していることになる。ステップＳ２１では、表意味特定部１０６が、表の意味の候補毎にステップＳ１９で算出されたスコアに基づいて、選択されている表の意味を特定する。本例では、表意味特定部１０６は、スコアが最大となっている意味の候補を、選択されている表の意味として特定する。
【０１２２】
続いて、表意味記録部１２（図１参照）が、ステップＳ２１で特定された表の意味を、その表と対応付けて表意味記憶部１１に記憶させる（ステップＳ２２）。
【０１２３】
次に、表選択部６は、未選択の表があるか否かを判定する（ステップＳ２３）。
【０１２４】
未選択の表がある場合（ステップＳ２３のＹｅｓ）、ステップＳ３以降の処理を繰り返す。
【０１２５】
未選択の表がない場合（ステップＳ２３のＮｏ）、終了判定部１３は、繰り返し処理の終了条件が満たされたか否かを判定する（ステップＳ２４）。この繰り返し処理は、具体的には、ステップＳ３から、ステップＳ２４で終了条件を満たしていないと判定されたことによってステップＳ２５に至るまでの処理である。すなわち、ステップＳ３からステップＳ２５に至るまでの処理が１回の繰り返し処理に該当する。前述のように、終了条件の例として、例えば、繰り返し処理の繰り返し数が所定数に達したこと、あるいは、各表に含まれる各列の意味、および、各表の意味が更新されなくなったこと等が挙げられる。
【０１２６】
終了条件が満たされていない場合（ステップＳ２４のＮｏ）、表選択部６は、全ての表を未選択であるものと定める（ステップＳ２５）。このとき、表選択部６は、全ての表の個々の列についても、未選択であるものと定める。ステップＳ２５の後、ステップＳ３以降の処理を繰り返す。
【０１２７】
また、終了条件が満たされている場合（ステップＳ２４のＹｅｓ）、処理を終了する。
【０１２８】
第１の実施形態によれば、表内で選択された列（推定対象となる列）の意味の候補と、その表内の他の個々の列の意味との類似度を示すスコア（ステップＳ８で算出されるスコア）や、その意味の候補とその表の意味との類似度を示すスコア（ステップＳ９で算出されるスコア）を加味したスコアを、列スコア算出部７７が、ステップＳ１０で算出する。そして、列意味特定部７８が、列の意味の候補毎に算出されたそのスコアに基づいて、列の意味を特定する。従って、表の各列の意味を高い精度で推定することができる。
【０１２９】
例えば、図４や図５に示す第３列の意味を推定する場合を考える。この第３列の意味が正しくは「年齢」であるものとする。ステップＳ７で得られるスコアだけを用いると、第３列の意味の推定結果として「平成」が得られることがあり得る。しかし、ステップＳ７で得られるスコアだけでなく、ステップＳ８で得られるスコアやステップＳ９で得られるスコアも加味することによって、正しい推定結果である「年齢」が得られやすくなる。すなわち、列の意味の推定精度を向上させることができる。
【０１３０】
また、第１の実施形態によれば、表の意味の候補と、その表の個々の列の意味との類似度を示すスコア（ステップＳ１７で算出されるスコア）や、その意味の候補と、その表に関連付けられている個々の表の意味との類似度を示すスコア（ステップＳ１８で算出されるスコア）を加味したスコアを、表スコア算出部１０５が、ステップＳ１９で算出する。そして、表意味特定部１０６が、表の意味の候補毎に算出されたそのスコアに基づいて、表の意味を特定する。従って、表の意味を高い精度で推定することができる。
【０１３１】
次に、第１の実施形態の変形例について説明する。
【０１３２】
上記の処理経過の説明では、ステップＳ１２で、列意味特定部７８が、スコアが最大となっている意味の候補を、選択された列の意味として特定する場合を例にして説明した。この場合、意味の推定対象となる列に対して、１つの意味が特定されることになる。前述のように、列意味特定部７８は、推定対象となる列の意味を複数個、特定してもよい。この場合、列意味記録部９は、ステップＳ１２で特定された複数の意味（列の意味）を、ステップＳ１０で算出されたスコアとともに、列意味記憶部８に記憶させる。
【０１３３】
また、この場合、１つの列に複数の意味が割り当てられることになる。この場合のステップＳ８におけるスコア算出方法の例について説明する。１つの列に複数の意味が割り当てられている場合、列類似度算出部７５（図３参照）は、その複数の意味のうち、スコアが最も高い意味のみに着目して、ステップＳ８におけるスコア計算を行ってもよい。図１３は、意味の推定対象となる列と、複数の意味が割り当てられている列を含む表の例を示す模式図である。説明を簡単にするため、図１３では、列の数を２列としている。図１３に示す第１列には、「名前」、「県名」という２つの意味が割り当てられているとする。なお、括弧書きで示した数値は、意味に対応するスコアである。また、図１３に示す第２列が、意味の推定対象となる列（ステップＳ４で選択された列）である。第２列に関して選択された意味の候補を符号Ｘで表す。スコアが最も高い意味のみに着目してステップＳ８のスコア計算を行う場合、列類似度算出部７５は、図１３に示す例では、スコアが最も高い「名前」のみを用いて、ｓｉｍ（Ｘ，名前）を計算すればよい。意味の推定対象となる列以外の列が第１の列の他にも存在する場合にも、列類似度算出部７５は、列毎に同様の計算を行い、その総和を、ステップＳ８における算出スコアとすればよい。
【０１３４】
また、推定対象となる列と、他の１つの列との類似度を計算する場合、列類似度算出部７５は、他の列に割り当てられている意味毎にｓｉｍ（）を計算し、その計算結果を、意味に対応付けられたスコアを用いて重み付け加算してもよい。例えば、図１３に例示する場合、列類似度算出部７５は、意味の候補“Ｘ”と、第１列の意味との類似度を、以下のように計算すればよい。
(4.5／(4.5+3.5))×ｓｉｍ（Ｘ，名前）＋(3.5／(4.5+3.5))×ｓｉｍ（Ｘ，県名）
【０１３５】
意味の推定対象となる列以外の列が、第１の列の他にも存在する場合にも、列類似度算出部７５は、列毎に、上記と同様の計算を行い、その総和をステップＳ８における算出スコアとしてもよい。
【０１３６】
また、１つの列に複数の意味が割り当てられる場合のステップＳ１７におけるスコア算出方法の例について説明する。１つの列に複数の意味が割り当てられている場合、第２の列表類似度算出部１０３（図７参照）は、その複数の意味のうち、スコアが最も高い意味のみに着目して、ステップＳ１７におけるスコア計算を行ってもよい。図１４は、複数の意味が割り当てられている列を含む表と、表の意味の候補とを示す模式図である。図１４では、説明を簡単にするため、１つの列のみを図示している。また、表の意味の候補を符号Ｚで表す。図１４に示す列には、「名前」、「県名」という２つの意味が割り当てられているとする。なお、括弧書きで示した数値は、意味に対応するスコアである。スコアが最も高い意味のみに着目してステップＳ１７のスコア計算を行う場合、第２の列表類似度算出部１０３は、図１４に示す列では、スコアが最も高い「名前」のみを用いて、ｓｉｍ（Ｚ，名前）を計算すればよい。第２の列表類似度算出部１０３は、他の列（図１４において図示略）に対しても、列毎に同様の計算を行い、その総和を、ステップＳ１７における算出スコアとすればよい。
【０１３７】
また、１つの列の意味と、表の意味の候補との類似度を計算する場合、第２の列表類似度算出部１０３は、その１つの列に割り当てられている意味毎にｓｉｍ（）を計算し、その計算結果を、意味に対応付けられたスコアを用いて重み付け加算してもよい。例えば、表の意味の候補“Ｚ”と、図１４に示す１つの列の意味との類似度を、以下のように計算すればよい。
(4.5／(4.5+3.5))×ｓｉｍ（Ｚ，名前）＋(3.5／(4.5+3.5))×ｓｉｍ（Ｚ，県名）
【０１３８】
第２の列表類似度算出部１０３は、他の列（図１４において図示略）に対しても、列毎に同様の計算を行い、その総和を、ステップＳ１７における算出スコアとすればよい。
【０１３９】
また、上記の処理経過の説明では、ステップＳ２１で、表意味特定部１０６が、スコアが最大となっている意味の候補を、選択された表の意味として特定する場合を例にして説明した。この場合、選択された表に対して、１つの意味が特定されることになる。前述のように、表意味特定部１０６は、表の意味を複数個、特定してもよい。この場合、表意味記録部１２は、ステップＳ２１で特定された複数の意味（表の意味）を、ステップＳ１９で算出されたスコアとともに、表意味記憶部１１に記憶させる。
【０１４０】
また、この場合、１つの表に複数の意味が割り当てられることになる。この場合のステップＳ９におけるスコア算出方法の例について説明する。１つの表に複数の意味が割り当てられている場合、第１の列表類似度算出部７６（図３参照）は、その複数の意味のうち、スコアが最も高い意味のみに着目して、ステップＳ９におけるスコア計算を行ってもよい。図１５は、意味の推定対象となる列と、表に割り当てられた複数の意味の例を示す模式図である。説明を簡単にするため、図１５では、意味の推定対象となる列以外の列の図示を省略している。選択された意味の候補（列の意味の候補）を符号Ｘで表す。また、表には、「研究者」、「顧客」という２つの意味が割り当てられているとする。なお、括弧書きで示した数値は、意味に対応するスコアである。スコアが最も高い意味のみに着目してステップＳ９のスコア計算を行う場合、第１の列表類似度算出部７６は、図１５に示す例では、スコアが最も高い「研究者」のみを用いて、ｓｉｍ（Ｘ，研究者）を計算すればよい。そして、第１の列表類似度算出部７６は、その計算結果を、ステップＳ９における算出スコアとすればよい。
【０１４１】
また、ステップＳ９のスコア計算を行う場合、第１の列表類似度算出部７６は、表に割り当てられている意味毎にｓｉｍ（）を計算し、その計算結果を、意味に対応付けられたスコアを用いて重み付け加算してもよい。例えば、図１５に例示する場合、第１の列表類似度算出部７６は、意味の候補“Ｘ”と、表の意味の類似度を、以下のように計算すればよい。
(4.5／(4.5+3.5))×ｓｉｍ（Ｘ，研究者）＋(3.5／(4.5+3.5))×ｓｉｍ（Ｘ，顧客）
【０１４２】
第１の列表類似度算出部７６は、上記の計算結果を、ステップＳ９における算出スコアとしてもよい。
【０１４３】
また、１つの表に複数の意味が割り当てられる場合のステップＳ１８におけるスコア計算方法の例について説明する。１つの表に複数の意味が割り当てられている場合、表類似度算出部１０４（図７参照）は、その複数の意味のうち、スコアが最も高い意味のみに着目して、ステップＳ１８におけるスコア計算を行ってもよい。図１６は、意味の推定対象となる表と、その表に関連付けられている他の表の例を示す模式図である。図１６に示す表５１は、意味の推定対象となる表である。表５１において選択されている意味の候補を符号Ｚで表す。表５２は、表５１に関連付けられている表である。表５２には、「顧客」、「研究者」という２つの意味が割り当てられているとする。なお、括弧書きで示した数値は、意味に対応するスコアである。スコアが最も高い意味のみに着目してステップＳ１８のスコア計算を行い場合、表類似度算出部１０４は、図１６に示す例では、スコアが最も高い「顧客」のみを用いて、ｓｉｍ（Ｚ，顧客）を計算すればよい。表類似度算出部１０４は、表５１に関連付けられている他の表に関しても、表毎に同様の計算を行い、その総和を、ステップＳ１８における算出スコアとすればよい。
【０１４４】
また、表の意味の候補と、その表に関連付けられている他の表の意味との類似度を計算する場合、表類似度算出部１０４は、他の表に割り当てられている意味毎にｓｉｍ（）を計算し、その計算結果を、意味に対応付けられたスコアを用いて重み付け加算してもよい。例えば、図１６に例示する場合、表類似度算出部１０４は、意味の候補“Ｚ”と、表５２の意味との類似度を以下のように計算すればよい。
(4.5／(4.5+3.5))×ｓｉｍ（Ｚ，顧客）＋(3.5／(4.5+3.5))×ｓｉｍ（Ｚ，研究者）
【０１４５】
表類似度算出部１０４は、表５１に関連付けられている表毎に、上記と同様の計算を行い、その総和をステップＳ１８における算出スコアとしてもよい。
【０１４６】
実施形態２．
第２の実施形態では、本発明の意味推定システムは、表の各列の意味を推定し、表の意味に関しては推定しない。図１７は、本発明の第２の実施形態の意味推定システムの構成例を示すブロック図である。図１に示す要素と同様の要素には、図１と同一の符号を付し、説明を省略する。表意味推定部１０および表意味記録部１２を備えていない点以外は、図１に示す構成と同様である。第２の実施形態では、意味推定システム１は、表意味推定部１０を備えていないので、表の意味の推定を行わない。
【０１４７】
第２の実施形態では、どの表とどの表が関連付けられているかを示す情報は与えられなくてよい。
【０１４８】
第２の実施形態では、意味推定システム１は、前述のステップＳ１５〜Ｓ２２の処理を実行しない。すなわち、ステップＳ１４において、列選択部７１によって未選択の列がないと判定された場合（ステップＳ１４のＮｏ）、ステップＳ２３に移行し、表選択部６が、未選択の表があるか否かを判定すればよい。その他の点については、第１の実施形態で説明した処理経過と同様である。
【０１４９】
なお、予め表記憶部２に記憶される表には、表の意味が定められていなくてよい。その場合であっても、意味初期値割り当て部５が、表の意味の初期値を割り当てるので、第１の列表類似度算出部７６（図３参照）は、ステップＳ９のスコア算出を実行することができる。なお、表の意味が定められていない場合には、ステップＳ９のスコア算出処理を省略してもよい。ステップＳ９のスコア算出処理を省略する列意味推定部７の構成例については、後述する。
【０１５０】
また、予め表記憶部２に記憶される表に、表の意味が定められていてもよい。この場合、意味初期値割り当て部５は、予め定められている表の意味を、表の意味の初期値として割り当てればよい。
【０１５１】
なお、第２の実施形態では、表の意味は、初期値から更新されることはない。
【０１５２】
第２の実施形態においても、表内で選択された列（推定対象となる列）の意味の候補と、その表内の他の個々の列の意味との類似度を示すスコア（ステップＳ８で算出されるスコア）や、その意味の候補とその表の意味との類似度を示すスコア（ステップＳ９で算出されるスコア）を加味したスコアを、列スコア算出部７７が、ステップＳ１０で算出する。そして、列意味特定部７８が、列の意味の候補毎に算出されたそのスコアに基づいて、列の意味を特定する。従って、表の各列の意味を高い精度で推定することができる。
【０１５３】
なお、第１の実施形態で説明した変形例を、第２の実施形態に適用してもよい。
【０１５４】
実施形態３．
第３の実施形態では、本発明の意味推定システムは、表の意味を推定し、表の各列の意味に関しては推定しない。図１８は、本発明の第３の実施形態の意味推定システムの構成例を示すブロック図である。図１に示す要素と同様の要素には、図１と同一の符号を付し、説明を省略する。列意味推定部７および列意味記録部９を備えていない点以外は、図１に示す構成と同様である。第３の実施形態では、意味推定システム１は、列意味推定部７を備えていないので、表の各列の意味の推定を行わない。
【０１５５】
第３の実施形態では、意味推定システム１は、前述のステップＳ４〜Ｓ１４の処理を実行しない。すなわち、ステップＳ３で、表選択部６が１つの表を選択した後、ステップＳ１５に移行し、表意味候補取得部１０１が、選択された表の表意味候補集合を取得すればよい。その他の点については、第１の実施形態で説明した処理経過と同様である。
【０１５６】
なお、予め表記憶部２に記憶される各表において、各列の意味が定められていなくてもよい。その場合であっても、意味初期値割り当て部５が、各表の各列の意味の初期値を割り当てるので、第２の列表類似度算出部１０３（図７参照）は、ステップＳ１７のスコア算出処理を実行することができる。なお、各表の各列の意味が定められていない場合には、ステップＳ１７のスコア算出処理を省略してもよい。ステップＳ１７のスコア算出処理を省略する表意味推定部１０の構成例については、後述する。
【０１５７】
また、予め表記憶部２に記憶される各表の各列に意味が定められていてもよい。この場合、意味初期値割り当て部５は、予め定められている各表の各列の意味を、それぞれの列の意味の初期値として割り当てればよい。
【０１５８】
なお、第３の実施形態では、各表の各列の意味は、初期値から更新されることはない。
【０１５９】
第３の実施形態においても、表の意味の候補と、その表の個々の列の意味との類似度を示すスコア（ステップＳ１７で算出されるスコア）や、その意味の候補と、その表に関連付けられている個々の表の意味との類似度を示すスコア（ステップＳ１８で算出されるスコア）を加味したスコアを、表スコア算出部１０５が、ステップＳ１９で算出する。そして、表意味特定部１０６が、表の意味の候補毎に算出されたそのスコアに基づいて、表の意味を特定する。従って、表の意味を高い精度で推定することができる。
【０１６０】
なお、第１の実施形態で説明した変形例を、第３の実施形態に適用してもよい。
【０１６１】
次に、前述の種々の実施形態の変形例について説明する。
【０１６２】
第１の実施形態および第２の実施形態において、列意味推定部７は、第１の実施形態で説明したステップＳ８のスコア算出処理を省略してもよい。図１９は、この場合の列意味推定部７の構成例を示すブロック図である。図３に示す要素と同一の要素には、図３と同一の符号を付し、説明を省略する。列類似度算出部７５を備えていない点以外は、図３に示す構成と同様である。本変形例では、列意味推定部７は、列類似度算出部７５を備えていないので、ステップＳ８のスコア算出処理を行わない。
【０１６３】
また、ステップＳ８のスコア算出処理は行われないので、図１９に示す列スコア算出部７７は、ステップＳ１０（図１０参照）において、ステップＳ７，Ｓ９で算出されたスコアの和を算出する。
【０１６４】
その他の点は、第１の実施形態または第２の実施形態と同様である。本変形例では、推定対象となる列の意味の候補と表の意味との類似度を示すスコア（ステップＳ９で算出されるスコア）を加味したスコアを、列スコア算出部７７が、ステップＳ１０で算出する。そして、列意味特定部７８が、列の意味の候補毎に算出されたそのスコアに基づいて、列の意味を特定する。従って、表の各列の意味を高い精度で推定することができる。
【０１６５】
また、第１の実施形態および第２の実施形態において、列意味推定部７は、第１の実施形態で説明したステップ９のスコア算出処理を省略してもよい。図２０は、この場合の列意味推定部７の構成例を示すブロック図である。図３に示す要素と同一の要素には、図３と同一の符号を付し、説明を省略する。第１の列表類似度算出部７６を備えていない点以外は、図３に示す構成と同様である。本変形例では、列意味推定部７は、第１の列表類似度算出部７６を備えていないので、ステップＳ９のスコア算出処理を行わない。
【０１６６】
また、ステップＳ９のスコア算出処理は行われないので、図２０に示す列スコア算出部７７は、ステップＳ１０（図１０参照）において、ステップＳ７，Ｓ８で算出されたスコアの和を算出する。
【０１６７】
その他の点は、第１の実施形態または第２の実施形態と同様である。本変形例では、推定対象となる列の意味の候補と、表内の他の個々の列の意味との類似度を示すスコア（ステップＳ８で算出されるスコア）を加味したスコアを、列スコア算出部７７が、ステップＳ１０で算出する。そして、列意味特定部７８が、列の意味の候補毎に算出されたそのスコアに基づいて、列の意味を特定する。従って、表の各列の意味を高い精度で推定することができる。
【０１６８】
また、第１の実施形態および第３の実施形態において、表意味推定部１０は、第１の実施形態で説明したステップＳ１７のスコア算出処理を省略してもよい。なお、ステップＳ１７のスコア算出処理を省略する場合には、ステップＳ１９の処理も省略してよい。図２１は、この場合の表意味推定部１０の構成例を示すブロック図である。図７に示す要素と同一の要素には、図７と同一の符号を付し、説明を省略する。第２の列表類似度算出部１０３および表スコア算出部１０５を備えていない点以外は、図７に示す構成と同様である。本変形例では、表意味推定部１０は、第２の列表類似度算出部１０３および表スコア算出部１０５を備えていないので、ステップＳ１７のスコア算出処理、および、ステップＳ１９のスコア加算処理を行わない。
【０１６９】
本変形例では、ステップＳ２１（図１２参照）において、表意味特定部１０６は、ステップＳ１８で算出されたスコアに基づいて、選択されている表の意味を特定する。この点は、第１の実施形態および第３の実施形態のステップＳ２１と異なる。
【０１７０】
その他の点は、第１の実施形態または第３の実施形態と同様である。本変形例では、表の意味の候補と、その表に関連付けられている個々の表の意味との類似度を示すスコア（ステップＳ１８で算出されるスコア）に基づいて、表意味特定部１０６が表の意味を特定する。従って、表の意味を高い精度で推定することができる。
【０１７１】
また、第１の実施形態および第３の実施形態において、表意味推定部１０は、第１の実施形態で説明したステップＳ１８のスコア算出処理を省略してもよい。なお、ステップＳ１８のスコア算出処理を省略する場合には、ステップＳ１９の処理も省略してよい。図２２は、この場合の表意味推定部１０の構成例を示すブロック図である。図７に示す要素と同一の要素には、図７と同一の符号を付し、説明を省略する。表類似度算出部１０４および表スコア算出部１０５を備えていない点以外は、図７に示す構成と同様である。本変形例では、表意味推定部１０は、表類似度算出部１０４および表スコア算出部１０５を備えていないので、ステップＳ１８のスコア算出処理、および、ステップＳ１９のスコア加算処理を行わない。
【０１７２】
本変形例では、どの表とどの表が関連付けられているかを示す情報は与えられなくてよい。また、本変形例では、ステップＳ２１（図１２参照）において、表意味特定部１０６は、ステップＳ１７で算出されたスコアに基づいて、選択されている表の意味を特定する。この点は、第１の実施形態および第３の実施形態のステップＳ２１と異なる。
【０１７３】
その他の点は、第１の実施形態または第３の実施形態と同様である。本変形例では、表の意味の候補と、その表の個々の列の意味との類似度を示すスコア（ステップＳ１７で算出されるスコア）に基づいて、表意味特定部１０６が表の意味を特定する。従って、表の意味を高い精度で推定することができる。
【０１７４】
また、上記の各実施形態やその変形例では、選択された意味の候補と、他の意味との類似度を求める際に、概念辞書のホップ数を用いるものとして説明した。より具体的には、選択された意味の候補と、他の意味との類似度を、概念辞書における両者間のホップ数の逆数として算出するものとして説明した。
【０１７５】
上記の各実施形態やその変形例において、概念辞書のホップ数に相当する値を算出するためのベクトルを、表の意味の個々の候補、および、表の意味の個々の候補に、予め割り当てておき、概念辞書の代わりに、意味の候補毎に、意味の候補とベクトルとの組合せを意味集合記憶部４に記憶させておいてもよい。このベクトルは、埋め込みベクトルと称される。与えられた概念辞書に基づいて、概念辞書の各ノードの埋め込みベクトルを導出するアルゴリズムとして、ＲＥＳＣＡＬが知られている。予めＲＥＳＣＡＬによって、個々の候補（意味の候補）毎に、埋め込みベクトルを導出しておき、意味の候補毎に、意味の候補と埋め込みベクトルとの組合せを意味集合記憶部４に記憶させておいてもよい。この場合、概念辞書が意味集合記憶部４に記憶されていなくても、ｓｉｍ（Ｘ，Ｙ）（ここで、Ｘ，Ｙは、任意の意味）を求めることができる。Ｘに対応する埋め込みベクトルとＹに対応する埋め込みベクトルの内積は、概念辞書におけるＸ，Ｙ間のホップ数に相当する値となる。従って、意味の候補毎に、意味の候補と埋め込みベクトルとの組合せを意味集合記憶部４に記憶させておき、任意のＸ，Ｙに関してｓｉｍ（Ｘ，Ｙ）を求める場合には、Ｘに対応する埋め込みベクトルとＹに対応する埋め込みベクトルの内積の逆数を求めればよい。このように、ホップ数を直接求めなくても、類似度を算出することができる。また、各意味の候補に応じた埋め込みベクトルを導出するアルゴリズムとして、ｗｏｒｄ２ｖｅｃが知られている。ｗｏｒｄ２ｖｅｃでは、概念辞書が与えられなくても、既存の種々の文書から埋め込みベクトルを導出することができる。
【０１７６】
図２３は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ１０００は、ＣＰＵ１００１と、主記憶装置１００２と、補助記憶装置１００３と、インタフェース１００４とを備える。
【０１７７】
本発明の各実施形態の意味推定システム１は、コンピュータ１０００に実装される。意味推定システム１の動作は、意味推定プログラムの形式で補助記憶装置１００３に記憶されている。ＣＰＵ１００１は、その意味推定プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、その意味推定プログラムに従って、上記の各実施形態や各種変形例で説明した処理を実行する。
【０１７８】
補助記憶装置１００３は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory ）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory ）、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００がそのプログラムを主記憶装置１００２に展開し、上記の処理を実行してもよい。
【０１７９】
また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
【０１８０】
また、各構成要素の一部または全部は、汎用または専用の回路（circuitry ）、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【０１８１】
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０１８２】
次に、本発明の概要について説明する。図２４は、本発明の意味推定システムの概要を示すブロック図である。本発明の意味推定システムは、列意味候補選択手段３０３と、列類似度算出手段３０４と、列意味特定手段３０５とを備える。
【０１８３】
列意味候補選択手段３０３（例えば、列意味候補選択部７３）は、意味の推定対象となる列の意味の候補を選択する。
【０１８４】
列類似度算出手段３０４（例えば、列類似度算出部７５）は、列意味候補選択手段３０３によって選択された意味の候補毎に、選択された意味の候補と、表に含まれる推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する。
【０１８５】
列意味特定手段３０５（例えば、列意味特定部７８）は、列類似度算出手段３０４が算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定する。
【０１８６】
そのような構成により、表の各列の意味を高い精度で推定することができる。
【０１８７】
図２５は、本発明の意味推定システムの概要の他の例を示すブロック図である。図２５に示す意味推定システムは、列意味候補選択手段４０３と、第１の列表類似度算出手段４０４と、列意味特定手段４０５とを備える。
【０１８８】
列意味候補選択手段４０３（例えば、列意味候補選択部７３）は、意味の推定対象となる列の意味の候補を選択する。
【０１８９】
第１の列表類似度算出手段４０４（例えば、第１の列表類似度算出部７６）は、列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する。
【０１９０】
列意味特定手段４０５（例えば、列意味特定部７８）は、第１の列表類似度算出手段４０４が算出したスコアを用いて、列の意味の候補の中から、推定対象となる列の意味を特定する。
【０１９１】
そのような構成により、表の各列の意味を高い精度で推定することができる。
【０１９２】
上記の本発明の実施形態は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
【０１９３】
（付記１）
表に含まれる列の意味を推定する意味推定システムであって、
意味の推定対象となる列の意味の候補を選択する列意味候補選択手段と、
前記列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出手段と、
前記列類似度算出手段が算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定手段とを備える
ことを特徴とする意味推定システム。
【０１９４】
（付記２）
表の各列の意味の初期値を割り当てる意味初期値割り当て手段と、
意味の推定対象となる列を選択する列選択手段とを備える
付記１に記載の意味推定システム。
【０１９５】
（付記３）
意味初期値割り当て手段は、表の意味の初期値を割り当て、
列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第１の列表類似度算出手段を備え、
列意味特定手段は、列類似度算出手段が算出したスコアと、前記第１の列表類似度算出手段が算出したスコアとを用いて、推定対象となる列の意味を特定する
付記２に記載の意味推定システム。
【０１９６】
（付記４）
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から表を選択する表選択手段を備え、
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定する処理を繰り返す
付記２に記載の意味推定システム。
【０１９７】
（付記５）
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から表を選択する表選択手段を備え、
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定する処理を繰り返す
付記３に記載の意味推定システム。
【０１９８】
（付記６）
表に含まれる列の意味を推定する意味推定システムであって、
意味の推定対象となる列の意味の候補を選択する列意味候補選択手段と、
前記列意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第１の列表類似度算出手段と、
前記第１の列表類似度算出手段が算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定手段とを備える
ことを特徴とする意味推定システム。
【０１９９】
（付記７）
表の意味の初期値と、前記表の各列の意味の初期値とを割り当てる意味初期値割り当て手段と、
意味の推定対象となる列を選択する列選択手段とを備える
付記６に記載の意味推定システム。
【０２００】
（付記８）
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から表を選択する表選択手段を備え、
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定する処理を繰り返す
付記７に記載の意味推定システム。
【０２０１】
（付記９）
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段と、
前記推定対象となる表の意味の候補を選択する表意味候補選択手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する表類似度算出手段と、
前記表類似度算出手段が算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定手段とを備える
付記２、付記３および付記７のうちのいずれかに記載の意味推定システム。
【０２０２】
（付記１０）
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段と、
前記推定対象となる表の意味の候補を選択する表意味候補選択手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表の個々の列の意味との類似度を示すスコアを算出する第２の列表類似度算出手段と、
前記第２の列表類似度算出手段が算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定手段とを備える
付記２、付記３および付記７のうちのいずれかに記載の意味推定システム。
【０２０３】
（付記１１）
意味初期値割り当て手段は、与えられた複数の表それぞれに対して、表の意味の初期値および表に含まれる各列の意味の初期値を割り当て、
前記与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段と、
前記推定対象となる表の意味の候補を選択する表意味候補選択手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する表類似度算出手段と、
前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表の個々の列の意味との類似度を示すスコアを算出する第２の列表類似度算出手段と、
前記表類似度算出手段が算出したスコアと、前記第２の列表類似度算出手段が算出したスコアとを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定手段とを備える
付記２、付記３および付記７のうちのいずれかに記載の意味推定システム。
【０２０４】
（付記１２）
所定の条件が満たされるまで、
前記表選択手段が、前記与えられた複数の表の中から表を選択し、列選択手段が、前記表選択手段によって選択された表の中から、意味の推定対象となる列を選択し、列意味特定手段が、前記選択された表の各列の意味を特定し、表意味特定手段が、各表の意味を特定する処理を繰り返す
付記９から付記１１のうちのいずれかに記載の意味推定システム。
【０２０５】
（付記１３）
表に含まれる列の意味を推定する意味推定方法であって、
コンピュータが、
意味の推定対象となる列の意味の候補を選択し、
選択した意味の候補毎に、選択した意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出処理を実行し、
前記列類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する
ことを特徴とする意味推定方法。
【０２０６】
（付記１４）
表に含まれる列の意味を推定する意味推定方法であって、
コンピュータが、
意味の推定対象となる列の意味の候補を選択し、
選択した意味の候補毎に、選択した意味の候補と、表の意味との類似度を示すスコアを算出する第１の列表類似度算出処理を実行し、
前記第１の列表類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する
ことを特徴とする意味推定方法。
【０２０７】
（付記１５）
コンピュータに、表に含まれる列の意味を推定させるための意味推定プログラムであって、
前記コンピュータに、
意味の推定対象となる列の意味の候補を選択する列意味候補選択処理、
前記列意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、表に含まれる前記推定対象となる列以外の個々の列の意味との類似度を示すスコアを算出する列類似度算出処理、および、
前記列類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定処理
を実行させるための意味推定プログラム。
【０２０８】
（付記１６）
コンピュータに、表に含まれる列の意味を推定させるための意味推定プログラムであって、
前記コンピュータに、
意味の推定対象となる列の意味の候補を選択する列意味候補選択処理、
前記列意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、表の意味との類似度を示すスコアを算出する第１の列表類似度算出処理、および、
前記第１の列表類似度算出処理で算出したスコアを用いて、列の意味の候補の中から、前記推定対象となる列の意味を特定する列意味特定処理
を実行させるための意味推定プログラム。
【０２０９】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用の可能性】
【０２１０】
本発明は、表の各列の意味や表の意味を推定する意味推定システムに好適に適用可能である。
【符号の説明】
【０２１１】
１  意味推定システム
２  表記憶部
３  データ読み込み部
４  意味集合記憶部
５  意味初期値割り当て部
６  表選択部
７  列意味推定部
８  列意味記憶部
９  列意味記録部
１０  表意味推定部
１１  表意味記憶部
１２  表意味記録部
１３  終了判定部
７１  列選択部
７２  列意味候補取得部
７３  列意味候補選択部
７４  列データスコア算出部
７５  列類似度算出部
７６  第１の列表類似度算出部
７７  列スコア算出部
７８  列意味特定部
１０１  表意味候補取得部
１０２  表意味候補選択部
１０３  第２の列表類似度算出部
１０４  表類似度算出部
１０５  表スコア算出部
１０６  表意味特定部
【図１】
0006988991.tif 000003
【図２】
0006988991.tif 000004
【図３】
0006988991.tif 000005
【図４】
0006988991.tif 000006
【図５】
0006988991.tif 000007
【図６】
0006988991.tif 000008
【図７】
0006988991.tif 000009
【図８】
0006988991.tif 000010
【図９】
0006988991.tif 000011
【図１０】
0006988991.tif 000012
【図１１】
0006988991.tif 000013
【図１２】
0006988991.tif 000014
【図１３】
0006988991.tif 000015
【図１４】
0006988991.tif 000016
【図１５】
0006988991.tif 000017
【図１６】
0006988991.tif 000018
【図１７】
0006988991.tif 000019
【図１８】
0006988991.tif 000020
【図１９】
0006988991.tif 000021
【図２０】
0006988991.tif 000022
【図２１】
0006988991.tif 000023
【図２２】
0006988991.tif 000024
【図２３】
0006988991.tif 000025
【図２４】
0006988991.tif 000026
【図２５】
0006988991.tif 000027
【図２６】
0006988991.tif 000028