(57)【要約】【課題】効率的なデータ統合を支援する。【解決手段】データ統合支援装置は、第１属性名と第１属性名に応じた第１属性値を含む第１構造化データ及び複数の第２属性名と複数の第２属性名のそれぞれに応じた第２属性値を含む第２構造化データを記憶する記憶部と、第１属性値を集約した第１文書情報と第２属性値を属性名毎に集約した第２文書情報を生成し、第１抽出手法により第１文書情報から第１属性値が含む単語の第１構文的特徴を抽出し、第２文書情報から第２属性値が含む単語の第２構文的特徴を抽出し、第１及び第２構文的特徴の抽出と併せて特定の重要単語を抽出し、第２抽出手法により特定の重要単語から特定の意味的特徴を抽出し、特定の意味的特徴に第１構文的特徴を重み付けした第１合成特徴と特定の意味的特徴に第２構文的特徴を重み付けした第２合成特徴を生成し、第１合成特徴と第２合成特徴の類似度を出力する処理を実行する処理部と、を備える。【選択図】図２３
2020112919.tif 000002
【特許請求の範囲】
【請求項１】
第１の属性名と前記第１の属性名に応じた第１の属性値を含む第１の構造化データ及び複数の第２の属性名と前記複数の第２の属性名のそれぞれに応じた第２の属性値を含む第２の構造化データを記憶する記憶部と、
前記第１の属性値を集約した第１の文書情報と前記第２の属性値を属性名毎に集約した第２の文書情報を生成し、単語の構文に関する特徴量を表す構文的特徴量を重要単語と併せて抽出する第１の抽出手法に基づいて、前記第１の文書情報から前記第１の属性値が含む単語の第１の構文的特徴量を抽出し、前記第２の文書情報から前記第２の属性値が含む単語の第２の構文的特徴量を抽出し、前記第１の構文的特徴量及び前記第２の構文的特徴量の抽出と併せて特定の重要単語を抽出し、前記単語の意味に関する特徴量を表す意味的特徴量を抽出する第２の抽出手法に基づいて、前記特定の重要単語から前記特定の重要単語に応じた特定の意味的特徴量を抽出し、前記特定の意味的特徴量に前記第１の構文的特徴量を重み付けした第１の合成特徴量と前記特定の意味的特徴量に前記第２の構文的特徴量を重み付けした第２の合成特徴量を生成し、前記第１の合成特徴量と前記第２の合成特徴量の類似度を表す第１の類似度及び前記第１の類似度に応じて決定した前記第１の属性名の統合先を示す特定の第２の属性名の少なくとも一方を出力する処理を実行する処理部と、
を備えるデータ統合支援装置。
【請求項２】
前記処理部は、前記第１の文書情報と前記第２の文書情報を生成した後、前記第１の構文的特徴量と前記第２の構文的特徴量を抽出する前に、前記第１の属性値及び前記第２の属性値が文字か否かを判断し、前記第１の属性値及び前記第２の属性値が文字であると判断した場合に、前記第１の構文的特徴量と前記第２の構文的特徴量を抽出する、
ことを特徴とする請求項１に記載のデータ統合支援装置。
【請求項３】
前記処理部は、前記第１の類似度を算出し、算出した前記第１の類似度を前記第１の属性名及び前記第２の属性名と併せて表示装置に出力する、
ことを特徴とする請求項１又は２に記載のデータ統合支援装置。
【請求項４】
前記処理部は、前記第１の文書情報と前記第２の文書情報を生成した後、前記第１の構文的特徴量と前記第２の構文的特徴量を抽出する前に、前記第１の属性値及び前記第２の属性値が数値か否かを判断し、前記第１の属性値及び前記第２の属性値が数値であると判断した場合、形態素解析に基づいて、前記第１の属性名から前記第１の属性名が含む第１の単語を取得するとともに、前記第２の属性名から前記第２の属性名が含む第２の単語を取得し、前記第２の抽出手法に基づいて、前記第１の単語から前記第１の単語に応じた第１の意味的特徴量を抽出するとともに、前記第２の単語から前記第２の単語に応じた第２の意味的特徴量を抽出し、前記第１の意味的特徴量を平均化した第１の平均特徴量を生成するとともに、前記第２の意味的特徴量を平均化した第２の平均特徴量を生成し、前記第１の平均特徴量と前記第２の平均特徴量の類似度を表す第２の類似度及び前記第２の類似度に応じて決定した前記第１の属性名の統合先を示す特定の第２の属性名の少なくとも一方を出力する、
ことを特徴とする請求項１に記載のデータ統合支援装置。
【請求項５】
前記処理部は、前記第２の類似度を算出し、算出した前記第２の類似度を前記第１の属性名及び前記第２の属性名と併せて表示装置に出力する、
ことを特徴とする請求項４に記載のデータ統合支援装置。
【請求項６】
前記第１の構造化データと前記第２の構造化データはいずれもデータの構造定義を部分的に持つ半構造化データを含む、
ことを特徴とする請求項１から５のいずれか１項に記載のデータ統合支援装置。
【請求項７】
第１の属性名と前記第１の属性名に応じた第１の属性値を含む第１の構造化データ及び複数の第２の属性名と前記複数の第２の属性名のそれぞれに応じた第２の属性値を含む第２の構造化データを記憶し、
前記第１の属性値を集約した第１の文書情報と前記第２の属性値を属性名毎に集約した第２の文書情報を生成し、
単語の構文に関する特徴量を表す構文的特徴量を重要単語と併せて抽出する第１の抽出手法に基づいて、前記第１の文書情報から前記第１の属性値が含む単語の第１の構文的特徴量を抽出し、前記第２の文書情報から前記第２の属性値が含む単語の第２の構文的特徴量を抽出し、前記第１の構文的特徴量及び前記第２の構文的特徴量の抽出と併せて特定の重要単語を抽出し、
前記単語の意味に関する特徴量を表す意味的特徴量を抽出する第２の抽出手法に基づいて、前記特定の重要単語から前記特定の重要単語に応じた特定の意味的特徴量を抽出し、
前記特定の意味的特徴量に前記第１の構文的特徴量を重み付けした第１の合成特徴量と前記特定の意味的特徴量に前記第２の構文的特徴量を重み付けした第２の合成特徴量を生成し、
前記第１の合成特徴量と前記第２の合成特徴量の類似度を表す第１の類似度及び前記第１の類似度に応じて決定した前記第１の属性名の統合先を示す特定の第２の属性名の少なくとも一方を出力する、
処理をコンピュータが実行するデータ統合支援方法。
【請求項８】
第１の属性名と前記第１の属性名に応じた第１の属性値を含む第１の構造化データ及び複数の第２の属性名と前記複数の第２の属性名のそれぞれに応じた第２の属性値を含む第２の構造化データを記憶し、
前記第１の属性値を集約した第１の文書情報と前記第２の属性値を属性名毎に集約した第２の文書情報を生成し、
単語の構文に関する特徴量を表す構文的特徴量を重要単語と併せて抽出する第１の抽出手法に基づいて、前記第１の文書情報から前記第１の属性値が含む単語の第１の構文的特徴量を抽出し、前記第２の文書情報から前記第２の属性値が含む単語の第２の構文的特徴量を抽出し、前記第１の構文的特徴量及び前記第２の構文的特徴量の抽出と併せて特定の重要単語を抽出し、
前記単語の意味に関する特徴量を表す意味的特徴量を抽出する第２の抽出手法に基づいて、前記特定の重要単語から前記特定の重要単語に応じた特定の意味的特徴量を抽出し、
前記特定の意味的特徴量に前記第１の構文的特徴量を重み付けした第１の合成特徴量と前記特定の意味的特徴量に前記第２の構文的特徴量を重み付けした第２の合成特徴量を生成し、
前記第１の合成特徴量と前記第２の合成特徴量の類似度を表す第１の類似度及び前記第１の類似度に応じて決定した前記第１の属性名の統合先を示す特定の第２の属性名の少なくとも一方を出力する、
処理をコンピュータに実行させるためのデータ統合支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、データ統合支援装置、データ統合支援方法、及びデータ統合支援プログラムに関する。
【背景技術】
【０００２】
システム統合などによりデータベースの統合処理が必要となることが知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１３６３５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、データベースの統合処理では、統合対象及び統合先が構造化データである場合、２つのスキーマをマッチングするスキーママッチングと呼ばれる技術が利用される。例えば、統合対象及び統合先がテーブル形式の構造化データである場合、統合対象の個々の属性名データ一式をマッチング対象のスキーマとし、統合先の個々の属性名データ一式をマッチング先のスキーマとしてスキーママッチングが行われる。
【０００５】
ところが、属性名データ（以下、単に属性名という）の表現は統一されていないことがある。例えば、統合対象の属性名として「会社」が定義されており、統合先の属性名として「社名」が定義されている場合がある。この場合、それぞれの属性値データ（以下、単に属性値という）が具体的な企業の名称を表していれば、これら２つの属性名は構文的（syntactic）に一致しないものの意味的（semantic）に同義であると人なら判断することができ、２つの属性名に統合することできる。
【０００６】
しかしながら、スキーママッチングをソフトウェア処理などによって機械的に行う場合、上述したように、統合対象の属性名と統合先の属性名が構文的に一致しないことがあるため、これら２つの属性名だけで属性名を統合できるか判断することは難しい。一方で、属性値を抽出して属性名の意味を機械的に判断することを試みると、属性値は膨大であるため多大な計算量が要求されるという問題がある。
【０００７】
そこで、１つの側面では、効率的なデータ統合を支援することを目的とする。
【課題を解決するための手段】
【０００８】
１つの実施態様では、データ統合支援装置は、第１の属性名と前記第１の属性名に応じた第１の属性値を含む第１の構造化データ及び複数の第２の属性名と前記複数の第２の属性名のそれぞれに応じた第２の属性値を含む第２の構造化データを記憶する記憶部と、前記第１の属性値を集約した第１の文書情報と前記第２の属性値を属性名毎に集約した第２の文書情報を生成し、単語の構文に関する特徴量を表す構文的特徴量を重要単語と併せて抽出する第１の抽出手法に基づいて、前記第１の文書情報から前記第１の属性値が含む単語の第１の構文的特徴量を抽出し、前記第２の文書情報から前記第２の属性値が含む単語の第２の構文的特徴量を抽出し、前記第１の構文的特徴量及び前記第２の構文的特徴量の抽出と併せて特定の重要単語を抽出し、前記単語の意味に関する特徴量を表す意味的特徴量を抽出する第２の抽出手法に基づいて、前記特定の重要単語から前記特定の重要単語に応じた特定の意味的特徴量を抽出し、前記特定の意味的特徴量に前記第１の構文的特徴量を重み付けした第１の合成特徴量と前記特定の意味的特徴量に前記第２の構文的特徴量を重み付けした第２の合成特徴量を生成し、前記第１の合成特徴量と前記第２の合成特徴量の類似度を表す第１の類似度及び前記第１の類似度に応じて決定した前記第１の属性名の統合先を示す特定の第２の属性名の少なくとも一方を出力する処理を実行する処理部と、を備える。
【発明の効果】
【０００９】
効率的なデータ統合を支援することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は端末装置の一例である。
【図２】図２は端末装置のハードウェア構成の一例である。
【図３】図３は端末装置のブロック図の一例である。
【図４】図４は端末装置が実行する処理の一例を示すフローチャート（その１）である。
【図５】図５（ａ）は第１構造化データの一例である。図５（ｂ）は第２構造化データの一例である。
【図６】図６は第１構造化データからの文書情報の生成例を説明するための図である。
【図７】図７は第２構造化データからの文書情報の生成例を説明するための図である。
【図８】図８は文書情報の分類例を説明するための図である。
【図９】図９はデータクレンジングの一例を説明するための図である。
【図１０】図１０は形態素解析の一例を説明するための図である。
【図１１】図１１は構文的特徴量と重要単語の抽出例を説明するための図である。
【図１２】図１２は意味的特徴量の抽出例を説明するための図である。
【図１３】図１３は合成特徴量の生成例を説明するための図である。
【図１４】図１４は属性値が文字である場合のマッチング例を説明するための図である。
【図１５】図１５は端末装置が実行する処理の一例を示すフローチャート（その２）である。
【図１６】図１６は属性名の抽出例を説明するための図である。
【図１７】図１７は形態素解析の他の一例である。
【図１８】図１８は意味的特徴量の他の抽出例を説明するための図である。
【図１９】図１９は平均特徴量の生成例を説明するための図である。
【図２０】図２０は属性値が数値である場合のマッチング例を説明するための図である。
【図２１】図２１は属性値が数値である場合の他のマッチング例を説明するための図である。
【図２２】図２２はマッチングリスト画面の一例である。
【図２３】図２３は第１実施形態に係る利点を簡単に説明した図である。
【図２４】図２４は比較例に係るマッチング例を説明するための図である。
【図２５】図２５は第２実施形態に係るマッチング例を説明するための図である。
【図２６】図２６はデータ統合支援システムの一例である。
【発明を実施するための形態】
【００１１】
以下、本件を実施するための形態について図面を参照して説明する。
【００１２】
（第１実施形態）
図１は端末装置１００の一例である。端末装置１００はデータ統合支援装置の一例である。図１では、端末装置１００の一例としてPersonal Computer（ＰＣ）が示されているが、タブレット端末といったスマートデバイスであってもよい。端末装置１００はキーボード及びポインティングデバイス（以下、単にキーボードという）１００Ｆを備えている。端末装置１００はディスプレイ１００Ｇを備えている。ディスプレイ１００Ｇは液晶ディスプレイであってもよいし、有機electro-luminescence（ＥＬ）ディスプレイであってもよい。
【００１３】
ディスプレイ１００Ｇは種々の画面を表示する。詳細は後述するが、例えばディスプレイ１００Ｇは統合対象の属性名、その属性名に統合可能な統合先の属性名の候補、及びその候補の順位などを含むマッチングリスト画面１０を表示する。端末装置１００を利用するユーザ（例えばデータサイエンティストなど）はマッチングリスト画面１０に含まれる候補の順位などを確認し、キーボード１００Ｆを操作して統合先の属性名の候補の中からいずれか１つの候補を選択する。これにより、端末装置１００は選択された候補に統合対象の属性名を統合する。このように、マッチングリスト画面１０で提示される情報を利用することによって、ユーザはデータ統合の属性名を容易に決定することができ、データ統合の効率化を図ることができる。
【００１４】
次に、図２を参照して、端末装置１００のハードウェア構成について説明する。
【００１５】
図２は端末装置１００のハードウェア構成の一例である。図２に示すように、端末装置１００は、少なくともハードウェアプロセッサとしてのCentral Processing Unit（ＣＰＵ）１００Ａ、Random Access Memory（ＲＡＭ）１００Ｂ、Read Only Memory（ＲＯＭ）１００Ｃ、及びネットワークＩ／Ｆ（インタフェース）１００Ｄを含んでいる。また、上述したように、端末装置１００は、キーボード１００Ｆ及びディスプレイ１００Ｇも含んでいる。
【００１６】
さらに、端末装置１００は、必要に応じて、Hard Disk Drive（ＨＤＤ）１００Ｅ、入出力Ｉ／Ｆ１００Ｈ、ドライブ装置１００Ｉ、及び近距離無線通信回路１００Ｊの少なくとも１つを含んでいてもよい。ＣＰＵ１００Ａから近距離無線通信回路１００Ｊは、内部バス１００Ｋによって互いに接続されている。すなわち、端末装置１００はコンピュータによって実現することができる。尚、ＣＰＵ１００Ａに代えてMicro Processing Unit（ＭＰＵ）をハードウェアプロセッサとして利用してもよい。
【００１７】
入出力Ｉ／Ｆ１００Ｈには、半導体メモリ７３０が接続される。半導体メモリ７３０としては、例えばUniversal Serial Bus（ＵＳＢ）メモリやフラッシュメモリなどがある。入出力Ｉ／Ｆ１００Ｈは、半導体メモリ７３０に記憶されたプログラムやデータを読み取る。入出力Ｉ／Ｆ１００Ｈは、例えばＵＳＢポートを備えている。ドライブ装置１００Ｉには、可搬型記録媒体７４０が挿入される。可搬型記録媒体７４０としては、例えばCompact Disc（ＣＤ）−ＲＯＭ、Digital Versatile Disc（ＤＶＤ）といったリムーバブルディスクがある。ドライブ装置１００Ｉは、可搬型記録媒体７４０に記録されたプログラムやデータを読み込む。近距離無線通信回路１００ＪはWi-Fi（登録商標）やBluetooth（登録商標）といった近距離無線通信を実現する電気回路又は電子回路である。近距離無線通信回路１００Ｊにはアンテナ１００Ｊ´が接続されている。近距離無線通信回路１００Ｊに代えて通信機能を実現するＣＰＵが利用されてもよい。ネットワークＩ／Ｆ１００Ｄは、例えばLocal Area Network（ＬＡＮ）ポートを備えている。
【００１８】
上述したＲＡＭ１００Ｂには、ＲＯＭ１００ＣやＨＤＤ１００Ｅに記憶されたプログラムがＣＰＵ１００Ａによって一時的に格納される。ＲＡＭ１００Ｂには、可搬型記録媒体７４０に記録されたプログラムがＣＰＵ１００Ａによって一時的に格納される。格納されたプログラムをＣＰＵ１００Ａが実行することにより、ＣＰＵ１００Ａは後述する各種の機能を実現し、また、後述する各種の処理を実行する。尚、プログラムは後述するフローチャートに応じたものとすればよい。
【００１９】
次に、図３を参照して、端末装置１００の機能構成について説明する。
【００２０】
図３は端末装置１００のブロック図の一例である。図３では端末装置１００の機能の要部が示されている。図３に示すように、端末装置１００は記憶部１１０、処理部１２０、入力部１３０、及び表示部１４０を備えている。記憶部１１０は上述したＲＡＭ１００ＢやＨＤＤ１００Ｅによって実現することができる。処理部１２０は上述したＣＰＵ１００Ａによって実現することができる。入力部１３０は上述したキーボード１００Ｆによって実現することができる。表示部１４０は上述したディスプレイ１００Ｇによって実現することができる。したがって、記憶部１１０、処理部１２０、入力部１３０、及び表示部１４０は互いに接続されている。
【００２１】
ここで、記憶部１１０はデータ記憶部１１１、文書記憶部１１２、及び辞書記憶部１１３を構成要素として含んでいる。また、記憶部１１０は構文特徴記憶部１１４、ベクトル記憶部１１５、意味特徴記憶部１１６、及び合成特徴記憶部１１７を構成要素として含んでいる。一方、処理部１２０は文書生成部１２１、クレンジング部１２２、及び解析部１２３を構成要素として含んでいる。また、処理部１２０は第１抽出部１２４、第２抽出部１２５、特徴合成部１２６、及び類似度出力部１２７を構成要素として含んでいる。
【００２２】
処理部１２０の各構成要素は記憶部１１０の各構成要素の少なくとも１つにアクセスして、各種の処理を実行する。例えば、文書生成部１２１はデータ記憶部１１１にアクセスして、データ記憶部１１１が記憶する構造化データを取得する。文書生成部１２１は構造化データを取得すると、構造化データに含まれる属性値を集約した文書情報を生成し、文書情報を文書記憶部１１２に格納する。尚、その他の構成要素については、端末装置１００の動作を説明する際に詳しく記載する。
【００２３】
次に、図４から図２１を参照して、端末装置１００の動作について説明する。
【００２４】
はじめに、データ記憶部１１１は２つの構造化データを記憶する（ステップＳ１０１）。より詳しくは、図５（ａ）及び（ｂ）に示すように、データ記憶部１１１は、２つの構造化データとして、第１構造化データＤ１と第２構造化データＤ２を記憶する。第１構造化データＤ１と第２構造化データＤ２はいずれもテーブル形式でデータ構造が定義された電子ファイルである。第１実施形態において、第１構造化データＤ１が統合対象に相当し、第２構造化データＤ２が統合先に相当する。
【００２５】
尚、データ記憶部１１１が記憶する２つの構造化データはComma-Separated Values（ＣＳＶ）形式でデータ構造が定義された電子ファイルであってもよいし、固定長形式でデータ構造が定義された電子ファイルであってもよい。テーブル形式やＣＳＶ形式などはデータ構造が完全に定義されているため、構造化データを完全構造化データといいかえてもよい。一方、構造化データには、画像ファイルや音声ファイルといったデータ構造が全く定義されていない非構造化データは含まれない。以上説明した２つの構造化データは後続の処理が実行される前にデータ記憶部１１１に格納されていればよく、２つの構造化データの格納経路は特に限定されない。
【００２６】
図５（ａ）に示すように、第１構造化データＤ１は属性名と属性名に応じた属性値を含んでいる。具体的には、第１構造化データＤ１は「会社」や「振込日」などを属性名として含んでいる。また、第１構造化データＤ１は「出雲金属（株）」や「２０１２年２月２日」などを属性値として含んでいる。尚、第１実施形態では、図５（ａ）に示すように、複数の属性名と複数の属性名のそれぞれに応じた属性値を含む第１構造化データＤ１を一例として説明するが、１つの属性名と１つの属性名に応じた属性値を含む第１構造化データＤ１であってもよい。すなわち、統合対象に相当する第１構造化データＤ１に含まれる属性名の数は特に限定されない。
【００２７】
一方、図５（ｂ）に示すように、第２構造化データＤ２は複数の属性名と複数の属性名のそれぞれに応じた属性値を含んでいる。具体的には、第２構造化データＤ２は「職位」や「誕生日」などを属性名として含んでいる。また、第２構造化データＤ２は「研究員」や「１９８７年３月１２日」などを属性値として含んでいる。このように、統合先に相当する第２構造化データＤ２に含まれる属性名は統合対象に相当する第１構造化データＤ１に含まれる属性名と構文的に一致しないが、属性値を参照すると、意味的に同義である属性名が存在する。例えば、第２構造化データＤ２に含まれる「社名」と第１構造化データＤ１に含まれる「会社」は、単語の形態が一致しないため、構文的に一致しないが、第２構造化データＤ２に含まれる「アルファ」と第１構造化データＤ１に含まれる「出雲金属（株）」を参照すると、具体的な企業の名称を表していると想定されるため、「社名」と「会社」は意味的に同義である。このような関係は「誕生日」と「生年月日」についても同様である。また、図示しないが、このような関係は「空調機」と「エアコン」などについても同様である。
【００２８】
ステップＳ１０１の処理が完了すると、次いで、文書生成部１２１は文書情報を生成する（ステップＳ１０２）。具体的には、文書生成部１２１はデータ記憶部１１１にアクセスして、データ記憶部１１１が記憶する第１構造化データＤ１と第２構造化データＤ２を取得する。文書生成部１２１は第１構造化データＤ１と第２構造化データＤ２を取得すると、図６に示すように、まず、第１構造化データＤ１に含まれる属性値を集約して空白で区切った文書情報をカラム毎（即ち列毎）に生成する。そして、文書生成部１２１は各文書情報にその文書情報を識別する識別子を関連付けて保持する。次に、図７に示すように、第２構造化データＤ２に含まれる属性値を集約して空白で区切った文書情報をカラム毎に生成する。そして、文書生成部１２１は各文書情報にその文書情報を識別する識別子を関連付けて保持する。したがって、文書生成部１２１は統合対象の文書情報と統合先の文書情報を保持する。図６に示すように、統合対象の文書情報は属性値が文字である文書情報もあれば、属性値が数値である文書情報もある。図７に示すように、統合先の文書情報も属性値が文字である文書情報もあれば、属性値が数値である文書情報もある。
【００２９】
ステップＳ１０２の処理が完了すると、次いで、文書生成部１２１は文書情報を分類する（ステップＳ１０３）。具体的には、文書生成部１２１は正規表現に基づいて２つの文書情報を分類する。例えば、図８に示すように、文書生成部１２１は、統合対象の文書情報と統合先の文書情報を保持すると、文書情報を参照し、属性値のタイプを判断することによって２つの文書情報を分類する。文書生成部１２１は属性値が数値か否かによって２つの文書情報を分類してもよいし、属性値が文字か否かによって２つの文書情報を分類してもよい。これにより、図８に示すように、属性値が文字で統一された統合対象の文書情報及び統合先の文書情報を含む文字グループの文書情報と、属性値が数値で統一された統合対象の文書情報及び統合先の文書情報を含む数値グループの文書情報に分類される。文書生成部１２１は文字グループの文書情報と数値グループの文書情報を文書記憶部１１２に格納する。これにより、文書記憶部１１２は文字グループの文書情報と数値グループの文書情報を記憶する。
【００３０】
ステップＳ１０３の処理が完了すると、次いで、クレンジング部１２２は属性値が数値か否か判断する（ステップＳ１０４）。より詳しくは、クレンジング部１２２は文書記憶部１１２にアクセスして、文書記憶部１１２が記憶する文書情報の１つを取得する。文書生成部１２１は文書情報の１つを取得すると、取得した文書情報の属性値を確認し、属性値が数値か否か判断する。属性値が数値であれば、クレンジング部１２２は数値グループの文書情報を取得したことになる。属性値が文字であれば、クレンジング部１２２は文字グループの文書情報を取得したことになる。
【００３１】
ステップＳ１０４の処理において、クレンジング部１２２は属性値が数値でないと判断した場合（ステップＳ１０４：ＮＯ）、属性値が文字であると判断し、文字グループの文書情報に集約した各属性値を抽出する（ステップＳ１０５）。ステップＳ１０５の処理が完了すると、クレンジング部１２２は抽出した各属性値の少なくとも１つに対しデータクレンジングを実行する（ステップＳ１０６）。例えば、図９に示すように、クレンジング部１２２は半角で表現された括弧書きを全角で表現し直すデータクレンジングを実行する。また、クレンジング部１２２はコンピュータの環境に依存する文字をその環境に依存しない文字に変換するデータクレンジングを実行する。さらに、クレンジング部１２２は大文字のアルファベットを小文字のアルファベットに変換するデータクレンジングを実行する。尚、これらの処理はデータクレンジングの一例であって、設計に応じて、変更、削除、又は追加してもよい。
【００３２】
ステップＳ１０６の処理が完了すると、解析部１２３はデータクレンジングが実行された属性値に対し形態素解析を実行する（ステップＳ１０７）。より詳しくは、解析部１２３は辞書記憶部１１３が記憶する辞書データを参照して形態素解析を実行する。辞書データは形態素解析に必要な辞書に関するデータである。形態素解析が実行されることにより、図１０に示すように、いくつかの属性値は単語に分かち書きされる。すなわち、いくつかの属性値は固有名詞を表す単語と一般名詞を表す単語に分けられてこれら２つの単語の間に空白が挟まれる。尚、秘書やマネージャなど属性値によっては属性値自体が単語の場合もある。
【００３３】
ステップＳ１０７の処理が完了すると、第１抽出部１２４は構文的特徴量を抽出する（ステップＳ１０８）。より詳しくは、第１抽出部１２４は、構文的特徴量を重要単語と併せて抽出する公知の第１抽出手法に基づいて、構文的特徴量を抽出する。構文的特徴量は単語の構文に関する特徴量を表している。したがって、第１抽出部１２４は形態素解析が実行された統合対象の文書情報から単語に応じた第１構文的特徴量を抽出する。また、第１抽出部１２４は形態素解析が実行された統合先の文書情報から単語に応じた第２構文的特徴量を抽出する。さらに、第１抽出部１２４は第１構文的特徴量及び第２構文的特徴量の抽出と併せて重要単語を抽出する。これにより、図１１に示すように、各単語に応じた第１構文的特徴量及び第２構文的特徴量が数値として抽出されるとともに、重要単語が抽出される。第１抽出部１２４は抽出した第１構文的特徴量、第２構文的特徴量、及び重要単語を関連付けて構文特徴記憶部１１４に格納する。これにより、構文特徴記憶部１１４は互いに関連付いた第１構文的特徴量、第２構文的特徴量、及び重要単語を記憶する。
【００３４】
ここで、上述した第１抽出手法としては、例えばTerm Frequency - Inverse Document Frequency（ｔｆ−ｉｄｆ）（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.）が知られている。ｔｆ−ｉｄｆは単語の出現頻度を表すｔｆ（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.）と逆文書頻度を表すｉｄｆ（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)）に分けられる。ｉｄｆは多くの文書に出現する単語の重要度を下げ、特定の文書にしか出現しない単語の重要度を上げる役割を果たす。尚、第１実施形態では、第１の抽出手法としてｔｆ−ｉｄｆを採用しているが、ｔｆ−ｉｄｆに代えて、例えばBest Matching 25（ＢＭ２５）（Robertson S, Zaragoza H. The probabilistic relevance framework: BM25 and beyond[J]. Foundations and Trends （登録商標）in Information Retrieval, 2009, 3(4): 333-389.）などを採用してもよい。
【００３５】
ステップＳ１０８の処理が完了すると、第２抽出部１２５は意味的特徴量を抽出する（ステップＳ１０９）。より詳しくは、第２抽出部１２５は、意味的特徴量を抽出する公知の第２抽出手法に基づいて、意味的特徴量を抽出する。意味的特徴量は単語の意味に関する特徴量を表している。公知の第２抽出手法はベクトル記憶部１１５に記憶されている。第２抽出手法の具体例は後述する。第２抽出部１２５は第２抽出手法を利用することにより単語をその単語に応じたベクトルで表現することができる。したがって、第２抽出部１２５は構文特徴記憶部１１４から重要単語を取得し、第２抽出手法を利用して、取得した重要単語からその重要単語に応じた特定の意味的特徴量をベクトルとして抽出する。これにより、図１２に示すように、重要単語に応じた意味的特徴量がベクトルとして抽出される。第２抽出部１２５は抽出した意味的特徴量を重要単語と関連付けて意味特徴記憶部１１６に格納する。これにより、意味特徴記憶部１１６は互いに関連付いた意味的特徴量及び重要単語を記憶する。
【００３６】
ここで、上述した第２抽出手法としては、例えばword2vec（Distributed Representations of Words and Phrases and their Compositionality Advances in Neural Information Processing Systems 26 (NIPS 2013)）が知られている。尚、第１実施形態では、第２抽出手法としてword2vecを採用しているが、word2vecに代えて、例えばGlobal Vectors for Word Representation（ＧｌｏＶｅ）（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.）などを採用してもよい。
【００３７】
ステップＳ１０９の処理が完了すると、特徴合成部１２６は合成特徴量を生成する（ステップＳ１１０）。より詳しくは、図１３に示すように、特徴合成部１２６は、意味特徴記憶部１１６が記憶する意味的特徴量に構文特徴記憶部１１４が記憶する第１構文的特徴量を重み付けした第１合成特徴量をベクトルとして生成する。尚、第１合成特徴量は、図１３に示す３つの合成特徴量の中の最も上に位置する合成特徴量である。また、特徴合成部１２６は、意味特徴記憶部１１６が記憶する意味的特徴量に構文特徴記憶部１１４が記憶する第２構文的特徴量を重み付けした第２合成特徴量をベクトルとして生成する。尚、第２合成特徴量は、図１３に示す３つの合成特徴量の中の真ん中に位置する合成特徴量と最も下に位置する合成特徴量である。このように、意味的な特徴に構文的な特徴を重みづけることにより、構文的に一致しない属性名のアンマッチを抑制することができる。特徴合成部１２６は第１合成特徴量及び第２合成特徴量を生成すると、生成した第１合成特徴量及び第２合成特徴量を合成特徴記憶部１１７に格納する。これにより、合成特徴記憶部１１７は第１合成特徴量及び第２合成特徴量を記憶する。
【００３８】
ステップＳ１１０の処理が完了すると、類似度出力部１２７は類似度を算出する（ステップＳ１１１）。より詳しくは、類似度出力部１２７は合成特徴記憶部１１７から第１合成特徴量と第２合成特徴量を取得し、取得した第１合成特徴量と第２合成特徴量のコサイン類似度を算出する。ここで、第１実施形態では、図１３に示すように、特徴合成部１２６は識別子「Ｄ２Ｃ１」に関する第２合成特徴量と識別子「Ｄ２Ｃ４」に関する第２合成特徴量を生成する。このため、類似度出力部１２７は識別子「Ｄ１Ｃ１」に関する第１合成特徴量と識別子「Ｄ２Ｃ１」に関する第２合成特徴量のコサイン類似度を算出する。また、類似度出力部１２７は識別子「Ｄ１Ｃ１」に関する第１合成特徴量と識別子「Ｄ２Ｃ４」に関する第２合成特徴量のコサイン類似度を算出する。
【００３９】
これにより、図１４に示すように、識別子「Ｄ１Ｃ１」と識別子「Ｄ２Ｃ４」の第１の組み合わせに基づくベクトル間の角度は、識別子「Ｄ１Ｃ１」と識別子「Ｄ２Ｃ１」の第２の組み合わせに基づくベクトル間の角度より小さくなる。したがって、第１の組み合わせに基づくコサイン類似度の方が第２の組み合わせに基づくコサイン類似度より大きくなる。即ち、前者のコサイン類似度の方が後者のコサイン類似度と比べてより「１」に近づいている。この結果、第１の組み合わせに基づく類似度の方が第２の組み合わせに基づく類似度より相対的に高くなり、属性名「会社」は属性名「社名」とマッチし、属性名「職位」とマッチしない（即ちアンマッチ）と特定することができる。
【００４０】
ステップＳ１１１の処理が完了すると、類似度出力部１２７は類似度を出力する（ステップＳ１１２）。より詳しくは、類似度出力部１２７は算出した類似度と統合対象の属性名と統合先の属性名を含むマッチングリスト画面１０を表示部１４０に出力する。これにより、マッチングリスト画面１０を閲覧したユーザは統合対象の属性名をどの属性名に統合したらよいか容易に決定することができる。尚、後にマッチングリスト画面１０の詳細を説明する。
【００４１】
次に、上述したステップＳ１０４の処理において、属性値が数値である場合について説明する。
【００４２】
ステップＳ１０４の処理において、クレンジング部１２２は属性値が数値であると判断した場合（ステップＳ１０４：ＹＥＳ）、図１５に示すように、文書情報を細分化する（ステップＳ１２１）。例えば、クレンジング部１２２は、正規表現に基づいて、数値グループの文書情報を、日付を表す属性値を集約した文書情報と日時を表す属性値を集約した文書情報に細分化する。尚、クレンジング部１２２は日時を表す属性値を集約した文書情報が存在しないと判断した場合、ステップＳ１２１の処理をスキップしてもよい。第１実施形態では、日時を表す属性値を集約した文書情報が存在しないため、ステップＳ１２１の詳細な説明を省略する。
【００４３】
ステップＳ１２１の処理が完了すると、クレンジング部１２２は属性名を抽出する（ステップＳ１２２）。より詳しくは、図１６に示すように、クレンジング部１２２は第１構造化データＤ１と第２構造化データＤ２と数字グループの文書情報とに基づいて、識別子を関連付けた属性名を抽出する。数字グループの文書情報には数値の属性値が集約されているため、クレンジング部１２２はこれらの属性値を第１構造化データＤ１と第２構造化データＤ２の各属性値と対比することにより、第１構造化データＤ１と第２構造化データＤ２の属性名を抽出することができる。
【００４４】
ステップＳ１２２の処理が完了すると、解析部１２３はクレンジング部１２２が抽出した属性名に対し形態素解析を実行する（ステップＳ１２３）。ステップＳ１０７の処理と同様に、解析部１２３は辞書記憶部１１３が記憶する辞書データを参照して形態素解析を実行する。形態素解析が実行されることにより、図１７に示すように、いくつかの属性名は単語に分かち書きされる。すなわち、いくつかの属性名は２つ以上の単語に分けられ、これら２つ以上の単語の間に空白が挟まれる。第１実施形態では、例えば「振込日」が「振込」と「日」の２つの単語に分けられている。尚、「生年月日」や「誕生日」など属性名によっては属性名自体が単語の場合もある。ステップＳ１２３の処理により、解析部１２３は属性名が含む単語を取得する。
【００４５】
ステップＳ１２３の処理が完了すると、第２抽出部１２５は意味的特徴量を抽出する（ステップＳ１２４）。より詳しくは、第２抽出部１２５は、上述した公知の第２抽出手法に基づいて、意味的特徴量を抽出する。第２抽出部１２５は解析部１２３から単語を取得し、第２抽出手法を利用して、取得した単語からその単語に応じた意味的特徴量を抽出する。これにより、図１８に示すように、単語に応じた意味的特徴量がベクトルとして抽出される。第２抽出部１２５はこの単語に応じた意味的特徴量を単語と関連付けて意味特徴記憶部１１６に格納する。これにより、意味特徴記憶部１１６は互いに関連付いた意味的特徴量及び単語を記憶する。
【００４６】
ステップＳ１２４の処理が完了すると、特徴合成部１２６は平均特徴量を生成する（ステップＳ１２５）。より詳しくは、図１９に示すように、特徴合成部１２６は、属性名が含む一又は複数の単語の意味的特徴量の総和をその属性名が含む一又は複数の単語の数で割った第１平均特徴量及び第２平均特徴量を識別子毎にベクトルとして生成する。尚、第１平均特徴量は、図１９に示す４つの平均特徴量の中の最も上に位置する平均特徴量とその直下に位置する平均特徴量である。第２平均特徴量は、図１９に示す４つの平均特徴量の中の最も下に位置する平均特徴量とその直上に位置する平均特徴量である。このように、数値グループの文書情報は属性値が数値であるため、属性値の意味的特徴量を抽出して平均特徴量を生成すること有効でない。したがって、特徴合成部１２６は属性名が含む単語の意味的特徴量を利用して平均特徴量を生成する。特徴合成部１２６は第１平均特徴量及び第２平均特徴量を生成すると、生成した第１平均特徴量及び第２平均特徴量を合成特徴記憶部１１７に格納する。これにより、合成特徴記憶部１１７は第１平均特徴量及び第２平均特徴量を記憶する。
【００４７】
ステップＳ１２５の処理が完了すると、図４に示すように、類似度出力部１２７はステップＳ１１１の処理を実行する。より詳しくは、類似度出力部１２７は合成特徴記憶部１１７から第１平均特徴量と第２平均特徴量を取得し、取得した第１平均特徴量と第２平均特徴量のコサイン類似度を算出する。ここで、第１実施形態では、図１９に示すように、特徴合成部１２６は識別子「Ｄ１Ｃ２」に関する第１平均特徴量と識別子「Ｄ１Ｃ３」に関する第１平均特徴量を生成する。また、特徴合成部１２６は識別子「Ｄ２Ｃ２」に関する第２平均特徴量と識別子「Ｄ２Ｃ３」に関する第２平均特徴量を生成する。
【００４８】
このため、類似度出力部１２７は識別子「Ｄ１Ｃ２」に関する第１平均特徴量と識別子「Ｄ２Ｃ２」に関する第２平均特徴量のコサイン類似度を算出する。また、類似度出力部１２７は識別子「Ｄ１Ｃ２」に関する第１平均特徴量と識別子「Ｄ２Ｃ３」に関する第２平均特徴量のコサイン類似度を算出する。これにより、図２０に示すように、識別子「Ｄ１Ｃ２」と識別子「Ｄ２Ｃ３」の第３の組み合わせに基づくベクトル間の角度は、識別子「Ｄ１Ｃ２」と識別子「Ｄ２Ｃ２」の第４の組み合わせに基づくベクトル間の角度より小さくなる。したがって、第３の組み合わせに基づくコサイン類似度の方が第４の組み合わせに基づくコサイン類似度より大きくなる。即ち、前者のコサイン類似度の方が後者のコサイン類似度と比べてより「１」に近づいている。この結果、第３の組み合わせに基づく類似度の方が第４の組み合わせに基づく類似度より相対的に高くなり、属性名「振込日」は属性名「給料日」とマッチし、属性名「誕生日」とマッチしない（即ちアンマッチ）と特定することができる。
【００４９】
同様に、類似度出力部１２７は識別子「Ｄ１Ｃ３」に関する第１平均特徴量と識別子「Ｄ２Ｃ２」に関する第２平均特徴量のコサイン類似度を算出する。また、類似度出力部１２７は識別子「Ｄ１Ｃ３」に関する第１平均特徴量と識別子「Ｄ２Ｃ３」に関する第２平均特徴量のコサイン類似度を算出する。これにより、図２１に示すように、識別子「Ｄ１Ｃ３」と識別子「Ｄ２Ｃ２」の第５の組み合わせに基づくベクトル間の角度は、識別子「Ｄ１Ｃ３」と識別子「Ｄ２Ｃ３」の第６の組み合わせに基づくベクトル間の角度より小さくなる。したがって、第５の組み合わせに基づくコサイン類似度の方が第６の組み合わせに基づくコサイン類似度より大きくなる。即ち、前者のコサイン類似度の方が後者のコサイン類似度と比べてより「１」に近づいている。この結果、第５の組み合わせに基づく類似度の方が第６の組み合わせに基づく類似度より相対的に高くなり、属性名「生年月日」は属性名「誕生日」とマッチし、属性名「給料日」とマッチしない（即ちアンマッチ）と特定することができる。
【００５０】
ステップＳ１１１の処理が完了すると、類似度出力部１２７はステップＳ１１２の処理を実行する。すなわち、類似度出力部１２７は類似度などを含むマッチングリスト画面１０を表示部１４０に出力する。これにより、属性値が文字である場合と同様に、マッチングリスト画面１０を閲覧したユーザは統合対象の属性名をどの属性名に統合したらよいか容易に決定することができる。
【００５１】
図２２はマッチングリスト画面１０の一例である。マッチングリスト画面１０は第１構造化データＤ１に関する画面と第２構造化データＤ２に関する画面を含んでいる。マッチングリスト画面１０に含まれる各画面はいずれも統合対象の情報と統合先の情報を含んでいる。具体的には、マッチングリスト画面１０に含まれる各画面はいずれも識別子、属性名、及び属性値を統合対象の情報として含んでいる。また、マッチングリスト画面１０に含まれる各画面はいずれも対応識別子、対応属性名、及び対応属性値を統合先の情報として含んでいる。マッチングリスト画面１０に含まれる各画面はいずれも統合対象の情報と統合先の情報の間に候補順位と類似度を含んでいる。候補順位は統合対象に対する統合先の候補の順位を表している。類似度はコサイン類似度を表している。数値が大きな類似度ほど統合先の候補として高い順位が付与されている。このように、表示部１４０にマッチングリスト画面１０が表示され、ユーザがマッチングリスト画面１０を確認すれば、統合対象の属性名をどの属性名に統合したらよいか容易に決定することができる。
【００５２】
このように、第１実施形態では、ユーザがマッチングリスト画面１０を確認して、統合対象の属性名をどの属性名に統合したらよいかを決定している。一方で、マッチングリスト画面１０を表示部１４０に表示せずに、例えば候補順位が１位である統合先の属性名を類似度出力部１２７が特定し、特定した統合先の属性名に統合対象の属性名を類似度出力部１２７が動的に統合し、その結果を表示部１４０に表示するようにしてもよい。これにより、ユーザの確認作業が不要になり、データ統合が円滑化する。
【００５３】
図２３は第１実施形態に係る利点を簡単に説明した図である。上段には比較例に係るユーザ２０の作業が示されている。下段には第１実施形態に係るユーザ２０の作業が示されている。データサイエンティストといったユーザ２０はデータを分析してインサイト（洞察）を導出することが求められるが、上段に示すように、ユーザ２０の作業時間の８割近くは分析工程の前の工程である前処理工程で消費されている。特に、前処理工程におけるデータ統合では、属性名の表現が統一されていないことが多く、個々の属性名を個別にチェックして統合対象に対する統合先として同じであるか否かが判断されている。この結果、作業時間の残り２割近くでデータを分析してインサイトを導出することが求められ、効率的なデータ統合が難しかった。
【００５４】
しかしながら、第１実施形態によれば、下段に示すように、ユーザ２０は端末装置１００に表示されたマッチングリスト画面（図２３において不図示）を確認すれば、属性名のマッチ及びアンマッチを容易に決定することができる。これにより、前処理工程で消費する作業時間を削減することができ、インサイトの導出に要する作業時間を増やすことできる。
【００５５】
以上、第１実施形態によれば、端末装置１００は記憶部１１０と処理部１２０を備えている。記憶部１１０はデータ記憶部１１１を含んでいる。データ記憶部１１１は第１構造化データＤ１及び第２構造化データＤ２を記憶する。第１構造化データＤ１は属性名とその属性名に応じた属性値を含んでいる。第２構造化データＤ２は複数の属性名とこれら複数の属性名のそれぞれに応じた属性値を含んでいる。
【００５６】
一方、処理部１２０は文書生成部１２１、第１抽出部１２４、第２抽出部１２５、特徴合成部１２６、及び類似度出力部１２７を備えている。文書生成部１２１は第１構造化データＤ１が含む属性値を集約した文書情報を生成する。また、文書生成部１２１は第２構造化データＤ２が含む複数の属性値を集約した文書情報を生成する。第１抽出部１２４は上述した公知の第１抽出手法に基づいて、前者の文書情報から第１構文的特徴量を抽出し、後者の文書情報から第２構文的特徴量を抽出し、第１構文的特徴量及び第２構文的特徴量の抽出と併せて特定の重要単語を抽出する。第２抽出部１２５は上述した公知の第２抽出手法に基づいて、特定の重要単語から特定の重要単語に応じた特定の意味的特徴量を抽出する。特徴合成部１２６は特定の意味的特徴量に第１構文的特徴量を重み付けした第１合成特徴量と特定の意味的特徴量に第２構文的特徴量を重み付けした第２合成特徴量を生成する。類似度出力部１２７は第１合成特徴量と第２合成特徴量の類似度を表す第１類似度及び第１類似度に応じて決定した統合対象の属性名の統合先を示す特定の属性名の少なくとも一方を出力する。
【００５７】
これにより、効率的なデータ統合を支援することができる。特に、第１実施形態によれば、属性名の構文的な特徴だけでなく、属性値の意味的な特徴も考慮しているため、属性名が構文的にマッチしなくても、属性値によって意味的にマッチする属性名を見逃さないで済む。一方で、属性値の意味的な特徴だけに着目してデータ統合の関する処理を実行していないため、属性値の意味的な特徴だけに着目した場合に比べて、計算量を削減することができる。
【００５８】
（第２実施形態）
続いて、図２４及び図２５を参照して、本件の第２実施形態について説明する。図２４は比較例に係るマッチング例を説明するための図である。図２５は第２実施形態に係るマッチング例を説明するための図である。第２実施形態では、第１実施形態で説明した第１構造化データＤ１及び第２構造化データＤ２に代えて、第１半構造化データＤ３と第２半構造化データＤ４を用いて説明する。
【００５９】
第１半構造化データＤ３と第２半構造化データＤ４はいずれもツリー構造形式でデータ構造が定義された電子ファイルである。このような電子ファイルとしては、例えばeXtensible Markup Language（ＸＭＬ）ファイル、JavaScript（登録商標） Object Notation（ＪＳＯＮ）ファイル、テキストファイルなどがある。すなわち、第１半構造化データＤ３と第２半構造化データＤ４はいずれもデータ構造が部分的に定義されたデータである。言い換えれば、第１半構造化データＤ３と第２半構造化データＤ４はいずれもデータの構造定義を部分的に持っている。
【００６０】
第２実施形態において、第２半構造化データＤ４が統合対象に相当し、第１半構造化データＤ３が統合先に相当する。第２実施形態では、データ記憶部１１１は、２つの構造化データとして、このような第１半構造化データＤ３及び第２半構造化データＤ４を記憶する。尚、第１半構造化データＤ３及び第２半構造化データＤ４は上述したステップＳ１０２の処理が実行される前にデータ記憶部１１１に格納されていればよく、第１半構造化データＤ３及び第２半構造化データＤ４の格納経路は特に限定されない。
【００６１】
ここで、図２４に示すように、第２半構造化データＤ４がデータセットＢとして含む属性名を、第１半構造化データＤ３がデータセットＡとして含む属性名に統合する際、第２半構造化データＤ４が統合対象として含む上位の属性名（具体的には「ショーファー」（chauffeur：運転手））と第１半構造化データＤ３が統合先として含む２つの上位の属性名（具体的にはカー情報及びドライバ情報）とのマッチングが実行される。また、この際、第２半構造化データＤ４が統合対象として含む下位の属性名（具体的にはシリーズ）と第１半構造化データＤ３が統合先として含む４つの下位の属性名（具体的には「モデル」、「プライス」、「ネーム」、及び「アドレス」）とのマッチングが実行される。
【００６２】
しかしながら、統合対象である上位の属性名を統合先である２つの上位の属性名のそれぞれと構文的にマッチングしても、文字の形態が一致しないため、統合対象である上位の属性名が統合先である上位の属性名のどちらとマッチするのか精度良く判断することは難しい。同様に、統合対象である下位の属性名を統合先である４つの下位の属性名のそれぞれと構文的にマッチングしても、文字の形態が一致しないため、統合対象である下位の属性名が統合先である下位の属性名のどれとマッチするのか精度良く判断することは難しい。
【００６３】
ところが、第２実施形態では、図２５に示すように、第２半構造化データＤ４が含む下位の属性名に応じた属性値（具体的にはＸ１やＣ６３など）と第１半構造化データＤ３が含む下位の属性名に応じた属性値（具体的にはＺ２やＭ４など）を利用する。このように、第１実施形態と同様に属性値を利用すれば、属性名の構文的な特徴と属性値の意味的な特徴の両方が考慮されて、統合対象である下位の属性名が統合先である下位の属性名のどれとマッチするのか精度良く判断することができる。第２実施形態では、図２５に示すように、下位の属性名「シリーズ」は下位の属性名「モデル」とマッチし、下位の属性名「プライス」、「ネーム」及び「アドレス」とマッチしない（即ちアンマッチ）と判断することができる。
【００６４】
また、統合対象である上位の属性名と統合先である上位の属性名をマッチングする際には、下位の属性名及び属性値を利用する。このように、下位の属性名と属性値を利用すれば、上位の属性名及び下位の属性名の構文的な特徴と属性値の意味的な特徴の全てが考慮されて、統合対象である上位の属性名が統合先である上位の属性名のどちらとマッチするのか精度良く判断することができる。第２実施形態では、図２５に示すように、上位の属性名「ショーファー」は上位の属性名「ドライバ情報」とマッチし、上位の属性名「カー情報」とマッチしない（即ちアンマッチ）と判断することができる。
【００６５】
このように、第２実施形態によれば、第１実施形態で説明した構造化データに限らず、半構造化データを利用した場合であっても、効率的なデータ統合を支援することができる。
【００６６】
（第３実施形態）
続いて、図２６を参照して、本件の第３実施形態について説明する。図２６はデータ統合支援システムＳＴの一例である。尚、図３に示す端末装置１００の各部と同様の構成には同一符号を付し、その説明を省略する。
【００６７】
データ統合支援システムＳＴは端末装置１００とサーバ装置２００を含んでいる。端末装置１００とサーバ装置２００は通信ネットワークＮＷを介して接続されている。通信ネットワークＮＷとしては、例えばLocal Area Network（ＬＡＮ）やインターネットなどがある。
【００６８】
端末装置１００は入力部１３０、表示部１４０、及び通信部１５０を備えている。一方、サーバ装置２００は記憶部１１０、処理部１２０、及び通信部１６０を備えている。２つの通信部１５０，１６０はいずれもネットワークＩ／Ｆ１００Ｄ又は近距離無線通信回路１００Ｊによって実現することができる。このように、サーバ装置２００が記憶部１１０と処理部１２０を備えることにより、サーバ装置２００をデータ統合支援装置としてもよい。
【００６９】
図２６に示すように、第１実施形態で説明した記憶部１１０及び処理部１２０を、端末装置１００に代えて、サーバ装置２００が備えていてもよい。この場合、端末装置１００の入力部１３０が操作されて、上述した第１構造化データＤ１及び第２構造化データＤ２が２つの通信部１５０，１６０を介して記憶部１１０（より詳しくはデータ記憶部１１１）に格納される。第１構造化データＤ１及び第２構造化データＤ２に代えて、第１半構造化データＤ３及び第２半構造化データＤ４が記憶部１１０に格納されてもよい。
【００７０】
処理部１２０は記憶部１１０にアクセスして、第１構造化データＤ１及び第２構造化データＤ２を取得し、第１構造化データＤ１及び第２構造化データＤ２に対し、第１実施形態で説明した各種の処理を実行する。そして、処理部１２０は処理結果を通信部１６０に出力し、通信部１６０が処理結果を通信部１５０に送信する。処理結果としては、例えばマッチングリスト画面１０を表示できる画面情報などがある。通信部１５０は処理結果を受信すると、画面情報を表示部１４０に出力する。これにより、表示部１４０はマッチングリスト画面１０を表示する。
【００７１】
このように、端末装置１００が記憶部１１０と処理部１２０を備えずに、サーバ装置２００が記憶部１１０と処理部１２０を備えていてもよい。また、サーバ装置２００が記憶部１１０を備え、通信ネットワークＮＷに接続された別のサーバ装置（不図示）が処理部１２０を備えていてもよい。このような実施形態であっても、効率的なデータ統合を支援することができる。
【００７２】
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、データクレンジングの対象の属性値の表現などが事前に統一されている場合には、データクレンジングを実行しなくてもよい。また、形態素解析の対象の属性値が単語に分かち書きされている場合には、形態素解析を実行しなくてもよい。
【００７３】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）第１の属性名と前記第１の属性名に応じた第１の属性値を含む第１の構造化データ及び複数の第２の属性名と前記複数の第２の属性名のそれぞれに応じた第２の属性値を含む第２の構造化データを記憶する記憶部と、前記第１の属性値を集約した第１の文書情報と前記第２の属性値を属性名毎に集約した第２の文書情報を生成し、単語の構文に関する特徴量を表す構文的特徴量を重要単語と併せて抽出する第１の抽出手法に基づいて、前記第１の文書情報から前記第１の属性値が含む単語の第１の構文的特徴量を抽出し、前記第２の文書情報から前記第２の属性値が含む単語の第２の構文的特徴量を抽出し、前記第１の構文的特徴量及び前記第２の構文的特徴量の抽出と併せて特定の重要単語を抽出し、前記単語の意味に関する特徴量を表す意味的特徴量を抽出する第２の抽出手法に基づいて、前記特定の重要単語から前記特定の重要単語に応じた特定の意味的特徴量を抽出し、前記特定の意味的特徴量に前記第１の構文的特徴量を重み付けした第１の合成特徴量と前記特定の意味的特徴量に前記第２の構文的特徴量を重み付けした第２の合成特徴量を生成し、前記第１の合成特徴量と前記第２の合成特徴量の類似度を表す第１の類似度及び前記第１の類似度に応じて決定した前記第１の属性名の統合先を示す特定の第２の属性名の少なくとも一方を出力する処理を実行する処理部と、を備えるデータ統合支援装置。
（付記２）前記処理部は、前記第１の文書情報と前記第２の文書情報を生成した後、前記第１の構文的特徴量と前記第２の構文的特徴量を抽出する前に、前記第１の属性値及び前記第２の属性値が文字か否かを判断し、前記第１の属性値及び前記第２の属性値が文字であると判断した場合に、前記第１の構文的特徴量と前記第２の構文的特徴量を抽出する、ことを特徴とする付記１に記載のデータ統合支援装置。
（付記３）前記処理部は、前記第１の類似度を算出し、算出した前記第１の類似度を前記第１の属性名及び前記第２の属性名と併せて表示装置に出力する、ことを特徴とする付記１又は２に記載のデータ統合支援装置。
（付記４）前記処理部は、前記第１の文書情報と前記第２の文書情報を生成した後、前記第１の構文的特徴量と前記第２の構文的特徴量を抽出する前に、前記第１の属性値及び前記第２の属性値が数値か否かを判断し、前記第１の属性値及び前記第２の属性値が数値であると判断した場合、形態素解析に基づいて、前記第１の属性名から前記第１の属性名が含む第１の単語を取得するとともに、前記第２の属性名から前記第２の属性名が含む第２の単語を取得し、前記第２の抽出手法に基づいて、前記第１の単語から前記第１の単語に応じた第１の意味的特徴量を抽出するとともに、前記第２の単語から前記第２の単語に応じた第２の意味的特徴量を抽出し、前記第１の意味的特徴量を平均化した第１の平均特徴量を生成するとともに、前記第２の意味的特徴量を平均化した第２の平均特徴量を生成し、前記第１の平均特徴量と前記第２の平均特徴量の類似度を表す第２の類似度及び前記第２の類似度に応じて決定した前記第１の属性名の統合先を示す特定の第２の属性名の少なくとも一方を出力する、ことを特徴とする付記１に記載のデータ統合支援装置。
（付記５）前記処理部は、前記第２の類似度を算出し、算出した前記第２の類似度を前記第１の属性名及び前記第２の属性名と併せて表示装置に出力する、ことを特徴とする付記４に記載のデータ統合支援装置。
（付記６）前記第１の構造化データと前記第２の構造化データはいずれもデータの構造定義を部分的に持つ半構造化データを含む、ことを特徴とする付記１から５のいずれか１項に記載のデータ統合支援装置。
（付記７）第１の属性名と前記第１の属性名に応じた第１の属性値を含む第１の構造化データ及び複数の第２の属性名と前記複数の第２の属性名のそれぞれに応じた第２の属性値を含む第２の構造化データを記憶し、前記第１の属性値を集約した第１の文書情報と前記第２の属性値を属性名毎に集約した第２の文書情報を生成し、単語の構文に関する特徴量を表す構文的特徴量を重要単語と併せて抽出する第１の抽出手法に基づいて、前記第１の文書情報から前記第１の属性値が含む単語の第１の構文的特徴量を抽出し、前記第２の文書情報から前記第２の属性値が含む単語の第２の構文的特徴量を抽出し、前記第１の構文的特徴量及び前記第２の構文的特徴量の抽出と併せて特定の重要単語を抽出し、前記単語の意味に関する特徴量を表す意味的特徴量を抽出する第２の抽出手法に基づいて、前記特定の重要単語から前記特定の重要単語に応じた特定の意味的特徴量を抽出し、前記特定の意味的特徴量に前記第１の構文的特徴量を重み付けした第１の合成特徴量と前記特定の意味的特徴量に前記第２の構文的特徴量を重み付けした第２の合成特徴量を生成し、前記第１の合成特徴量と前記第２の合成特徴量の類似度を表す第１の類似度及び前記第１の類似度に応じて決定した前記第１の属性名の統合先を示す特定の第２の属性名の少なくとも一方を出力する、処理をコンピュータが実行するデータ統合支援方法。
（付記８）前記処理は、前記第１の文書情報と前記第２の文書情報を生成した後、前記第１の構文的特徴量と前記第２の構文的特徴量を抽出する前に、前記第１の属性値及び前記第２の属性値が文字か否かを判断し、前記第１の属性値及び前記第２の属性値が文字であると判断した場合に、前記第１の構文的特徴量と前記第２の構文的特徴量を抽出する、ことを特徴とする付記７に記載のデータ統合支援方法。
（付記９）前記処理は、前記第１の類似度を算出し、算出した前記第１の類似度を前記第１の属性名及び前記第２の属性名と併せて表示装置に出力する、ことを特徴とする付記７又は８に記載のデータ統合支援方法。
（付記１０）前記処理は、前記第１の文書情報と前記第２の文書情報を生成した後、前記第１の構文的特徴量と前記第２の構文的特徴量を抽出する前に、前記第１の属性値及び前記第２の属性値が数値か否かを判断し、前記第１の属性値及び前記第２の属性値が数値であると判断した場合、形態素解析に基づいて、前記第１の属性名から前記第１の属性名が含む第１の単語を取得するとともに、前記第２の属性名から前記第２の属性名が含む第２の単語を取得し、前記第２の抽出手法に基づいて、前記第１の単語から前記第１の単語に応じた第１の意味的特徴量を抽出するとともに、前記第２の単語から前記第２の単語に応じた第２の意味的特徴量を抽出し、前記第１の意味的特徴量を平均化した第１の平均特徴量を生成するとともに、前記第２の意味的特徴量を平均化した第２の平均特徴量を生成し、前記第１の平均特徴量と前記第２の平均特徴量の類似度を表す第２の類似度及び前記第２の類似度に応じて決定した前記第１の属性名の統合先を示す特定の第２の属性名の少なくとも一方を出力する、ことを特徴とする付記７に記載のデータ統合支援方法。
（付記１１）前記処理は、前記第２の類似度を算出し、算出した前記第２の類似度を前記第１の属性名及び前記第２の属性名と併せて表示装置に出力する、ことを特徴とする付記１０に記載のデータ統合支援方法。
（付記１２）前記第１の構造化データと前記第２の構造化データはいずれもデータの構造定義を部分的に持つ半構造化データを含む、ことを特徴とする付記７から１１のいずれか１項に記載のデータ統合支援方法。
（付記１３）第１の属性名と前記第１の属性名に応じた第１の属性値を含む第１の構造化データ及び複数の第２の属性名と前記複数の第２の属性名のそれぞれに応じた第２の属性値を含む第２の構造化データを記憶し、前記第１の属性値を集約した第１の文書情報と前記第２の属性値を属性名毎に集約した第２の文書情報を生成し、単語の構文に関する特徴量を表す構文的特徴量を重要単語と併せて抽出する第１の抽出手法に基づいて、前記第１の文書情報から前記第１の属性値が含む単語の第１の構文的特徴量を抽出し、前記第２の文書情報から前記第２の属性値が含む単語の第２の構文的特徴量を抽出し、前記第１の構文的特徴量及び前記第２の構文的特徴量の抽出と併せて特定の重要単語を抽出し、前記単語の意味に関する特徴量を表す意味的特徴量を抽出する第２の抽出手法に基づいて、前記特定の重要単語から前記特定の重要単語に応じた特定の意味的特徴量を抽出し、前記特定の意味的特徴量に前記第１の構文的特徴量を重み付けした第１の合成特徴量と前記特定の意味的特徴量に前記第２の構文的特徴量を重み付けした第２の合成特徴量を生成し、前記第１の合成特徴量と前記第２の合成特徴量の類似度を表す第１の類似度及び前記第１の類似度に応じて決定した前記第１の属性名の統合先を示す特定の第２の属性名の少なくとも一方を出力する、処理をコンピュータに実行させるためのデータ統合支援プログラム。
【符号の説明】
【００７４】
１００  端末装置
１１０  記憶部
１１１  データ記憶部
１２０  処理部
１２１  文書生成部
１２４  第１抽出部
１２５  第２抽出部
１２６  特徴合成部
１２７  類似度出力部
【図１】
2020112919.tif 000003
【図２】
2020112919.tif 000004
【図３】
2020112919.tif 000005
【図４】
2020112919.tif 000006
【図５】
2020112919.tif 000007
【図６】
2020112919.tif 000008
【図７】
2020112919.tif 000009
【図８】
2020112919.tif 000010
【図９】
2020112919.tif 000011
【図１０】
2020112919.tif 000012
【図１１】
2020112919.tif 000013
【図１２】
2020112919.tif 000014
【図１３】
2020112919.tif 000015
【図１４】
2020112919.tif 000016
【図１５】
2020112919.tif 000017
【図１６】
2020112919.tif 000018
【図１７】
2020112919.tif 000019
【図１８】
2020112919.tif 000020
【図１９】
2020112919.tif 000021
【図２０】
2020112919.tif 000022
【図２１】
2020112919.tif 000023
【図２２】
2020112919.tif 000024
【図２３】
2020112919.tif 000025
【図２４】
2020112919.tif 000026
【図２５】
2020112919.tif 000027
【図２６】
2020112919.tif 000028