(57)【要約】  学習手段７１は、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて、テーブルにおけるカラムの意味に応じた属性値の分布とテーブルの意味との間の規則性を示すモデルを学習する。推定手段７２は、入力されるテーブルにおけるカラムの意味に応じた属性値の分布とモデルとに基づいて、そのテーブルの意味を推定する。
2018025707.tif 000002
【特許請求の範囲】
【請求項１】
カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて、前記テーブルにおけるカラムの意味に応じた属性値の分布と前記テーブルの意味との間の規則性を示すモデルを学習する学習手段と、
入力されるテーブルにおけるカラムの意味に応じた属性値の分布と前記モデルとに基づいて、前記テーブルの意味を推定する推定手段とを備える
ことを特徴とするテーブル意味推定システム。
【請求項２】
入力されるテーブルのカラムの属性値から、前記カラムの意味を推定するカラム意味推定手段を備え、
推定手段は、推定されたカラムの意味に応じた属性値の分布と、モデルとに基づいて、前記テーブルの意味を推定する
請求項１に記載のテーブル意味推定システム。
【請求項３】
推定されたテーブルの意味を表示し、当該テーブルの意味が適切か否かに関する入力をユーザから受け付ける表示制御手段と、
前記ユーザからの入力に応じて、学習データを追加する学習データ追加手段とを備える
請求項１または請求項２に記載のテーブル意味推定システム。
【請求項４】
表示制御手段は、
表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、前記テーブルの意味の入力を前記ユーザから受け付け、
学習データ追加手段は、
前記テーブルの意味が適切である旨が入力された場合、前記テーブルと、前記表示制御手段が表示したテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、
前記テーブルの意味が適切でない旨が入力された場合、前記テーブルと、前記表示制御手段が前記ユーザから受け付けたテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、
学習手段は、
学習データが追加された場合に、既存の学習データおよび追加された学習データを用いて、モデルを学習し直す
請求項３に記載のテーブル意味推定システム。
【請求項５】
テーブルの入力を受け付ける入力受付手段と、
前記テーブルにおけるカラムの意味に応じた属性値の分布と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定手段とを備え、
前記モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて学習された、前記テーブルにおけるカラムの意味に応じた属性値の分布と前記テーブルの意味との間の規則性を示すモデルである
ことを特徴とするテーブル意味推定システム。
【請求項６】
入力されるテーブルのカラムの属性値から、前記カラムの意味を推定するカラム意味推定手段を備え、
推定手段は、推定されたカラムの意味に応じた属性値の分布と、モデルとに基づいて、前記テーブルの意味を推定する
請求項５に記載のテーブル意味推定システム。
【請求項７】
カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて、前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記テーブルの意味との間の規則性を示すモデルを学習する学習手段と、
入力されるテーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記モデルとに基づいて、前記テーブルの意味を推定する推定手段とを備える
ことを特徴とするテーブル意味推定システム。
【請求項８】
入力されるテーブルのカラムの属性値から、前記カラムの意味を推定するカラム意味推定手段を備え、
推定手段は、推定されたカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と、モデルとに基づいて、前記テーブルの意味を推定する
請求項７に記載のテーブル意味推定システム。
【請求項９】
推定されたテーブルの意味を表示し、当該テーブルの意味が適切か否かに関する入力をユーザから受け付ける表示制御手段と、
前記ユーザからの入力に応じて、学習データを追加する学習データ追加手段とを備える
請求項７または請求項８に記載のテーブル意味推定システム。
【請求項１０】
表示制御手段は、
表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、前記テーブルの意味および前記テーブルに関する参照関係の入力を前記ユーザから受け付け、
学習データ追加手段は、
表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、前記テーブルと、前記表示制御手段が前記ユーザから受け付けたテーブルの意味との組み合わせ、および、前記テーブルに関する参照関係を学習データとして、既存の学習データに追加し、
学習手段は、
学習データが追加された場合に、既存の学習データおよび追加された学習データを用いて、モデルを学習し直す
請求項９に記載のテーブル意味推定システム。
【請求項１１】
テーブルの入力を受け付ける入力受付手段と、
前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定手段とを備え、
前記モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて学習された、前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記テーブルの意味との間の規則性を示すモデルである
ことを特徴とするテーブル意味推定システム。
【請求項１２】
入力されるテーブルのカラムの属性値から、前記カラムの意味を推定するカラム意味推定手段を備え、
推定手段は、推定されたカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と、モデルとに基づいて、前記テーブルの意味を推定する
請求項１１に記載のテーブル意味推定システム。
【請求項１３】
カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて、前記テーブルにおけるカラムの意味に応じた属性値の分布と前記テーブルの意味との間の規則性を示すモデルを学習し、
入力されるテーブルにおけるカラムの意味に応じた属性値の分布と前記モデルとに基づいて、前記テーブルの意味を推定する
ことを特徴とするテーブル意味推定方法。
【請求項１４】
テーブルの入力を受け付け、
前記テーブルにおけるカラムの意味に応じた属性値の分布と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定し、
前記モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて学習された、前記テーブルにおけるカラムの意味に応じた属性値の分布と前記テーブルの意味との間の規則性を示すモデルである
ことを特徴とするテーブル意味推定方法。
【請求項１５】
カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて、前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記テーブルの意味との間の規則性を示すモデルを学習し、
入力されるテーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記モデルとに基づいて、前記テーブルの意味を推定する
ことを特徴とするテーブル意味推定方法。
【請求項１６】
テーブルの入力を受け付け、
前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定し、
前記モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて学習された、前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記テーブルの意味との間の規則性を示すモデルである
ことを特徴とするテーブル意味推定方法。
【請求項１７】
コンピュータに、
カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて、前記テーブルにおけるカラムの意味に応じた属性値の分布と前記テーブルの意味との間の規則性を示すモデルを学習する学習処理、および、
入力されるテーブルにおけるカラムの意味に応じた属性値の分布と前記モデルとに基づいて、前記テーブルの意味を推定する推定処理
を実行させるためのテーブル意味推定プログラム。
【請求項１８】
コンピュータに、
テーブルの入力を受け付ける入力受付処理、および、
前記テーブルにおけるカラムの意味に応じた属性値の分布と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定処理を実行させ、
前記モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて学習された、前記テーブルにおけるカラムの意味に応じた属性値の分布と前記テーブルの意味との間の規則性を示すモデルである
ことを特徴とするテーブル意味推定プログラム。
【請求項１９】
コンピュータに、
カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて、前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記テーブルの意味との間の規則性を示すモデルを学習する学習処理、および、
入力されるテーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記モデルとに基づいて、前記テーブルの意味を推定する推定処理
を実行させるためのテーブル意味推定プログラム。
【請求項２０】
コンピュータに、
テーブルの入力を受け付ける入力受付処理、および、
前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定処理を実行させ、
前記モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて学習された、前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記テーブルの意味との間の規則性を示すモデルである
ことを特徴とするテーブル意味推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テーブルの意味を推定するテーブル意味推定システム、テーブル意味推定方法およびテーブル意味推定プログラムに関する。
【背景技術】
【０００２】
非特許文献１には、知識データベースに格納されているオントロジを用いて、テーブルのカラム名を自動推定する技術が記載されている。また、非特許文献１には、カラム名の中の１つを、テーブル名として流用することが記載されている。【０００３】
また、非特許文献２には、能動学習について記載されている。【０００４】
特許文献１には、テーブルの命名規則が、キャッシュサーバとアプリケーションサーバとで共通に用いられることが記載されている。【０００５】
特許文献２には、カラム名構成単語の分類に最適なベクトルを教師あり学習により生成することが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−４８７４１号公報
【特許文献２】特開２０１３−１２０５３４号公報
【非特許文献】
【０００７】
【非特許文献１】Petros Venetis，外７名，“Recovering Semantics of Tables on the Web”，［２０１６年７月２０日検索］、インターネット<URL: http://www.vldb.org/pvldb/vol4/p528-venetis.pdf>
【非特許文献２】Burr Settles, “Active Learning Literature Survey”, University of Wisconsin Madison Technical Report #1648, January, 2009
【発明の概要】
【発明が解決しようとする課題】
【０００８】
カラム名とは、実際にテーブル内のカラムに付与されている名称である。一般に、カラム名は、人間によって決定されるので、カラム名には表記ゆれが生じる。例えば、人物の性別を属性値とするカラムのカラム名として、「種別」、「男女」等の種々のカラム名が付与され得る。ここで、そのカラムが表わしている概念を、カラム名とは区別して、「カラムの意味」と記す。上記の例では、「性別」がカラムの意味に該当する。【０００９】
同様に、テーブルが表わしている概念を、「テーブルの意味」と記す。テーブルにテーブル名が付与されている場合や、テーブル名が付与されていない場合がある。ここで、テーブルにテーブル名が付与されている場合であっても、そのテーブル名が、テーブルの概念として適切であるとは限らない。例えば、非特許文献１に記載されているように、カラム名の中の１つをテーブル名として流用することでテーブル名を定めたとしても、そのテーブル名が、テーブルの概念を表しているとは限らない。そこで、テーブルが表わしている概念を、テーブル名と区別して、テーブルの意味と記す。【００１０】
なお、非特許文献１に記載の技術では、オントロジを用いてカラムの意味を推定しているということができる。【００１１】
自動分析を行うために典型的分析パターンが利用されることがある。例えば、誰がどのような購買行動をしたか等を分析するための典型的分析パターンがある。しかし、そのような分析で用いられるテーブルの意味の把握は、人手で行われる。そのため、分析で用いられるテーブルの意味の把握に時間がかかってしまうという問題がある。【００１２】
また、データベースの移行作業（マイグレーション）が行われる場合がある。このとき、移行前のデータベース作業者とは異なる作業者が、移行後のテーブルを利用する場合がある。その作業者は、移行後のテーブルの意味の把握に時間がかかってしまうために、移行後のデータベースを円滑に利用できない。【００１３】
そこで、本発明は、テーブルの意味を推定することができるテーブル意味推定システム、テーブル意味推定方法およびテーブル意味推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明によるテーブル意味推定システムは、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて、テーブルにおけるカラムの意味に応じた属性値の分布とテーブルの意味との間の規則性を示すモデルを学習する学習手段と、入力されるテーブルにおけるカラムの意味に応じた属性値の分布とモデルとに基づいて、テーブルの意味を推定する推定手段とを備えることを特徴とする。【００１５】
また、本発明によるテーブル意味推定システムは、テーブルの入力を受け付ける入力受付手段と、テーブルにおけるカラムの意味に応じた属性値の分布と、予め学習されているモデルとに基づいて、テーブルの意味を推定する推定手段とを備え、モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて学習された、テーブルにおけるカラムの意味に応じた属性値の分布とテーブルの意味との間の規則性を示すモデルであることを特徴とする。【００１６】
また、本発明によるテーブル意味推定システムは、カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて、テーブルにおけるカラムの意味に応じた属性値の分布およびテーブルに関する参照関係とテーブルの意味との間の規則性を示すモデルを学習する学習手段と、入力されるテーブルにおけるカラムの意味に応じた属性値の分布およびテーブルに関する参照関係とモデルとに基づいて、テーブルの意味を推定する推定手段とを備えることを特徴とする。【００１７】
また、本発明によるテーブル意味推定方法は、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて、テーブルにおけるカラムの意味に応じた属性値の分布とテーブルの意味との間の規則性を示すモデルを学習し、入力されるテーブルにおけるカラムの意味に応じた属性値の分布とモデルとに基づいて、テーブルの意味を推定することを特徴とする。【００１８】
また、本発明によるテーブル意味推定方法は、テーブルの入力を受け付け、テーブルにおけるカラムの意味に応じた属性値の分布と、予め学習されているモデルとに基づいて、テーブルの意味を推定し、モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて学習された、テーブルにおけるカラムの意味に応じた属性値の分布とテーブルの意味との間の規則性を示すモデルであることを特徴とする。【００１９】
また、本発明によるテーブル意味推定方法は、カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて、テーブルにおけるカラムの意味に応じた属性値の分布およびテーブルに関する参照関係とテーブルの意味との間の規則性を示すモデルを学習し、入力されるテーブルにおけるカラムの意味に応じた属性値の分布およびテーブルに関する参照関係とモデルとに基づいて、テーブルの意味を推定することを特徴とする。【００２０】
また、本発明によるテーブル意味推定方法は、テーブルの入力を受け付け、テーブルにおけるカラムの意味に応じた属性値の分布およびテーブルに関する参照関係と、予め学習されているモデルとに基づいて、テーブルの意味を推定し、モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて学習された、テーブルにおけるカラムの意味に応じた属性値の分布およびテーブルに関する参照関係とテーブルの意味との間の規則性を示すモデルであることを特徴とする。【００２１】
また、本発明によるテーブル意味推定プログラムは、コンピュータに、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて、テーブルにおけるカラムの意味に応じた属性値の分布とテーブルの意味との間の規則性を示すモデルを学習する学習処理、および、入力されるテーブルにおけるカラムの意味に応じた属性値の分布とモデルとに基づいて、テーブルの意味を推定する推定処理を実行させることを特徴とする。【００２２】
また、本発明によるテーブル意味推定プログラムは、コンピュータに、テーブルの入力を受け付ける入力受付処理、および、テーブルにおけるカラムの意味に応じた属性値の分布と、予め学習されているモデルとに基づいて、テーブルの意味を推定する推定処理を実行させ、モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて学習された、テーブルにおけるカラムの意味に応じた属性値の分布とテーブルの意味との間の規則性を示すモデルであることを特徴とする。【００２３】
また、本発明によるテーブル意味推定プログラムは、コンピュータに、カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて、テーブルにおけるカラムの意味に応じた属性値の分布およびテーブルに関する参照関係とテーブルの意味との間の規則性を示すモデルを学習する学習処理、および、入力されるテーブルにおけるカラムの意味に応じた属性値の分布およびテーブルに関する参照関係とモデルとに基づいて、テーブルの意味を推定する推定処理を実行させることを特徴とする。【００２４】
また、本発明によるテーブル意味推定プログラムは、コンピュータに、テーブルの入力を受け付ける入力受付処理、および、テーブルにおけるカラムの意味に応じた属性値の分布およびテーブルに関する参照関係と、予め学習されているモデルとに基づいて、テーブルの意味を推定する推定処理を実行させ、モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて学習された、テーブルにおけるカラムの意味に応じた属性値の分布およびテーブルに関する参照関係とテーブルの意味との間の規則性を示すモデルであることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、テーブルの意味を推定することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施形態のテーブル意味推定システムの構成例を示すブロック図である。
【図２】各カラム名がそれぞれカラムの意味に置き換えられたテーブルと、そのテーブルの意味との組み合わせの例を示す模式図である。
【図３】テーブル意味モデルの例を示す説明図である。
【図４】テーブルの意味の推定結果等の表示画面の例を示す模式図である。
【図５】適切なテーブルの意味の入力を促す画面の例を示す模式図である。
【図６】意味の推定対象となるテーブルが入力された場合の処理経過の例を示すフローチャートである。
【図７】意味の推定対象となるテーブルが入力された場合の処理経過の例を示すフローチャートである。
【図８】テーブル意味推定システムがテーブル意味モデルの生成を行わない場合の構成例を示すブロック図である。
【図９】テーブル作成時に付与されたカラム名をそのまま含むテーブルがデータ入力部に入力される場合の構成例を示すブロック図である。
【図１０】属性値のデータ型が文字列型である場合の関係性情報の例を示す模式図である。
【図１１】属性値のデータ型が数値型である場合の関係性情報の例を示す模式図である。
【図１２】第２の実施形態におけるテーブル意味モデルの例を示す説明図である。
【図１３】テーブルと、そのテーブルの意味等との組み合わせの例を示す説明図である。
【図１４】テーブル意味推定システムが学習データを記憶する際の処理経過の例を示すフローチャートである。
【図１５】ステップＳ２２で表示される画面の例を示す説明図である。
【図１６】ステップＳ２３で表示される画面の例を示す説明図である。
【図１７】ステップＳ２４で表示される画面の例を示す説明図である。
【図１８】意味の推定対象となるテーブルが入力された場合の処理経過の例を示すフローチャートである。
【図１９】意味の推定対象となるテーブルが入力された場合の処理経過の例を示すフローチャートである。
【図２０】本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。
【図２１】本発明の概要を示すブロック図である。
【図２２】本発明の概要の他の例を示すブロック図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態を図面を参照して説明する。
【００２８】
本発明では、テーブルの意味の集合（以下、テーブル意味集合と記す。）が用意される。テーブル意味集合に属するテーブルの意味の個数は有限個である。そして、本発明は、意味の推定対象となるテーブルに関して、テーブル意味集合からテーブルの意味を選択することによって、テーブルの意味を推定する。
【００２９】
実施形態１．
図１は、本発明の第１の実施形態のテーブル意味推定システムの構成例を示すブロック図である。テーブル意味推定システム１は、データ入力部２と、学習データ記憶部３と、テーブル意味モデル生成部４と、テーブル意味モデル記憶部５と、テーブル意味推定部６と、表示制御部７と、学習データ追加部８とを備える。
【００３０】
データ入力部２は、データが入力される入力デバイスである。データ入力部２には、意味の推定対象となるテーブルが入力される。以下、各カラム名がそれぞれカラムの意味に置き換えられたテーブルがデータ入力部２に入力されるものとして説明する。この場合、データ入力部２に入力されるテーブルには、前処理として、各カラム名をそれぞれカラムの意味に置き換える処理が行われる。各カラムの意味を特定する方法は、例えば、非特許文献１に記載された方法を用いればよく、あるいは、他の方法であってもよい。例えば、入力されるテーブルの各カラムの意味を非特許文献１に記載された方法で推定し、各カラム名をそれぞれ推定した各カラムの意味に置き換える前処理を、テーブル意味推定システム１の外部システム（図示略）が実行する。カラム名をカラムの意味に置き換えることで、カラム名の表記ゆれは排除される。データ入力部２には、その前処理後のテーブルが入力される。
【００３１】
ここで、カラムの意味の集合は予め定められているものとする。また、カラムの意味の集合に属するカラムの意味の個数は有限個であるものとする。例えば、上記の外部システムは、その集合からカラムの意味を選択することによって、カラムの意味を推定するものとする。
【００３２】
学習データ記憶部３は、学習データを記憶する記憶装置である。本実施形態では、学習データ記憶部３は、テーブルにおけるカラムの意味に応じた属性値の分布からテーブルの意味を推定するための推定モデルの学習に用いられる学習データを記憶する。学習データは、テーブルとそのテーブルの意味とを含む。以下に示す例では、各カラム名がそれぞれカラムの意味に置き換えられたテーブルと、そのテーブルの意味との組み合わせの集合が、学習データ記憶部３に記憶されるものとする。例えば、上記の外部システムが、テーブルの意味が既知となっているテーブル毎に、テーブルの各カラムの意味を非特許文献１に記載された方法で推定し、各カラム名をそれぞれ推定した各カラムの意味に置き換える処理を行えばよい。例えば、元々、テーブルに４つのカラムが存在し、それらのカラムにそぞれ、“Familyname”，“Age group”，“Class”，“Customer_job”というカラム名が付与されているとする。また、それらのカラムの意味の推定結果がそれぞれ、“name”，“age”，“sex”，“job” であるとする。この場合、“Familyname”，“Age group”，“Class”，“Customer_job”というカラム名がそれぞれ、“name”，“age”，“sex”，“job” というカラムの意味に置き換えられる。そして、そのような処理が実行されたテーブルと、そのテーブルの意味との組み合わせの集合を、学習データとして学習データ記憶部３に記憶させておけばよい。既に説明したように、カラムの意味の集合は予め定められていて、その集合に属するカラムの意味の個数は有限個であるものとする。
【００３３】
図２は、各カラム名がそれぞれカラムの意味に置き換えられたテーブルと、そのテーブルの意味との組み合わせの例を示す模式図である。図２に例示する“name”，“age”，“sex”，“job” はそれぞれ、カラムの意味である。また、図２に例示するテーブルの意味が“Customer”であるということは既知であるものとする。学習データ記憶部３は、図２に例示したようなテーブルとそのテーブルの意味との組み合わせの集合を記憶する。
【００３４】
以下の説明において、テーブルの意味を推定するための推定モデルをテーブル意味モデルと記す。
【００３５】
テーブル意味モデル生成部４は、学習データに基づいて、テーブル意味モデルを生成する。換言すれば、テーブル意味モデル生成部４は、学習データを用いて、機械学習によって、テーブル意味モデルを学習する。本実施形態では、テーブル意味モデル生成部４は、テーブルにおけるカラムの意味に応じた属性値の分布からテーブルの意味を推定するためのテーブル意味モデルを生成する。このテーブル意味モデルは、テーブルにおけるカラムの意味に応じた属性値の分布と、テーブルの意味との間の規則性を示すモデルであるということができる。
【００３６】
ここで、カラムの意味に応じて、カラムの属性値のデータ型は決定されているものとする。具体的には、カラムの意味に応じて、カラムの属性値のデータ型が数値型であるのか文字列型であるのかが決定されているものとする。例えば、“name”という意味を有するカラムの属性値は文字列型であると決定されているものとする。また、例えば、“age” という意味を有するカラムの属性値は数値型であると決定されているものとする。
【００３７】
図３は、テーブル意味モデル生成部４によって生成されるテーブル意味モデルの例を示す説明図である。図３に示すＷ，ｘはいずれも列ベクトルであるが、適宜、Ｗ，ｘを行ベクトルの転置行列として示す。以下の説明において、“Ｔ”は、転置行列を意味する。
【００３８】
カラムの意味の集合に属しているカラムの意味の個数をｎとする。図３に示すｘは、カラムの意味に対応する説明変数を要素として持つ。ここで、１つのカラムの意味に対して、複数の説明変数が対応する。
【００３９】
図３において、ｘの各要素に付した１番目の添え字は、カラムの意味の集合に属しているカラムの意味の識別番号を意味している。例えば、“age” というカラムの意味の識別番号が１であるとする。この場合、図３に示すμ１，σ１，ｍ１は、“age” というカラムの意味に対応する説明変数である。また、例えば、“job” というカラムの意味の識別番号が２であるとする。この場合、図３に示すｘ２＿１，ｘ２＿２，・・・ｘ２＿ｔ，ｘ２＿ｐ１，ｘ２＿ｐ２，・・・，ｘ２＿ｐｑは、“job” というカラムの意味に対応する説明変数である。
【００４０】
属性値のデータ型が数値型であるカラムの意味には、μｒ，σｒ，ｍｒという３つの説明変数が対応する。なお、ここでは、そのカラムの意味の識別番号がｒであるものして説明する。μｒは、属性値のデータ型が数値型であるカラムにおける属性値の平均値を表す説明変数である。σｉは、そのカラムにおける属性値の分散を表す説明変数である。ｍｉは、そのカラムにおける属性値の高次モーメントを表す説明変数である。
【００４１】
属性値のデータ型が文字列型であるカラムの意味には、ｘｓ＿１，ｘｓ＿２，・・・ｘｓ＿ｔという説明変数、および、ｘｓ＿ｐ１，ｘｓ＿ｐ２，・・・，ｘｓ＿ｐｑという説明変数が対応する。なお、ここでは、そのカラムの意味の識別番号がｓであるものとして説明する。ｘｓ＿１，ｘｓ＿２，・・・ｘｓ＿ｔにおける２番目の添え字１〜ｔは、学習データ内で、識別番号がｓであるカラムの意味を有するカラムに格納されている属性値に対応する。例えば、“job” というカラムの意味の識別番号がｓであり、そのカラムの意味を有するテーブルが学習データ内に存在しているとする。そのようなテーブルが複数存在していてもよい。そして、カラムの意味“job” を有するカラムに格納されている属性値の種類がｔ種類であり、その属性値に１〜ｔの識別番号を割り当てたとする。ｘｓ＿１〜ｘｓ＿ｔのうち、識別番号ｕの属性値に対応する説明変数をｘｓ＿ｕと記す。ｘｓ＿ｕは、着目しているテーブルで“job”というカラムの意味を有するカラムに存在しているその属性値の個数を表す説明変数である。例えば、カラムの意味“job” を有するカラムに属性値“Reseacher” が存在し、その属性値の識別番号が１であるとする。この場合、ｘｓ＿１は、着目しているテーブルで“job”というカラムの意味を有するカラムに存在している“Reseacher”の個数を表す。ｘｓ＿２〜ｘｓ＿ｔに関しても同様である。
【００４２】
ｘｓ＿ｐ１，ｘｓ＿ｐ２，・・・，ｘｓ＿ｐｑにおける２番目の添え字ｐ１〜ｐｑは、それぞれ所定の文字列に対応する。また、着目しているテーブルで識別番号ｓに対応するカラムに存在する各属性値をそれぞれ、所定の方法で区切るものとする。本実施形態および後述の第２の実施形態では、各属性値を区切る方法として、２文字ずつ区切る方法を採用する場合を例にして説明する。上記の添え字ｐ１〜ｐｑは、それぞれ“aa”，“ab”，“ac”，・・・，“zz”という２つのアルファベットからなる文字列に対応しているものとする。ここで、２つの文字の順番が異なれば、異なる文字列として扱う。例えば、“ab”と“ba”とを異なる文字列として扱う。また、文字列は、同じ文字が２つ続いた文字列（例えば“aa”）であってもよい。また、ここでは、大文字と小文字とを区別しないものとする。ｘｓ＿ｐ１，ｘｓ＿ｐ２，・・・，ｘｓ＿ｐｑは、着目しているテーブルで識別番号ｓに対応するカラムに存在する各属性値を２文字ずつ区切った場合に得られる２文字の文字列の数を表す変数である。
【００４３】
ｘｓ＿１，ｘｓ＿２，・・・ｘｓ＿ｔに相当する説明変数は、文字列型の各属性値の個数を表す説明変数である。また、これらの説明変数を、文字列型属性値の第１説明変数と記す場合がある。ｘｓ＿ｐ１，ｘｓ＿ｐ２，・・・，ｘｓ＿ｐｑに相当する説明変数は、文字列型属性値を区切った場合に得られる個々の文字列の個数を表す説明変数である。また、これらの説明変数を、文字列型属性値の第２説明変数と記す場合がある。
【００４４】
上記の例では、文字列型属性値の第１説明変数を規定するための属性値は、カラムの意味毎に学習データから定められる。そして、カラムの意味毎に、その属性値に対応する文字列型属性値の第１説明変数が定められる。また、カラムの意味毎に、予め、文字列型属性値の第１説明変数を規定するための属性値が複数個定められてもよい。そして、カラムの意味毎に、その属性値に対応する文字列型属性値の第１説明変数が定められてもよい。
【００４５】
文字列型属性値の第２説明変数の数は、カラムの意味（属性値のデータ型が文字列型であるカラムの意味）毎に共通である。文字列型属性値の第２説明変数が、“aa”〜“zz”に対応しているとすると、ｘｓ＿ｐ１〜ｘｓ＿ｐｑの個数は、２６×２６＝６７６個である。
【００４６】
ｘの各要素は、テーブルにおけるカラムの意味に応じた属性値の分布を表す説明変数であると言うことができる。
【００４７】
１つのテーブルに着目することによって、図３に例示するｘの要素となっている各説明変数の値を定めることができる。換言すれば、テーブル毎に、ｘの要素の値を定めることができる。各説明変数の値が定められたベクトルｘをテーブル特徴と記す。
【００４８】
また、テーブル意味モデルには、テーブル意味集合も含まれる。図３では、テーブル意味集合の例として、｛Customer，Item，Purchasing Log，・・・｝という集合を例示している。テーブル意味集合に属しているテーブルの意味の個数をｋ個とする。
【００４９】
図３に示すＷは、テーブル意味集合に属しているテーブルの意味毎に定められる。識別番号ｊのテーブルの意味に対応するＷを、Ｗｊと記す。テーブルの意味の個数はｋ個であるのでは、ベクトルＷは、ｋ個定められることになる。また、Ｗの要素数は、ｘの要素数と等しい。Ｗの任意のａ番目の要素は、ｘのａ番目の要素に対応している。例えば、図３に示す例において、Ｗの１番目の要素ｗ１＿μは、ｘの１番目の要素μ１に対応している。
【００５０】
また、図３に示すｆ（ｘ）は、テーブルが与えられ、テーブル意味集合からテーブルの意味を１つ選択した場合に、選択したテーブルの意味が、与えられたテーブルの意味に該当する確度を意味している。
【００５１】
テーブル意味モデル生成部４は、有限個のカラムの意味に基づいて、ベクトルｘの要素となる説明変数を決定する。
【００５２】
このとき、テーブル意味モデル生成部４は、属性値のデータ型が数値型であるカラムの意味毎に、３つの説明変数（属性値の平均値を表す説明変数、属性値の分散を表す説明変数、属性値の高次モーメントを表す説明変数）を定め、ｘの要素として定める。
【００５３】
また、テーブル意味モデル生成部４は、属性値のデータ型が文字列型であるカラムの意味毎に、上記のｘｓ＿１，ｘｓ＿２，・・・ｘｓ＿ｔに相当する説明変数（文字列型属性値の第１説明変数）およびｘｓ＿ｐ１，ｘｓ＿ｐ２，・・・，ｘｓ＿ｐｑに相当する説明変数（文字列型属性値の第２説明変数）を定め、ｘの要素として定める。
【００５４】
ここで、上記のｘｓ＿１，ｘｓ＿２，・・・ｘｓ＿ｔに相当する説明変数の個数は、学習データにおいて、着目しているカラムの意味を有するカラム内に格納されている属性値の種類の数に合わせればよい。そして、上記のｘｓ＿１〜ｘｓ＿ｔに相当する説明変数を、それぞれ、着目しているテーブル内でその意味を有するカラムにおいて、対応する属性値が格納されている個数を表す変数として規定すればよい。すなわち、テーブル意味モデル生成部４は、属性値のデータ型が文字列型であるカラムの意味毎に、学習データに基づいて、文字列型属性値の第１説明変数を規定するための属性値を定め、その属性値に対応する文字列型属性値の第１説明変数を規定すればよい。また、前述のように、属性値のデータ型が文字列型であるカラムの意味毎に、予め、文字列型属性値の第１説明変数を規定するための属性値が複数個定められてもよい。テーブル意味モデル生成部４は、属性値のデータ型が文字列型であるカラムの意味毎に、その属性値に対応する文字列型属性値の第１説明変数を規定してもよい。
【００５５】
また、ｘｓ＿ｐ１，ｘｓ＿ｐ２，・・・，ｘｓ＿ｐｑは、着目しているテーブル内でその意味を有するカラムに格納されている各属性値を所定の方法で区切った場合に得られる各文字列の数を表す変数として規定すればよい。テーブル意味モデル生成部４は、属性値のデータ型が文字列型であるカラムの意味毎に、文字列型属性値の第２説明変数を、所定数（例えば、２６×２６＝６７６個）規定すればよい。
【００５６】
テーブル意味モデル生成部４は、ベクトルｘの要素となる説明変数を決定した後、学習データに含まれているテーブル毎に、テーブル特徴を定める。このとき、テーブル意味モデル生成部４は、着目しているテーブルに含まれているカラムの意味、および、そのカラムの意味に対応するカラムに格納されている属性値に基づいて、そのカラムに意味に対応する説明変数の値を定めればよい。例えば、着目しているテーブルに含まれているカラムの意味のうちの１つに着目したとする。そのカラムの意味に対応するカラムに格納される属性値のデータ型が数値型であれば、テーブル意味モデル生成部４は、そのカラムの意味に対応する説明変数の値として、その属性値の平均値、分散、および高次モーメントを定めればよい。また、着目しているカラムの意味に対応するカラムに格納されている属性値のデータ型が文字列型であれば、テーブル意味モデル生成部４は、格納されている各属性値の個数や、格納されている各属性値を区切った場合に得られる各文字列の個数を、そのカラムの意味に対応する各説明変数の値として定めればよい。また、テーブル意味モデル生成部４は、着目しているテーブルに含まれていないカラムの意味に対応する各説明変数に対しては値を０に定めればよい。
【００５７】
さらに、テーブル意味モデル生成部４は、各テーブル特徴と学習データに含まれている各テーブルの意味との対応関係に基づいて、テーブル意味集合および、テーブル意味集合に属するテーブルの意味毎のＷを定めることで、テーブル意味モデルを生成する。
【００５８】
各テーブル特徴と各テーブルの意味との対応関係に基づいて、テーブル意味モデルを生成する際の、機械学習の方法は特に限定されない。この点は、後述の実施形態でも同様である。
【００５９】
生成されたテーブル意味モデルにおいて、ｘの要素は変数で表される。一方、テーブルの意味毎に定められるＷの要素は、具体的な値である。
【００６０】
テーブル意味モデル記憶部５は、テーブル意味モデル生成部４によって生成されたテーブル意味モデルを記憶する記憶装置である。テーブル意味モデル生成部４は、テーブル意味モデルを生成すると、そのテーブル意味モデルをテーブル意味モデル記憶部５に記憶させる。
【００６１】
テーブル意味推定部６は、テーブル意味モデル記憶部５に記憶されているテーブル意味モデルに基づいて、データ入力部２に入力されたテーブルの意味を推定する。
【００６２】
まず、テーブル意味推定部６は、入力されたテーブルのテーブル特徴を定める。このとき、テーブル意味推定部６は、入力されたテーブルに含まれているカラムの意味、および、そのカラムの意味に対応するカラムに格納されている属性値に基づいて、そのカラムに意味に対応する説明変数の値を定めればよい。例えば、入力されたテーブルに含まれているカラムの意味のうちの１つに着目したとする。そのカラムの意味に対応するカラムに格納される属性値のデータ型が数値型であれば、テーブル意味推定部６は、そのカラムの意味に対応する説明変数の値として、その属性値の平均値、分散、および高次モーメントを定めればよい。また、着目しているカラムの意味に対応するカラムに格納されている属性値のデータ型が文字列型であれば、テーブル意味推定部６は、格納されている各属性値の個数や、格納されている各属性値を区切った場合に得られる各文字列の個数を、そのカラムの意味に対応する各説明変数の値として定めればよい。また、テーブル意味推定部６は、入力されたテーブル内に含まれていないカラムの意味に対応する各説明変数に対しては値を０に定めればよい。
【００６３】
そして、テーブル意味推定部６は、テーブル意味集合からテーブルの意味を１つずつ順に選択し、選択したテーブルの意味に対応するＷと、テーブル特徴とを用いて、確度ｆ（ｘ）を計算する。すなわち、テーブル特徴をｘｄａｔａとすると、テーブル意味推定部６は、ＷＴｘｄａｔａを計算することによって、確度ｆ（ｘ）を求める。テーブル意味推定部６は、確度が最も高いテーブルの意味を、入力されたテーブルの意味の推定結果として定める。
【００６４】
なお、本実施形態では、テーブル意味モデルが図３に例示するように表され、テーブル意味推定部６が、上記の演算によって、入力されたテーブルの意味を推定する場合を例にして説明する。ただし、テーブル意味モデルの態様は図３に示す態様に限定されない。また、テーブル意味推定部６は、テーブル意味モデルの態様に応じた演算で、入力されたテーブルの意味を推定すればよい。
【００６５】
表示制御部７は、テーブル意味推定システム１が備えるディスプレイ装置（図１において図示略）上に、情報やＧＵＩ（Graphical User Interface）を表示する。
【００６６】
テーブル意味推定部６が入力されたテーブルの意味の推定結果を求めると、表示制御部７は、ディスプレイ装置上に、入力されたテーブルおよびその推定結果を表示する。図４は、入力されたテーブルおよびその推定結果の表示画面の例を示す模式図である。図４に示す例では、テーブル意味推定部６が、入力されたテーブルを画面中央付近に表示する場合を示している。また、図４では、「下記テーブルは、“Customer”ですか？」という文章を表示することによって、テーブルの意味の推定結果に該当する“Customer”を表示する場合を例示している。
【００６７】
表示制御部７は、表示したテーブルの意味の推定結果が適切か否かをユーザが入力するためのＧＵＩとして、ボタン５１，５２も表示する。ボタン５１がクリックされたということは、表示したテーブルの意味が適切である旨がユーザによって入力されたことを意味する。一方、ボタン５２がクリックされたということは、表示したテーブルの意味が適切でない旨がユーザによって入力されたことを意味する。
【００６８】
ボタン５２がクリックされた場合（すなわち、表示したテーブルの意味が適切でない旨の入力を受け付けた場合）、表示制御部７は、データ入力部２に入力されたテーブルの意味として適切な意味の入力を促す画面をディスプレイ装置上に表示する。図５は、この画面の例を示す模式図である。表示制御部７は、データ入力部２に入力されたテーブルを表示するとともに、そのテーブルの意味を入力するためのＧＵＩとして、入力欄５３および確認ボタン５４を表示する。ユーザは、表示されているテーブル（すなわち、データ入力部２に入力されたテーブル）の意味として適切な意味を、入力欄５３に入力する。図５では、テーブルの意味として“Patient” という意味が入力された場合を例示している。ユーザが入力欄５３にテーブルの意味を入力し、確認ボタン５４をクリックすると、表示制御部７は、入力欄５３を介して、テーブルの意味の入力を受け付ける。
【００６９】
学習データ追加部８は、ユーザからの入力に応じて、既存の学習データ（すなわち、既に学習データ記憶部３に記憶されている学習データ）に、学習データを追加する。
【００７０】
具体的には、学習データ追加部８は、図４に例示する画面に表示したテーブルの意味が適切である旨が入力された場合、表示制御部７が表示したテーブルおよびそのテーブルの意味（図４に示す例では“Customer”）の組み合わせを学習データとして、既存の学習データに追加する。
【００７１】
また、学習データ追加部８は、図４に例示する画面に表示したテーブルの意味が適切でない旨が入力された場合、表示制御部７が表示したテーブルと、表示制御部７がユーザから受け付けたテーブルの意味（図５に示す例では“Patient”）との組み合わせを学習データとして、既存の学習データに追加する。
【００７２】
学習データ追加部８によって学習データ記憶部３に学習データが追加された場合、テーブル意味モデル生成部４は、テーブル意味モデルの生成をやり直す。
【００７３】
テーブル意味モデル生成部４、テーブル意味推定部６、表示制御部７および学習データ追加部８は、例えば、テーブル意味推定プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、ＣＰＵは、例えば、コンピュータのプログラム記憶装置（図１において図示略）等のプログラム記録媒体からテーブル意味推定プログラムを読み込み、そのプログラムに従って、テーブル意味モデル生成部４、テーブル意味推定部６、表示制御部７および学習データ追加部８として動作すればよい。また、テーブル意味モデル生成部４、テーブル意味推定部６、表示制御部７および学習データ追加部８が別々のハードウェアによって実現されていてもよい。これらの点は、後述の他の実施形態でも同様である。
【００７４】
また、テーブル意味推定システム１は、２つ以上の物理的に分離した装置が有線または無線で接続される構成であってもよい。この点は、後述の他の実施形態でも同様である。
【００７５】
以下、本発明の第１の実施形態の処理経過について説明する。
【００７６】
テーブル意味推定システム１は、意味の推定対象のテーブルの入力を受け付ける前に、事前に、テーブル意味モデルを生成する。なお、学習データ記憶部３には、各カラム名がそれぞれカラムの意味に置き換えられたテーブルと、そのテーブルの意味との組み合わせの集合が、学習データとして記憶されているものとする。
【００７７】
テーブル意味モデル生成部４は、その学習データを、学習データ記憶部３から読み込む。
【００７８】
次に、テーブル意味モデル生成部４は、その学習データに基づいて、テーブル意味モデル生成する。このとき、まず、テーブル意味モデル生成部４は、カラムの意味の集合に属する有限個のカラムの意味に基づいて、ベクトルｘの要素となる説明変数を決定する。この動作については、既に説明したので、ここでは、説明を省略する。
【００７９】
テーブル意味モデル生成部４は、ベクトルｘの要素となる説明変数を決定した後、学習データに含まれているテーブル毎に、テーブル特徴を定める。例えば、図２に示すテーブルのテーブル特徴を定める場合を例にして説明する。
【００８０】
例えば、図３に示すμ１，σ１，ｍ１は、“age” に対応する。テーブル意味モデル生成部４は、図２に示す“age” のカラムの属性値の平均値、分散および高次モーメントを計算し、その計算結果をそれぞれ、μ１，σ１，ｍ１の値とする。
【００８１】
また、例えば、図３に示すｘ２＿１，ｘ２＿２，・・・ｘ２＿ｔ，ｘ２＿ｐ１，ｘ２＿ｐ２，・・・，ｘ２＿ｐｑは、“job” に対応する。ｘ２＿１は、属性値“Engineer”に対応する説明変数であるとする。テーブル意味モデル生成部４は、図２に示す“job” のカラムに格納された“Engineer”の個数をカウントし、そのカウント結果をｘ２＿１の値とする。テーブル意味モデル生成部４は、ｘ２＿２，・・・ｘ２＿ｔの値も同様に定める。また、テーブル意味モデル生成部４は、図２に示す“job” のカラムに格納された“Engineer”等の全ての属性値を２文字ずつ区切る。この結果、“En”，“gi”，“ne”，“er”，“Sa”，“le”，“sm”，“an”等の文字列が得られる。なお、属性値の文字数が奇数である場合、例えば、最後の１文字を無視してよい。テーブル意味モデル生成部４は、例えば、得られた“En”という文字列の個数をカウントし、そのカウント結果を、ｘ２＿ｐ１，ｘ２＿ｐ２，・・・，ｘ２＿ｐｑのうち、“En”に対応する説明変数の値とする。テーブル意味モデル生成部４は、同様に、他の文字列“gi”等に対応する説明変数の値も定める。また、テーブル意味モデル生成部４は、属性値を区切ったときにえられなかった文字列に対応する説明変数の値を０とする。
【００８２】
テーブル意味モデル生成部４は、図２に示すテーブルに含まれるカラムの意味毎に、カラムの意味に対応する説明変数の値を、そのテーブルの属性値に基づいて、定めればよい。また、テーブル意味モデル生成部４は、図２に示すテーブルに含まれていないカラムの意味に対応する各説明変数に対しては値を０に定めればよい。
【００８３】
この結果、図２に例示するテーブルのテーブル特徴と、“Customer”というテーブルの意味との組み合わせが定まる。
【００８４】
テーブル意味モデル生成部４は、学習データに含まれている他の各テーブルに関しても同様にテーブル特徴を定め、テーブル特徴とテーブルの意味との組み合わせを定める。
【００８５】
そして、テーブル意味モデル生成部４は、テーブル特徴とテーブルの意味との組み合わせの集合に基づいて、テーブル意味集合を定めるとともに、ｆ（ｘ）＝ＷＴｘという式におけるベクトルＷを、テーブル意味集合に属するテーブルの意味毎に定める。この結果、テーブル意味モデルが定まる。既に説明したように、テーブル意味モデルにおいて、ｘの要素は変数で表される。一方、テーブルの意味毎に定められるＷの要素は、具体的な値である。
【００８６】
テーブル意味モデル生成部４は、生成したテーブル意味モデルをテーブル意味モデル記憶部５に記憶させる。
【００８７】
次に、テーブル意味推定システム１に対して、意味の推定対象となるテーブルが入力された場合の処理経過を説明する。図６および図７は、意味の推定対象となるテーブルが入力された場合の処理経過の例を示すフローチャートである。
【００８８】
まず、データ入力部２にテーブルが入力される（ステップＳ１１）。ステップＳ１１では、各カラム名をそれぞれカラムの意味に置き換える処理が行われたテーブルが入力される。
【００８９】
次に、テーブル意味推定部６は、ステップＳ１１で入力されたテーブルの意味を、テーブル意味モデルに基づいて推定する（ステップＳ１２）。
【００９０】
ステップＳ１２において、テーブル意味推定部６は、テーブル意味モデル記憶部５からテーブル意味モデルを読み込む。
【００９１】
さらに、テーブル意味推定部６は、入力されたテーブルのテーブル特徴を定める。この動作は、テーブル意味モデル生成部４が、学習データ内の１つのテーブルのテーブル特徴を定める動作と同様である。
【００９２】
テーブル特徴は、テーブルにおけるカラムの意味に応じた属性値の分布を表しているということができる。入力されたテーブルに対して定められたテーブル特徴をｘｄａｔａとする。
【００９３】
そして、テーブル意味推定部６は、テーブル意味集合からテーブルの意味を１つずつ順に選択し、選択したテーブルの意味に対応するＷと、テーブル特徴とを用いて、確度ｆ（ｘ）を計算する。既に説明したように、ｊ番目のテーブルの意味に対応するＷを、Ｗｊと記す。テーブル意味推定部６は、図３に示す１番目のテーブルの意味“Customer”を選択した場合、“Customer”に対応するＷ１と、上記のテーブル特徴ｘｄａｔａとを用いて、“Customer”が、入力されたテーブルの意味である確度を、ｆ（ｘ）＝Ｗ１Ｔｘｄａｔａの計算によって求める。テーブル意味推定部６は、“Item”，“Purchasing Log”（図３参照）等の他のテーブルの意味に関してもそれぞれ、同様の演算を行い、選択したテーブルの意味が、入力されたテーブルの意味に該当する確度を求める。
【００９４】
そして、テーブル意味推定部６は、確度が最も高いテーブルの意味を、入力されたテーブルの意味の推定結果として定める。
【００９５】
以下の説明では、テーブル意味推定部６が上記の処理によって、入力されたテーブルの意味が“Customer”であると推定した場合を例にして説明する。
【００９６】
ステップＳ１２の処理が実行された後、表示制御部７は、ステップＳ１１で入力されたテーブルと、ステップＳ１２で推定されたテーブルの意味をディスプレイ装置上に表示し、そのテーブルの意味が適切か否かの入力をユーザに促す（ステップＳ１３）。ステップＳ１３では、表示制御部７は、例えば、図４に示す画面を表示する。図４に示す画面については、既に説明したので、ここでは適宜、説明を省略する。
【００９７】
図４に例示する画面で表示されているテーブルは、ステップＳ１１で入力されたテーブル（意味の推定対象であるテーブル）である。図４に例示する画面で表示されている“Customer”は、ステップＳ１２で推定されたテーブルの意味である。
【００９８】
ステップＳ１３で表示されたテーブルの意味“Customer”が、ステップＳ１３で表示されている画面内のテーブルの意味として適切であるとユーザが判断した場合、ユーザは、ボタン５１（図４参照）をクリックする。すなわち、表示制御部７は、表示したテーブルの意味が適切である旨の入力を受け付ける（ステップＳ１４のＹｅｓ）。
【００９９】
すると、学習データ追加部８は、表示制御部７がステップＳ１３で表示したテーブルと、そのテーブルの意味（推定されたテーブルの意味）との組み合わせを、既存の学習データに追加する（ステップＳ１５）。すなわち、学習データ追加部８は、テーブルと、推定されたテーブルの意味との組み合わせを、学習データ記憶部３に記憶されている学習データに追加する。ステップＳ１５の処理が実行された後、ステップＳ１８に移行する。
【０１００】
また、ステップＳ１３で表示されたテーブルの意味“Customer”が、ステップＳ１３で表示されている画面内のテーブルの意味として適切でないとユーザが判断した場合、ユーザは、ボタン５２（図４参照）をクリックする。表示制御部７は、表示したテーブルの意味が適切でない旨の入力を受け付ける（ステップＳ１４のＮｏ）。
【０１０１】
すると、表示制御部７は、ステップＳ１３で表示したテーブルの意味の入力をユーザから受け付ける（ステップＳ１６）。表示制御部７は、例えば、図５に示す画面を表示する。図５に示す画面については、既に説明したので、ここでは適宜、説明を省略する。表示制御部７は、ユーザから、例えば、入力欄５３（図５参照）を介して、テーブルの意味の入力を受け付ける。ここでは、ステップＳ１３で表示されたテーブルの意味として、“Patient”が適切であるとユーザが判断し、“Patient”が入力されたとする。
【０１０２】
次に、学習データ追加部８は、表示制御部７がステップＳ１３で表示したテーブルと、ステップＳ１６で入力されたテーブルの意味（本例では、“Patient” ）との組み合わせを、既存の学習データに追加する（ステップＳ１７）。すなわち、学習データ追加部８は、テーブルと、ユーザに入力されたテーブルの意味（本例では、“Patient” ）との組み合わせを、学習データ記憶部３に記憶されている学習データに追加する。ステップＳ１７の処理が実行された後、ステップＳ１８に移行する。
【０１０３】
ステップＳ１５，Ｓ１７の何れにおいても、学習データに新たな学習データが追加される。ステップＳ１５またはステップＳ１７からステップＳ１８に移行した場合、テーブル意味モデル生成部４は、その時点で学習データ記憶部３に記憶されている学習データに基づいて、テーブル意味モデルを生成する処理をやり直す（ステップＳ１８）。換言すれば、テーブル意味モデル生成部４は、既存の学習データおよび追加された学習データを用いて、テーブル意味モデルを学習し直す。
【０１０４】
本実施形態によれば、テーブル意味モデル生成部４が、テーブルにおけるカラムの意味に応じた属性値の分布からテーブルの意味を推定するための推定モデル（テーブル意味モデル）を生成する。そして、テーブル意味推定部６は、入力されたテーブルにおけるカラムの意味に応じた属性値の分布（具体的には、第１の実施形態におけるテーブル特徴）とテーブル意味モデルに基づいて、そのテーブルの意味を推定する。従って、本実施形態によれば、テーブルの意味を推定することができる。
【０１０５】
従って、例えば、典型的分析パターンを用いて自動分析を実施しようとする者は、その分析で用いるテーブルの意味を短時間で把握することができる。
【０１０６】
また、例えば、データベースの移行作業が行われ、移行前のデータベース作業者とは異なる作業者が、移行後のテーブルを利用する場合であっても、その作業者は、移行後のテーブルの意味を短時間で把握することができ、移行後のデータベースを円滑に利用することができる。
【０１０７】
また、第１の実施形態によれば、テーブル意味推定部６が推定したテーブルの意味が適切か否かをユーザが判断する。そして、そのテーブルの意味が適切であると判断された場合、学習データ追加部８は、ステップＳ１１で入力されたテーブルと、テーブル意味推定部６が推定したテーブルの意味との組み合わせを学習データに追加する。また、推定したテーブルの意味が適切でないと判断された場合、表示制御部７は、ステップＳ１１で入力されたテーブルの意味として適切な意味をユーザから入力され、学習データ追加部８は、ステップＳ１１で入力されたテーブルと、ユーザによって入力されたそのテーブルの意味との組み合わせを学習データに追加する。そして、テーブル意味モデル生成部４は、テーブル意味モデルを生成し直す。従って、テーブル意味モデルの精度を向上させることができる。特に、テーブル意味推定部６が推定したテーブルの意味が適切でないと判断された場合、ユーザが適切と判断したテーブルの意味が学習データに追加されるので、テーブル意味モデルの精度を向上させる効果が大きい。
【０１０８】
また、テーブル意味モデル生成部４は、逐次的にテーブル意味モデルを学習し、学習データ内の各テーブルについて、推定の確度を得る構成であってもよい。その際、テーブル意味モデル生成部４は、推定の確度の低いテーブルから順に学習処理をおこなってもよい。その場合、全てのテーブルから学習処理を行う前に、十分な推定精度を達成することができる。
【０１０９】
次に、第１の実施形態の変形例について説明する。第１の実施形態では、テーブル意味推定システム１がテーブル意味モデルの生成と、入力されたテーブルの意味の推定とを行う場合を示した。テーブル意味推定システム１とは異なる別のシステム（図示略。以下、学習システムと記す。）がテーブル意味モデルの生成を実行し、テーブル意味推定システム１がテーブル意味モデルの生成を行わない構成であってもよい。図８は、テーブル意味推定システム１がテーブル意味モデルの生成を行わない場合の構成例を示すブロック図である。この場合、学習データ記憶部３およびテーブル意味モデル生成部４（図１参照）は、学習システムに設けられる。学習システムに設けられる学習データ記憶部３およびテーブル意味モデル生成部４は、図１に示すそれらと同様である。テーブル意味推定システム１は、例えば、図８に示すように、データ入力部２と、テーブル意味モデル記憶部５と、テーブル意味推定部６と、表示制御部７とを備える。データ入力部２、テーブル意味モデル記憶部５およびテーブル意味推定部６は、図１に示すそれらと同様である。ただし、テーブル意味モデル記憶部５には、学習システムが生成したテーブル意味モデルが記憶される。学習システムがテーブル意味モデルを学習するので、図８に示すテーブル意味推定システム１は、テーブル意味モデルを学習しなくてよい。また、表示制御部７は、ステップＳ１２の処理が実行された後、ステップＳ１１で入力されたテーブル、および、ステップＳ１２で推定されたテーブルの意味を表示すればよい。このとき、表示制御部７は、ボタン５１，５２を表示しなくてよい。そして、テーブル意味推定システム１は、入力されたテーブル、および、推定したテーブルの意味を表示し、その時点で、処理を終了してよい。
【０１１０】
また、第１の実施形態では、データ入力部２に、各カラム名がそれぞれカラムの意味に置き換えられたテーブルが入力される場合を説明した。そのような置き換えが行われていないテーブルがデータ入力部２に入力される構成であってもよい。すなわち、テーブル作成時に付与されたカラム名をそのまま含むテーブルがデータ入力部２に入力される。図９は、テーブル作成時に付与されたカラム名をそのまま含むテーブルがデータ入力部２に入力される場合の構成例を示すブロック図である。図１に示す構成要素と同様の構成要素については、図１に示す符号と同一の符号を付し、適宜、説明を省略する。以下に説明する構成および動作は、図８に示す構成や、後述の第２の実施形態およびその変形例に適用してもよい。
【０１１１】
図９に示すテーブル意味推定システム１は、図１に示す各構成要素に加えて、カラム意味推定部９と、関係性情報記憶部１０とを備える。
【０１１２】
関係性情報記憶部１０は、関係性情報を記憶する記憶装置である。関係性情報とは、「カラムの意味」と「属性値」との関係を表すデータである。カラム意味推定部９は、入力されたテーブルの各カラムの意味を推定するときに、関係性情報を参照する。関係性情報記憶部１０には、例えば、予め定められた関係性情報が記憶される。
【０１１３】
図１０は、属性値のデータ型が文字列型である場合の関係性情報の例を示す模式図である。属性値のデータ型が文字列型である場合、個々の関係性情報は、“Ａ  ｉｓ  Ｂ”という形式で表されるものとする。具体的には、個々の関係性情報は、“カラムの意味  ｉｓ  属性値”という形式で表されるものとする。“カラムの意味  ｉｓ  属性値”は、そのカラムの意味と属性値とが対応付けられていることを意味する。例えば、図１０に示す“Name is Sato”は、“Sato”という属性値が“Name”というカラムの意味に対応していることを表している。また、例えば、“Job is Salesman” は、“Salesman”という属性値が“Job” というカラムの意味に対応していることを表している。
【０１１４】
また、図１１は、属性値のデータ型が数値型である場合の関係性情報の例を示す模式図である。属性値のデータ型が数値型である場合、個々の関係性情報は、カラムの意味と、属性値の平均値、属性値の分散、および、属性値の高次モーメントとの組み合わせで表される。この関係性情報は、カラムに格納されている属性値の平均値、分散、および高次モーメントがそれぞれ、関係性情報が示す平均値、分散、および高次モーメントを基準とする所定閾値範囲内の値であれば、そのカラムの意味は、関係性情報が示している意味であることを表している。所定閾値範囲は、個々の関係性情報の平均値、分散、高次モーメント毎に定めておけばよい。例えば、あるカラム（Ｃとする。）の属性値の平均値が“３１”であり、分散が“９”であり、高次モーメントが“１０２”であったとする。この平均値“３１”は、図１１に示す“３０”を基準とする所定閾値範囲内であるとする。同様に、分散“９”は、図１１に示す“１０”を基準とする所定閾値範囲内であり、高次モーメント“１０２”は、図１１に示す“１００”を基準とする所定閾値範囲内であるとする。図１１に例示する関係性情報に基づいて、上記のカラムＣの意味は、“age” であると推定される。
【０１１５】
関係性情報を用いることで、属性値が格納されているカラムの意味を推定することができる。
【０１１６】
カラム意味推定部９は、データ入力部２に入力されたテーブルのカラム毎に、カラムの意味を推定し、カラム名をカラムの意味に置き換える。
【０１１７】
カラム意味推定部９は、１つのカラムに対して、例えば、以下の処理を行うことによって、そのカラムの意味を推定する。
【０１１８】
まず、カラム意味推定部９は、そのカラムの属性値のデータ型が文字列型であるか、数値型であるかを判定する。
【０１１９】
カラムの属性値のデータ型が文字列型である場合、カラム意味推定部９は、カラム内の属性値毎に、対応する「カラムの意味」を、文字列型に関する関係性情報（例えば、図１０に示す関係性情報）を参照して特定する。このとき、１つのカラム内の全ての属性値が同一の「カラムの意味」に対応付けられているとは限らない。そのため、属性値毎にカラムの意味を特定した結果、カラムの意味が複数個得られてもよい。カラム意味推定部９は、特定したカラムの意味毎に、対応する属性値の数をカウントし、対応する属性値の数が最大となっているカラムの意味を、カラムの意味の推定結果とする。例えば、カラムに１００個の属性値が格納されていて、そのうち９５個の属性値が、“name”というカラムの意味に対応し、残りの５個の属性値が、“job” というカラムの意味に対応していたとする。この場合、カラム意味推定部９は、そのカラムの意味は“name”であると推定する。さらに、カラム意味推定部９は、そのカラムのカラム名を、推定したカラムの意味（本例では“name”）に置き換える。
【０１２０】
また、属性値のデータ型が文字列型である場合の関係性情報として、カラムの意味と、各属性値を所定の方法で区切った場合に得られる文字列の分布との対応関係を示す情報が含まれていてもよい。ここでは、文字列型の属性値を２文字ずつ区切る場合を例にして説明する。以下、着目しているカラムの各属性値を２文字ずつ区切った場合に得られる文字列の総数を、文字列総数と記す。例えば、“name”というカラムの意味と、文字列総数に対する“sa”，“to”，“su”，“zu”，“ki”等の各文字列の個数の割合との対応関係が、関係性情報として定められていてもよい。このとき、それぞれの割合には、所定閾値範囲も定められているものする。この場合、カラム意味推定部９は、以下の２つの条件を満たすカラムの意味を、カラムの意味の推定結果として導出すればよい。１つ目の条件は、上記のように、属性値毎に、対応する「カラムの意味」を特定し、そのカラムの意味毎に、対応する属性値の個数をカウントした場合、そのカウント結果が最大となっているという条件である。２つ目の条件は、着目しているカラムの各属性値を２文字ずつ区切ることによって得られた各文字列の文字列総数に対する割合が、関係性情報に定められた割合を基準とする所定閾値範囲内であるという条件である。例えば、上記のように、カラムに１００個の属性値が格納されていて、そのうち９５個の属性値が、“name”というカラムの意味に対応していた場合、カラムの意味“name”は１つ目の条件（カウント数に関する条件）を満たす。さらに、その１００個の属性値をそれぞれ２文字ずつ区切ることで文字列を得た場合に、“sa”等の各文字列の文字列総数に対する割合がそれぞれ、“name”に関連付けられて定められた割合を基準とする閾値範囲内であれば、“name”は２つめの条件（文字列の分布に関する条件）も満たす。カラム意味推定部９は、カラムの意味毎に２つの条件を満たしているか否かを判定し、２つの条件を満たしているカラムの意味を、推定結果としてもよい。
【０１２１】
また、カラムの属性値のデータ型が数値型である場合、カラム意味推定部９は、そのカラムに格納されている属性値の平均値、分散、および高次モーメントを計算する。カラム意味推定部９は、計算によって得られた平均値、分散、および高次モーメントがそれぞれ、関係性情報が示す平均値、分散、および高次モーメントを基準とする所定閾値範囲内の値であるという条件を満たすか否かを、数値型に関する個々の関係性情報（例えば、図１１に示す関係性情報）毎に判定する。カラム意味推定部９は、その条件を満たす関係性情報が示しているカラムの意味を、着目しているカラムの意味として推定する。そして、カラム意味推定部９は、そのカラムのカラム名を、推定したカラムの意味に置き換える。例えば、前述の例のように、あるカラムＣの属性値の平均値が“３１”であり、分散が“９”であり、高次モーメントが“１０２”であったとする。カラム意味推定部９は、図１１に例示する関係性情報に基づいて、カラムＣの意味を“age” と推定し、カラムＣのカラム名を、“age” に置き換える。
【０１２２】
カラム意味推定部９は、上記の処理を、入力されたテーブルのカラム毎に実行する。
【０１２３】
カラム意味推定部９は、例えば、テーブル意味推定プログラムに従って動作するコンピュータのＣＰＵによって実現される。
【０１２４】
図９に示す構成の場合、テーブル作成時に付与されたカラム名をそのまま含むテーブルが、データ入力部２に入力される。次に、カラム意味推定部９は、入力されたテーブルのカラム毎に、カラムの意味を推定し、カラム名をカラムの意味に置き換える。例えば、“Familyname”，“Age group”，“Class”，“Customer_job”というカラム名が付与されたテーブルが入力され、カラム意味推定部９が、そのテーブル内のカラムの属性値に基づいて、カラム毎に“name”，“age”，“sex”，“job” というカラムの意味を推定したとする。すると、カラム意味推定部９は、“Familyname”，“Age group”，“Class”，“Customer_job”というカラム名をそれぞれ、“name”，“age”，“sex”，“job” というカラムの意味の意味に置き換える。
【０１２５】
カラム意味推定部９は、各カラム名をカラムの意味に置き換えたテーブルをテーブル意味推定部６に送る。
【０１２６】
この後の処理は、第１の実施形態におけるステップＳ１２以降の処理と同様である。
【０１２７】
また、図９に示す構成において、ユーザは、学習データの生成のために、テーブル作成時に付与されたカラム名をそのまま含むテーブルとそのテーブルの意味との組み合わせの集合をテーブル意味推定システム１に入力してもよい。このとき、カラム意味推定部９が、入力された各テーブルのカラム毎に、カラムの意味を推定し、カラム名をカラムの意味に置き換える処理を行い、その処理を行った後のテーブルおよびテーブルの意味の組み合わせの集合を学習データとして、学習データ記憶部３に記憶させてもよい。
【０１２８】
図９に示す構成においても、第１の実施形態と同様の効果が得られる。
【０１２９】
また、図９に示す構成の場合、カラム意味推定部９が、入力されたテーブル内のカラム毎に、カラムの意味を推定し、カラム名をカラムの意味に置き換える。従って、データ入力部２に入力されるテーブルは、各カラム名をそれぞれカラムの意味に置き換える前処理を施したテーブルでなくてよい。すなわち、ユーザは、付与されたカラム名をそのまま含むテーブルをデータ入力部２に入力してよい。
【０１３０】
また、学習データに含まれる各テーブルに、カラムの意味ではなく、カラム名が付与されている場合を考える。前述のように、一般に、カラム名は、人間によって決定されるので、カラム名には表記ゆれが生じる。すると、カラム名を有限個に定めることは困難である。その結果、図３に示すテーブル意味モデルにおいて、ｘ，Ｗの要素を有限個に定めることが困難となり、図３に示すテーブル意味モデルを生成することも困難となる。その結果、テーブル意味推定部６がテーブルの意味を推定できないことになる。それに対して、図９に示す構成では、カラム意味推定部９が、入力されたテーブル内のカラム毎に、カラムの意味を推定し、カラム名をカラムの意味に置き換える。従って、テーブル意味推定部６がテーブルの意味を推定できる。
【０１３１】
また、仮に、カラム名を有限個に定めることができ、図３に示すテーブル意味モデルを生成できたとしても、カラム名の個数は、カラムの意味の個数に比べて、膨大な数となる。従って、テーブル意味モデルにおけるベクトルＷ，ｘの要素の個数（次元数）も膨大な数になる。すると、テーブル意味モデル生成部４がテーブル意味モデルを生成する処理や、テーブル意味推定部６がテーブルの意味を推定する処理の処理負荷が非常に大きくなる。図９に示す構成では、カラム意味推定部９が、入力されたテーブル内のカラム毎に、カラムの意味を推定し、カラム名をカラムの意味に置き換えるので、そのような処理負荷の増加を防ぐことができる。
【０１３２】
実施形態２．
第１の実施形態およびその変形例では、テーブルにおけるカラムの意味に応じた属性値の分布からテーブルの意味を推定するためのテーブル意味モデルが生成される。そして、テーブル意味推定部６は、入力されたテーブルに基づいて、テーブルにおけるカラムの意味に応じた属性値の分布を表すテーブル特徴を定め、そのテーブル特徴と、テーブル意味モデルとに基づいて、入力されたテーブルの意味を推定する。
【０１３３】
これに対して、第２の実施形態では、テーブルにおけるカラムの意味に応じた属性値の分布およびそのテーブルに関する参照関係から、そのテーブルの意味を推定するためのテーブル意味モデルが作成される。また、第２の実施形態では、データ入力部２に複数のテーブルが入力される。テーブル意味推定部６は、個々のテーブル毎に、テーブルにおけるカラムの意味に応じた属性値の分布およびそのテーブルに関する参照関係を表すテーブル特徴を定める。テーブル意味推定部６は、そのテーブル特徴と、テーブル意味モデルとに基づいて、入力された各テーブルの意味を推定する。さらに、テーブル意味推定部６は、各テーブルの意味の推定結果を確定するまでに、入力された各テーブルの意味を推定する処理を複数回繰り返す。
【０１３４】
第２の実施形態のテーブル意味推定システムは、第１の実施形態のテーブル意味推定システムと同様に、図１に示すブロック図で表すことができるので、図１を用いて第２の実施形態を説明する。第１の実施形態と同様の事項については、適宜、説明を省略する。
【０１３５】
まず、第２の実施形態におけるテーブル意味モデルについて説明する。図１２は、第２の実施形態におけるテーブル意味モデルの例を示す説明図である。図１２に示すＷ，ｘはいずれも列ベクトルであるが、適宜、Ｗ，ｘを行ベクトルの転置行列として示す。
【０１３６】
第２の実施形態では、ベクトルｘの要素は、テーブルの意味毎にユーザから指定された情報によって定められる。従って、ベクトルｘは、テーブルの意味毎に異なる。Ｗもテーブルの意味毎に定められる。従って、ｘとＷは、一対一に対応している。図３では、１つのテーブルの意味に対応するｘおよびＷを例示している。
【０１３７】
ｘは、ユーザによって指定されたカラムの意味に対応する説明変数を要素として持つ。１つのカラムの意味に対して、複数の説明変数が対応する。
【０１３８】
図１２に示す説明変数μ１，σ１，ｍ１は、図３に示すμ１，σ１，ｍ１と同様である。また、図１２に示す説明変数ｘ２＿１，ｘ２＿２，・・・ｘ２＿ｔ，ｘ２＿ｐ１，ｘ２＿ｐ２，・・・，ｘ２＿ｐｑは、図３に示すｘ２＿１，ｘ２＿２，・・・ｘ２＿ｔ，ｘ２＿ｐ１，ｘ２＿ｐ２，・・・，ｘ２＿ｐｑと同様である。例えば、例えば、“age” というカラムの意味の識別番号が１であり、“job” というカラムの意味の識別番号が２であるとする。図１２では、“age”および“job”という２つのカラムの意味が指定されたテーブルの意味に対応するｘを例示している。
【０１３９】
なお、属性値のデータ型が数値型であるカラムの意味に対応する説明変数の規定の仕方や、属性値のデータ型が文字列型であるカラムの意味に対応する説明変数の規定の仕方は、第１の実施形態と同様である。
【０１４０】
テーブルの意味毎にｘがどのカラムの意味に対応する説明変数を有するのかは、ユーザによって指定される。ユーザがこの指定を行うためのＧＵＩについては、後述する。
【０１４１】
また、ｘは、指定されたカラムの意味に対応する説明変数の他に、テーブルの参照関係を表す説明変数ｘｒｅｆｅｒｅｎｃｅｄおよびｘｒｅｆｅｒを有する。ｘは、テーブルの意味に依存せずに、ｘｒｅｆｅｒｅｎｃｅｄおよびｘｒｅｆｅｒを有する。以下、あるテーブルが他のテーブルを参照する場合、参照する側のテーブルを参照元テーブルと記す。また、参照される側のテーブルを参照先テーブルと記す。参照元テーブルは、例えば、参照キーを介して、参照先テーブルを参照する。
【０１４２】
ｘｒｅｆｅｒｅｎｃｅｄは、ｘに対応するテーブルの意味を有するテーブルを参照している参照元テーブルが存在し、その参照元テーブルがユーザに指定されたテーブルの意味を有しているという条件を満たしているか否かを示す説明変数である。以下、この参照元テーブルを符号Ｓで表す。また、以下、この条件を第１の条件と記す。第１の条件が満たされていれば、ｘｒｅｆｅｒｅｎｃｅｄ＝１であり、第１の条件が満たされていなければ、ｘｒｅｆｅｒｅｎｃｅｄ＝０である。
【０１４３】
ｘｒｅｆｅｒは、上記の参照元テーブルＳが参照している参照先テーブルが存在し、かつ、その参照先テーブルがユーザに指定されたテーブルの意味を有し、さらに、ユーザに指定されたカラムの意味を含んでいるという条件を満たしているか否かを示す変数である。以下、この参照先テーブルを符号Ｄで表す。以下、この条件を第２の条件と記す。第２の条件が満たされていれば、ｘｒｅｆｅｒ＝１であり、第２の条件が満たされていなければ、ｘｒｅｆｅｒ＝０である。
【０１４４】
どのテーブルの意味に対応するｘであっても、要素の数は有限個である。
【０１４５】
また、テーブル意味モデルには、テーブル意味集合も含まれる。この点は、第１の実施形態と同様である。テーブル意味集合に属しているテーブルの意味の個数をｋ個とする。
【０１４６】
前述のように、Ｗは、テーブルの意味毎に定められる。テーブルの意味の個数はｋ個であるのでは、ベクトルＷは、ｋ個定められることになる。Ｗの要素数は、Ｗに対応するｘの要素数と等しい。また、Ｗの任意のａ番目の要素は、ｘのａ番目の要素に対応している。例えば、図１２に示す例において、Ｗの１番目の要素ｗ１＿μは、ｘの１番目の要素μ１に対応している。
【０１４７】
また、第２の実施形態におけるｆ（ｘ）は、テーブルが与えられ、テーブル意味集合からテーブルの意味を１つ選択した場合に、選択したテーブルの意味が、与えられたテーブルの意味に該当するか否かを表す。すなわち、ｆ（ｘ）は、二値の値をとる。
【０１４８】
第２の実施形態におけるテーブル意味モデルは、テーブルにおけるカラムの意味に応じた属性値の分布およびそのテーブルに関する参照関係と、テーブルの意味との間の規則性を示すモデルであるということができる。
【０１４９】
次に、本実施形態の学習データについて説明する。学習データは、テーブルと、そのテーブルの意味と、そのテーブルの意味を表す特徴的なカラムの意味と、そのテーブルに関する参照関係を示すデータとの組み合わせの集合である。図１３は、この組み合わせの一例を示す模式図である。
【０１５０】
図１３に例示するテーブルの意味等の各情報は、テーブルに応じて、ユーザが指定する。例えば、図１３に示すテーブルの意味“Customer”、カラムの意味“name”，“age”，“job”、テーブルに関する参照関係を示すデータは、ユーザによって指定される。なお、ユーザによって、テーブルの意味“Customer”と、カラムの意味“name”，“age”，“job”が対応付けられることによって、“Customer”に対応するｘは、“name”，“age”，“job”に対応する説明変数を含み、他のカラムの意味に対応する説明変数は含まないことになる。
【０１５１】
テーブルに関する参照関係を示すデータは、例えば、図１３に示すテーブルの参照元テーブルＳの意味、図１３に示すテーブルと参照元テーブルが共通に含むカラムの意味、参照元テーブルＳの参照先テーブルＤの意味、および、参照先テーブルＤが含むカラムの意味である。
【０１５２】
表示制御部７は、学習データとなるテーブルが入力されると、ユーザに情報の指定を促すＧＵＩを表示し、ユーザによって指定された情報を受け付ける。なお、本実施形態では、カラム名をカラムの意味に置き換える前処理が行われたテーブルが入力されるものとして説明する。
【０１５３】
学習データ追加部８は、そのテーブルと、ユーザによって指定された情報との組み合わせ（例えば、図１３に示す組み合わせ）を学習データとして、学習データ記憶部３に記憶させる。この結果、学習データ記憶部３は、図１３に例示する組み合わせの集合を学習データとして記憶する。
【０１５４】
テーブル意味モデル生成部４は、その学習データを用いて、テーブル意味モデルを生成する。テーブル意味モデル生成部４は、学習データに含まれるテーブルの意味毎に、テーブルの意味に対応するｘを定める（具体的には、ｘの要素となる説明変数）を定める。
【０１５５】
次に、テーブル意味モデル生成部４は、学習データに含まれているテーブル毎に、テーブル特徴を定める。
【０１５６】
さらに、テーブル意味モデル生成部４は、各テーブル特徴と学習データに含まれている各テーブルの意味との対応関係に基づいて、テーブル意味集合および、テーブル意味集合に属するテーブルの意味毎のＷを定めることで、テーブル意味モデルを生成する。
【０１５７】
生成されたテーブル意味モデルにおいて、ｘの要素は変数で表される。一方、テーブルの意味毎に定められるＷの要素は、具体的な値である。
【０１５８】
テーブル意味モデル生成部４は、生成したテーブル意味モデルをテーブル意味モデル記憶部５に記憶させる。
【０１５９】
データ入力部２には、意味の推定対象となるテーブルが複数入力される。前述のように、本実施形態では、カラム名をカラムの意味に置き換える前処理が行われたテーブルが入力されるものとする。
【０１６０】
テーブル意味推定部６は、入力された各テーブルに対してテーブルの意味を推定する推定処理を複数回実行することにより、各テーブルの意味の推定結果を確定する。この推定処理の実行回数は、予め定めておけばよい。
【０１６１】
テーブル意味推定部６は、各回の推定処理で、入力された各テーブルに対して、以下の処理を行う。テーブル意味推定部６は、テーブル意味集合からテーブルの意味を選択し、そのテーブルの意味に対応するｘを用いて、データ特徴を定める。すなわち、テーブル意味推定部６は、選択したテーブルの意味に対応するｘの要素である各説明変数の値を定めることによって、データ特徴を定める。このデータ特徴をｘｄａｔａとする。テーブル意味推定部６は、選択したテーブルの意味に対応するＷとｘｄａｔａとにより、ＷＴｘｄａｔａを計算し、選択したテーブルの意味が、与えられたテーブルの意味に該当するか否かを判断する。テーブル意味推定部６は、他のテーブルの意味に関しても、順次、選択し、同様の演算を行う。従って、１回の推定処理で、１つのテーブルに対する意味の推定結果として、複数のテーブルの意味が得られる場合がある。
【０１６２】
テーブル意味推定部６が推定処理を複数回行う理由について説明する。本実施形態では、各ベクトルｘは、テーブルの意味に依存せずに、ｘｒｅｆｅｒｅｎｃｅｄおよびｘｒｅｆｅｒを有する。そして、ｘｒｅｆｅｒｅｎｃｅｄおよびｘｒｅｆｅｒの値を決定する際に、他のテーブルが有するテーブルの意味も参照する。複数のテーブルが入力された時点で、各テーブルの意味は不明であるので、初回の推定処理では、各ベクトルｘのｘｒｅｆｅｒｅｎｃｅｄおよびｘｒｅｆｅｒは、必ず０となる。推定処理の結果、あるテーブルに関して、テーブルの意味が得られた場合、そのテーブルが、その意味を有していることとして、次の推定処理を行うことができる。そのため、次の推定処理では、ｘｒｅｆｅｒｅｎｃｅｄおよびｘｒｅｆｅｒの値が更新される。すなわち、データ特徴が更新され、テーブル特徴の精度が向上する。従って、推定したテーブルの意味を用いて、各テーブルの意味を推定し直すことを繰り返すことで、テーブル特徴の精度が向上し、その結果、各テーブルの意味の推定結果の精度も向上する。よって、本実施形態では、テーブル意味推定部６は、入力された各テーブルに対してテーブルの意味を推定する推定処理を複数回実行する。
【０１６３】
表示制御部７は、各テーブルと、推定した各テーブルの意味とを表示するとともに、推定結果が適切であるか否かをユーザが入力するためのＧＵＩを表示する。
【０１６４】
表示制御部７は、テーブルの意味の推定結果が適切でない旨の入力をユーザから受け付けた場合、そのテーブルの意味およびそのテーブルに関する参照関係の入力をユーザから受け付ける。その場合、学習データ追加部８は、そのテーブルと、表示制御部７がユーザから入力されたそのテーブルの意味およびそのテーブルに関する参照関係との組み合わせを、学習データとして、既に学習データ記憶部３に記憶されている学習データに追加する。さらに、その場合、テーブル意味モデル生成部４は、テーブル意味モデルを学習し直す。
【０１６５】
次に、第２の実施形態の処理経過について説明する。
【０１６６】
まず、テーブル意味推定システム１が学習データを記憶する際の処理経過について説明する。図１４は、テーブル意味推定システム１が学習データを記憶する際の処理経過の例を示すフローチャートである。なお、以下に示す処理を行う場合、テーブル意味推定システム１は、例えば、ユーザの操作により、学習データ記憶処理を実行する旨の指示を受けているものとする。
【０１６７】
まず、データ入力部２に、学習データとなるテーブルが入力される（ステップＳ２１）。本例では、テーブルが１つずつ入力され、テーブルが入力される毎に、テーブル意味推定システム１がステップＳ２２〜Ｓ２５を実行するものとする。
【０１６８】
ステップＳ２１の次に、表示制御部７は、入力されたテーブルを表示し、そのテーブルの意味の入力、および、そのテーブルの意味を表す特徴的なカラムの意味の指定を受け付ける（ステップＳ２２）。
【０１６９】
図１５は、ステップＳ２２で表示制御部７がディスプレイ装置上に表示する画面の例を示す説明図である。図１５に示すように、表示制御部７は、入力されたテーブルを画面内に表示する。入力欄６１は、ユーザがそのテーブルの意味を入力するための入力欄である。また、表示制御部７は、テーブルが含むカラムの意味毎（換言すれば、カラム毎）に、チェックボックス６２を表示する。チェックボックス６２は、ユーザがそのテーブルの意味を表す特徴的なカラムの意味を指定するためのＧＵＩである。ユーザが入力欄６１にテーブルの意味を入力し、指定しようとするカラムの意味に対応するチェックボックスにチェックを入れた後、ボタン６３をクリックすると、表示制御部７は、テーブルの意味と、指定されたカラムの意味の入力を受け付ける。図１５では、テーブルの意味として“Customer”が入力され、また、“Customer”に対応するカラムの意味として、“name”，“age”，“job”が指定された場合を例示している。
【０１７０】
次に、表示制御部７は、入力されたテーブルの参照元テーブルＳの意味、および、入力されたテーブルと参照元テーブルＳが共通に含むカラムの意味の入力を受け付ける（ステップＳ２３）。
【０１７１】
図１６は、ステップＳ２３で表示制御部７がディスプレイ装置上に表示する画面の例を示す説明図である。表示欄６４は、入力欄６１に入力されたテーブルの意味（本例では“Customer”）を表示する表示欄である。入力欄６５は、入力されたテーブルを参照する参照元テーブルＳの意味を入力するための入力欄である。入力欄６６は、入力されたテーブルと参照元テーブルＳとが共通に有するカラムの意味を入力するための入力欄である。追加ボタン６７は、入力欄６６を追加するためのボタンである。また、表示制御部７は、入力欄６５を追加するためのボタン（図示略）を表示してもよい。ユーザが参照元テーブルＳの意味およびカラムの意味を入力した後、ボタン６８をクリックすると、表示制御部７は、その参照元テーブルＳの意味およびカラムの意味の入力を受け付ける。図１６では、参照元テーブルＳの意味として“Purchasing Log”が入力され、カラムの意味として“name”が入力された場合を例示している。
【０１７２】
次に、表示制御部７は、参照元テーブルＳが参照している参照先テーブルＤの意味、および、その参照先テーブルＤの意味を表す特徴的なカラムの意味の入力を受け付ける（ステップＳ２４）。参照先テーブルＤの意味を表す特徴的なカラムの意味は、参照先テーブルＤに含まれている。
【０１７３】
図１７は、ステップＳ２４で表示制御部７がディスプレイ装置上に表示する画面の例を示す説明図である。表示欄７０は、入力欄６５に入力された参照元テーブルＳの意味（本例では“Purchasing Log”）を表示する表示欄である。入力欄６９は、参照元テーブルＳが参照している参照先テーブルＤの意味を入力するための入力欄である。入力欄７１は、参照先テーブルＤの意味を表す特徴的なカラムの意味を入力するための入力欄である。追加ボタンは、入力欄７１を追加するためのボタンである。ユーザが参照先テーブルＤの意味およびカラムの意味を入力した後、ボタン７３をクリックすると、表示制御部７は、その参照元テーブルＳの意味およびカラムの意味の入力を受け付ける。図１７では、参照先テーブルＤの意味として“Item”が入力され、カラムの意味として“Price” および“ItemName”が入力された場合を例示している。
【０１７４】
次に、学習データ追加部８は、入力されたテーブルと、ステップＳ２２〜Ｓ２４で入力された情報との組み合わせを学習データ記憶部３に記憶させる（ステップＳ２５）。本例では、学習データ追加部８は、入力されたテーブルと、そのテーブルの意味“Customer”と、ユーザに指定されたそのテーブル内のカラムの意味“name”，“age”，“job”と、参照元テーブルＳの意味“Purchasing Log”と、ユーザに指定されたカラムの意味“name”と、参照先テーブルＤの意味“Item”と、ユーザに指定された照先テーブルＤ内のカラムの意味“Price”，“ItemName”との組み合わせを学習データ記憶部３に記憶させる（図１５〜１７を参照）。
【０１７５】
テーブルが入力される毎に、テーブル意味推定システム１がステップＳ２２〜Ｓ２５を実行することで、学習データ記憶部３に学習データが蓄積される。
【０１７６】
次に、テーブル意味モデル生成処理の処理経過の例について説明する。学習データ記憶部３には学習データが記憶されているものとする。
【０１７７】
テーブル意味モデル生成部４は、入力欄６１を介して入力されたテーブルの意味毎に、ｘの要素を定める。
【０１７８】
このとき、テーブル意味モデル生成部４は、入力欄６１を介して入力されたテーブルの意味の中から、１つのテーブルの意味を選択し、そのテーブルの意味に対応するカラムの意味（チェックボックス６２を介して指定されたカラムの意味）を特定する。そして、テーブル意味モデル生成部４は、そのカラムの意味毎に、カラムの意味に対応する説明変数を規定する。テーブル意味モデル生成部４は、属性値のデータ型が数値型であるカラムの意味に対応する説明変数として、３つの説明変数（属性値の平均値を表す説明変数、属性値の分散を表す説明変数、属性値の高次モーメントを表す説明変数）を定め、ｘの要素として規定する。また、テーブル意味モデル生成部４は、属性値のデータ型が文字列型であるカラムの意味に対する説明変数として、文字列型属性値の第１説明変数および文字列型属性値の第２説明変数をそれぞれ複数個定め、ｘの要素として規定する。文字列型属性値の第１説明変数および文字列型属性値の第２説明変数の定め方は、第１の実施形態と同様である。さらに、テーブル意味モデル生成部４は、テーブルの意味に依存せずに、ｘｒｅｆｅｒｅｎｃｅｄおよびｘｒｅｆｅｒをｘの要素として規定する。
【０１７９】
テーブル意味モデル生成部４は、他のテーブルの意味も順次、選択し、上記と同様の処理によって、テーブルの意味に対応するｘを定めればよい。
【０１８０】
次に、テーブル意味モデル生成部４は、入力欄６１を介して入力されたテーブルの意味毎に、テーブル特徴を定める。
【０１８１】
テーブル意味モデル生成部４は、入力欄６１を介して入力されたテーブルの意味の中から、１つのテーブルの意味を選択し、そのテーブルの意味に対応する説明変数の値を求めることによって、そのテーブルの意味に対応するテーブル特徴を定める。属性値のデータ型が数値型であるカラムの意味に対応する説明変数の値の定め方は、第１の実施形態と同様である。属性値のデータ型が文字列型であるカラムの意味に対応する説明変数の値の定め方も、第１の実施形態と同様である。
【０１８２】
また、テーブル意味モデル生成部４は、選択したテーブルの意味に対応するテーブルを参照する参照元テーブルＳが学習データ内に存在し、その参照元テーブルＳが入力欄６５を介してユーザに指定されたテーブルの意味を有しているという条件（第１の条件）が満たされているか否かを判定する。テーブル意味モデル生成部４は、その条件が満たされているならば、ｘｒｅｆｅｒｅｎｃｅｄ＝１とし、その条件が満たされていなければ、ｘｒｅｆｅｒｅｎｃｅｄ＝０とする。
【０１８３】
また、テーブル意味モデル生成部４は、その参照元テーブルＳが参照する参照先テーブルＤが学習データ内に存在し、かつ、参照先テーブルＤが入力欄６９を介してユーザに指定されたテーブルの意味を有し、さらに、入力欄７１を介してユーザに指定されたカラムの意味を含んでいるという条件（第２の条件）が満たされているか否かを判定する。テーブル意味モデル生成部４は、その条件が満たされているならば、ｘｒｅｆｅｒ＝１とし、その条件が満たされていなければ、ｘｒｅｆｅｒ＝０とする。
【０１８４】
テーブル意味モデル生成部４は、他のテーブルの意味も順次、選択し、上記と同様の処理によって、テーブル特徴を定める。
【０１８５】
次に、テーブル意味モデル生成部４は、各テーブル特徴と各テーブルの意味との対応関係に基づいて、テーブル意味集合および、テーブル意味集合に属するテーブルの意味毎のＷを定めることで、テーブル意味モデルを生成する。
【０１８６】
テーブル意味モデル生成部４は、生成したテーブル意味モデルをテーブル意味モデル記憶部５に記憶させる。
【０１８７】
次に、意味の推定対象となるテーブルが入力された場合の処理経過を説明する。図１８および図１９は、意味の推定対象となるテーブルが入力された場合の処理経過の例を示すフローチャートである。
【０１８８】
まず、データ入力部２に、意味の推定対象となるテーブルが複数個、入力される（ステップＳ３１）。
【０１８９】
テーブル意味推定部６は、入力された各テーブルに対してテーブルの意味を推定する推定処理を所定回数実行し、各テーブルの意味の推定結果を確定する（ステップＳ３２）。
【０１９０】
テーブル意味推定部６は、各回の推定処理で、入力された各テーブルに対して、以下の処理を行う。
【０１９１】
テーブル意味推定部６は、テーブル意味集合からテーブルの意味を選択し、そのテーブルの意味に対応するｘを用いて、データ特徴を定める。このとき、属性値のデータ型が数値型であるカラムの意味に対応する説明変数の値の定め方は、第１の実施形態と同様である。属性値のデータ型が文字列型であるカラムの意味に対応する説明変数の値の定め方も、第１の実施形態と同様である。
【０１９２】
また、テーブル意味推定部６は、着目しているテーブルを参照する参照元テーブルが、ステップＳ３１で入力されたテーブル群の中に存在し、その参照元テーブルが、選択中のテーブルの意味に対応付けられた参照元テーブルの意味を有しているという条件（第１の条件）が満たされているか否かを判定する。テーブル意味推定部６は、その条件が満たされているならば、ｘｒｅｆｅｒｅｎｃｅｄ＝１とし、その条件が満たされていなければ、ｘｒｅｆｅｒｅｎｃｅｄ＝０とする。
【０１９３】
また、テーブル意味推定部６は、その参照元テーブルが参照する参照先テーブルが、ステップＳ３１で入力されたテーブル群の中に存在し、かつ、その参照先テーブルが、選択中のテーブルの意味に対応付けられた参照先テーブルの意味を有し、さらに、選択中のテーブルの意味に対応付けられたカラムの意味（入力欄７１を介して指定されたカラムの意味）を含んでいるという条件（第２の条件）が満たされているか否かを判定する。テーブル意味推定部６は、その条件が満たされているならば、ｘｒｅｆｅｒ＝１とし、その条件が満たされていなければ、ｘｒｅｆｅｒ＝０とする。
【０１９４】
テーブル意味推定部６は、定めたテーブル特徴（ｘｄａｔａとする。）と、選択中のテーブルの意味に対応するＷとを用いて、ＷＴｘｄａｔａを計算することによって、選択中のテーブルの意味が、着目しているテーブルの意味に該当するかを判定する。
【０１９５】
テーブル意味推定部６は、他のテーブルの意味も順次、選択し、上記と同様の処理を行う。
【０１９６】
テーブル意味推定部６は、各テーブルに対してテーブルの意味を推定する推定処理を所定回数実行した時点で、得られた各テーブルの意味の推定結果を、それぞれ、推定結果として確定する。
【０１９７】
次に、表示制御部７は、ステップＳ３１で入力された各テーブル、および、推定された各テーブルの意味を表示し、その各テーブルの意味が適切か否かの入力をユーザに促す（ステップＳ３３）。
【０１９８】
表示制御部７は、各テーブルを表示するとともに、テーブル毎に、推定されたテーブルの意味と、そのテーブルの意味が適切であるか否かをユーザが入力するためのＧＵＩとをディスプレイ装置上に入力すればよい。
【０１９９】
ユーザは、テーブル毎に、推定されたテーブルの意味が適切であるか否かを判断し、その判断に応じて、上記のＧＵＩに対して入力を行う。この結果、表示制御部７は、テーブル毎に、テーブルの意味が適切である旨の入力、または、テーブルの意味が適切でない旨の入力を受け付ける。
【０２００】
適切でないと判断されたテーブルの意味がない場合（ステップＳ３４のＮｏ）、処理を終了する。
【０２０１】
また、適切でないと判断されたテーブルの意味がある場合（ステップＳ３４のＹｅｓ）、表示制御部７および学習データ追加部８は、テーブルの意味が適切でないと判断されたテーブルと、そのテーブルの意味と、そのテーブルに関する参照関係との組み合わせを学習データとして、既存の学習データに追加する（ステップＳ３５）。ステップＳ３５では、表示制御部７および学習データ追加部８は、テーブルの意味が適切でないと判断されたテーブルに関して、ステップＳ２２〜Ｓ２５（図１４参照）と同様の処理を行えばよい。
【０２０２】
ステップＳ３５の処理が実行された後、テーブル意味モデル生成部４は、その時点で学習データ記憶部３に記憶されている学習データに基づいて、テーブル意味モデルを生成する処理をやり直す（ステップＳ３６）。換言すれば、テーブル意味モデル生成部４は、既存の学習データおよび追加された学習データを用いて、テーブル意味モデルを学習し直す。
【０２０３】
本実施形態によれば、テーブル意味モデル生成部４が、テーブルにおけるカラムの意味に応じた属性値の分布およびそのテーブルに関する参照関係から、そのテーブルの意味を推定するためのテーブル意味モデルを生成する。そして、テーブル意味推定部６は、入力されたテーブルにおけるカラムの意味に応じた属性値の分布およびそのテーブルに関する参照関係と、テーブル意味モデルとに基づいて、テーブルの意味を推定する。従って、本実施形態によれば、テーブルの意味を推定することができる。
【０２０４】
従って、第１の実施形態と同様の効果が得られる。
【０２０５】
また、第２の実施形態によれば、ユーザは、図１５に例示する画面を介して、テーブルの意味毎に、カラムの意味を指定する。表示制御部７は、指定されたカラムの意味を受け付ける。そして、テーブル意味モデル生成部４は、テーブルの意味毎にｘを定めるときに、ユーザに指定されたカラムの意味に応じた説明変数を要素として含むようにｘを定める。従って、それぞれのｘの要素数を少なくすることができる。
【０２０６】
第２の実施形態においても、テーブル意味推定システム１とは異なる学習システム（図示略）がテーブル意味モデルの生成を実行し、テーブル意味推定システム１がテーブル意味モデルの生成を行わない構成であってもよい。この場合、テーブル意味推定システム１は、図８に示す構成と同様の構成とすることができる。この場合、学習データ記憶部３、テーブル意味モデル生成部４、学習データ追加部８、および、ステップＳ２１〜Ｓ２５を実行するための表示制御部７の機能は、学習システムに実装される。また、テーブル意味推定システム１は、例えば、データ入力部２と、テーブル意味モデル記憶部５と、テーブル意味推定部６と、表示制御部７とを備える（図８参照）。データ入力部２と、テーブル意味モデル記憶部５と、テーブル意味推定部６と、表示制御部７は、上記の第２の実施形態におけるそれらと同様である。ただし、テーブル意味モデル記憶部５には、学習システムが生成したテーブル意味モデルが記憶される。また、表示制御部７は、ステップＳ３２の処理が実行された後、入力された各テーブルと、推定された各テーブルの意味を表示し、その時点で処理を終了してよい。
【０２０７】
第２の実施形態およびその変形例において、テーブル意味推定システム１がカラム意味推定部９と関係性情報記憶部１０とを備えていてもよい。その場合、データ入力部２には、カラム名をそのまま含むテーブルが入力される。ステップＳ３１の処理が実行された後、カラム意味推定部９が、入力された各テーブルの各カラムに対して、カラムの意味を推定し、各カラム名をカラムの意味に置き換える。その後、テーブル意味推定システム１は、ステップＳ３２以降の処理を実行すればよい。また、ステップＳ２１の処理が実行された後、カラム意味推定部９が、入力されたテーブルの各カラムに対して、カラムの意味を推定し、各カラム名をカラムの意味に置き換える。その後、テーブル意味推定システム１は、ステップＳ２２以降の処理を実行すればよい。
【０２０８】
また、第１の実施形態において、表示制御部７は、例えば、図１５に示す画面と同様の画面を表示することによって、テーブルの意味毎に、カラムの意味の指定を受け付けてもよい。そして、テーブル意味モデル生成部４は、テーブル意味モデルを生成する際、テーブルの意味毎に、ｘの説明変数を定めてもよい。すなわち、テーブル意味モデル生成部４は、あるテーブルの意味に対応するｘを定める場合に、そのｘの要素として、指定されたカラムの意味に対応する説明変数のみを定めてもよい。
【０２０９】
図２０は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ１０００は、ＣＰＵ１００１と、主記憶装置１００２と、補助記憶装置１００３と、インタフェース１００４と、ディスプレイ装置１００５と、入力デバイス１００６とを備える。図２０に示す例では、入力デバイス１００６がデータ入力部２に相当する。
【０２１０】
本発明の各実施形態のテーブル意味推定システム１は、コンピュータ１０００に実装される。テーブル意味推定システム１の動作は、プログラム（テーブル意味推定プログラム）の形式で補助記憶装置１００３に記憶されている。ＣＰＵ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、そのプログラムに従って上記の処理を実行する。
【０２１１】
補助記憶装置１００３は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００がそのプログラムを主記憶装置１００２に展開し、上記の処理を実行してもよい。
【０２１２】
また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
【０２１３】
また、各装置の各構成要素の一部または全部は、汎用または専用の回路（circuitry ）、プロセッサ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【０２１４】
各装置の各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０２１５】
次に、本発明の概要について説明する。図２１は、本発明の概要を示すブロック図である。本発明のテーブル意味推定システムは、学習手段７１と、推定手段７２とを備える。
【０２１６】
学習手段７１（例えば、テーブル意味モデル生成部４）は、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて、テーブルにおけるカラムの意味に応じた属性値の分布とテーブルの意味との間の規則性を示すモデル（例えば、テーブル意味モデル）を学習する。
【０２１７】
推定手段７２（例えば、テーブル意味推定部６）は、入力されるテーブルにおけるカラムの意味に応じた属性値の分布とモデルとに基づいて、そのテーブルの意味を推定する。
【０２１８】
そのような構成により、テーブルの意味を推定することができる。
【０２１９】
また、入力されるテーブルのカラムの属性値から、カラムの意味を推定するカラム意味推定手段（例えば、カラム意味推定部９）を備え、推定手段７２が、推定されたカラムの意味に応じた属性値の分布と、モデルとに基づいて、テーブルの意味を推定する構成であってもよい。
【０２２０】
また、推定されたテーブルの意味を表示し、当該テーブルの意味が適切か否かに関する入力をユーザから受け付ける表示制御手段（例えば、表示制御部７）と、ユーザからの入力に応じて、学習データを追加する学習データ追加手段（例えば、学習データ追加部８）とを備える構成であってもよい。
【０２２１】
また、表示制御手段が、表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、テーブルの意味の入力をユーザから受け付け、学習データ追加手段が、テーブルの意味が適切である旨が入力された場合、テーブルと、表示制御手段が表示したテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、テーブルの意味が適切でない旨が入力された場合、テーブルと、表示制御手段がユーザから受け付けたテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、学習手段が、学習データが追加された場合に、既存の学習データおよび追加された学習データを用いて、モデルを学習し直す構成であってもよい。
【０２２２】
また、図２１に示す構成において、学習手段７１および推定手段７２が以下のように動作してもよい。
【０２２３】
学習手段７１（例えば、テーブル意味モデル生成部４）は、カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて、テーブルにおけるカラムの意味に応じた属性値の分布およびテーブルに関する参照関係とテーブルの意味との間の規則性を示すモデルを学習する。
【０２２４】
推定手段７２（例えば、テーブル意味推定部６）は、入力されるテーブルにおけるカラムの意味に応じた属性値の分布およびテーブルに関する参照関係とモデルとに基づいて、テーブルの意味を推定する。
【０２２５】
この場合にも、テーブルの意味を推定することができる。
【０２２６】
また、この場合において、入力されるテーブルのカラムの属性値から、カラムの意味を推定するカラム意味推定手段（例えば、カラム意味推定部９）を備え、推定手段７２が、推定されたカラムの意味に応じた属性値の分布およびテーブルに関する参照関係と、モデルとに基づいて、テーブルの意味を推定する構成であってもよい。
【０２２７】
また、推定されたテーブルの意味を表示し、当該テーブルの意味が適切か否かに関する入力をユーザから受け付ける表示制御手段（例えば、表示制御部７）と、ユーザからの入力に応じて、学習データを追加する学習データ追加手段（例えば、学習データ追加部８）とを備える構成であってもよい。
【０２２８】
また、表示制御手段が、表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、テーブルの意味およびテーブルに関する参照関係の入力をユーザから受け付け、学習データ追加手段が、表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、テーブルと、表示制御手段がユーザから受け付けたテーブルの意味との組み合わせ、および、テーブルに関する参照関係を学習データとして、既存の学習データに追加し、学習手段が、学習データが追加された場合に、既存の学習データおよび追加された学習データを用いて、モデルを学習し直す構成であってもよい。
【０２２９】
図２２は、本発明の概要の他の例を示すブロック図である。図２２に示すテーブル意味推定システムは、入力受付手段７３と、推定手段７２とを備える。
【０２３０】
入力受付手段７３（例えば、データ入力部２）は、テーブルの入力を受け付ける。
【０２３１】
推定手段７２（例えば、テーブル意味推定部６）は、テーブルにおけるカラムの意味に応じた属性値の分布と、予め学習されているモデルとに基づいて、テーブルの意味を推定する。
【０２３２】
モデル（例えば、テーブル意味モデル）は、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて学習された、テーブルにおけるカラムの意味に応じた属性値の分布とテーブルの意味との間の規則性を示すモデルである。
【０２３３】
そのような構成により、テーブルの意味を推定することができる。
【０２３４】
また、入力されるテーブルのカラムの属性値から、カラムの意味を推定するカラム意味推定手段（例えば、カラム意味推定部９）を備え、推定手段７２が、推定されたカラムの意味に応じた属性値の分布と、モデルとに基づいて、テーブルの意味を推定する構成であってもよい。
【０２３５】
また、図２２に示す構成において、入力受付手段７３および推定手段７２が以下のように動作してもよい。
【０２３６】
入力受付手段７３（例えば、データ入力部２）は、テーブルの入力を受け付ける。
【０２３７】
推定手段７２（例えば、テーブル意味推定部６）は、テーブルにおけるカラムの意味に応じた属性値の分布およびテーブルに関する参照関係と、予め学習されているモデルとに基づいて、テーブルの意味を推定する。
【０２３８】
モデル（例えば、テーブル意味モデル）は、カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて学習された、テーブルにおけるカラムの意味に応じた属性値の分布およびテーブルに関する参照関係とテーブルの意味との間の規則性を示すモデルである。
【０２３９】
この場合にも、テーブルの意味を推定することができる。
【０２４０】
また、この場合においても、入力されるテーブルのカラムの属性値から、カラムの意味を推定するカラム意味推定手段（例えば、カラム意味推定部９）を備え、推定手段７２が、推定されたカラムの意味に応じた属性値の分布およびテーブルに関する参照関係と、モデルとに基づいて、テーブルの意味を推定する構成であってもよい。
【０２４１】
なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
【０２４２】
（付記１）カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて、前記テーブルにおけるカラムの意味に応じた属性値の分布と前記テーブルの意味との間の規則性を示すモデルを学習する学習手段と、
入力されるテーブルにおけるカラムの意味に応じた属性値の分布と前記モデルとに基づいて、前記テーブルの意味を推定する推定手段とを備える
ことを特徴とするテーブル意味推定システム。
【０２４３】
（付記２）入力されるテーブルのカラムの属性値から、前記カラムの意味を推定するカラム意味推定手段を備え、
推定手段は、推定されたカラムの意味に応じた属性値の分布と、モデルとに基づいて、前記テーブルの意味を推定する
付記１に記載のテーブル意味推定システム。
【０２４４】
（付記３）推定されたテーブルの意味を表示し、当該テーブルの意味が適切か否かに関する入力をユーザから受け付ける表示制御手段と、
前記ユーザからの入力に応じて、学習データを追加する学習データ追加手段とを備える
付記１または付記２に記載のテーブル意味推定システム。
【０２４５】
（付記４）表示制御手段は、
表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、前記テーブルの意味の入力を前記ユーザから受け付け、
学習データ追加手段は、
前記テーブルの意味が適切である旨が入力された場合、前記テーブルと、前記表示制御手段が表示したテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、
前記テーブルの意味が適切でない旨が入力された場合、前記テーブルと、前記表示制御手段が前記ユーザから受け付けたテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、
学習手段は、
学習データが追加された場合に、既存の学習データおよび追加された学習データを用いて、モデルを学習し直す
付記３に記載のテーブル意味推定システム。
【０２４６】
（付記５）テーブルの入力を受け付ける入力受付手段と、
前記テーブルにおけるカラムの意味に応じた属性値の分布と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定手段とを備え、
前記モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて学習された、前記テーブルにおけるカラムの意味に応じた属性値の分布と前記テーブルの意味との間の規則性を示すモデルである
ことを特徴とするテーブル意味推定システム。
【０２４７】
（付記６）入力されるテーブルのカラムの属性値から、前記カラムの意味を推定するカラム意味推定手段を備え、
推定手段は、推定されたカラムの意味に応じた属性値の分布と、モデルとに基づいて、前記テーブルの意味を推定する
付記５に記載のテーブル意味推定システム。
【０２４８】
（付記７）カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて、前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記テーブルの意味との間の規則性を示すモデルを学習する学習手段と、
入力されるテーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記モデルとに基づいて、前記テーブルの意味を推定する推定手段とを備える
ことを特徴とするテーブル意味推定システム。
【０２４９】
（付記８）入力されるテーブルのカラムの属性値から、前記カラムの意味を推定するカラム意味推定手段を備え、
推定手段は、推定されたカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と、モデルとに基づいて、前記テーブルの意味を推定する
付記７に記載のテーブル意味推定システム。
【０２５０】
（付記９）推定されたテーブルの意味を表示し、当該テーブルの意味が適切か否かに関する入力をユーザから受け付ける表示制御手段と、
前記ユーザからの入力に応じて、学習データを追加する学習データ追加手段とを備える
付記７または付記８に記載のテーブル意味推定システム
【０２５１】
（付記１０）表示制御手段は、
表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、前記テーブルの意味および前記テーブルに関する参照関係の入力を前記ユーザから受け付け、
学習データ追加手段は、
表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、前記テーブルと、前記表示制御手段が前記ユーザから受け付けたテーブルの意味との組み合わせ、および、前記テーブルに関する参照関係を学習データとして、既存の学習データに追加し、
学習手段は、
学習データが追加された場合に、既存の学習データおよび追加された学習データを用いて、モデルを学習し直す
付記９に記載のテーブル意味推定システム。
【０２５２】
（付記１１）テーブルの入力を受け付ける入力受付手段と、
前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定手段とを備え、
前記モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて学習された、前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記テーブルの意味との間の規則性を示すモデルである
ことを特徴とするテーブル意味推定システム。
【０２５３】
（付記１２）入力されるテーブルのカラムの属性値から、前記カラムの意味を推定するカラム意味推定手段を備え、
推定手段は、推定されたカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と、モデルとに基づいて、前記テーブルの意味を推定する
付記１１に記載のテーブル意味推定システム。
【０２５４】
（付記１３）カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて、前記テーブルにおけるカラムの意味に応じた属性値の分布と前記テーブルの意味との間の規則性を示すモデルを学習し、
入力されるテーブルにおけるカラムの意味に応じた属性値の分布と前記モデルとに基づいて、前記テーブルの意味を推定する
ことを特徴とするテーブル意味推定方法。
【０２５５】
（付記１４）テーブルの入力を受け付け、
前記テーブルにおけるカラムの意味に応じた属性値の分布と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定し、
前記モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて学習された、前記テーブルにおけるカラムの意味に応じた属性値の分布と前記テーブルの意味との間の規則性を示すモデルである
ことを特徴とするテーブル意味推定方法。
【０２５６】
（付記１５）カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて、前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記テーブルの意味との間の規則性を示すモデルを学習し、
入力されるテーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記モデルとに基づいて、前記テーブルの意味を推定する
ことを特徴とするテーブル意味推定方法。
【０２５７】
（付記１６）テーブルの入力を受け付け、
前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定し、
前記モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて学習された、前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記テーブルの意味との間の規則性を示すモデルである
ことを特徴とするテーブル意味推定方法。
【０２５８】
（付記１７）コンピュータに、
カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて、前記テーブルにおけるカラムの意味に応じた属性値の分布と前記テーブルの意味との間の規則性を示すモデルを学習する学習処理、および、
入力されるテーブルにおけるカラムの意味に応じた属性値の分布と前記モデルとに基づいて、前記テーブルの意味を推定する推定処理
を実行させるためのテーブル意味推定プログラム。
【０２５９】
（付記１８）コンピュータに、
テーブルの入力を受け付ける入力受付処理、および、
前記テーブルにおけるカラムの意味に応じた属性値の分布と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定処理を実行させ、
前記モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて学習された、前記テーブルにおけるカラムの意味に応じた属性値の分布と前記テーブルの意味との間の規則性を示すモデルである
ことを特徴とするテーブル意味推定プログラム。
【０２６０】
（付記１９）コンピュータに、
カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて、前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記テーブルの意味との間の規則性を示すモデルを学習する学習処理、および、
入力されるテーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記モデルとに基づいて、前記テーブルの意味を推定する推定処理
を実行させるためのテーブル意味推定プログラム。
【０２６１】
（付記２０）コンピュータに、
テーブルの入力を受け付ける入力受付処理、および、
前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定処理を実行させ、
前記モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて学習された、前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記テーブルの意味との間の規則性を示すモデルである
ことを特徴とするテーブル意味推定プログラム。
【０２６２】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０２６３】
この出願は、２０１６年８月５日に出願された日本特許出願２０１６−１５４３８５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０２６４】
本発明は、テーブルの意味を推定するテーブル意味推定システムに好適に適用される。
【符号の説明】
【０２６５】
１  テーブル意味推定システム
２  データ入力部
３  学習データ記憶部
４  テーブル意味モデル生成部
５  テーブル意味モデル記憶部
６  テーブル意味推定部
７  表示制御部
８  学習データ追加部
【図１】
2018025707.tif 000003
【図２】
2018025707.tif 000004
【図３】
2018025707.tif 000005
【図４】
2018025707.tif 000006
【図５】
2018025707.tif 000007
【図６】
2018025707.tif 000008
【図７】
2018025707.tif 000009
【図８】
2018025707.tif 000010
【図９】
2018025707.tif 000011
【図１０】
2018025707.tif 000012
【図１１】
2018025707.tif 000013
【図１２】
2018025707.tif 000014
【図１３】
2018025707.tif 000015
【図１４】
2018025707.tif 000016
【図１５】
2018025707.tif 000017
【図１６】
2018025707.tif 000018
【図１７】
2018025707.tif 000019
【図１８】
2018025707.tif 000020
【図１９】
2018025707.tif 000021
【図２０】
2018025707.tif 000022
【図２１】
2018025707.tif 000023
【図２２】
2018025707.tif 000024
【手続補正書】
【提出日】平成31年2月5日(2019.2.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて、前記テーブルにおけるカラムの意味に応じた属性値の分布と前記テーブルの意味との間の規則性を示すモデルを学習する学習手段と、
入力されるテーブルにおけるカラムの意味に応じた属性値の分布と前記モデルとに基づいて、前記テーブルの意味を推定する推定手段とを備える
ことを特徴とするテーブル意味推定システム。
【請求項２】
入力されるテーブルのカラムの属性値から、前記カラムの意味を推定するカラム意味推定手段を備え、
推定手段は、推定されたカラムの意味に応じた属性値の分布と、モデルとに基づいて、前記テーブルの意味を推定する
請求項１に記載のテーブル意味推定システム。
【請求項３】
推定されたテーブルの意味を表示し、当該テーブルの意味が適切か否かに関する入力をユーザから受け付ける表示制御手段と、
前記ユーザからの入力に応じて、学習データを追加する学習データ追加手段とを備える
請求項１または請求項２に記載のテーブル意味推定システム。
【請求項４】
表示制御手段は、
表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、前記テーブルの意味の入力を前記ユーザから受け付け、
学習データ追加手段は、
前記テーブルの意味が適切である旨が入力された場合、前記テーブルと、前記表示制御手段が表示したテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、
前記テーブルの意味が適切でない旨が入力された場合、前記テーブルと、前記表示制御手段が前記ユーザから受け付けたテーブルの意味との組み合わせを学習データとして、既存の学習データに追加し、
学習手段は、
学習データが追加された場合に、既存の学習データおよび追加された学習データを用いて、モデルを学習し直す
請求項３に記載のテーブル意味推定システム。
【請求項５】
テーブルの入力を受け付ける入力受付手段と、
前記テーブルにおけるカラムの意味に応じた属性値の分布と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定手段とを備え、
前記モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含む学習データに基づいて学習された、前記テーブルにおけるカラムの意味に応じた属性値の分布と前記テーブルの意味との間の規則性を示すモデルである
ことを特徴とするテーブル意味推定システム。
【請求項６】
カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて、前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記テーブルの意味との間の規則性を示すモデルを学習する学習手段と、
入力されるテーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記モデルとに基づいて、前記テーブルの意味を推定する推定手段とを備える
ことを特徴とするテーブル意味推定システム。
【請求項７】
入力されるテーブルのカラムの属性値から、前記カラムの意味を推定するカラム意味推定手段を備え、
推定手段は、推定されたカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と、モデルとに基づいて、前記テーブルの意味を推定する
請求項６に記載のテーブル意味推定システム。
【請求項８】
推定されたテーブルの意味を表示し、当該テーブルの意味が適切か否かに関する入力をユーザから受け付ける表示制御手段と、
前記ユーザからの入力に応じて、学習データを追加する学習データ追加手段とを備える
請求項６または請求項７に記載のテーブル意味推定システム。
【請求項９】
表示制御手段は、
表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、前記テーブルの意味および前記テーブルに関する参照関係の入力を前記ユーザから受け付け、
学習データ追加手段は、
表示したテーブルの意味が適切でない旨の入力をユーザから受け付けた場合、前記テーブルと、前記表示制御手段が前記ユーザから受け付けたテーブルの意味との組み合わせ、および、前記テーブルに関する参照関係を学習データとして、既存の学習データに追加し、
学習手段は、
学習データが追加された場合に、既存の学習データおよび追加された学習データを用いて、モデルを学習し直す
請求項８に記載のテーブル意味推定システム。
【請求項１０】
テーブルの入力を受け付ける入力受付手段と、
前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と、予め学習されているモデルとに基づいて、前記テーブルの意味を推定する推定手段とを備え、
前記モデルは、カラムの意味を含むテーブルと当該テーブルの意味とを含むとともに、テーブルの参照関係を示すデータとを含む学習データに基づいて学習された、前記テーブルにおけるカラムの意味に応じた属性値の分布および前記テーブルに関する参照関係と前記テーブルの意味との間の規則性を示すモデルである
ことを特徴とするテーブル意味推定システム。
【国際調査報告】
2018025707.tif 000025
2018025707.tif 000026
2018025707.tif 000027
2018025707.tif 000028