(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-01
(45)【発行日】2022-11-10
(54)【発明の名称】データ統合支援装置、データ統合支援方法、及びデータ統合支援プログラム
(51)【国際特許分類】
G06F 16/906 20190101AFI20221102BHJP
G06F 16/21 20190101ALI20221102BHJP
G06F 16/84 20190101ALI20221102BHJP
【FI】
G06F16/906
G06F16/21
G06F16/84
(21)【出願番号】P 2019001834
(22)【出願日】2019-01-09
【審査請求日】2021-10-07
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100087480
【氏名又は名称】片山 修平
(72)【発明者】
【氏名】ジャン イーユェー
(72)【発明者】
【氏名】坂巻 慶行
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】米国特許出願公開第2014/0337331(US,A1)
【文献】田上 諒,単語分散表現を用いたEarth Mover’s Distanceと文長の違いに基づく類似度による対訳文の自動抽出,電子情報通信学会 技術研究報告 Vol.118 No.355 [online],日本,一般社団法人 電子情報通信学会,2018年12月04日,第118巻,第355号,pp. 3-8
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
第1の属性名と前記第1の属性名に応じた第1の属性値を含む第1の構造化データ及び複数の第2の属性名と前記複数の第2の属性名のそれぞれに応じた第2の属性値を含む第2の構造化データを記憶する記憶部と、
前記第1の属性値を集約した第1の文書情報と前記第2の属性値を属性名毎に集約した第2の文書情報を生成し、単語の構文に関する特徴量を表す構文的特徴量を重要単語と併せて抽出する第1の抽出手法に基づいて、前記第1の文書情報から前記第1の属性値が含む単語の第1の構文的特徴量を抽出し、前記第2の文書情報から前記第2の属性値が含む単語の第2の構文的特徴量を抽出し、前記第1の構文的特徴量及び前記第2の構文的特徴量の抽出と併せて特定の重要単語を抽出し、前記単語の意味に関する特徴量を表す意味的特徴量を抽出する第2の抽出手法に基づいて、前記特定の重要単語から前記特定の重要単語に応じた特定の意味的特徴量を抽出し、前記特定の意味的特徴量に前記第1の構文的特徴量を重み付けした第1の合成特徴量と前記特定の意味的特徴量に前記第2の構文的特徴量を重み付けした第2の合成特徴量を生成し、前記第1の合成特徴量と前記第2の合成特徴量の類似度を表す第1の類似度及び前記第1の類似度に応じて決定した前記第1の属性名の統合先を示す特定の第2の属性名の少なくとも一方を出力する処理を実行する処理部と、
を備えるデータ統合支援装置。
【請求項2】
前記処理部は、前記第1の文書情報と前記第2の文書情報を生成した後、前記第1の構文的特徴量と前記第2の構文的特徴量を抽出する前に、前記第1の属性値及び前記第2の属性値が文字か否かを判断し、前記第1の属性値及び前記第2の属性値が文字であると判断した場合に、前記第1の構文的特徴量と前記第2の構文的特徴量を抽出する、
ことを特徴とする請求項1に記載のデータ統合支援装置。
【請求項3】
前記処理部は、前記第1の類似度を算出し、算出した前記第1の類似度を前記第1の属性名及び前記第2の属性名と併せて表示装置に出力する、
ことを特徴とする請求項1又は2に記載のデータ統合支援装置。
【請求項4】
前記処理部は、前記第1の文書情報と前記第2の文書情報を生成した後、前記第1の構文的特徴量と前記第2の構文的特徴量を抽出する前に、前記第1の属性値及び前記第2の属性値が数値か否かを判断し、前記第1の属性値及び前記第2の属性値が数値であると判断した場合、形態素解析に基づいて、前記第1の属性名から前記第1の属性名が含む第1の単語を取得するとともに、前記第2の属性名から前記第2の属性名が含む第2の単語を取得し、前記第2の抽出手法に基づいて、前記第1の単語から前記第1の単語に応じた第1の意味的特徴量を抽出するとともに、前記第2の単語から前記第2の単語に応じた第2の意味的特徴量を抽出し、前記第1の意味的特徴量を平均化した第1の平均特徴量を生成するとともに、前記第2の意味的特徴量を平均化した第2の平均特徴量を生成し、前記第1の平均特徴量と前記第2の平均特徴量の類似度を表す第2の類似度及び前記第2の類似度に応じて決定した前記第1の属性名の統合先を示す特定の第2の属性名の少なくとも一方を出力する、
ことを特徴とする請求項1に記載のデータ統合支援装置。
【請求項5】
前記処理部は、前記第2の類似度を算出し、算出した前記第2の類似度を前記第1の属性名及び前記第2の属性名と併せて表示装置に出力する、
ことを特徴とする請求項4に記載のデータ統合支援装置。
【請求項6】
前記第1の構造化データと前記第2の構造化データはいずれもデータの構造定義を部分的に持つ半構造化データを含む、
ことを特徴とする請求項1から5のいずれか1項に記載のデータ統合支援装置。
【請求項7】
第1の属性名と前記第1の属性名に応じた第1の属性値を含む第1の構造化データ及び複数の第2の属性名と前記複数の第2の属性名のそれぞれに応じた第2の属性値を含む第2の構造化データを記憶し、
前記第1の属性値を集約した第1の文書情報と前記第2の属性値を属性名毎に集約した第2の文書情報を生成し、
単語の構文に関する特徴量を表す構文的特徴量を重要単語と併せて抽出する第1の抽出手法に基づいて、前記第1の文書情報から前記第1の属性値が含む単語の第1の構文的特徴量を抽出し、前記第2の文書情報から前記第2の属性値が含む単語の第2の構文的特徴量を抽出し、前記第1の構文的特徴量及び前記第2の構文的特徴量の抽出と併せて特定の重要単語を抽出し、
前記単語の意味に関する特徴量を表す意味的特徴量を抽出する第2の抽出手法に基づいて、前記特定の重要単語から前記特定の重要単語に応じた特定の意味的特徴量を抽出し、
前記特定の意味的特徴量に前記第1の構文的特徴量を重み付けした第1の合成特徴量と前記特定の意味的特徴量に前記第2の構文的特徴量を重み付けした第2の合成特徴量を生成し、
前記第1の合成特徴量と前記第2の合成特徴量の類似度を表す第1の類似度及び前記第1の類似度に応じて決定した前記第1の属性名の統合先を示す特定の第2の属性名の少なくとも一方を出力する、
処理をコンピュータが実行するデータ統合支援方法。
【請求項8】
第1の属性名と前記第1の属性名に応じた第1の属性値を含む第1の構造化データ及び複数の第2の属性名と前記複数の第2の属性名のそれぞれに応じた第2の属性値を含む第2の構造化データを記憶し、
前記第1の属性値を集約した第1の文書情報と前記第2の属性値を属性名毎に集約した第2の文書情報を生成し、
単語の構文に関する特徴量を表す構文的特徴量を重要単語と併せて抽出する第1の抽出手法に基づいて、前記第1の文書情報から前記第1の属性値が含む単語の第1の構文的特徴量を抽出し、前記第2の文書情報から前記第2の属性値が含む単語の第2の構文的特徴量を抽出し、前記第1の構文的特徴量及び前記第2の構文的特徴量の抽出と併せて特定の重要単語を抽出し、
前記単語の意味に関する特徴量を表す意味的特徴量を抽出する第2の抽出手法に基づいて、前記特定の重要単語から前記特定の重要単語に応じた特定の意味的特徴量を抽出し、
前記特定の意味的特徴量に前記第1の構文的特徴量を重み付けした第1の合成特徴量と前記特定の意味的特徴量に前記第2の構文的特徴量を重み付けした第2の合成特徴量を生成し、
前記第1の合成特徴量と前記第2の合成特徴量の類似度を表す第1の類似度及び前記第1の類似度に応じて決定した前記第1の属性名の統合先を示す特定の第2の属性名の少なくとも一方を出力する、
処理をコンピュータに実行させるためのデータ統合支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、データ統合支援装置、データ統合支援方法、及びデータ統合支援プログラムに関する。
【背景技術】
【0002】
システム統合などによりデータベースの統合処理が必要となることが知られている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、データベースの統合処理では、統合対象及び統合先が構造化データである場合、2つのスキーマをマッチングするスキーママッチングと呼ばれる技術が利用される。例えば、統合対象及び統合先がテーブル形式の構造化データである場合、統合対象の個々の属性名データ一式をマッチング対象のスキーマとし、統合先の個々の属性名データ一式をマッチング先のスキーマとしてスキーママッチングが行われる。
【0005】
ところが、属性名データ(以下、単に属性名という)の表現は統一されていないことがある。例えば、統合対象の属性名として「会社」が定義されており、統合先の属性名として「社名」が定義されている場合がある。この場合、それぞれの属性値データ(以下、単に属性値という)が具体的な企業の名称を表していれば、これら2つの属性名は構文的(syntactic)に一致しないものの意味的(semantic)に同義であると人なら判断することができ、2つの属性名に統合することできる。
【0006】
しかしながら、スキーママッチングをソフトウェア処理などによって機械的に行う場合、上述したように、統合対象の属性名と統合先の属性名が構文的に一致しないことがあるため、これら2つの属性名だけで属性名を統合できるか判断することは難しい。一方で、属性値を抽出して属性名の意味を機械的に判断することを試みると、属性値は膨大であるため多大な計算量が要求されるという問題がある。
【0007】
そこで、1つの側面では、効率的なデータ統合を支援することを目的とする。
【課題を解決するための手段】
【0008】
1つの実施態様では、データ統合支援装置は、第1の属性名と前記第1の属性名に応じた第1の属性値を含む第1の構造化データ及び複数の第2の属性名と前記複数の第2の属性名のそれぞれに応じた第2の属性値を含む第2の構造化データを記憶する記憶部と、前記第1の属性値を集約した第1の文書情報と前記第2の属性値を属性名毎に集約した第2の文書情報を生成し、単語の構文に関する特徴量を表す構文的特徴量を重要単語と併せて抽出する第1の抽出手法に基づいて、前記第1の文書情報から前記第1の属性値が含む単語の第1の構文的特徴量を抽出し、前記第2の文書情報から前記第2の属性値が含む単語の第2の構文的特徴量を抽出し、前記第1の構文的特徴量及び前記第2の構文的特徴量の抽出と併せて特定の重要単語を抽出し、前記単語の意味に関する特徴量を表す意味的特徴量を抽出する第2の抽出手法に基づいて、前記特定の重要単語から前記特定の重要単語に応じた特定の意味的特徴量を抽出し、前記特定の意味的特徴量に前記第1の構文的特徴量を重み付けした第1の合成特徴量と前記特定の意味的特徴量に前記第2の構文的特徴量を重み付けした第2の合成特徴量を生成し、前記第1の合成特徴量と前記第2の合成特徴量の類似度を表す第1の類似度及び前記第1の類似度に応じて決定した前記第1の属性名の統合先を示す特定の第2の属性名の少なくとも一方を出力する処理を実行する処理部と、を備える。
【発明の効果】
【0009】
効率的なデータ統合を支援することができる。
【図面の簡単な説明】
【0010】
【
図2】
図2は端末装置のハードウェア構成の一例である。
【
図4】
図4は端末装置が実行する処理の一例を示すフローチャート(その1)である。
【
図5】
図5(a)は第1構造化データの一例である。
図5(b)は第2構造化データの一例である。
【
図6】
図6は第1構造化データからの文書情報の生成例を説明するための図である。
【
図7】
図7は第2構造化データからの文書情報の生成例を説明するための図である。
【
図8】
図8は文書情報の分類例を説明するための図である。
【
図9】
図9はデータクレンジングの一例を説明するための図である。
【
図10】
図10は形態素解析の一例を説明するための図である。
【
図11】
図11は構文的特徴量と重要単語の抽出例を説明するための図である。
【
図12】
図12は意味的特徴量の抽出例を説明するための図である。
【
図13】
図13は合成特徴量の生成例を説明するための図である。
【
図14】
図14は属性値が文字である場合のマッチング例を説明するための図である。
【
図15】
図15は端末装置が実行する処理の一例を示すフローチャート(その2)である。
【
図18】
図18は意味的特徴量の他の抽出例を説明するための図である。
【
図19】
図19は平均特徴量の生成例を説明するための図である。
【
図20】
図20は属性値が数値である場合のマッチング例を説明するための図である。
【
図21】
図21は属性値が数値である場合の他のマッチング例を説明するための図である。
【
図23】
図23は第1実施形態に係る利点を簡単に説明した図である。
【
図24】
図24は比較例に係るマッチング例を説明するための図である。
【
図25】
図25は第2実施形態に係るマッチング例を説明するための図である。
【発明を実施するための形態】
【0011】
以下、本件を実施するための形態について図面を参照して説明する。
【0012】
(第1実施形態)
図1は端末装置100の一例である。端末装置100はデータ統合支援装置の一例である。
図1では、端末装置100の一例としてPersonal Computer(PC)が示されているが、タブレット端末といったスマートデバイスであってもよい。端末装置100はキーボード及びポインティングデバイス(以下、単にキーボードという)100Fを備えている。端末装置100はディスプレイ100Gを備えている。ディスプレイ100Gは液晶ディスプレイであってもよいし、有機electro-luminescence(EL)ディスプレイであってもよい。
【0013】
ディスプレイ100Gは種々の画面を表示する。詳細は後述するが、例えばディスプレイ100Gは統合対象の属性名、その属性名に統合可能な統合先の属性名の候補、及びその候補の順位などを含むマッチングリスト画面10を表示する。端末装置100を利用するユーザ(例えばデータサイエンティストなど)はマッチングリスト画面10に含まれる候補の順位などを確認し、キーボード100Fを操作して統合先の属性名の候補の中からいずれか1つの候補を選択する。これにより、端末装置100は選択された候補に統合対象の属性名を統合する。このように、マッチングリスト画面10で提示される情報を利用することによって、ユーザはデータ統合の属性名を容易に決定することができ、データ統合の効率化を図ることができる。
【0014】
次に、
図2を参照して、端末装置100のハードウェア構成について説明する。
【0015】
図2は端末装置100のハードウェア構成の一例である。
図2に示すように、端末装置100は、少なくともハードウェアプロセッサとしてのCentral Processing Unit(CPU)100A、Random Access Memory(RAM)100B、Read Only Memory(ROM)100C、及びネットワークI/F(インタフェース)100Dを含んでいる。また、上述したように、端末装置100は、キーボード100F及びディスプレイ100Gも含んでいる。
【0016】
さらに、端末装置100は、必要に応じて、Hard Disk Drive(HDD)100E、入出力I/F100H、ドライブ装置100I、及び近距離無線通信回路100Jの少なくとも1つを含んでいてもよい。CPU100Aから近距離無線通信回路100Jは、内部バス100Kによって互いに接続されている。すなわち、端末装置100はコンピュータによって実現することができる。尚、CPU100Aに代えてMicro Processing Unit(MPU)をハードウェアプロセッサとして利用してもよい。
【0017】
入出力I/F100Hには、半導体メモリ730が接続される。半導体メモリ730としては、例えばUniversal Serial Bus(USB)メモリやフラッシュメモリなどがある。入出力I/F100Hは、半導体メモリ730に記憶されたプログラムやデータを読み取る。入出力I/F100Hは、例えばUSBポートを備えている。ドライブ装置100Iには、可搬型記録媒体740が挿入される。可搬型記録媒体740としては、例えばCompact Disc(CD)-ROM、Digital Versatile Disc(DVD)といったリムーバブルディスクがある。ドライブ装置100Iは、可搬型記録媒体740に記録されたプログラムやデータを読み込む。近距離無線通信回路100JはWi-Fi(登録商標)やBluetooth(登録商標)といった近距離無線通信を実現する電気回路又は電子回路である。近距離無線通信回路100Jにはアンテナ100J´が接続されている。近距離無線通信回路100Jに代えて通信機能を実現するCPUが利用されてもよい。ネットワークI/F100Dは、例えばLocal Area Network(LAN)ポートを備えている。
【0018】
上述したRAM100Bには、ROM100CやHDD100Eに記憶されたプログラムがCPU100Aによって一時的に格納される。RAM100Bには、可搬型記録媒体740に記録されたプログラムがCPU100Aによって一時的に格納される。格納されたプログラムをCPU100Aが実行することにより、CPU100Aは後述する各種の機能を実現し、また、後述する各種の処理を実行する。尚、プログラムは後述するフローチャートに応じたものとすればよい。
【0019】
次に、
図3を参照して、端末装置100の機能構成について説明する。
【0020】
図3は端末装置100のブロック図の一例である。
図3では端末装置100の機能の要部が示されている。
図3に示すように、端末装置100は記憶部110、処理部120、入力部130、及び表示部140を備えている。記憶部110は上述したRAM100BやHDD100Eによって実現することができる。処理部120は上述したCPU100Aによって実現することができる。入力部130は上述したキーボード100Fによって実現することができる。表示部140は上述したディスプレイ100Gによって実現することができる。したがって、記憶部110、処理部120、入力部130、及び表示部140は互いに接続されている。
【0021】
ここで、記憶部110はデータ記憶部111、文書記憶部112、及び辞書記憶部113を構成要素として含んでいる。また、記憶部110は構文特徴記憶部114、ベクトル記憶部115、意味特徴記憶部116、及び合成特徴記憶部117を構成要素として含んでいる。一方、処理部120は文書生成部121、クレンジング部122、及び解析部123を構成要素として含んでいる。また、処理部120は第1抽出部124、第2抽出部125、特徴合成部126、及び類似度出力部127を構成要素として含んでいる。
【0022】
処理部120の各構成要素は記憶部110の各構成要素の少なくとも1つにアクセスして、各種の処理を実行する。例えば、文書生成部121はデータ記憶部111にアクセスして、データ記憶部111が記憶する構造化データを取得する。文書生成部121は構造化データを取得すると、構造化データに含まれる属性値を集約した文書情報を生成し、文書情報を文書記憶部112に格納する。尚、その他の構成要素については、端末装置100の動作を説明する際に詳しく記載する。
【0023】
次に、
図4から
図21を参照して、端末装置100の動作について説明する。
【0024】
はじめに、データ記憶部111は2つの構造化データを記憶する(ステップS101)。より詳しくは、
図5(a)及び(b)に示すように、データ記憶部111は、2つの構造化データとして、第1構造化データD1と第2構造化データD2を記憶する。第1構造化データD1と第2構造化データD2はいずれもテーブル形式でデータ構造が定義された電子ファイルである。第1実施形態において、第1構造化データD1が統合対象に相当し、第2構造化データD2が統合先に相当する。
【0025】
尚、データ記憶部111が記憶する2つの構造化データはComma-Separated Values(CSV)形式でデータ構造が定義された電子ファイルであってもよいし、固定長形式でデータ構造が定義された電子ファイルであってもよい。テーブル形式やCSV形式などはデータ構造が完全に定義されているため、構造化データを完全構造化データといいかえてもよい。一方、構造化データには、画像ファイルや音声ファイルといったデータ構造が全く定義されていない非構造化データは含まれない。以上説明した2つの構造化データは後続の処理が実行される前にデータ記憶部111に格納されていればよく、2つの構造化データの格納経路は特に限定されない。
【0026】
図5(a)に示すように、第1構造化データD1は属性名と属性名に応じた属性値を含んでいる。具体的には、第1構造化データD1は「会社」や「振込日」などを属性名として含んでいる。また、第1構造化データD1は「出雲金属(株)」や「2012年2月2日」などを属性値として含んでいる。尚、第1実施形態では、
図5(a)に示すように、複数の属性名と複数の属性名のそれぞれに応じた属性値を含む第1構造化データD1を一例として説明するが、1つの属性名と1つの属性名に応じた属性値を含む第1構造化データD1であってもよい。すなわち、統合対象に相当する第1構造化データD1に含まれる属性名の数は特に限定されない。
【0027】
一方、
図5(b)に示すように、第2構造化データD2は複数の属性名と複数の属性名のそれぞれに応じた属性値を含んでいる。具体的には、第2構造化データD2は「職位」や「誕生日」などを属性名として含んでいる。また、第2構造化データD2は「研究員」や「1987年3月12日」などを属性値として含んでいる。このように、統合先に相当する第2構造化データD2に含まれる属性名は統合対象に相当する第1構造化データD1に含まれる属性名と構文的に一致しないが、属性値を参照すると、意味的に同義である属性名が存在する。例えば、第2構造化データD2に含まれる「社名」と第1構造化データD1に含まれる「会社」は、単語の形態が一致しないため、構文的に一致しないが、第2構造化データD2に含まれる「アルファ」と第1構造化データD1に含まれる「出雲金属(株)」を参照すると、具体的な企業の名称を表していると想定されるため、「社名」と「会社」は意味的に同義である。このような関係は「誕生日」と「生年月日」についても同様である。また、図示しないが、このような関係は「空調機」と「エアコン」などについても同様である。
【0028】
ステップS101の処理が完了すると、次いで、文書生成部121は文書情報を生成する(ステップS102)。具体的には、文書生成部121はデータ記憶部111にアクセスして、データ記憶部111が記憶する第1構造化データD1と第2構造化データD2を取得する。文書生成部121は第1構造化データD1と第2構造化データD2を取得すると、
図6に示すように、まず、第1構造化データD1に含まれる属性値を集約して空白で区切った文書情報をカラム毎(即ち列毎)に生成する。そして、文書生成部121は各文書情報にその文書情報を識別する識別子を関連付けて保持する。次に、
図7に示すように、第2構造化データD2に含まれる属性値を集約して空白で区切った文書情報をカラム毎に生成する。そして、文書生成部121は各文書情報にその文書情報を識別する識別子を関連付けて保持する。したがって、文書生成部121は統合対象の文書情報と統合先の文書情報を保持する。
図6に示すように、統合対象の文書情報は属性値が文字である文書情報もあれば、属性値が数値である文書情報もある。
図7に示すように、統合先の文書情報も属性値が文字である文書情報もあれば、属性値が数値である文書情報もある。
【0029】
ステップS102の処理が完了すると、次いで、文書生成部121は文書情報を分類する(ステップS103)。具体的には、文書生成部121は正規表現に基づいて2つの文書情報を分類する。例えば、
図8に示すように、文書生成部121は、統合対象の文書情報と統合先の文書情報を保持すると、文書情報を参照し、属性値のタイプを判断することによって2つの文書情報を分類する。文書生成部121は属性値が数値か否かによって2つの文書情報を分類してもよいし、属性値が文字か否かによって2つの文書情報を分類してもよい。これにより、
図8に示すように、属性値が文字で統一された統合対象の文書情報及び統合先の文書情報を含む文字グループの文書情報と、属性値が数値で統一された統合対象の文書情報及び統合先の文書情報を含む数値グループの文書情報に分類される。文書生成部121は文字グループの文書情報と数値グループの文書情報を文書記憶部112に格納する。これにより、文書記憶部112は文字グループの文書情報と数値グループの文書情報を記憶する。
【0030】
ステップS103の処理が完了すると、次いで、クレンジング部122は属性値が数値か否か判断する(ステップS104)。より詳しくは、クレンジング部122は文書記憶部112にアクセスして、文書記憶部112が記憶する文書情報の1つを取得する。文書生成部121は文書情報の1つを取得すると、取得した文書情報の属性値を確認し、属性値が数値か否か判断する。属性値が数値であれば、クレンジング部122は数値グループの文書情報を取得したことになる。属性値が文字であれば、クレンジング部122は文字グループの文書情報を取得したことになる。
【0031】
ステップS104の処理において、クレンジング部122は属性値が数値でないと判断した場合(ステップS104:NO)、属性値が文字であると判断し、文字グループの文書情報に集約した各属性値を抽出する(ステップS105)。ステップS105の処理が完了すると、クレンジング部122は抽出した各属性値の少なくとも1つに対しデータクレンジングを実行する(ステップS106)。例えば、
図9に示すように、クレンジング部122は半角で表現された括弧書きを全角で表現し直すデータクレンジングを実行する。また、クレンジング部122はコンピュータの環境に依存する文字をその環境に依存しない文字に変換するデータクレンジングを実行する。さらに、クレンジング部122は大文字のアルファベットを小文字のアルファベットに変換するデータクレンジングを実行する。尚、これらの処理はデータクレンジングの一例であって、設計に応じて、変更、削除、又は追加してもよい。
【0032】
ステップS106の処理が完了すると、解析部123はデータクレンジングが実行された属性値に対し形態素解析を実行する(ステップS107)。より詳しくは、解析部123は辞書記憶部113が記憶する辞書データを参照して形態素解析を実行する。辞書データは形態素解析に必要な辞書に関するデータである。形態素解析が実行されることにより、
図10に示すように、いくつかの属性値は単語に分かち書きされる。すなわち、いくつかの属性値は固有名詞を表す単語と一般名詞を表す単語に分けられてこれら2つの単語の間に空白が挟まれる。尚、秘書やマネージャなど属性値によっては属性値自体が単語の場合もある。
【0033】
ステップS107の処理が完了すると、第1抽出部124は構文的特徴量を抽出する(ステップS108)。より詳しくは、第1抽出部124は、構文的特徴量を重要単語と併せて抽出する公知の第1抽出手法に基づいて、構文的特徴量を抽出する。構文的特徴量は単語の構文に関する特徴量を表している。したがって、第1抽出部124は形態素解析が実行された統合対象の文書情報から単語に応じた第1構文的特徴量を抽出する。また、第1抽出部124は形態素解析が実行された統合先の文書情報から単語に応じた第2構文的特徴量を抽出する。さらに、第1抽出部124は第1構文的特徴量及び第2構文的特徴量の抽出と併せて重要単語を抽出する。これにより、
図11に示すように、各単語に応じた第1構文的特徴量及び第2構文的特徴量が数値として抽出されるとともに、重要単語が抽出される。第1抽出部124は抽出した第1構文的特徴量、第2構文的特徴量、及び重要単語を関連付けて構文特徴記憶部114に格納する。これにより、構文特徴記憶部114は互いに関連付いた第1構文的特徴量、第2構文的特徴量、及び重要単語を記憶する。
【0034】
ここで、上述した第1抽出手法としては、例えばTerm Frequency - Inverse Document Frequency(tf-idf)(Ramos J. Using tf-idf to determine word relevance in document queries[C]//Proceedings of the first instructional conference on machine learning. 2003, 242: 133-142.)が知られている。tf-idfは単語の出現頻度を表すtf(Hans Peter Luhn, A Statistical Approach to Mechanized Encoding and Searching of Literary Information, IBM Journal of Research and Development. 1 (4): pages 309-317.)と逆文書頻度を表すidf(Karen Sparck Jones, A Statistical Interpretation of Term Specificity and Its Application in Retrieval, Journal of Documentation, Vol. 28 Issue: 1, pages 11-21 (1972))に分けられる。idfは多くの文書に出現する単語の重要度を下げ、特定の文書にしか出現しない単語の重要度を上げる役割を果たす。尚、第1実施形態では、第1の抽出手法としてtf-idfを採用しているが、tf-idfに代えて、例えばBest Matching 25(BM25)(Robertson S, Zaragoza H. The probabilistic relevance framework: BM25 and beyond[J]. Foundations and Trends (登録商標)in Information Retrieval, 2009, 3(4): 333-389.)などを採用してもよい。
【0035】
ステップS108の処理が完了すると、第2抽出部125は意味的特徴量を抽出する(ステップS109)。より詳しくは、第2抽出部125は、意味的特徴量を抽出する公知の第2抽出手法に基づいて、意味的特徴量を抽出する。意味的特徴量は単語の意味に関する特徴量を表している。公知の第2抽出手法はベクトル記憶部115に記憶されている。第2抽出手法の具体例は後述する。第2抽出部125は第2抽出手法を利用することにより単語をその単語に応じたベクトルで表現することができる。したがって、第2抽出部125は構文特徴記憶部114から重要単語を取得し、第2抽出手法を利用して、取得した重要単語からその重要単語に応じた特定の意味的特徴量をベクトルとして抽出する。これにより、
図12に示すように、重要単語に応じた意味的特徴量がベクトルとして抽出される。第2抽出部125は抽出した意味的特徴量を重要単語と関連付けて意味特徴記憶部116に格納する。これにより、意味特徴記憶部116は互いに関連付いた意味的特徴量及び重要単語を記憶する。
【0036】
ここで、上述した第2抽出手法としては、例えばword2vec(Distributed Representations of Words and Phrases and their Compositionality Advances in Neural Information Processing Systems 26 (NIPS 2013))が知られている。尚、第1実施形態では、第2抽出手法としてword2vecを採用しているが、word2vecに代えて、例えばGlobal Vectors for Word Representation(GloVe)(Jeffrey Pennington, Richard Socher, Christopher D. Manning, GloVe: Global Vectors for Word Representation Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 1532-1543, October 25-29, 2014, Doha, Qatar.)などを採用してもよい。
【0037】
ステップS109の処理が完了すると、特徴合成部126は合成特徴量を生成する(ステップS110)。より詳しくは、
図13に示すように、特徴合成部126は、意味特徴記憶部116が記憶する意味的特徴量に構文特徴記憶部114が記憶する第1構文的特徴量を重み付けした第1合成特徴量をベクトルとして生成する。尚、第1合成特徴量は、
図13に示す3つの合成特徴量の中の最も上に位置する合成特徴量である。また、特徴合成部126は、意味特徴記憶部116が記憶する意味的特徴量に構文特徴記憶部114が記憶する第2構文的特徴量を重み付けした第2合成特徴量をベクトルとして生成する。尚、第2合成特徴量は、
図13に示す3つの合成特徴量の中の真ん中に位置する合成特徴量と最も下に位置する合成特徴量である。このように、意味的な特徴に構文的な特徴を重みづけることにより、構文的に一致しない属性名のアンマッチを抑制することができる。特徴合成部126は第1合成特徴量及び第2合成特徴量を生成すると、生成した第1合成特徴量及び第2合成特徴量を合成特徴記憶部117に格納する。これにより、合成特徴記憶部117は第1合成特徴量及び第2合成特徴量を記憶する。
【0038】
ステップS110の処理が完了すると、類似度出力部127は類似度を算出する(ステップS111)。より詳しくは、類似度出力部127は合成特徴記憶部117から第1合成特徴量と第2合成特徴量を取得し、取得した第1合成特徴量と第2合成特徴量のコサイン類似度を算出する。ここで、第1実施形態では、
図13に示すように、特徴合成部126は識別子「D2C1」に関する第2合成特徴量と識別子「D2C4」に関する第2合成特徴量を生成する。このため、類似度出力部127は識別子「D1C1」に関する第1合成特徴量と識別子「D2C1」に関する第2合成特徴量のコサイン類似度を算出する。また、類似度出力部127は識別子「D1C1」に関する第1合成特徴量と識別子「D2C4」に関する第2合成特徴量のコサイン類似度を算出する。
【0039】
これにより、
図14に示すように、識別子「D1C1」と識別子「D2C4」の第1の組み合わせに基づくベクトル間の角度は、識別子「D1C1」と識別子「D2C1」の第2の組み合わせに基づくベクトル間の角度より小さくなる。したがって、第1の組み合わせに基づくコサイン類似度の方が第2の組み合わせに基づくコサイン類似度より大きくなる。即ち、前者のコサイン類似度の方が後者のコサイン類似度と比べてより「1」に近づいている。この結果、第1の組み合わせに基づく類似度の方が第2の組み合わせに基づく類似度より相対的に高くなり、属性名「会社」は属性名「社名」とマッチし、属性名「職位」とマッチしない(即ちアンマッチ)と特定することができる。
【0040】
ステップS111の処理が完了すると、類似度出力部127は類似度を出力する(ステップS112)。より詳しくは、類似度出力部127は算出した類似度と統合対象の属性名と統合先の属性名を含むマッチングリスト画面10を表示部140に出力する。これにより、マッチングリスト画面10を閲覧したユーザは統合対象の属性名をどの属性名に統合したらよいか容易に決定することができる。尚、後にマッチングリスト画面10の詳細を説明する。
【0041】
次に、上述したステップS104の処理において、属性値が数値である場合について説明する。
【0042】
ステップS104の処理において、クレンジング部122は属性値が数値であると判断した場合(ステップS104:YES)、
図15に示すように、文書情報を細分化する(ステップS121)。例えば、クレンジング部122は、正規表現に基づいて、数値グループの文書情報を、日付を表す属性値を集約した文書情報と日時を表す属性値を集約した文書情報に細分化する。尚、クレンジング部122は日時を表す属性値を集約した文書情報が存在しないと判断した場合、ステップS121の処理をスキップしてもよい。第1実施形態では、日時を表す属性値を集約した文書情報が存在しないため、ステップS121の詳細な説明を省略する。
【0043】
ステップS121の処理が完了すると、クレンジング部122は属性名を抽出する(ステップS122)。より詳しくは、
図16に示すように、クレンジング部122は第1構造化データD1と第2構造化データD2と数字グループの文書情報とに基づいて、識別子を関連付けた属性名を抽出する。数字グループの文書情報には数値の属性値が集約されているため、クレンジング部122はこれらの属性値を第1構造化データD1と第2構造化データD2の各属性値と対比することにより、第1構造化データD1と第2構造化データD2の属性名を抽出することができる。
【0044】
ステップS122の処理が完了すると、解析部123はクレンジング部122が抽出した属性名に対し形態素解析を実行する(ステップS123)。ステップS107の処理と同様に、解析部123は辞書記憶部113が記憶する辞書データを参照して形態素解析を実行する。形態素解析が実行されることにより、
図17に示すように、いくつかの属性名は単語に分かち書きされる。すなわち、いくつかの属性名は2つ以上の単語に分けられ、これら2つ以上の単語の間に空白が挟まれる。第1実施形態では、例えば「振込日」が「振込」と「日」の2つの単語に分けられている。尚、「生年月日」や「誕生日」など属性名によっては属性名自体が単語の場合もある。ステップS123の処理により、解析部123は属性名が含む単語を取得する。
【0045】
ステップS123の処理が完了すると、第2抽出部125は意味的特徴量を抽出する(ステップS124)。より詳しくは、第2抽出部125は、上述した公知の第2抽出手法に基づいて、意味的特徴量を抽出する。第2抽出部125は解析部123から単語を取得し、第2抽出手法を利用して、取得した単語からその単語に応じた意味的特徴量を抽出する。これにより、
図18に示すように、単語に応じた意味的特徴量がベクトルとして抽出される。第2抽出部125はこの単語に応じた意味的特徴量を単語と関連付けて意味特徴記憶部116に格納する。これにより、意味特徴記憶部116は互いに関連付いた意味的特徴量及び単語を記憶する。
【0046】
ステップS124の処理が完了すると、特徴合成部126は平均特徴量を生成する(ステップS125)。より詳しくは、
図19に示すように、特徴合成部126は、属性名が含む一又は複数の単語の意味的特徴量の総和をその属性名が含む一又は複数の単語の数で割った第1平均特徴量及び第2平均特徴量を識別子毎にベクトルとして生成する。尚、第1平均特徴量は、
図19に示す4つの平均特徴量の中の最も上に位置する平均特徴量とその直下に位置する平均特徴量である。第2平均特徴量は、
図19に示す4つの平均特徴量の中の最も下に位置する平均特徴量とその直上に位置する平均特徴量である。このように、数値グループの文書情報は属性値が数値であるため、属性値の意味的特徴量を抽出して平均特徴量を生成すること有効でない。したがって、特徴合成部126は属性名が含む単語の意味的特徴量を利用して平均特徴量を生成する。特徴合成部126は第1平均特徴量及び第2平均特徴量を生成すると、生成した第1平均特徴量及び第2平均特徴量を合成特徴記憶部117に格納する。これにより、合成特徴記憶部117は第1平均特徴量及び第2平均特徴量を記憶する。
【0047】
ステップS125の処理が完了すると、
図4に示すように、類似度出力部127はステップS111の処理を実行する。より詳しくは、類似度出力部127は合成特徴記憶部117から第1平均特徴量と第2平均特徴量を取得し、取得した第1平均特徴量と第2平均特徴量のコサイン類似度を算出する。ここで、第1実施形態では、
図19に示すように、特徴合成部126は識別子「D1C2」に関する第1平均特徴量と識別子「D1C3」に関する第1平均特徴量を生成する。また、特徴合成部126は識別子「D2C2」に関する第2平均特徴量と識別子「D2C3」に関する第2平均特徴量を生成する。
【0048】
このため、類似度出力部127は識別子「D1C2」に関する第1平均特徴量と識別子「D2C2」に関する第2平均特徴量のコサイン類似度を算出する。また、類似度出力部127は識別子「D1C2」に関する第1平均特徴量と識別子「D2C3」に関する第2平均特徴量のコサイン類似度を算出する。これにより、
図20に示すように、識別子「D1C2」と識別子「D2C3」の第3の組み合わせに基づくベクトル間の角度は、識別子「D1C2」と識別子「D2C2」の第4の組み合わせに基づくベクトル間の角度より小さくなる。したがって、第3の組み合わせに基づくコサイン類似度の方が第4の組み合わせに基づくコサイン類似度より大きくなる。即ち、前者のコサイン類似度の方が後者のコサイン類似度と比べてより「1」に近づいている。この結果、第3の組み合わせに基づく類似度の方が第4の組み合わせに基づく類似度より相対的に高くなり、属性名「振込日」は属性名「給料日」とマッチし、属性名「誕生日」とマッチしない(即ちアンマッチ)と特定することができる。
【0049】
同様に、類似度出力部127は識別子「D1C3」に関する第1平均特徴量と識別子「D2C2」に関する第2平均特徴量のコサイン類似度を算出する。また、類似度出力部127は識別子「D1C3」に関する第1平均特徴量と識別子「D2C3」に関する第2平均特徴量のコサイン類似度を算出する。これにより、
図21に示すように、識別子「D1C3」と識別子「D2C2」の第5の組み合わせに基づくベクトル間の角度は、識別子「D1C3」と識別子「D2C3」の第6の組み合わせに基づくベクトル間の角度より小さくなる。したがって、第5の組み合わせに基づくコサイン類似度の方が第6の組み合わせに基づくコサイン類似度より大きくなる。即ち、前者のコサイン類似度の方が後者のコサイン類似度と比べてより「1」に近づいている。この結果、第5の組み合わせに基づく類似度の方が第6の組み合わせに基づく類似度より相対的に高くなり、属性名「生年月日」は属性名「誕生日」とマッチし、属性名「給料日」とマッチしない(即ちアンマッチ)と特定することができる。
【0050】
ステップS111の処理が完了すると、類似度出力部127はステップS112の処理を実行する。すなわち、類似度出力部127は類似度などを含むマッチングリスト画面10を表示部140に出力する。これにより、属性値が文字である場合と同様に、マッチングリスト画面10を閲覧したユーザは統合対象の属性名をどの属性名に統合したらよいか容易に決定することができる。
【0051】
図22はマッチングリスト画面10の一例である。マッチングリスト画面10は第1構造化データD1に関する画面と第2構造化データD2に関する画面を含んでいる。マッチングリスト画面10に含まれる各画面はいずれも統合対象の情報と統合先の情報を含んでいる。具体的には、マッチングリスト画面10に含まれる各画面はいずれも識別子、属性名、及び属性値を統合対象の情報として含んでいる。また、マッチングリスト画面10に含まれる各画面はいずれも対応識別子、対応属性名、及び対応属性値を統合先の情報として含んでいる。マッチングリスト画面10に含まれる各画面はいずれも統合対象の情報と統合先の情報の間に候補順位と類似度を含んでいる。候補順位は統合対象に対する統合先の候補の順位を表している。類似度はコサイン類似度を表している。数値が大きな類似度ほど統合先の候補として高い順位が付与されている。このように、表示部140にマッチングリスト画面10が表示され、ユーザがマッチングリスト画面10を確認すれば、統合対象の属性名をどの属性名に統合したらよいか容易に決定することができる。
【0052】
このように、第1実施形態では、ユーザがマッチングリスト画面10を確認して、統合対象の属性名をどの属性名に統合したらよいかを決定している。一方で、マッチングリスト画面10を表示部140に表示せずに、例えば候補順位が1位である統合先の属性名を類似度出力部127が特定し、特定した統合先の属性名に統合対象の属性名を類似度出力部127が動的に統合し、その結果を表示部140に表示するようにしてもよい。これにより、ユーザの確認作業が不要になり、データ統合が円滑化する。
【0053】
図23は第1実施形態に係る利点を簡単に説明した図である。上段には比較例に係るユーザ20の作業が示されている。下段には第1実施形態に係るユーザ20の作業が示されている。データサイエンティストといったユーザ20はデータを分析してインサイト(洞察)を導出することが求められるが、上段に示すように、ユーザ20の作業時間の8割近くは分析工程の前の工程である前処理工程で消費されている。特に、前処理工程におけるデータ統合では、属性名の表現が統一されていないことが多く、個々の属性名を個別にチェックして統合対象に対する統合先として同じであるか否かが判断されている。この結果、作業時間の残り2割近くでデータを分析してインサイトを導出することが求められ、効率的なデータ統合が難しかった。
【0054】
しかしながら、第1実施形態によれば、下段に示すように、ユーザ20は端末装置100に表示されたマッチングリスト画面(
図23において不図示)を確認すれば、属性名のマッチ及びアンマッチを容易に決定することができる。これにより、前処理工程で消費する作業時間を削減することができ、インサイトの導出に要する作業時間を増やすことできる。
【0055】
以上、第1実施形態によれば、端末装置100は記憶部110と処理部120を備えている。記憶部110はデータ記憶部111を含んでいる。データ記憶部111は第1構造化データD1及び第2構造化データD2を記憶する。第1構造化データD1は属性名とその属性名に応じた属性値を含んでいる。第2構造化データD2は複数の属性名とこれら複数の属性名のそれぞれに応じた属性値を含んでいる。
【0056】
一方、処理部120は文書生成部121、第1抽出部124、第2抽出部125、特徴合成部126、及び類似度出力部127を備えている。文書生成部121は第1構造化データD1が含む属性値を集約した文書情報を生成する。また、文書生成部121は第2構造化データD2が含む複数の属性値を集約した文書情報を生成する。第1抽出部124は上述した公知の第1抽出手法に基づいて、前者の文書情報から第1構文的特徴量を抽出し、後者の文書情報から第2構文的特徴量を抽出し、第1構文的特徴量及び第2構文的特徴量の抽出と併せて特定の重要単語を抽出する。第2抽出部125は上述した公知の第2抽出手法に基づいて、特定の重要単語から特定の重要単語に応じた特定の意味的特徴量を抽出する。特徴合成部126は特定の意味的特徴量に第1構文的特徴量を重み付けした第1合成特徴量と特定の意味的特徴量に第2構文的特徴量を重み付けした第2合成特徴量を生成する。類似度出力部127は第1合成特徴量と第2合成特徴量の類似度を表す第1類似度及び第1類似度に応じて決定した統合対象の属性名の統合先を示す特定の属性名の少なくとも一方を出力する。
【0057】
これにより、効率的なデータ統合を支援することができる。特に、第1実施形態によれば、属性名の構文的な特徴だけでなく、属性値の意味的な特徴も考慮しているため、属性名が構文的にマッチしなくても、属性値によって意味的にマッチする属性名を見逃さないで済む。一方で、属性値の意味的な特徴だけに着目してデータ統合の関する処理を実行していないため、属性値の意味的な特徴だけに着目した場合に比べて、計算量を削減することができる。
【0058】
(第2実施形態)
続いて、
図24及び
図25を参照して、本件の第2実施形態について説明する。
図24は比較例に係るマッチング例を説明するための図である。
図25は第2実施形態に係るマッチング例を説明するための図である。第2実施形態では、第1実施形態で説明した第1構造化データD1及び第2構造化データD2に代えて、第1半構造化データD3と第2半構造化データD4を用いて説明する。
【0059】
第1半構造化データD3と第2半構造化データD4はいずれもツリー構造形式でデータ構造が定義された電子ファイルである。このような電子ファイルとしては、例えばeXtensible Markup Language(XML)ファイル、JavaScript(登録商標) Object Notation(JSON)ファイル、テキストファイルなどがある。すなわち、第1半構造化データD3と第2半構造化データD4はいずれもデータ構造が部分的に定義されたデータである。言い換えれば、第1半構造化データD3と第2半構造化データD4はいずれもデータの構造定義を部分的に持っている。
【0060】
第2実施形態において、第2半構造化データD4が統合対象に相当し、第1半構造化データD3が統合先に相当する。第2実施形態では、データ記憶部111は、2つの構造化データとして、このような第1半構造化データD3及び第2半構造化データD4を記憶する。尚、第1半構造化データD3及び第2半構造化データD4は上述したステップS102の処理が実行される前にデータ記憶部111に格納されていればよく、第1半構造化データD3及び第2半構造化データD4の格納経路は特に限定されない。
【0061】
ここで、
図24に示すように、第2半構造化データD4がデータセットBとして含む属性名を、第1半構造化データD3がデータセットAとして含む属性名に統合する際、第2半構造化データD4が統合対象として含む上位の属性名(具体的には「ショーファー」(chauffeur:運転手))と第1半構造化データD3が統合先として含む2つの上位の属性名(具体的にはカー情報及びドライバ情報)とのマッチングが実行される。また、この際、第2半構造化データD4が統合対象として含む下位の属性名(具体的にはシリーズ)と第1半構造化データD3が統合先として含む4つの下位の属性名(具体的には「モデル」、「プライス」、「ネーム」、及び「アドレス」)とのマッチングが実行される。
【0062】
しかしながら、統合対象である上位の属性名を統合先である2つの上位の属性名のそれぞれと構文的にマッチングしても、文字の形態が一致しないため、統合対象である上位の属性名が統合先である上位の属性名のどちらとマッチするのか精度良く判断することは難しい。同様に、統合対象である下位の属性名を統合先である4つの下位の属性名のそれぞれと構文的にマッチングしても、文字の形態が一致しないため、統合対象である下位の属性名が統合先である下位の属性名のどれとマッチするのか精度良く判断することは難しい。
【0063】
ところが、第2実施形態では、
図25に示すように、第2半構造化データD4が含む下位の属性名に応じた属性値(具体的にはX1やC63など)と第1半構造化データD3が含む下位の属性名に応じた属性値(具体的にはZ2やM4など)を利用する。このように、第1実施形態と同様に属性値を利用すれば、属性名の構文的な特徴と属性値の意味的な特徴の両方が考慮されて、統合対象である下位の属性名が統合先である下位の属性名のどれとマッチするのか精度良く判断することができる。第2実施形態では、
図25に示すように、下位の属性名「シリーズ」は下位の属性名「モデル」とマッチし、下位の属性名「プライス」、「ネーム」及び「アドレス」とマッチしない(即ちアンマッチ)と判断することができる。
【0064】
また、統合対象である上位の属性名と統合先である上位の属性名をマッチングする際には、下位の属性名及び属性値を利用する。このように、下位の属性名と属性値を利用すれば、上位の属性名及び下位の属性名の構文的な特徴と属性値の意味的な特徴の全てが考慮されて、統合対象である上位の属性名が統合先である上位の属性名のどちらとマッチするのか精度良く判断することができる。第2実施形態では、
図25に示すように、上位の属性名「ショーファー」は上位の属性名「ドライバ情報」とマッチし、上位の属性名「カー情報」とマッチしない(即ちアンマッチ)と判断することができる。
【0065】
このように、第2実施形態によれば、第1実施形態で説明した構造化データに限らず、半構造化データを利用した場合であっても、効率的なデータ統合を支援することができる。
【0066】
(第3実施形態)
続いて、
図26を参照して、本件の第3実施形態について説明する。
図26はデータ統合支援システムSTの一例である。尚、
図3に示す端末装置100の各部と同様の構成には同一符号を付し、その説明を省略する。
【0067】
データ統合支援システムSTは端末装置100とサーバ装置200を含んでいる。端末装置100とサーバ装置200は通信ネットワークNWを介して接続されている。通信ネットワークNWとしては、例えばLocal Area Network(LAN)やインターネットなどがある。
【0068】
端末装置100は入力部130、表示部140、及び通信部150を備えている。一方、サーバ装置200は記憶部110、処理部120、及び通信部160を備えている。2つの通信部150,160はいずれもネットワークI/F100D又は近距離無線通信回路100Jによって実現することができる。このように、サーバ装置200が記憶部110と処理部120を備えることにより、サーバ装置200をデータ統合支援装置としてもよい。
【0069】
図26に示すように、第1実施形態で説明した記憶部110及び処理部120を、端末装置100に代えて、サーバ装置200が備えていてもよい。この場合、端末装置100の入力部130が操作されて、上述した第1構造化データD1及び第2構造化データD2が2つの通信部150,160を介して記憶部110(より詳しくはデータ記憶部111)に格納される。第1構造化データD1及び第2構造化データD2に代えて、第1半構造化データD3及び第2半構造化データD4が記憶部110に格納されてもよい。
【0070】
処理部120は記憶部110にアクセスして、第1構造化データD1及び第2構造化データD2を取得し、第1構造化データD1及び第2構造化データD2に対し、第1実施形態で説明した各種の処理を実行する。そして、処理部120は処理結果を通信部160に出力し、通信部160が処理結果を通信部150に送信する。処理結果としては、例えばマッチングリスト画面10を表示できる画面情報などがある。通信部150は処理結果を受信すると、画面情報を表示部140に出力する。これにより、表示部140はマッチングリスト画面10を表示する。
【0071】
このように、端末装置100が記憶部110と処理部120を備えずに、サーバ装置200が記憶部110と処理部120を備えていてもよい。また、サーバ装置200が記憶部110を備え、通信ネットワークNWに接続された別のサーバ装置(不図示)が処理部120を備えていてもよい。このような実施形態であっても、効率的なデータ統合を支援することができる。
【0072】
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、データクレンジングの対象の属性値の表現などが事前に統一されている場合には、データクレンジングを実行しなくてもよい。また、形態素解析の対象の属性値が単語に分かち書きされている場合には、形態素解析を実行しなくてもよい。
【0073】
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)第1の属性名と前記第1の属性名に応じた第1の属性値を含む第1の構造化データ及び複数の第2の属性名と前記複数の第2の属性名のそれぞれに応じた第2の属性値を含む第2の構造化データを記憶する記憶部と、前記第1の属性値を集約した第1の文書情報と前記第2の属性値を属性名毎に集約した第2の文書情報を生成し、単語の構文に関する特徴量を表す構文的特徴量を重要単語と併せて抽出する第1の抽出手法に基づいて、前記第1の文書情報から前記第1の属性値が含む単語の第1の構文的特徴量を抽出し、前記第2の文書情報から前記第2の属性値が含む単語の第2の構文的特徴量を抽出し、前記第1の構文的特徴量及び前記第2の構文的特徴量の抽出と併せて特定の重要単語を抽出し、前記単語の意味に関する特徴量を表す意味的特徴量を抽出する第2の抽出手法に基づいて、前記特定の重要単語から前記特定の重要単語に応じた特定の意味的特徴量を抽出し、前記特定の意味的特徴量に前記第1の構文的特徴量を重み付けした第1の合成特徴量と前記特定の意味的特徴量に前記第2の構文的特徴量を重み付けした第2の合成特徴量を生成し、前記第1の合成特徴量と前記第2の合成特徴量の類似度を表す第1の類似度及び前記第1の類似度に応じて決定した前記第1の属性名の統合先を示す特定の第2の属性名の少なくとも一方を出力する処理を実行する処理部と、を備えるデータ統合支援装置。
(付記2)前記処理部は、前記第1の文書情報と前記第2の文書情報を生成した後、前記第1の構文的特徴量と前記第2の構文的特徴量を抽出する前に、前記第1の属性値及び前記第2の属性値が文字か否かを判断し、前記第1の属性値及び前記第2の属性値が文字であると判断した場合に、前記第1の構文的特徴量と前記第2の構文的特徴量を抽出する、ことを特徴とする付記1に記載のデータ統合支援装置。
(付記3)前記処理部は、前記第1の類似度を算出し、算出した前記第1の類似度を前記第1の属性名及び前記第2の属性名と併せて表示装置に出力する、ことを特徴とする付記1又は2に記載のデータ統合支援装置。
(付記4)前記処理部は、前記第1の文書情報と前記第2の文書情報を生成した後、前記第1の構文的特徴量と前記第2の構文的特徴量を抽出する前に、前記第1の属性値及び前記第2の属性値が数値か否かを判断し、前記第1の属性値及び前記第2の属性値が数値であると判断した場合、形態素解析に基づいて、前記第1の属性名から前記第1の属性名が含む第1の単語を取得するとともに、前記第2の属性名から前記第2の属性名が含む第2の単語を取得し、前記第2の抽出手法に基づいて、前記第1の単語から前記第1の単語に応じた第1の意味的特徴量を抽出するとともに、前記第2の単語から前記第2の単語に応じた第2の意味的特徴量を抽出し、前記第1の意味的特徴量を平均化した第1の平均特徴量を生成するとともに、前記第2の意味的特徴量を平均化した第2の平均特徴量を生成し、前記第1の平均特徴量と前記第2の平均特徴量の類似度を表す第2の類似度及び前記第2の類似度に応じて決定した前記第1の属性名の統合先を示す特定の第2の属性名の少なくとも一方を出力する、ことを特徴とする付記1に記載のデータ統合支援装置。
(付記5)前記処理部は、前記第2の類似度を算出し、算出した前記第2の類似度を前記第1の属性名及び前記第2の属性名と併せて表示装置に出力する、ことを特徴とする付記4に記載のデータ統合支援装置。
(付記6)前記第1の構造化データと前記第2の構造化データはいずれもデータの構造定義を部分的に持つ半構造化データを含む、ことを特徴とする付記1から5のいずれか1項に記載のデータ統合支援装置。
(付記7)第1の属性名と前記第1の属性名に応じた第1の属性値を含む第1の構造化データ及び複数の第2の属性名と前記複数の第2の属性名のそれぞれに応じた第2の属性値を含む第2の構造化データを記憶し、前記第1の属性値を集約した第1の文書情報と前記第2の属性値を属性名毎に集約した第2の文書情報を生成し、単語の構文に関する特徴量を表す構文的特徴量を重要単語と併せて抽出する第1の抽出手法に基づいて、前記第1の文書情報から前記第1の属性値が含む単語の第1の構文的特徴量を抽出し、前記第2の文書情報から前記第2の属性値が含む単語の第2の構文的特徴量を抽出し、前記第1の構文的特徴量及び前記第2の構文的特徴量の抽出と併せて特定の重要単語を抽出し、前記単語の意味に関する特徴量を表す意味的特徴量を抽出する第2の抽出手法に基づいて、前記特定の重要単語から前記特定の重要単語に応じた特定の意味的特徴量を抽出し、前記特定の意味的特徴量に前記第1の構文的特徴量を重み付けした第1の合成特徴量と前記特定の意味的特徴量に前記第2の構文的特徴量を重み付けした第2の合成特徴量を生成し、前記第1の合成特徴量と前記第2の合成特徴量の類似度を表す第1の類似度及び前記第1の類似度に応じて決定した前記第1の属性名の統合先を示す特定の第2の属性名の少なくとも一方を出力する、処理をコンピュータが実行するデータ統合支援方法。
(付記8)前記処理は、前記第1の文書情報と前記第2の文書情報を生成した後、前記第1の構文的特徴量と前記第2の構文的特徴量を抽出する前に、前記第1の属性値及び前記第2の属性値が文字か否かを判断し、前記第1の属性値及び前記第2の属性値が文字であると判断した場合に、前記第1の構文的特徴量と前記第2の構文的特徴量を抽出する、ことを特徴とする付記7に記載のデータ統合支援方法。
(付記9)前記処理は、前記第1の類似度を算出し、算出した前記第1の類似度を前記第1の属性名及び前記第2の属性名と併せて表示装置に出力する、ことを特徴とする付記7又は8に記載のデータ統合支援方法。
(付記10)前記処理は、前記第1の文書情報と前記第2の文書情報を生成した後、前記第1の構文的特徴量と前記第2の構文的特徴量を抽出する前に、前記第1の属性値及び前記第2の属性値が数値か否かを判断し、前記第1の属性値及び前記第2の属性値が数値であると判断した場合、形態素解析に基づいて、前記第1の属性名から前記第1の属性名が含む第1の単語を取得するとともに、前記第2の属性名から前記第2の属性名が含む第2の単語を取得し、前記第2の抽出手法に基づいて、前記第1の単語から前記第1の単語に応じた第1の意味的特徴量を抽出するとともに、前記第2の単語から前記第2の単語に応じた第2の意味的特徴量を抽出し、前記第1の意味的特徴量を平均化した第1の平均特徴量を生成するとともに、前記第2の意味的特徴量を平均化した第2の平均特徴量を生成し、前記第1の平均特徴量と前記第2の平均特徴量の類似度を表す第2の類似度及び前記第2の類似度に応じて決定した前記第1の属性名の統合先を示す特定の第2の属性名の少なくとも一方を出力する、ことを特徴とする付記7に記載のデータ統合支援方法。
(付記11)前記処理は、前記第2の類似度を算出し、算出した前記第2の類似度を前記第1の属性名及び前記第2の属性名と併せて表示装置に出力する、ことを特徴とする付記10に記載のデータ統合支援方法。
(付記12)前記第1の構造化データと前記第2の構造化データはいずれもデータの構造定義を部分的に持つ半構造化データを含む、ことを特徴とする付記7から11のいずれか1項に記載のデータ統合支援方法。
(付記13)第1の属性名と前記第1の属性名に応じた第1の属性値を含む第1の構造化データ及び複数の第2の属性名と前記複数の第2の属性名のそれぞれに応じた第2の属性値を含む第2の構造化データを記憶し、前記第1の属性値を集約した第1の文書情報と前記第2の属性値を属性名毎に集約した第2の文書情報を生成し、単語の構文に関する特徴量を表す構文的特徴量を重要単語と併せて抽出する第1の抽出手法に基づいて、前記第1の文書情報から前記第1の属性値が含む単語の第1の構文的特徴量を抽出し、前記第2の文書情報から前記第2の属性値が含む単語の第2の構文的特徴量を抽出し、前記第1の構文的特徴量及び前記第2の構文的特徴量の抽出と併せて特定の重要単語を抽出し、前記単語の意味に関する特徴量を表す意味的特徴量を抽出する第2の抽出手法に基づいて、前記特定の重要単語から前記特定の重要単語に応じた特定の意味的特徴量を抽出し、前記特定の意味的特徴量に前記第1の構文的特徴量を重み付けした第1の合成特徴量と前記特定の意味的特徴量に前記第2の構文的特徴量を重み付けした第2の合成特徴量を生成し、前記第1の合成特徴量と前記第2の合成特徴量の類似度を表す第1の類似度及び前記第1の類似度に応じて決定した前記第1の属性名の統合先を示す特定の第2の属性名の少なくとも一方を出力する、処理をコンピュータに実行させるためのデータ統合支援プログラム。
【符号の説明】
【0074】
100 端末装置
110 記憶部
111 データ記憶部
120 処理部
121 文書生成部
124 第1抽出部
125 第2抽出部
126 特徴合成部
127 類似度出力部