(57)【要約】【課題】データベースに登録されているデータに関する知識を必要とすることなく、データ項目に付与される項目名を推定し得る、データ項目名推定装置、データ項目名推定方法、及びプログラムを提供する。【解決手段】データ項目名推定装置１００は、学習用のテーブルにおけるデータ項目名毎に、当該データ項目名が付与されているデータの特徴値を抽出し、抽出した特徴値と当該データ項目名に対応する属性との関係を定義し、属性毎に、対応するデータ項目名を特定し、前記学習用のテーブルにおける前記属性と前記データ項目名との組合せを学習して、学習モデルを作成する、学習処理部１０と、対象となるテーブルのデータ項目毎の特徴値を、学習処理部１０による定義に照合して、各データ項目の属性を推定し、推定したデータ項目毎の属性を、学習モデルに適用して、前記対象となるテーブルのデータ項目のデータ項目名を推定する、推定処理部２０と、を備えている。【選択図】図１
2018151805.tif 000002
【特許請求の範囲】
【請求項１】
学習用のテーブルにおけるデータ項目名毎に、当該データ項目名が付与されているデータの特徴値を抽出し、抽出した特徴値と当該データ項目名に対応する属性との関係を定義し、前記属性毎に、対応するデータ項目名を特定し、前記学習用のテーブルにおける前記属性と前記データ項目名との組合せを学習して、学習モデルを作成する、学習処理部と、
対象となるテーブルのデータ項目毎の特徴値を、前記学習処理部による定義に照合して、各データ項目の属性を推定し、推定したデータ項目毎の属性を、前記学習モデルに適用して、前記対象となるテーブルのデータ項目のデータ項目名を推定する、推定処理部と、
を備えている、ことを特徴とするデータ項目名推定装置。
【請求項２】
前記学習処理部が、
抽出した特徴値と当該データ項目名に対応する属性との関係を定義した属性情報を作成し、
更に、作成した前記属性情報に含まれる属性毎に、対応するデータ項目名が付与された属性個物情報を作成し、
そして、前記属性個物情報を用いて、前記学習モデルとして、前記学習用のテーブルにおける前記属性の組合わせと前記属性それぞれに対応するデータ項目名とを示す属性組合せ情報を作成する、
請求項１に記載のデータ項目名推定装置。
【請求項３】
前記推定処理部が、
対象となるテーブルのレコードから、データ項目毎に、特徴値を抽出し、
抽出した特徴値を前記属性情報に照合して、各データ項目の属性を推定し、
そして、推定した属性を用いて、属性の組合せを設定し、設定した属性の組合せ毎に、前記属性組合せ情報及び前記属性個物情報を用いて、特定のデータ項目名が出現する頻度を算出し、
算出結果に基づいて、前記対象となるテーブルのデータ項目それぞれのデータ項目名を推定する、
請求項２に記載のデータ項目名推定装置。
【請求項４】
（ａ）学習用のテーブルにおけるデータ項目名毎に、当該データ項目名が付与されているデータの特徴値を抽出し、抽出した特徴値と当該データ項目名に対応する属性との関係を定義し、前記属性毎に、対応するデータ項目名を特定し、前記学習用のテーブルにおける前記属性と前記データ項目名との組合せを学習して、学習モデルを作成する、ステップと、
（ｂ）対象となるテーブルのデータ項目毎の特徴値を、前記（ａ）のステップで得られた定義に照合して、各データ項目の属性を推定し、推定したデータ項目毎の属性を、前記学習モデルに適用して、前記対象となるテーブルのデータ項目のデータ項目名を推定する、ステップと、
を有する、ことを特徴とするデータ項目名推定方法。
【請求項５】
前記（ａ）のステップにおいて、
抽出した特徴値と当該データ項目名に対応する属性との関係を定義した属性情報を作成し、
更に、作成した前記属性情報に含まれる属性毎に、対応するデータ項目名が付与された属性個物情報を作成し、
そして、前記属性個物情報を用いて、前記学習モデルとして、前記学習用のテーブルにおける前記属性の組合わせと前記属性それぞれに対応するデータ項目名とを示す属性組合せ情報を作成する、
請求項４に記載のデータ項目名推定方法。
【請求項６】
前記（ｂ）のステップにおいて、
対象となるテーブルのレコードから、データ項目毎に、特徴値を抽出し、
抽出した特徴値を前記属性情報に照合して、各データ項目の属性を推定し、
そして、推定した属性を用いて、属性の組合せを設定し、設定した属性の組合せ毎に、前記属性組合せ情報及び前記属性個物情報を用いて、特定のデータ項目名が出現する頻度を算出し、
算出結果に基づいて、前記対象となるテーブルのデータ項目それぞれのデータ項目名を推定する、
請求項５に記載のデータ項目名推定方法。
【請求項７】
コンピュータに、
（ａ）学習用のテーブルにおけるデータ項目名毎に、当該データ項目名が付与されているデータの特徴値を抽出し、抽出した特徴値と当該データ項目名に対応する属性との関係を定義し、前記属性毎に、対応するデータ項目名を特定し、前記学習用のテーブルにおける前記属性と前記データ項目名との組合せを学習して、学習モデルを作成する、ステップと、
（ｂ）対象となるテーブルのデータ項目毎の特徴値を、前記（ａ）のステップで得られた定義に照合して、各データ項目の属性を推定し、推定したデータ項目毎の属性を、前記学習モデルに適用して、前記対象となるテーブルのデータ項目のデータ項目名を推定する、ステップと、
を実行させる、プログラム。
【請求項８】
前記（ａ）のステップにおいて、
抽出した特徴値と当該データ項目名に対応する属性との関係を定義した属性情報を作成し、
更に、作成した前記属性情報に含まれる属性毎に、対応するデータ項目名が付与された属性個物情報を作成し、
そして、前記属性個物情報を用いて、前記学習モデルとして、前記学習用のテーブルにおける前記属性の組合わせと前記属性それぞれに対応するデータ項目名とを示す属性組合せ情報を作成する、
請求項７に記載のプログラム。
【請求項９】
前記（ｂ）のステップにおいて、
対象となるテーブルのレコードから、データ項目毎に、特徴値を抽出し、
抽出した特徴値を前記属性情報に照合して、各データ項目の属性を推定し、
そして、推定した属性を用いて、属性の組合せを設定し、設定した属性の組合せ毎に、前記属性組合せ情報及び前記属性個物情報を用いて、特定のデータ項目名が出現する頻度を算出し、
算出結果に基づいて、前記対象となるテーブルのデータ項目それぞれのデータ項目名を推定する、
請求項８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ項目名が未知のテーブルのデータ項目名を推定するための、データ項目名推定装置、及びデータ項目名推定方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、ICT（Information and Communication Technology）の発展により、多種多量の情報をリアルタイムに取得することが可能及び容易となっており、大量の情報が収集及び蓄積されている。そして、これらの情報を活用して、各種の分析及び予測を行う際には、これらの情報が格納されている複数のデータベースを統合し、共通のスキーマを持つデータベースを作成する必要がある。
【０００３】
データベースの統合には、共通化する分類又は属性を定義する必要がある。このため、従来ではデータベース又はデータモデリングのスペシャリストが、各データベース管理者にスキーマ構成を確認し、人手によって、共通するデータの識別、抽出、統合を行なっている。従って、データベースの統合には非常に多くの作業時間がかかってしまう。
【０００４】
また、データ統合を行う際、統合対象となるそれぞれのデータについて、作業を行なう者が、スキーマ構造までを理解してていれば、どの項目を統合すればよいか判断することは容易である。しかし、作業を行なう者が、統合対象のデータについて十分な知識を有しておらず、データ項目名が「t1」などの無意味な項目名が定義されている場合、どの項目を統合すればよいかを判断することは非常に困難である。従って、このような点からも、データベースの統合は、時間がかかる作業である。
【０００５】
このような問題を解決するため、例えば、特許文献１は、分類構築支援システムを開示している。特許文献１に開示された分類構築支援システムは、まず、データ項目に関して、そのデータ項目のレコードデータを使って、データ項目の特徴値を抽出する。次いで、分類構築支援システムは、抽出した特徴値について、あらかじめ定義しておいた属性との類似度を求めることで、複数のデータ項目それぞれを適切な分類又は属性に分類する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−９９２３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に開示された分類構築支援システムでは、同じ特徴値を持つデータ項目を１つの属性に纏める事はできるが、その属性を持つデータ項目の名称を判断することは不可能である。
【０００８】
例えば、あるデータ項目について、それを分類する属性として「温度」が判断されたとする。この場合において、データ統合を行なうためには、その「温度」の属性を持つデータ項目が、「平均気温」、「最高気温」、「最低気温」のいずれの項目名を定義することが適切であるか、ということは識別が困難であった。
【０００９】
本発明の目的の一例は、上記問題を解消し、データベースに登録されているデータに関する知識を必要とすることなく、データ項目に付与される項目名を推定し得る、データ項目名推定装置、データ項目名推定方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の一側面におけるデータ項目名推定装置は、
学習用のテーブルにおけるデータ項目名毎に、当該データ項目名が付与されているデータの特徴値を抽出し、抽出した特徴値と当該データ項目名に対応する属性との関係を定義し、前記属性毎に、対応するデータ項目名を特定し、前記学習用のテーブルにおける前記属性と前記データ項目名との組合せを学習して、学習モデルを作成する、学習処理部と、
対象となるテーブルのデータ項目毎の特徴値を、前記学習処理部による定義に照合して、各データ項目の属性を推定し、推定したデータ項目毎の属性を、前記学習モデルに適用して、前記対象となるテーブルのデータ項目のデータ項目名を推定する、推定処理部と、
を備えている、ことを特徴とする。
【００１１】
また、上記目的を達成するため、本発明の一側面におけるデータ項目名推定方法は、
（ａ）学習用のテーブルにおけるデータ項目名毎に、当該データ項目名が付与されているデータの特徴値を抽出し、抽出した特徴値と当該データ項目名に対応する属性との関係を定義し、前記属性毎に、対応するデータ項目名を特定し、前記学習用のテーブルにおける前記属性と前記データ項目名との組合せを学習して、学習モデルを作成する、ステップと、
（ｂ）対象となるテーブルのデータ項目毎の特徴値を、前記（ａ）のステップで得られた定義に照合して、各データ項目の属性を推定し、推定したデータ項目毎の属性を、前記学習モデルに適用して、前記対象となるテーブルのデータ項目のデータ項目名を推定する、ステップと、
を有する、ことを特徴とする。
【００１２】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
（ａ）学習用のテーブルにおけるデータ項目名毎に、当該データ項目名が付与されているデータの特徴値を抽出し、抽出した特徴値と当該データ項目名に対応する属性との関係を定義し、前記属性毎に、対応するデータ項目名を特定し、前記学習用のテーブルにおける前記属性と前記データ項目名との組合せを学習して、学習モデルを作成する、ステップと、
（ｂ）対象となるテーブルのデータ項目毎の特徴値を、前記（ａ）のステップで得られた定義に照合して、各データ項目の属性を推定し、推定したデータ項目毎の属性を、前記学習モデルに適用して、前記対象となるテーブルのデータ項目のデータ項目名を推定する、ステップと、
を実行させることを特徴とする。
【発明の効果】
【００１３】
以上のように、本発明によれば、データベースに登録されているデータに関する知識を必要とすることなく、データ項目に付与される項目名を推定することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態におけるデータ項目推定装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態におけるデータ項目推定装置の具体的構成を示すブロック図である。
【図３】図３は、本発明の実施の形態で用いられる学習用のテーブルの一例を示す図である。
【図４】図４は、本発明の実施の形態において、データ項目名の推定処理の対象となる対象テーブルの一例を示す図である。
【図５】図５は、本発明の実施の形態におけるデータ項目名推定装置の学習処理時における動作を示すフロー図である。
【図６】図６は、本発明の実施の形態において作成される属性情報の一例を示す図である。
【図７】図７は、本発明の実施の形態において作成される属性個物情報の一例を示す図である。
【図８】図８は、本発明の実施の形態において作成される属性組合せ情報の一例を示す図である。
【図９】図９は、本発明の実施の形態におけるデータ項目名推定装置の推定処理時における動作を示すフロー図である。
【図１０】図１０（ａ）は、本発明の実施の形態で用いられる対象テーブルから抽出された特徴値の一例を示す図である。図１０（ｂ）は、図１０（ａ）に示された特徴値から算出された類似度の一例を示す図である。
【図１１】図１１（ａ）は、本発明の実施の形態で用いられる属性組合せ情報の一例を示す図である。図１１（ｂ）は、本発明の実施の形態で算出されたデータ項目名の出現頻度の一例を示す図である。
【図１２】図１２は、本発明の実施の形態におけるデータ項目推定装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１５】
（発明の概要）
本発明では、データ項目名の推定対象となるテーブルのデータ項目から、特徴値を抽出し、抽出した特徴値と属性との類似度を算出して、類似度の高い属性にそれぞれのデータ項目を分類する。そして、推定対象となるテーブルを構成するデータ項目の属性の組み合わせを、事前に学習しておいたデータ項目の属性の組み合わせとデータ項目名との対応関係に適用することで、データ項目にどのようなデータ項目名が付与されるかを推定する。つまり、本発明では、主に、学習処理と推定処理とが行なわれる。以下に具体的説明する。
【００１６】
（実施の形態）
以下、本発明の実施の形態における、データ項目推定装置、データ項目推定方法、及びプログラムについて、図１〜図１２を参照しながら説明する。
【００１７】
［装置構成］
最初に、本実施の形態におけるデータ項目推定装置の構成について説明する。図１は、本発明の実施の形態におけるデータ項目推定装置の概略構成を示すブロック図である。
【００１８】
図１に示す、本実施の形態におけるデータ項目推定装置１００は、処理の対象となるテーブル（以下、「対象テーブル」と表記する。）のデータ項目名を推定する装置である。図１に示すように、データ項目推定装置１００は、学習処理部１０と、推定処理部２０とを備えている。
【００１９】
学習処理部１０は、まず、学習用のテーブルにおけるデータ項目名毎に、当該データ項目名が付与されているデータの特徴値を抽出し、抽出した特徴値と当該データ項目名に対応する属性との関係を定義する。次いで、学習処理部１０は、属性毎に、対応するデータ項目名を特定し、学習用のテーブルにおける属性とデータ項目名との出現の頻度を学習して、学習モデルを作成する。
【００２０】
推定処理部２０は、まず、対象テーブルのデータ項目毎の特徴値を、学習処理部１０による定義に照合して、各データ項目の属性を推定する。次いで、推定処理部２０は、推定したデータ項目毎の属性を、学習モデルに適用して、対象テーブルのデータ項目のデータ項目名を推定する。
【００２１】
このように、本実施の形態では、データ項目名が既知の学習用のテーブルを用いて、データ項目名を推定するための学習モデルが生成され、この学習モデルを用いることで、データ項目名が既知でないテーブルにおけるデータ項目名が推定される。このため、本実施の形態によれば、データベースに登録されているデータに関する知識を必要とすることなく、データ項目に付与される項目名を推定することができる。
【００２２】
続いて、図２〜図４を用いて、本実施の形態におけるデータ項目推定装置１００の構成についてより具体的に説明する。図２は、本発明の実施の形態におけるデータ項目推定装置の具体的構成を示すブロック図である。図３は、本発明の実施の形態で用いられる学習用のテーブルの一例を示す図である。図４は、本発明の実施の形態において、データ項目名の推定処理の対象となる対象テーブルの一例を示す図である。
【００２３】
図２に示すように、本実施の形態では、データ項目推定装置１００は、学習処理部１０及び推定処理部２０に加えて、記憶部３０を備えている。記憶部３０は、後述する属性情報３１、属性個物情報３２、及び属性組合せ情報３３を格納している。
【００２４】
また、図２に示すように、学習処理部１０は、学習テーブル受付部１１と、特徴抽出部１２と、属性情報作成部１３と、属性個物情報作成部１４と、属性組合せ情報作成部１５とを備えている。
【００２５】
学習テーブル受付部１１は、外部から入力される学習用のテーブル（図３参照）を受け付け、受け付けた学習用のテーブルを特徴抽出部１２に渡す。学習用のテーブルは、図３に示すようにテーブル形式のデータであるが、各レコードデータの形式は、XML(Extensible markup language)、CSV(Common Separated Value)、HTML(Hypertext markup language)等のいずれの形式であってもよい。
【００２６】
特徴抽出部１２は、学習用のテーブルにおけるデータ項目名毎に、そのデータ項目名が付与されているレコードのデータから特徴値を抽出する。抽出される特徴値としては、データ型（文字型、数値型）、統計情報（平均値、分散値）、同じレコードの出現頻度等が挙げられる（後述の図６参照）。また、テーブルから特徴値を抽出する方法としては、上述した特許文献１に開示されている方法が挙げられる。
【００２７】
属性情報作成部１３は、特徴抽出部１２が抽出した特徴値と、抽出元のデータのデータ項目名に対応する属性との関係を定義した属性情報３１（後述の図６参照）を作成し、作成した属性情報を記憶部３０に格納する。
【００２８】
具体的には、属性情報作成部１３は、特徴抽出部１２が抽出した特徴値について、外部から、抽出元のデータのデータ項目名に対応する属性が設定されると、この特徴値と設定された属性とを対応付ける属性情報３１を作成する。また、属性の設定は、人手によって行なわれていても良い。
【００２９】
属性個物情報作成部１４は、属性情報作成部１３が作成した属性情報に含まれる属性毎に、対応するデータ項目名が付与された属性個物情報（図７参照）を作成する。
【００３０】
具体的には、属性個物情報作成部１４は、属性情報に含まれる属性それぞれに対して、対応するデータ項目名が設定されると、属性と、入力されたデータ項目名が付与された個物とを用いて、属性個物情報を作成する。属性個物情報は、属性と個物との対応関係を示している。なお、ここでいう個物とは、データ項目名が付与されたオブジェクトを意味している。また、データ項目名の設定は、人手によって行なわれていても良い。
【００３１】
属性組合せ情報作成部１５は、属性個物情報を用いて、学習モデルとして、学習用のテーブルにおける属性の組合わせとそれに対応するデータ項目名とを示す属性組合せ情報（図８参照）を作成する。
【００３２】
また、図２に示すように、推定処理部２０は、対象テーブル受付部２１と、特徴抽出部２２と、属性推定部２３と、項目名推定部２４と、推定結果表示部２５と、結果編集部２６とを備えている。
【００３３】
対象テーブル受付部２１は、外部から入力される対象テーブル（図４参照）を受付、受け付けた対象テーブルを特徴抽出部２２に渡す。対象テーブルも、図４に示すように学習用のテーブルと同様に、テーブル形式のデータである。また、対象テーブルにおける各レコードデータの形式も、XML(Extensible markup language)、CSV(Common Separated Value)、HTML(Hypertext markup language)等のいずれの形式であってもよい。
【００３４】
特徴抽出部２２は、対象テーブルのレコードから、データ項目毎に、データの特徴値を抽出する。抽出される特徴値としては、データ型（文字型、数値型）、統計情報（平均値、分散値）、同じレコードの出現頻度等が挙げられる。また、テーブルから特徴値を抽出する方法としては、上述した特許文献１に開示されている方法が挙げられる。
【００３５】
属性推定部２３は、特徴抽出部２２が抽出した特徴値を、属性情報３１に照合して、各データ項目の属性を推定する。具体的には、属性推定部２３は、まず、各データ項目の特徴値と、属性情報３１に含まれる各属性の特徴値とを比較して、類似度を算出する。そして、属性推定部２３は、推定対象となっているデータ項目の特徴値との類似度が最も高い属性を特定し、特定した属性を、推定対象となっているデータ項目の属性として推定する（後述の図１０（ａ）及び（ｂ）参照）。
【００３６】
項目名推定部２４は、まず、属性推定部２３が推定した属性を用いて、属性の組合せを設定する。次いで、項目名推定部２４は、設定した属性の組合せ毎に、属性組合せ情報３３及び属性個物情報３２を用いて、特定のデータ項目名が出現する頻度を算出する。そして、項目名推定部２４は、算出結果に基づいて、対象テーブルのデータ項目それぞれのデータ項目名を推定する。
【００３７】
具体的には、項目名推定部２４は、属性個物情報３２を用いて、組合せが設定された各属性について、対応する可能性がある１又は２以上のデータ項目名を特定する。そして、項目名推定部２４は、属性組合せ情報３３を用いて、設定した属性の組合せ毎に、対応する可能性があるデータ項目名それぞれについて出現頻度（出現確率）を計算する。そして、項目名推定部２４は、推定された属性のデータ項目名として、対応する可能性があるデータ項目名のうち、出現頻度が最も高いデータ項目名を特定する。
【００３８】
推定結果表示部２５は、項目名推定部２４が推定したデータ項目名を、データ項目名推定装置１００に接続された表示装置、又は外部の端末装置の表示装置の画面に表示する。結果編集部２６は、推定されたデータ項目名に誤りがあると判断され、外部から、修正されたデータ項目名が入力された場合に、項目名推定部２４による推定結果を修正する。また、結果編集部２６は、修正内容を、学習処理部１０に伝えることができる。この場合、学習処理部１０に、修正内容を、属性情報３１、属性個物情報３２、及び属性組合せ情報３３に反映させる。
【００３９】
［装置動作］
次に、本実施の形態におけるデータ項目推定装置１００の動作について図３〜図１０を用いて説明する。また、本実施の形態では、データ項目推定装置１００を動作させることによって、データ項目推定方法が実施される。よって、本実施の形態におけるデータ項目推定方法の説明は、以下のデータ項目推定装置１００の動作説明に代える。
【００４０】
まず、図５〜図８を用いて、学習フェーズ（学習処理）について説明する。図５は、本発明の実施の形態におけるデータ項目名推定装置の学習処理時における動作を示すフロー図である。
【００４１】
図５に示すように、最初に、学習テーブル受付部１１は、外部から入力される学習用のテーブル（図３参照）を受け付ける（ステップＡ１）。また、学習テーブル受付部１１は、受け付けた学習用のテーブルを特徴抽出部１２に渡す。
【００４２】
次に、特徴抽出部１２は、受け付けた学習用のテーブルのデータ項目の１つを選択し、選択したデータ項目のレコードのデータから、特徴値を抽出する（ステップＡ２）。
【００４３】
次に、特徴抽出部１２は、全てのデータ項目から特徴値を抽出したかどうかを判定する（ステップＡ３）。判定の結果、全てのデータ項目から特徴値を抽出していない場合は、特徴抽出部１２は、再度ステップＡ２を実行し、全てのデータ項目から特徴値を抽出している場合は、属性情報作成部１３に、ステップＡ４を実行するように指示する。
【００４４】
属性情報作成部１３は、ステップＡ３でＹｅｓと判定されると、データ項目毎に、設定された属性を対応付けて、属性情報３１を作成する（ステップＡ４）。また、ステップＡ４において、属性の設定は、外部において、人手によって、抽出元のデータのデータ項目名に基づいて行なわれている。図６は、本発明の実施の形態において作成される属性情報の一例を示す図である。
【００４５】
次に、属性個物情報作成部１４は、ステップＡ４で作成された属性情報に含まれる属性毎に、対応するデータ項目名が付与された属性個物情報３２を作成する（ステップＡ５）。また、ステップＡ５において、データ項目名の設定は、外部において、人手によって行なわれている。図７は、本発明の実施の形態において作成される属性個物情報の一例を示す図である。
【００４６】
次に、属性組合せ情報作成部１５は、ステップＡ５で作成された属性個物情報を用いて、学習モデルとして、学習用のテーブルにおける属性の組合せとそれに対応するデータ項目名とを示す属性組合せ情報３３を作成する（ステップＡ６）。図８は、本発明の実施の形態において作成される属性組合せ情報の一例を示す図である。
【００４７】
続いて、図９〜図１０を用いて、推定フェーズ（推定処理）について説明する。図９は、本発明の実施の形態におけるデータ項目名推定装置の推定処理時における動作を示すフロー図である。
【００４８】
図９に示すように、最初に、対象テーブル受付部２１は、外部から入力される対象テーブル（図４参照）を受け付ける（ステップＢ１）。また、対象テーブル受付部２１は、受け付けた対象テーブルを特徴抽出部２２に渡す。
【００４９】
次に、特徴抽出部２２は、図１０（ａ）に示すように、受け付けた対象テーブルのデータ項目の１つを選択し、選択したデータ項目のレコードのデータから、特徴値を抽出する（ステップＢ２）。
【００５０】
図１０（ａ）は、本発明の実施の形態で用いられる対象テーブルから抽出された特徴値の一例を示す図である。図１０（ｂ）は、図１０（ａ）に示された特徴値から算出された類似度の一例を示す図である。
【００５１】
次に、特徴抽出部２２は、全てのデータ項目から特徴値を抽出したかどうかを判定する（ステップＢ３）。判定の結果、全てのデータ項目から特徴値を抽出していない場合は、特徴抽出部２２は、再度ステップＢ２を実行し、全てのデータ項目から特徴値を抽出している場合は、属性推定部２３に、ステップＢ４を実行するように指示する。
【００５２】
属性推定部２３は、ステップＢ３でＹｅｓと判定されると、対象テーブルのデータ項目を１つ選択する。そして、属性推定部２３は、図１０（ｂ）に示すように、選択したデータ項目特徴値と、属性情報３１に含まれる各属性の特徴値とを比較して、類似度を算出し、類似度が最も高い属性をそのデータ項目の属性として推定する（ステップＢ４）。
【００５３】
次に、属性推定部２３は、全てのデータ項目について属性を推定したかどうかを判定する（ステップＢ５）。判定の結果、全てのデータ項目について属性を推定していない場合は、属性推定部２３は、再度ステップＢ４を実行し、全てのデータ項目について属性を推定している場合は、項目名推定部２４に、ステップＢ６を実行するように指示する。
【００５４】
次に、ステップＢ５でＹｅｓと判定された場合、属性推定部２３は、まず、ステップＢ４で推定された属性を用いて、同時に出現する複数の属性の組合せを設定する。次いで、項目名推定部２４は、図１１（ａ）及び（ｂ）に示すように、設定した属性の組合せ毎に、属性組合せ情報３３及び属性個物情報３２を用いて、特定のデータ項目名が出現する頻度（出現確率）を算出する（ステップＢ６）。
【００５５】
図１１（ａ）は、本発明の実施の形態で用いられる属性組合せ情報の一例を示す図である。図１１（ｂ）は、本発明の実施の形態で算出されたデータ項目名の出現頻度の一例を示す図である。図１１（ｂ）において、「推定対象属性：［属性組合せ］」は、ある属性組合せにおける、データ項目名の推定対象となる属性を意味している。例えば、「日付：［地名、日付］」は、属性の組合せが「地名、日付」である場合において、データ項目名の推定対象は「日付」であることを意味している。
【００５６】
また、本実施の形態では、項目名推定部２４は、例えば、属性の組み合わせから、ある属性を持つデータ項目のデータ項目名を推定する相関ルールを作成する。更に、項目名推定部２４は、属性個物情報３２を参照して、推定属性と同じ属性を持つ個物（データ項目名）を特定し、特定した個物について、相関ルールを用いて、データ項目名として選ばれる確率を算出する。
【００５７】
更に、相関ルールの作成は、例えば、下記の参照文献１または参照文献２に開示されている相関関係を利用したアルゴリズムを用いることによって行なうことができる。
（参照文献１）G. Piatetsky-Shapiro(1991). Discovery, analysis, and presentation of strong rules. In G. Piatetsky-Shapiro and W. J. Frawley, editors, Knowledge Discovery in Databases. AAAI/MIT Press, Cambridge, MA.
（参照文献２）R. Agrawal, T. Imielinski, and A. Swami(1993). Mining association rules between sets of items in large databases. In Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data, pages 207-216.
【００５８】
次に、項目名推定部２４は、対象テーブルのデータ項目を１つ選択する。そして、項目名推定部２４は、選択したデータ項目の推定された属性と、それと同時に出現している他の属性との組合せを、ステップＢ６で得られた算出結果に照合し、最も出現確率が高いデータ項目名を、選択したデータ項目のデータ項目名と推定する（ステップＢ７）。
【００５９】
次に、項目名推定部２４は、全てのデータ項目についてデータ項目名を推定したかどうかを判定する（ステップＢ８）。判定の結果、全てのデータ項目についてデータ項目名を推定していない場合は、項目名推定部２４は、再度ステップＢ７を実行する。
【００６０】
一方、判定の結果、全てのデータ項目についてデータ項目名を推定している場合は、項目名推定部２４は、推定結果表示部２５に結果を表示させる。これにより、データ項目名推定装置１００における処理は終了する。
【００６１】
また、本実施の形態では、項目名推定部２４は、属性組合せ情報３３を入力として、データ項目名を出力するニューラルネットワークを形成し、形成したニューラルネットワークを用いて、データ項目名を推定しても良い。更に、項目名推定部２４は、属性組合せ情報３３を入力として、データ項目の属性の組み合わせから出現率が最も高いデータ項目名を推定するためのベイズ推定を構築し、構築したベイス推定を用いて、データ項目名を推定しても良い。
【００６２】
以上のように、本実施の形態では、データベースに登録されているデータに関する知識を必要とすることなく、データ項目に付与される項目名を推定することができる。このため、本実施の形態を用いれば、データ分析又はデータ統合をする場合において、データの知識を有していなくても、同一の意味を持ち、統合可能なデータ項目を容易に特定できる。
【００６３】
［プログラム］
本実施の形態におけるプログラムは、コンピュータに、図５に示すステップＡ１〜Ａ６、図９に示すステップＢ１〜Ｂ８を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるデータ項目推定装置１００とデータ項目推定方法とを実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、学習処理部１０及び推定処理部２０として機能し、処理を行なう。
【００６４】
また、本実施の形態では、記憶部３０は、コンピュータに備えられたハードディスク等の記憶装置に、属性情報３１、属性個物情報３２、及び属性組合せ情報３３を構成するデータファイルを格納することによって実現できる。
【００６５】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、学習処理部１０及び推定処理部２０のいずれかとして機能しても良い。また、記憶部３０は、本実施の形態におけるプログラムを実行するコンピュータとは別のコンピュータ上に構築されていても良い。
【００６６】
ここで、本実施の形態におけるプログラムを実行することによって、データ項目推定装置１００を実現するコンピュータについて図１２を用いて説明する。図１２は、本発明の実施の形態におけるデータ項目推定装置を実現するコンピュータの一例を示すブロック図である。
【００６７】
図１２に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【００６８】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００６９】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００７０】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００７１】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体が挙げられる。
【００７２】
なお、本実施の形態におけるデータ項目推定装置１００は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、データ項目推定装置１００は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【産業上の利用可能性】
【００７３】
データ統合を行う際、統合対象のデータに関して、データ構造とデータ項目の意味の知識を有していなくても、推定により同じデータ項目を持つデータ構造の推定が可能となる。
【符号の説明】
【００７４】
１０  学習処理部
１１  学習テーブル受付部
１２  特徴抽出部
１３  属性情報作成部
１４  属性個物情報作成部
１５  属性組合せ情報作成部
２０  推定処理部
２１  対象テーブル受付部
２２  特徴抽出部
２３  属性推定部
２４  項目名推定部
２５  推定結果表示部
２６  結果編集部
３０  記憶部
３１  属性情報
３２  属性個物情報
３３  属性組合せ情報
１００  データ項目名推定装置
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2018151805.tif 000003
【図２】
2018151805.tif 000004
【図３】
2018151805.tif 000005
【図４】
2018151805.tif 000006
【図５】
2018151805.tif 000007
【図６】
2018151805.tif 000008
【図７】
2018151805.tif 000009
【図８】
2018151805.tif 000010
【図９】
2018151805.tif 000011
【図１０】
2018151805.tif 000012
【図１１】
2018151805.tif 000013
【図１２】
2018151805.tif 000014