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

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

Info

Publication number
JPWO2019171537A1
JPWO2019171537A1 JP2020504591A JP2020504591A JPWO2019171537A1 JP WO2019171537 A1 JPWO2019171537 A1 JP WO2019171537A1 JP 2020504591 A JP2020504591 A JP 2020504591A JP 2020504591 A JP2020504591 A JP 2020504591A JP WO2019171537 A1 JPWO2019171537 A1 JP WO2019171537A1
Authority
JP
Japan
Prior art keywords
meaning
column
candidate
score
estimated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020504591A
Other languages
English (en)
Other versions
JP6984729B2 (ja
Inventor
昌史 小山田
昌史 小山田
邦紘 竹岡
邦紘 竹岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2019171537A1 publication Critical patent/JPWO2019171537A1/ja
Application granted granted Critical
Publication of JP6984729B2 publication Critical patent/JP6984729B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

表意味候補選択手段503は、意味の推定対象となる表の意味の候補を選択する。表類似度算出手段504は、表意味候補選択手段503によって選択された意味の候補毎に、選択された意味の候補と、推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する。表意味特定手段505は、表類似度算出手段504が算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する。

Description

本発明は、表の意味を推定する意味推定システム、意味推定方法および意味推定プログラムに関する。
非特許文献1には、表の列に含まれる各データから特徴量を算出し、その特徴量に基づいて列のラベルを定める技術が記載されている。
また、特許文献1には、列の意味が定められている表の意味を推定するシステムが記載されている。特許文献1に記載のシステムは、有限個の表の意味をそれぞれ選択し、選択した意味が表の意味に該当する確度を計算する。そして、特許文献1に記載のシステムは、確度が最も高い意味を、表の意味として決定する。
表の列の意味を推定する一般的な方法として、以下に示す方法が考えられる。以下の説明では、列に格納されている各データが数値である場合、および、列に格納されている各データが文字列である場合について、それぞれ説明する。以下、前者を、「第1の一般的な方法」と記し、後者を「第2の一般的な方法」と記す。
第1の一般的な方法
第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列の意味として定められる。
第2の一般的な方法
第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には、テーブルの各カラムから、上位概念関係にあるカラムを自動抽出することができるシステムが記載されている。
国際公開第WO2018/025706号 特開2017−21634号公報 特開2011−232879号公報 特開2008−181459号公報 特許第6242540号公報
データを格納している表の意味が定められていない場合がある。そのような場合、表を管理しづらくなり、また、表を利用しづらくなる。そのため、表の意味を高い精度で推定できることが好ましい。
そこで、本発明は、表の意味を高い精度で推定することができる意味推定システム、意味推定方法および意味推定プログラムを提供することを目的とする。
本発明による意味推定システムは、表の意味を推定する意味推定システムであって、意味の推定対象となる表の意味の候補を選択する表意味候補選択手段と、表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する表類似度算出手段と、表類似度算出手段が算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定手段とを備えることを特徴とする。
また、本発明による意味推定システムは、表の意味を推定する意味推定システムであって、意味の推定対象となる表の意味の候補を選択する表意味候補選択手段と、表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、推定対象となる表の個々の列の意味との類似度を示すスコアを算出する列表類似度算出手段と、列表類似度算出手段が算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定手段とを備えることを特徴とする。
また、本発明による意味推定方法は、表の意味を推定する意味推定方法であって、コンピュータが、意味の推定対象となる表の意味の候補を選択し、選択した意味の候補毎に、選択した意味の候補と、推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する表類似度算出処理を実行し、表類似度算出処理で算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定することを特徴とする。
また、本発明による意味推定方法は、表の意味を推定する意味推定方法であって、コンピュータが、意味の推定対象となる表の意味の候補を選択し、選択した意味の候補毎に、選択した意味の候補と、推定対象となる表の個々の列の意味との類似度を示すスコアを算出する列表類似度算出処理を実行し、列表類似度算出処理で算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定することを特徴とする。
また、本発明による意味推定プログラムは、コンピュータに、表の意味を推定させるための意味推定プログラムであって、コンピュータに、意味の推定対象となる表の意味の候補を選択する表意味候補選択処理、表意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する表類似度算出処理、および、表類似度算出処理で算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定処理を実行させることを特徴とする。
また、本発明による意味推定プログラムは、コンピュータに、表の意味を推定させるための意味推定プログラムであって、コンピュータに、意味の推定対象となる表の意味の候補を選択する表意味候補選択処理、表意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、推定対象となる表の個々の列の意味との類似度を示すスコアを算出する列表類似度算出処理、および、列表類似度算出処理で算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する表意味特定処理を実行させることを特徴とする。
本発明によれば、表の意味を高い精度で推定することができる。
本発明の第1の実施形態の意味推定システムの構成例を示すブロック図である。 概念辞書の例を示す模式図である。 列意味推定部の構成例を示すブロック図である。 意味の推定対象となる列、および、その列以外の個々の列の例を示す模式図である。 意味の推定対象となる列と、その列を含む表の意味の例を示す模式図である。 意味の候補「平成」および「年齢」を例にして、列スコア算出部によって算出されるスコアの計算式を示した説明図である。 表意味推定部の構成例を示すブロック図である。 意味の推定対象となる表の例を示す模式図である。 関連付けられている複数の表の例を示す模式図である。 本発明の意味推定システムの処理経過の例を示すフローチャートである。 本発明の意味推定システムの処理経過の例を示すフローチャートである。 本発明の意味推定システムの処理経過の例を示すフローチャートである。 意味の推定対象となる列と、複数の意味が割り当てられている列を含む表の例を示す模式図である。 複数の意味が割り当てられている列を含む表と、表の意味の候補とを示す模式図である。 意味の推定対象となる列と、表に割り当てられた複数の意味の例を示す模式図である。 意味の推定対象となる表と、その表に関連付けられている他の表の例を示す模式図である。 本発明の第2の実施形態の意味推定システムの構成例を示すブロック図である。 本発明の第3の実施形態の意味推定システムの構成例を示すブロック図である。 列意味推定部の変形例を示すブロック図である。 列意味推定部の変形例を示すブロック図である。 表意味推定部の変形例を示すブロック図である。 表意味推定部の変形例を示すブロック図である。 本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。 本発明の意味推定システムの概要を示すブロック図である。 本発明の意味推定システムの概要の他の例を示すブロック図である。 各列の意味が推定対象となっている表の例を示す模式図である。
以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図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個の表の意味をW〜Wとする。この場合、表類似度算出部104は、以下に示す式(1)の計算によって、上記のスコアを算出すればよい。
Figure 2019171537
なお、sim(Z,W)の計算方法は、前述のsim(X,Y)やsim(Z,X)の計算方法と同様である。すなわち、表類似度算出部104は、概念辞書におけるZとWとの間のホップ数の逆数として求めればよい。
表類似度算出部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であり、「顧客」がWに相当し、「商品」がWに相当する。
例えば、表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,県名)
意味の推定対象となる列以外の列が、第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,県名)
第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,顧客)
第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,研究者)
表類似度算出部104は、表51に関連付けられている表毎に、上記と同様の計算を行い、その総和をステップS18における算出スコアとしてもよい。
実施形態2.
第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の実施形態では、意味推定システム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は、本発明の意味推定システムの概要を示すブロック図である。本発明の意味推定システムは、表意味候補選択手段503と、表類似度算出手段504と、表意味特定手段505とを備える。
表意味候補選択手段503(例えば、表意味候補選択部102)は、意味の推定対象となる表の意味の候補を選択する。
表類似度算出手段504(例えば、表類似度算出部104)は、表意味候補選択手段503によって選択された意味の候補毎に、選択された意味の候補と、推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する。
表意味特定手段505(例えば、表意味特定部106)は、表類似度算出手段504が算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する。
そのような構成により、表の意味を高い精度で推定することができる。
また、表意味候補選択手段503によって選択された意味の候補毎に、選択された意味の候補と、推定対象となる表の個々の列の意味との類似度を示すスコアを算出する列表類似度算出手段(例えば、第2の列表類似度算出部103)を備え、表意味特定手段505が、表類似度算出手段504が算出したスコアと、列表類似度算出手段が算出したスコアとを用いて、推定対象となる表の意味を特定する構成であってもよい。
また、与えられた複数の表それぞれに対して、表の意味の初期値を割り当てる意味初期値割り当て手段(例えば、意味初期値割り当て部5)と、与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段(例えば、表選択部6)とを備える構成であってもよい。
また、所定の条件が満たされるまで、表選択手段が、与えられた複数の表の中から、意味の推定対象となる表を選択し、表意味特定手段505が、各表の意味を特定する処理を繰り返す構成であってもよい。
図25は、本発明の意味推定システムの概要の他の例を示すブロック図である。図25に示す意味推定システムは、表意味候補選択手段602と、列表類似度算出手段603と、表意味特定手段604とを備える。
表意味候補選択手段602(例えば、表意味候補選択部102)は、意味の推定対象となる表の意味の候補を選択する。
列表類似度算出手段603(例えば、例えば、第2の列表類似度算出部103)は、表意味候補選択手段602によって選択された意味の候補毎に、選択された意味の候補と、推定対象となる表の個々の列の意味との類似度を示すスコアを算出する。
表意味特定手段604(表意味特定部106)は、列表類似度算出手段603が算出したスコアを用いて、表の意味の候補の中から、推定対象となる表の意味を特定する。
そのような構成により、表の意味を高い精度で推定することができる。
また、与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段(例えば、表選択部6)を備える構成であってもよい。
また、所定の条件が満たされるまで、表選択手段が、与えられた複数の表の中から、意味の推定対象となる表を選択し、表意味特定手段604が、各表の意味を特定する処理を繰り返す構成であってもよい。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
産業上の利用の可能性
本発明は、表の意味等を推定する意味推定システムに好適に適用可能である。
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 表意味特定部

Claims (10)

  1. 表の意味を推定する意味推定システムであって、
    意味の推定対象となる表の意味の候補を選択する表意味候補選択手段と、
    前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する表類似度算出手段と、
    前記表類似度算出手段が算出したスコアを用いて、表の意味の候補の中から、前記推定対象となる表の意味を特定する表意味特定手段とを備える
    ことを特徴とする意味推定システム。
  2. 表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、推定対象となる表の個々の列の意味との類似度を示すスコアを算出する列表類似度算出手段を備え、
    表意味特定手段は、表類似度算出手段が算出したスコアと、前記列表類似度算出手段が算出したスコアとを用いて、前記推定対象となる表の意味を特定する
    請求項1に記載の意味推定システム。
  3. 与えられた複数の表それぞれに対して、表の意味の初期値を割り当てる意味初期値割り当て手段と、
    前記与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段とを備える
    請求項1または請求項2に記載の意味推定システム。
  4. 表の意味を推定する意味推定システムであって、
    意味の推定対象となる表の意味の候補を選択する表意味候補選択手段と、
    前記表意味候補選択手段によって選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表の個々の列の意味との類似度を示すスコアを算出する列表類似度算出手段と、
    前記列表類似度算出手段が算出したスコアを用いて、表の意味の候補の中から、前記推定対象となる表の意味を特定する表意味特定手段とを備える
    ことを特徴とする意味推定システム。
  5. 与えられた複数の表の中から、意味の推定対象となる表を選択する表選択手段を備える
    請求項4に記載の意味推定システム。
  6. 所定の条件が満たされるまで、
    表選択手段が、与えられた複数の表の中から、意味の推定対象となる表を選択し、表意味特定手段が、各表の意味を特定する処理を繰り返す
    請求項3または請求項5に記載の意味推定システム。
  7. 表の意味を推定する意味推定方法であって、
    コンピュータが、
    意味の推定対象となる表の意味の候補を選択し、
    選択した意味の候補毎に、選択した意味の候補と、前記推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する表類似度算出処理を実行し、
    前記表類似度算出処理で算出したスコアを用いて、表の意味の候補の中から、前記推定対象となる表の意味を特定する
    ことを特徴とする意味推定方法。
  8. 表の意味を推定する意味推定方法であって、
    コンピュータが、
    意味の推定対象となる表の意味の候補を選択し、
    選択した意味の候補毎に、選択した意味の候補と、前記推定対象となる表の個々の列の意味との類似度を示すスコアを算出する列表類似度算出処理を実行し、
    前記列表類似度算出処理で算出したスコアを用いて、表の意味の候補の中から、前記推定対象となる表の意味を特定する
    ことを特徴とする意味推定方法。
  9. コンピュータに、表の意味を推定させるための意味推定プログラムであって、
    前記コンピュータに、
    意味の推定対象となる表の意味の候補を選択する表意味候補選択処理、
    前記表意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表と関連付けられている当該表以外の個々の表の意味との類似度を示すスコアを算出する表類似度算出処理、および、
    前記表類似度算出処理で算出したスコアを用いて、表の意味の候補の中から、前記推定対象となる表の意味を特定する表意味特定処理
    を実行させるための意味推定プログラム。
  10. コンピュータに、表の意味を推定させるための意味推定プログラムであって、
    前記コンピュータに、
    意味の推定対象となる表の意味の候補を選択する表意味候補選択処理、
    前記表意味候補選択処理で選択された意味の候補毎に、選択された意味の候補と、前記推定対象となる表の個々の列の意味との類似度を示すスコアを算出する列表類似度算出処理、および、
    前記列表類似度算出処理で算出したスコアを用いて、表の意味の候補の中から、前記推定対象となる表の意味を特定する表意味特定処理
    を実行させるための意味推定プログラム。
JP2020504591A 2018-03-08 2018-03-08 意味推定システム、方法およびプログラム Active JP6984729B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/008996 WO2019171537A1 (ja) 2018-03-08 2018-03-08 意味推定システム、方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2019171537A1 true JPWO2019171537A1 (ja) 2021-02-12
JP6984729B2 JP6984729B2 (ja) 2021-12-22

Family

ID=67845987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020504591A Active JP6984729B2 (ja) 2018-03-08 2018-03-08 意味推定システム、方法およびプログラム

Country Status (3)

Country Link
US (1) US20210042649A1 (ja)
JP (1) JP6984729B2 (ja)
WO (1) WO2019171537A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114547285B (zh) * 2022-03-03 2023-03-24 创新奇智(浙江)科技有限公司 表格数据含义推断方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4905162A (en) * 1987-03-30 1990-02-27 Digital Equipment Corporation Evaluation system for determining analogy and symmetric comparison among objects in model-based computation systems
US7054871B2 (en) * 2000-12-11 2006-05-30 Lucent Technologies Inc. Method for identifying and using table structures
WO2016000115A1 (en) * 2014-06-30 2016-01-07 Microsoft Technology Licensing, Llc Understanding tables for search
US11093703B2 (en) * 2016-09-29 2021-08-17 Google Llc Generating charts from data in a data table
US20210064666A1 (en) * 2019-08-26 2021-03-04 International Business Machines Corporation Natural language interaction with automated machine learning systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
US20210042649A1 (en) 2021-02-11
WO2019171537A1 (ja) 2019-09-12
JP6984729B2 (ja) 2021-12-22

Similar Documents

Publication Publication Date Title
CN109978060B (zh) 一种自然语言要素抽取模型的训练方法及装置
EP2991003B1 (en) Method and apparatus for classification
CN109726269B (zh) 信息处理方法、信息处理装置以及程序
JP6299759B2 (ja) 予測関数作成装置、予測関数作成方法、及びプログラム
JP2013206187A (ja) 情報変換装置、情報検索装置、情報変換方法、情報検索方法、情報変換プログラム、情報検索プログラム
WO2014118978A1 (ja) 学習方法、情報処理装置および学習プログラム
JP6984729B2 (ja) 意味推定システム、方法およびプログラム
JP6988991B2 (ja) 意味推定システム、方法およびプログラム
US11410065B2 (en) Storage medium, model output method, and model output device
CN111310930B (zh) 优化装置、优化方法和非暂态计算机可读存储介质
JP5980142B2 (ja) 学習データ選択装置、識別的音声認識精度推定装置、学習データ選択方法、識別的音声認識精度推定方法、プログラム
US11295229B1 (en) Scalable generation of multidimensional features for machine learning
JP2020027590A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2019185207A (ja) モデル学習装置、モデル学習方法、プログラム
CN112561569B (zh) 基于双模型的到店预测方法、系统、电子设备及存储介质
JP6123372B2 (ja) 情報処理システム、名寄せ判定方法及びプログラム
JP7444248B2 (ja) 分析装置、分析方法および分析プログラム
US11314781B2 (en) Construction of reference database accurately representing complete set of data items for faster and tractable classification usage
WO2022259304A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US20230274146A1 (en) Information processing apparatus, information processing method, and storage medium
JP2017220149A (ja) データ処理装置、データ処理方法、およびデータ処理プログラム
JP6537996B2 (ja) 未知語検出装置、未知語検出方法、プログラム
US20220138434A1 (en) Generation apparatus, generation method and program
JP6981860B2 (ja) 系列データ解析装置、系列データ解析方法及びプログラム
US20220414077A1 (en) Graph searching apparatus, graph searching method, and computer-readable recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200901

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211108

R150 Certificate of patent or registration of utility model

Ref document number: 6984729

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150