(57)【特許請求の範囲】
【請求項１】
複数のファイルのデータリニエージを検出するデータリニエージ検出装置であって、
１以上のプロセッサであるプロセッサ部を備え、
前記プロセッサ部は、
前記複数のファイル中の処理対象となる所定のファイルペアについての複数の特徴量を用いて、複数の評価処理のそれぞれにより前記ファイルペア間のデータリニエージの有無を評価する評価値を出力し、
前記複数の評価処理により出力された複数の評価値に対して、それぞれに対応する所定の重み付けを行う重み付け処理を行い、
前記重み付け処理によって得られた複数の値を合計して総合評価値を算出し、
前記総合評価値に基づいて、前記ファイルペア間のデータリニエージの有無を推定し、前記データリニエージが有ると推定されたファイルペアである関連ファイルペア候補を出力し、
前記関連ファイルペア候補が前記データリニエージを有しているか否かについての管理者による確認結果を受け付け、
前記データリニエージを有しているとの確認結果が得られた前記関連ファイルペア候補を、データリニエージが有るファイルペアであるとして登録し、
前記関連ファイルペア候補の前記確認結果と、前記ファイルペア候補の特徴量とに基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタを学習して反映させる
データリニエージ検出装置。
【請求項２】
前記プロセッサ部は、
複数のファイルが蓄積されるファイル蓄積領域から、新たに追加されたファイルを一方に含むファイルペアを前記処理対象として決定する
請求項１に記載のデータリニエージ検出装置。
【請求項３】
前記ファイル蓄積領域は、遠隔地にある複数のストレージ装置のそれぞれにより提供される記憶領域で構成されている
請求項２に記載のデータリニエージ検出装置。
【請求項４】
前記プロセッサ部は、
ＥＭアルゴリズムを用いて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタの学習を行う
請求項１から請求項３のいずれか一項に記載のデータリニエージ検出装置。
【請求項５】
前記評価処理は、線形分類を行う処理を含む
請求項１に記載のデータリニエージ検出装置。
【請求項６】
前記重み付け処理における重み付けの係数を求める関数は、ソフトマックス関数である
請求項１に記載のデータリニエージ検出装置。
【請求項７】
前記プロセッサ部は、
前記管理者から導出関係を有するファイルペアの指定を受け付け、
受け付けた前記ファイルペアを、データリニエージが有るファイルペアとして登録する
請求項１に記載のデータリニエージ検出装置。
【請求項８】
前記プロセッサ部は、
指定を受け付けた前記ファイルペアの特徴量に基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタの学習を行って反映させる
請求項７に記載のデータリニエージ検出装置。
【請求項９】
前記プロセッサ部は、
第１ファイルと、所定のアプリケーションにより前記第１ファイルから生成された第２ファイルとを含むファイルペアに関する特徴量に基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタの学習を行って反映させる
請求項１に記載のデータリニエージ検出装置。
【請求項１０】
前記複数の評価処理は、前記ファイルペア間のデータリニエージの有無を評価する評価値の精度が高くなる前記特徴量の範囲が異なる２以上の評価処理を含む
請求項１に記載のデータリニエージ検出装置。
【請求項１１】
前記ファイルペアの前記特徴量の範囲が、前記評価処理による前記ファイルペア間のデータリニエージの有無を評価する評価値の精度が高くなる前記特徴量の範囲である場合に、前記重み付け処理による前記所定の重み付けが大きくなるように設定されている
請求項１０に記載のデータリニエージ検出装置。
【請求項１２】
前記プロセッサ部は、
前記重み付け処理における対応する所定の重み付けが所定以下となった評価処理について、以降において実行しないようにする
請求項１に記載のデータリニエージ検出装置。
【請求項１３】
前記プロセッサ部は、
前記重み付け処理における対応する所定の重み付けに基づいて、前記重み付けが大きい順に、前記評価処理に関する評価値に関する情報を表示する
請求項１に記載のデータリニエージ検出装置。
【請求項１４】
複数のファイルのデータリニエージを検出するデータリニエージ検出装置によるデータリニエージ検出方法であって、
前記複数のファイル中の処理対象となる所定のファイルペアについての複数の特徴量を用いて、複数の評価処理のそれぞれにより前記ファイルペア間の導出関係の有無を評価する評価値を出力し、
前記複数の評価処理により出力された複数の評価値に対して、それぞれに対応する所定の重み付けを行う重み付け処理を行い、
前記重み付け処理によって得られた複数の値を合計して総合評価値を算出し、
前記総合評価値に基づいて、前記ファイルペア間のデータリニエージの有無を推定し、前記データリニエージが有ると推定されたファイルペアである関連ファイルペア候補を出力し、
前記関連ファイルペア候補が前記データリニエージを有しているか否かについての管理者による確認結果を受け付け、
前記データリニエージを有しているとの確認結果が得られた前記関連ファイルペア候補を、データリニエージが有るファイルペアであるとして登録し、
前記関連ファイルペア候補の前記確認結果と、前記ファイルペア候補の特徴量とに基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタを学習して反映させる
データリニエージ検出方法。
【請求項１５】
複数のファイルのデータリニエージを検出するデータリニエージ検出装置を構成するコンピュータに実行されるデータリニエージ検出プログラムであって、
前記コンピュータを、
前記複数のファイル中の処理対象となる所定のファイルペアについての複数の特徴量を用いて、複数の評価処理のそれぞれにより前記ファイルペア間のデータリニエージの有無を評価する評価値を出力させ、
前記複数の評価処理により出力された複数の評価値に対して、それぞれに対応する所定の重み付けを行う重み付け処理を行わせ、
前記重み付け処理によって得られた複数の値を合計して総合評価値を算出させ、
前記総合評価値に基づいて、前記ファイルペア間のデータリニエージの有無を推定し、前記データリニエージが有ると推定されたファイルペアである関連ファイルペア候補を出力させ、
前記関連ファイルペア候補が前記データリニエージを有しているか否かについての管理者による確認結果を受け付させ、
前記データリニエージを有しているとの確認結果が得られた前記関連ファイルペア候補を、データリニエージが有るファイルペアであるとして登録させ、
前記関連ファイルペア候補の前記確認結果と、前記ファイルペア候補の特徴量とに基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタを学習させて反映させるように構成する
データリニエージ検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、データレイクに格納された複数のファイルのデータリニエージを検出するデータリニエージ検出装置等に関する。
【背景技術】
【０００２】
企業内で生成される多様なデータを統合し、業務データ分析等に利活用するソリューションが注目されている。この実現のためには、構造化データ、非構造化データの別を問わずに蓄積することができる、一元化されたデータの格納先が必要である。このようなデータ格納のためのシステムは、一般にデータレイクとして知られている。【０００３】
こうしたデータレイクには、センサーデータ、ソーシャルメディアデータ等、定期的に生成されるデータが流入し、これらがデータファイルの形で保持されている。さらに流入したデータは、いわゆるＥＴＬ（Ｅｘｔｒａｃｔ・Ｔｒａｎｓｆｏｒｍ・Ｌｏａｄ）ツールのようなデータ処理プログラムによって加工され、データ利活用に供される。加工されたデータもまた、別のデータファイルとしてデータレイクに保持されている。【０００４】
このようにデータレイクが保持するデータファイルには、或るデータファイルの加工元を辿ると別のデータファイルがあり、さらにその加工元となるデータファイルがあり、といったデータファイル間の由来・来歴（導出）の関係がある。このような関係をデータリニエージという。データリニエージは、例えば、メタデータとして管理される。このデータリニエージを活用することで、データレイク管理者は、データにエラーが混入した場合にその原因を探したり、データの改変がどの範囲に影響を及ぼすかを把握したり、データが不正に改変されていないかをチェックしたりといった、データレイクの健全性を向上させる作業を実施することができる。【０００５】
また、複雑なデータの分析プロセスの実行は、試行錯誤を伴う。データリニエージを活用し、分析プロセスに関わる一連のデータ加工の過程で生成された中間生成物であるデータファイルを残置しておくことで、後々に分析プロセスを修正したり、再現したりといった作業を効率化することができる。【０００６】
こうしたデータリニエージを収集する方法として第一に考えられるのは、データ処理プログラムが出力するログ情報を活用することである。データ処理プログラムが、その実行時にどのデータファイルに対してアクセスしたかを把握しているのは自明である。全てのデータ処理に関わるプログラムがそれらをログ情報として出力しておれば、このログ情報を元にデータリニエージを復元することができる。【０００７】
しかしながら、この前提は必ずしも成立しない。データ処理プログラムは、ＥＴＬツールのように、あらかじめログ情報を出力するべくフレームワークが用意されたものに限定されるものではない。例えば、ＥＴＬツールでは対応が難しい複雑な処理を実行するための固有のカスタムプログラムが作成されて使用されることがある。これとは逆に、ＥＴＬツールを使用するほどではない簡易な処理を実行するためのアドホックなプログラムが使用されることもある。また、データ処理担当者が表計算ソフトウェア等の汎用プログラムを用いて手動でデータ処理を実行することがある。これらのような場合には、各プログラムにおいては、ログ情報が出力されない。【０００８】
こうしたデータ処理プログラムの多様性がもたらすログ情報の欠落が、データリニエージ収集の阻害要因となる。結果として、データリニエージに断絶が生じることにより、データファイルの由来や来歴を同定することが困難になる。【０００９】
このような課題に対する技術としては、例えば特許文献１には、二つのデータファイルをもってファイルペアとして、それらの間で、例えばファイルの内容の重複度合、あるいはスキーマの共通要素の数、といったさまざまな特徴を抽出し、このファイルペアの間における複製や加工といったデータリニエージの有無を推測することで、データリニエージを検出する技術が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】米国特許出願公開第２０１５／０３５６０９４号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記した技術によって検出されたファイルペアのデータリニエージは、あくまでも機械的な推測処理に基づくものである。したがって、その処理の結果が示すデータリニエージが実際に存在したものであるのか、それとも誤検出であるのかを判断するのは、データレイク管理者（以下、管理者という）が行うこととなる。【００１２】
この帰結として、推測処理の精度が、管理者の作業負荷に大きな影響を及ぼす。特に、データレイクには定期的にデータが流入するという特徴があることから、流入したデータに対応するデータ処理もまた定期的に発生する。この結果、類似したデータファイルが定期的に発生することになる。このため、或るデータファイルについてデータリニエージの誤検出が発生した場合、このデータファイルに類似したデータファイルについての誤検出もまた定期的に発生することになり、この誤検出の訂正のために必要な管理者の作業負荷は一向に軽減されることがない。【００１３】
つまり、既存のデータリニエージ検出技術では、その推測処理の精度が改善することがなく、管理者の作業負荷を軽減できない。【００１４】
本発明は、上記事情に鑑みなされたものであり、その目的は、ファイル間のデータリニエージの検出における管理者の作業負荷を適切に軽減することのできる技術を提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するため、一の観点に係るデータリニエージ検出装置は、複数のファイルのデータリニエージを検出するデータリニエージ検出装置である。データリニエージ検出装置は、１以上のプロセッサであるプロセッサ部を備える。【００１６】
プロセッサ部は、複数のファイル中の処理対象となる所定のファイルペアについての複数の特徴量を用いて、複数の評価処理のそれぞれによりファイルペア間のデータリニエージの有無を評価する評価値を出力し、複数の評価処理により出力された複数の評価値に対して、それぞれに対応する所定の重み付けを行う重み付け処理を行い、重み付け処理によって得られた複数の値を合計して総合評価値を算出する。【００１７】
また、プロセッサ部は、総合評価値に基づいて、ファイルペア間のデータリニエージの有無を推定し、データリニエージが有ると推定されたファイルペアである関連ファイルペア候補を出力し、関連ファイルペア候補がデータリニエージを有しているか否かについての管理者による確認結果を受け付け、データリニエージを有しているとの確認結果が得られた関連ファイルペア候補を、データリニエージが有るファイルペアであるとして登録する。プロセッサ部は、関連ファイルペア候補の確認結果と、ファイルペア候補の特徴量とに基づいて、評価処理、又は重み付け処理の少なくとも一方に使用するパラメタを学習して反映させる。
【発明の効果】
【００１８】
本発明によれば、ファイル間のデータリニエージの検出における管理者の作業負荷を適切に軽減することができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、一実施形態に係る計算機システムの構成図である。
【図２】図２は、一実施形態に係るメタデータ管理装置の機能構成図である、
【図３】図３は、一実施形態に係るリニエージ検出部及び関連する要素の機能構成図である。
【図４】図４は、一実施形態に係るメタデータテーブルの構成図である。
【図５】図５は、一実施形態に係るデータリニエージの概念を説明する図である。
【図６】図６は、一実施形態に係るリニエージテーブルの構成図である。
【図７】図７は、一実施形態に係る特徴量テーブルの構成図である。
【図８】図８は、一実施形態に係るリニエージ候補生成処理のフローチャートである。
【図９】図９は、一実施形態に係るリニエージ判定処理のフローチャートである。
【図１０】図１０は、一実施形態に係るリニエージ候補表示画面の一例を示す図である。
【図１１】図１１は、一実施形態に係る学習処理のフローチャートである。
【図１２】図１２は、一実施形態に係るリニエージ情報更新処理及び学習データ追加処理のフローチャートである。
【図１３】図１３は、データファイルとその内容の具体例を示す図である。
【図１４】図１４は、分類器とゲート関数部による処理の具体例を説明する図である。
【発明を実施するための形態】
【００２０】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２１】
以下の説明では、「ａａａテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「ａａａテーブル」を「ａａａ情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、１つのテーブルは、２以上のテーブルに分割されてもよいし、２以上のテーブルの全部又は一部が１つのテーブルであってもよい。
【００２２】
また、以下の説明では、「プロセッサ部」は、１以上のプロセッサを含む。少なくとも１つのプロセッサは、典型的には、ＣＰＵ（Central Processing Unit）のようなマイクロプロセッサである。１以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
【００２３】
また、以下の説明では、「時刻」は、年月日時分の単位で表現されるが、時刻の単位は、それよりも粗くても細かくてもよいし、また異なる単位でもよい。
【００２４】
図１は、一実施形態に係る計算機システムの構成図である。
【００２５】
計算機システム１は、リニエージ検出装置の一例としてのメタデータ管理装置１００と、１以上のストレージシステム１１０と、を備えている。メタデータ管理装置１００と、ストレージシステム１１０とは、ネットワーク１０６を介して接続されている。
【００２６】
ネットワーク１０６は、例えばイーサネット（登録商標）や、ＩＥＥＥ（Institute of Electrical and Electronics Engineers）８０２．１１規格に基づく無線ネットワーク、ＳＯＮＥＴ／ＳＤＨ（Synchronous Optical Network/Synchronous Digital Hierarchy）規格に基づく広域ネットワーク、又は、これら複数のネットワークを組み合わせたネットワークである。
【００２７】
メタデータ管理装置１００は、例えば、パーソナルコンピュータ、ラックマウントサーバ、又はブレードサーバ等で構成され、プロセッサ１０１、メモリ１０２、記憶デバイス１０３、ネットワークインタフェース（Ｉ／Ｆ）１０４、及びコンソール１０５を有する。プロセッサ１０１は、内部バス等を介して、メモリ１０２、記憶デバイス１０３、ネットワークＩ／Ｆ１０４、及びコンソール１０５と接続されている。なお、メタデータ管理装置１００は、処理負荷の分散や可用性の向上等を目的として、プロセッサ１０１、メモリ１０２、記憶デバイス１０３、ネットワークＩ／Ｆ１０４、及びコンソール１０５の一部又は全部を複数有してもよい。また、メタデータ管理装置１００は、物理的に一つ、又は複数の計算機で構成してもよく、また、一つの計算機により論理的に構成された仮想計算機としてもよいし、複数の計算機により論理的に構成された仮想計算機としてもよい。なお、メタデータ管理装置１００を物理的に複数の計算機上で構成する場合には、各計算機のプロセッサ１０１はネットワーク１０６を介してデータ通信を行うようにすればよい。
【００２８】
プロセッサ１０１は、例えば、ＣＰＵ（Central Processing Unit）等のハードウェアによる演算装置であり、メモリ１０２に格納されたプログラムを実行する。メモリ１０２は、例えば、揮発性の半導体メモリから構成され、プログラムやデータを一時的に記憶する。
【００２９】
記憶デバイス１０３は、例えば、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）、ソリッドステートドライブ（ＳＳＤ：Solid State Drive）、又はこれらを複数台組み合わせた不揮発性の記憶デバイスであり、プログラムやデータを長期間記憶する。記憶デバイス１０３は、例えば、オペレーティングシステム（ＯＳ：Operating System）やユーザプログラムを記憶する。記憶デバイス１０３に格納されたオペレーティングシステムや、ユーザプログラム（例えば、リニエージ検出プログラム）は、メタデータ管理装置１００の起動時や、処理の実行時にメモリ１０２に読み出される。なお、メモリ１０２に読み出されたオペレーティングシステム及びユーザプログラムは、プロセッサ１０１によって実行され、各種機構が実現される。オペレーティングシステムやユーザプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリ等）又はネットワークを介してメタデータ管理装置１００に提供され、記憶デバイス１０３に格納される。リムーバブルメディアからプログラムを記憶デバイス１０３に格納する場合には、メタデータ管理装置１００は、リムーバルメディアからデータを読み込むインターフェースを備える必要がある。
【００３０】
ネットワークＩ／Ｆ１０４は、例えば、ＮＩＣ（Network Interface Controller）等の通信デバイスで構成され、ネットワーク１０６と接続される。ネットワークＩ／Ｆ１０４は、ネットワーク１０６を介しての他の装置（例えば、ストレージシステム１１０）との通信時のプロトコル制御を行う。
【００３１】
コンソール１０５は、例えば、キーボード及びマウス等の入力装置と、液晶表示パネル等のディスプレイ装置とを備える。コンソール１０５は、後述するデータレイク３００の管理者（データレイク管理者）の入力装置による各種操作入力に応じた操作信号を受信して操作入力の内容をプロセッサ１０１に通知する。また、コンソール１０５は、プロセッサ１０１から出力されるテキスト情報やグラフィカル情報に基づくテキストや画像等をディスプレイ装置に表示する。
【００３２】
ストレージシステム１１０は、例えば、複数の記憶デバイス１１１を備える。本実施形態では、複数のストレージシステム１１０の記憶デバイス１１１により、センサーデータ、ソーシャルメディアデータ等の定期的に生成されるデータを、ファイル形式で保持するデータ蓄積領域であるデータレイク３００が構成されている。複数のストレージシステム１１０は、お互いに離れた場所（遠隔地）に配置されていてもよい。
【００３３】
次に、メタデータ管理装置１００の機能構成について説明する。
【００３４】
図２は、一実施形態に係るメタデータ管理装置の機能構成図である、
【００３５】
メタデータ管理装置１００は、データレイク３００に格納されているデータファイル（単にファイルともいう）３０１を処理対象として、データファイル間のデータリニエージ（導出関係：単にリニエージということもある）を検出して、管理者へ提供するための処理を実行する。メタデータ管理装置１００は、ファイルアクセス部２０１、メタデータ収集部２０２、特徴量生成部２０３、リニエージ検出部２０４、学習部２０５、表示操作部２０６、メタデータリポジトリ２０７、及び学習データストレージ２０８を有する。ファイルアクセス部２０１、メタデータ収集部２０２、特徴量生成部２０３、リニエージ検出部２０４、学習部２０５、及び表示操作部２０６は、主に、プロセッサ１０１がメモリ１０２のリニエージ検出プログラムを実行することにより構成される。メタデータリポジトリ２０７及び学習データストレージ２０８は、主に、記憶デバイス１０３により構成される。
【００３６】
メタデータリポジトリ２０７は、メタデータテーブル２０９及びリニエージテーブル２１０を格納する。メタデータテーブル２０９及びリニエージテーブル２１０については後述する。学習データストレージ２０８は、特徴量テーブル２１１を格納する。特徴量テーブル２１１については、後述する。
【００３７】
ファイルアクセス部２０１は、データレイク３００に格納されているデータファイル３０１を認識し、データファイル３０１の内容及びデータファイル３０１に関するメタデータを読み出す。メタデータ収集部２０２は、ファイルアクセス部２０１が読み出したデータファイル３０１のメタデータと、データファイル３０１の内容から生成したメタデータとを、メタデータテーブル２０９に格納する。特徴量生成部２０３は、メタデータテーブル２０９に格納されたメタデータを読み出し、二つのデータファイル３０１の組（ファイルペア）毎に特徴量を生成し、特徴量テーブル２１１に格納する。
【００３８】
リニエージ検出部２０４は、特徴量テーブル２１１に格納された特徴量を読み出し、ファイルペアついてのデータリニエージを推測し、推測したデータリニエージの候補となるファイルペア（データリニエージ候補）をリニエージテーブル２１０に格納し、ファイルペア間にデータリニエージが存在するか否かの情報を特徴量テーブル２１１のラベルに格納する。
【００３９】
学習部２０５は、特徴量テーブル２１１が保持する特徴量とラベルとを読み出し、読出した特徴量とラベルとにより、学習処理を行って、リニエージ検出部２０４が保持する後述する分類器２０４１及びゲート関数部２０４２のパラメタを更新する。
【００４０】
表示操作部２０６は、リニエージテーブル２１０が保持するデータリニエージを読み出し、コンソール１０５により表示する。また、表示操作部２０６はコンソール１０５を介して操作入力の内容を受信して解釈し、リニエージテーブル２１０が保持するデータリニエージと、特徴量テーブル２１１のラベルとを更新する。
【００４１】
次に、リニエージ検出部２０４の詳細な構成について説明する。
【００４２】
図３は、一実施形態に係るリニエージ検出部及び関連する要素の機能構成図である。
【００４３】
リニエージ検出部２０４は、１以上の分類器２０４１、１以上のゲート関数部２０４２、及びコンバイナ２０４３を有する。リニエージ検出部２０４は、分類器２０４１及びゲート関数部２０４２を、それぞれ二つ以上備えるようにしてもよい。
【００４４】
分類器２０４１は、パラメタを有し、特徴量テーブル２１１が保持するファイルペアの特徴量を読み出し、ファイルペアを構成する二つのデータファイル３０１間にデータリニエージがあるか否かを判定するための評価値を、パラメタに基づいて算出して出力する。出力する評価値は、連続値でもよいし、任意の閾値によって２値に分類した結果を示す数値（分類値：例えば１と−１）でもよい。分類器２０４１は、例えば、線形分類器としてもよい。
【００４５】
ゲート関数部２０４２は、分類器２０４１のそれぞれに対応して一つずつ設けられている。ゲート関数部２０４２は、パラメタを有し、対応する分類器２０４１からの評価値を入力として受信し、評価値に対してパラメタに基づいた所定の重み付け処理を行って、すなわち、所定の重み付け係数を乗算して重み付け評価値を出力する。例えば、ゲート関数部２０４２は、特徴量テーブル２１１が保持するファイルペアの特徴量を読み出し、特徴量に基づいて重み付け係数を算出する。なお、重み付け係数は、０から１の範囲としてもよい。ゲート関数部２０４２で重み付け係数を求める関数は、例えば、ソフトマックス関数としてもよく、この場合には、ゲート関数部２０４２が有するパラメタは、ソフトマックス関数のパラメタとなる。
【００４６】
コンバイナ２０４３は、それぞれのゲート関数部２０４２が出力した重み付け評価値を入力として受信し、これらの重み付け評価値を混合した結果（総合評価値）を出力する。コンバイナ２０４３は、例えば、重み付け評価値の総和をとる総和関数により総合評価値を算出するようにしてもよい。
【００４７】
リニエージ検出部２０４は、コンバイナ２０４３により混合された結果（総合評価値）に基づいて、ファイルペアを構成する二つのデータファイル３０１間にデータリニエージがあるか否かの判定結果を、リニエージテーブル２１０及び特徴量テーブル２１１に格納する。なお、総合評価値に基づく判定結果としては、総合評価値そのままとしてもよいし、総合評価値を所定の閾値との関係に基づいて２値化した値としてもよい。
【００４８】
図４は、一実施形態に係るメタデータテーブルの構成図である。
【００４９】
メタデータテーブル２０９は、例えば、ドキュメント指向データベース管理システムが保持するデータベースである。メタデータテーブル２０９は、インデックス２０９Ａとドキュメント２０９Ｂとを含む。
【００５０】
インデックス２０９Ａは、データファイル３０１のそれぞれに対応するレコードを格納する。インデックス２０９Ａのレコードは、ｉｄフィールドと、パス名（ｐａｔｈｎａｍｅ）フィールドと、タイムスタンプ（ｔｉｍｅｓｔａｍｐ）フィールドとを有する。ｉｄフィールドには、データファイル３０１を識別する一意な識別符号（例えば”Ｆ００１”）が格納される。インデックス２０９Ａの各レコードは、それぞれ一つのドキュメント２０９Ｂと対応しており、ｉｄフィールドが保持する一意な識別符号により識別可能となっている。パス名フィールドには、データファイル３０１のパス名が格納される。タイムスタンプフィールドには、データファイル３０１の生成されたタイムスタンプが格納される。
【００５１】
ドキュメント２０９Ｂは、インデックス２０９Ａの所定のレコード（識別符号に対応するレコード）に対応するデータファイル３０１のメタデータ、及び、データファイル３０１の内容から生成されたメタデータを格納する。
【００５２】
図４のドキュメント２０９Ｂは、インデックス２０９Ａのｉｄフィールドが“Ｆ００１”のレコードに対応するドキュメントであり、対応するインデックス２０９のｉｄを示す“ｉｄ”プロパティと、メタデータとして、データファイル３０１のパス名を示す“ｐａｔｈｎａｍｅ”プロパティ、データファイル３０１のタイムスタンプを示す“ｔｉｍｅｓｔａｍｐ”プロパティ、データファイル３０１のフォーマットを示す“ｆｏｒｍａｔ”プロパティ、データファイル３０１のフィールド数を示す“ｎｕｍｂｅｒ＿ｏｆ＿ｆｉｅｌｄｓ”プロパティ、データファイル３０１のフィールド名を示す“ｆｉｅｌｄｓ”プロパティ、等を含む。ドキュメント２０９Ｂが保持するメタデータの内の“ｐａｔｈｎａｍｅ”プロパティ、“ｔｉｍｅｓｔａｍｐ”プロパティは、データファイル３０１のメタデータとして、データレイク３００が保持しているものを、ファイルアクセス部２０１が読み出して設定したものである。一方、“ｆｏｒｍａｔ”プロパティ、“ｎｕｍｂｅｒ＿ｏｆ＿ｆｉｅｌｄｓ”プロパティ、“ｆｉｅｌｄｓ”プロパティ等は、データファイル３０１の内容に基づいて、メタデータ収集部２０２が生成したメタデータである。なお、ファイルアクセス部２０１が収集するメタデータや、メタデータ収集部２０２が生成するメタデータは、これらに限定されない。
【００５３】
次に、リニエージテーブル２１０が管理するデータリニエージの概念について説明する。
【００５４】
図５は、一実施形態に係るデータリニエージの概念を説明する図である。
【００５５】
ここで、データレイク３００が、例えば、データファイル３０１Ａ、データファイル３０１Ｂ、及びデータファイル３０１Ｃを保持しているものとする。
【００５６】
例えば、リニエージ検出部２０４が、データファイル３０１Ａを基に加工してデータファイル３０１Ｂを作成したと推測し、その推測を管理者が是認した場合には、データファイル３０１Ａとデータファイル３０１Ｂとの間にあるリニエージ関係３０２Ａは、“ｅｎｄｏｒｓｅｄ（承認）”の状態となる。一方、リニエージ検出部２０４が、データファイル３０１Ａを基に加工してデータファイル３０１Ｃを作成したと推測し、その推測を管理者が是認していない場合には、リニエージ関係３０２Ｂは”ｃａｎｄｉｄａｔｅ（候補）”の状態となる。また、リニエージ検出部２０４が、データファイル３０１Ｂを基に加工してデータファイル３０１Ｃが作成されたと推測し、その推測を管理者が否認した場合には、データファイル３０１Ｂとデータファイル３０１Ｃとの間にはデータリニエージは存在しない。また、リニエージ検出部２０４が、データファイル３０１Ｂとデータファイル３０１Ｃとの間には、データリニエージが存在しないと推測し、管理者が推測を是認も否認もしていない場合には、データファイル３０１Ｂとデータファイル３０１Ｃとの間にはデータリニエージは存在しない。
【００５７】
次に、リニエージテーブル２１０について説明する。
【００５８】
図６は、一実施形態に係るリニエージテーブルの構成図である。
【００５９】
リニエージテーブル２１０は、例えば、テーブル形式データであり、各レコードは、１つのファイルペアのデータリニエージに対応する。リニエージテーブル２１０のレコードは、ｉｄフィールドと、ｆｒｏｍＩｄフィールドと、ｔｏＩｄフィールドと、ｂａｔｃｈ＿ｎｏフィールドと、ｓｔａｔｕｓフィールドとを有する。
【００６０】
ｉｄフィールドは、ファイルペアを一意に識別可能な識別符号が格納される。ｆｒｏｍＩｄフィールドには、データリニエージを有する（導出関係を有する）ファイルペアの基となるデータファイル３０１に対応する識別符号（例えば、メタデータテーブル２０９で保持されるデータファイル３０１の識別符号と共通のもの）が格納される。ｔｏＩｄフィールドには、データリニエージを有するファイルペアの作成先となるデータファイル３０１に対応する識別符号が格納される。ｂａｔｃｈ＿ｎｏフィールドには、リニエージ検出部２０４が後述するリニエージ候補生成処理を実行する毎に付与される、処理を特定する識別符号（バッチ番号）が格納される。ｓｔａｔｕｓフィールドには、データリニエージの状態が格納される。具体的には、ｓｔａｔｕｓフィールドには、“ｅｎｄｏｒｓｅｄ”又は”ｃａｎｄｉｄａｔｅ”が格納される。
【００６１】
次に、特徴量テーブル２１１について説明する。
【００６２】
図７は、一実施形態に係る特徴量テーブルの構成図である。
【００６３】
特徴量テーブル２１１は、例えば、テーブル形式データであり、各レコードは、データレイク３００における２つのデータファイル３０１により構成される各ファイルペアに対応する。特徴量テーブル２１１のレコードは、ｉｄフィールドと、ｆｒｏｍＩｄフィールドと、ｔｏＩｄフィールドと、ｌａｂｅｌフィールドと、ｅｎｄｏｒｓｅｄフィールドと、複数のｆｅａｔｕｒｅフィールド（ｆｅａｔｕｒｅ１、ｆｅａｔｕｒｅ２、ｆｅａｓｔｕｒｅ３、・・・）とを有する。
【００６４】
ｉｄフィールドには、ファイルペアの識別符号（例えば、リニエージテーブル２１０のｉｄフィールドの識別符号と共通のもの）が格納される。ｆｒｏｍＩｄフィールドには、ファイルペアの一方のデータファイル３０１に対応する識別符号（例えば、メタデータテーブル２０９で保持されるデータファイル３０１の識別符号と共通のもの）が格納される。ｔｏＩｄフィールドには、ファイルペアの他方のデータファイル３０１の識別符号が格納される。
【００６５】
ｌａｂｅｌフィールドには、ファイルペアを構成するデータファイル３０１間に、データリニエージ（導出関係）が存在するか否かを示す情報（ラベル）が格納される。本実施形態では、ｌａｂｅｌフィールドには、例えば、データリニエージが存在する場合には“１”が格納され、存在しない場合には、“−１”が格納される。ｅｎｄｏｒｓｅｄフィールドには、データリニエージが是認されているか否かの情報が格納される。具体的には、ｅｎｄｏｒｓｅｄフィールドには、データリニエージが是認されている場合、すなわち、“ｅｎｄｏｒｓｅｄ”である場合には、“１”が格納され、データリニエージが是認されていない場合、すなわち、“ｃａｎｄｉｄａｔｅ”である場合には、“０”が格納される。例えば、ファイルペアのデータファイル３０１間にデータリニエージが存在しない場合、すなわち、ｌａｂｅｌフィールドが“−１”に設定されているレコードにおいて、管理者がその存在を否認した場合には、ｅｎｄｏｒｓｅｄフィールドには“１”が格納される一方、管理者が否認も是認もしていない場合にはｅｎｄｏｒｓｅｄフィールドには“０”が格納される。ｆｅａｔｕｒｅフィールドのそれぞれには、特徴量生成部２０３がファイルペアから算出した、異なる特徴に関する特徴量が格納される。
【００６６】
次に、メタデータ管理装置１００による処理動作について説明する。
【００６７】
図８は、一実施形態に係るリニエージ候補生成処理のフローチャートである。
【００６８】
リニエージ候補生成処理は、例えば、図示しないスケジューラの制御によって定期的に実行される。リニエージ候補生成処理は、実行される毎に、その処理を特定する識別符号（バッチ番号）が付与される。ここで、新たに実行される処理に付与されるバッチ番号は、例えば、数値であり、直前に行った処理のバッチ番号よりも大きい数値である。
【００６９】
まず、ファイルアクセス部２０１は、データレイク３００が保持するデータファイル３０１をスキャンし、前回のリニエージ候補生成処理の実行時から現在までの間にデータレイク３００に新規追加されたデータファイル３０１をリストアップする（ステップＳ６０２）。
【００７０】
次いで、メタデータ収集部２０２は、新規追加されたデータファイル３０１からメタデータを収集及び生成して、メタデータテーブル２０９に格納する（ステップＳ６０４）。
【００７１】
次いで、特徴量生成部２０３は、メタデータテーブル２０９が保持するレコードに基づいて、新規追加されたデータファイル３０１を最低１つ含むファイルペアをリストアップし、このファイルペアに一意な識別符号を付与し、特徴量テーブル２１１にファイルペアに対応するレコードを追加する（ステップＳ６０６）。更に、特徴量生成部２０３は、リストアップされたファイルペアのそれぞれについて、ファイルペアの複数の特徴量を算出し、それぞれの特徴量を特徴量テーブル２１１のｆｅａｔｕｒｅフィールドのそれぞれに格納する（ステップＳ６０８）。
【００７２】
次いで、リニエージ検出部２０４は、リニエージ判定処理を実行する（ステップＳ６１０）。具体的には、リニエージ検出部２０４は、特徴量テーブル２１１に格納された各レコードのうちのデータリニエージの判定が行われていない全てのファイルペアに対応するレコード、具体的には、ｌａｂｅｌフィールドが空欄のレコードについて、このレコードが保持する特徴量を、各分類器２０４１に入力し、その後、コンバイナ２０４３から出力される総合評価値により、ファイルペアについてのデータリニエージの有無を判定する。この結果、ファイルペアにデータリニエージが存在すると判定した場合には、リニエージ検出部２０４は、特徴量テーブル２１１のこのファイルペアに対応するレコードのｌａｂｅｌフィールドに“１”を格納するとともに、リニエージテーブル２１０にこのファイルペアに対応するレコードを追加する。この際、リニエージテーブル２１０に追加するレコードのｂａｔｃｈ＿ｎｏフィールドには、今回の処理のバッチ番号を格納する。一方、データリニエージが存在しないと判定した場合は、リニエージ検出部２０４は、特徴量テーブル２１１のｌａｂｅｌフィールドに“−１”を格納する。
【００７３】
データリニエージの判定が行われていない全てのファイルペアに対応するレコードに対する処理が行われた後に、表示操作部２０６は、リニエージテーブル２１０に格納されたレコードのうち、ｂａｔｃｈ＿ｎｏフィールドのバッチ番号が最大のレコード、すなわち、今回の処理により追加されたレコードに基づいて、リニエージ候補に関する情報を含むリニエージ候補表示画面（図１０参照）を生成し、コンソール１０５の表示画面に表示させる（ステップＳ６１２）。
【００７４】
次に、リニエージ検出部２０４によるリニエージ判定処理について詳述する。
【００７５】
図９は、一実施形態に係るリニエージ判定処理のフローチャートである。
【００７６】
リニエージ判定処理は、図８におけるステップＳ６１０のリニエージ判定処理に対応する。
【００７７】
リニエージ検出部２０４は、特徴量テーブル２１１が保持する各レコードのうち、ｌａｂｅｌフィールドが空欄のレコードのそれぞれを処理対象として、ＬＯＯＰ１の処理（ステップＳ８０４〜Ｓ８１８）を実行する。以下のＬＯＯＰ１の処理の説明において、処理対象のレコードを対象レコードという。
【００７８】
まず、リニエージ検出部２０４は、対象レコードから、ｆｅａｔｕｒｅフィールドのそれぞれのフィールドから特徴量を取得し、各分類器２０４１に入力する（ステップＳ８０４）。ここで、各フィールドに格納された特徴量は、スカラ値であり、複数のフィールドからの特徴量を合わせると、全体としては特徴量ベクトルとなる。
【００７９】
次いで、リニエージ検出部２０４のそれぞれの分類器２０４１とその分類器２０４１に接続されたゲート関数部２０４２との組のそれぞれに対して、ＬＯＯＰ２の処理（ステップＳ８０８，Ｓ８１０）の処理を実行する。
【００８０】
分類器２０４１は、特徴量ベクトルを受信して、この分類器２０４１の処理により評価値を算出し（ステップＳ８０８）、評価値を接続されたゲート関数部２０４２に出力する。ゲート関数部２０４２は、分類器２０４１から入力された評価値を受信し、受信した評価値に対して、自身のパラメタに基づいて決定される重み付けを行った値（重み付け評価値）をコンバイナ２０４３に出力する（ステップＳ８１０）。
【００８１】
ＬＯＯＰ２の処理により、分類器２０４１及びゲート関数２０４２の組の数だけ重み付け評価値がコンバイナ２０４３に出力される。
【００８２】
ＬＯＯＰ２の処理後に、コンバイナ２０４３は、各分類器２０４１及びゲート関数２０４２の組から出力された重み付け評価値を混合し（ステップＳ８１２）、混合した結果（総合評価値）に基づく値（ここでは、１又は−１）を特徴量テーブル２１１のｌａｂｅｌフィールドに格納する（ステップＳ８１４）。次いで、コンバイナ２０４３は、総合評価値に基づいて、データリニエージがあるか否かを判定する（ステップＳ８１６）。この結果、データリニエージがあると判定した場合（ステップＳ８１６：ＹＥＳ）には、コンバイナ２０４３は、リニエージテーブル２１０に、データリニエージがあるファイルペアのレコードを追加する。すなわち、コンバイナ２０４３は、リニエージテーブル２１０に、ファイルペアの識別符号、ファイルペアを構成するデータファイル３０１の識別符号、リニエージ候補生成処理に付与されたバッチ番号を含み、ｓｔａｔｕｓフィールドが”ｃａｎｄｉｄａｔｅ”であるレコードを追加する（ステップＳ８１８）。一方、データリニエージがないと判定した場合（ステップＳ８１６：ＮＯ）には、コンバイナ２０４３は、ステップＳ８１８を実行しない。
【００８３】
そして、特徴量テーブル２１１が保持する各レコードのうち、ｌａｂｅｌフィールドが空欄のレコードのすべてを処理対象として、ＬＯＯＰ１の処理（ステップＳ８０４〜Ｓ８１８）を実行した後、リニエージ判定処理を終了する。
【００８４】
このリニエージ判定処理によると、データレイク３００に新たに追加されたデータファイルを含むファイルペアのすべてを対象にリニエージ判定処理が行われることとなる。
【００８５】
次に、リニエージ候補表示画面について説明する。
【００８６】
図１０は、一実施形態に係るリニエージ候補表示画面の一例を示す図である。
【００８７】
リニエージ候補表示画面４００は、リニエージ候補生成処理のステップＳ６１２の処理により、コンソール１０５のディスプレイ装置に表示される画面である。
【００８８】
リニエージ候補表示画面４００は、表示操作部２０６が、リニエージテーブル２１０が保持するレコードのうち一部（例えば、ｂａｔｃｈ＿ｎｏフィールドのバッチ番号が最大のもの）をコンソール１０５に表示させる画面である。
【００８９】
リニエージ候補表示画面４００においては、リニエージテーブル２１０に格納されているレコードに含まれているデータファイル３０１が、例えばデータファイルアイコン４０１（４０１Ａ〜４０１Ｄ）として表示される。なお、データファイル３０１の識別符号を用いて、メタデータテーブル２０９を検索して、データファイル３０１のパス名やファイル名等を同定し、これらをデータファイルアイコン４０１に対応付けて表示させることにより、管理者が容易にデータファイルを認識できるようにしてもよい。
【００９０】
また、リニエージ候補表示画面４００においては、リニエージテーブル２１０に格納されているレコードに対応するファイルペアを構成するデータファイル３０１のデータファイルアイコン４０１同士をデータリニエージ線４０２（４０２Ａ，４０２Ｂ）で接続するように表示する。なお、データリニエージ線４０２に対して、レコードに格納されているデータリニエージの識別符号を併せて表示してもよい。
【００９１】
また、リニエージ候補表示画面４００においては、リニエージテーブル２１０に格納されているファイルペアのレコードをデータリニエージ候補リスト４０３として表示する。データリニエージ候補リスト４０３のｉｄフィールドには、リニエージテーブル２１０のｉｄフィールドの識別符号が表示される。また、データリニエージ候補リスト４０３のｓｏｕｒｃｅフィールド及びｔａｒｇｅｔフィールドのそれぞれには、リニエージテーブル２０１のｆｒｏｍＩｄフィールド及びｔｏＩｄフィールドが保持する識別符号を用いて、メタデータテーブル２０９のレコードを検索して同定された、それぞれのデータファイル３０１のパス名が表示される。また、データリニエージ候補リスト４０３のａｃｔｉｏｎフィールドには、“Ａｃｃｅｐｔ”、“Ｒｅｊｅｃｔ”、または“Ｕｎｓｕｒｅ”のいずれか一つの値を選択できるように構成されたドロップダウンリストが表示される。データリニエージ候補リスト４０３の或るレコードのａｃｔｉｏｎフィールドにおいて“Ａｃｃｅｐｔ”が管理者により選択された場合は、このレコードに対応するファイルペアのデータリニエージについて是認の意思を表明したこととなる一方、“Ｒｅｊｅｃｔ”が選択された場合は、このレコードに対応するファイルペアのデータリニエージについて否認の意思を表明したこととなる。
【００９２】
また、リニエージ候補表示画面４００には、データリニエージ追加ボタン（Ａｄｄ  ｍｏｒｅ）４０４及び正否情報送信ボタン（Ｓｕｂｍｉｔ）４０５が表示される。
【００９３】
正否情報送信ボタン４０５が管理者により押下されると、リニエージ候補表示画面４００を表示するコンソール１０５は、データリニエージ候補リスト４０３のｉｄフィールドに格納されている識別符号と、ａｃｔｉｏｎフィールドに設定された値とをもって、この識別符号に対応する管理者によるデータリニエージ候補の正否の情報として、表示操作部２０６に伝達する。
【００９４】
この結果、ａｃｔｉｏｎフィールドに設定された値が“Ａｃｃｅｐｔ”である場合には、表示操作部２０６は、データリニエージ候補リスト４０３のｉｄフィールドの識別符号に対応する特徴量テーブル２１１のレコードにおけるｅｎｄｏｒｓｅｄフィールドの値を“１”に設定し、データリニエージ候補リスト４０３のｉｄフィールドの識別符号に対応するリニエージテーブル２１０のレコードのｓｔａｔｕｓフィールドの値を“ｅｎｄｏｒｓｅｄ”に設定する。また、ａｃｔｉｏｎフィールドに設定された値が“Ｒｅｊｅｃｔ”である場合には、表示操作部２０６は、データリニエージ候補リスト４０３のｉｄフィールドの識別符号に対応するリニエージテーブル２１０のレコードを削除する。また、ａｃｔｉｏｎフィールドに設定された値が“Ｕｎｓｕｒｅ”である場合には、表示操作部２０６は、特に何も行わない。
【００９５】
データリニエージ追加ボタン４０４が管理者により押下されると、リニエージ候補表示画面４００を表示するコンソール１０５は、リニエージテーブル２１０が格納していないファイルペアであって、データリニエージがあるファイルペアを選択入力するためのダイアログを表示する。このダイアログに対して、管理者により、ファイルペアが選択されて確定の指示が出されると、コンソール１０５は、選択されたファイルペアのデータファイルを示す識別符号の組を表示操作部２０６に伝達する。
【００９６】
表示操作部２０６は、ファイルペアのデータファイルを示す識別符号の組の伝達を受け取ると、データファイルを示す識別符号の組に対応する特徴量テーブル２１１のレコードを特定し、特定したレコードのｌａｂｅｌフィールドの値をデータリニエージがあることを示す“１”に設定し、ｅｎｄｏｒｓｅｄフィールドの値を“１”に設定する。また、表示操作部２０６は、特徴量テーブル２１１の特定したレコードのｉｄフィールドの識別符号を特定し、リニエージテーブル２１０に、特定したｉｄフィールドの識別符号、伝達を受けたファイルペアを構成するデータファイルの識別符号を含み、ｓｔａｔｕｓフィールドが”ｅｎｄｏｒｓｅｄ”であるレコードを追加する。これにより、管理者によりデータリニエージを有すると指定されたファイルペアに関するレコードがリニエージテーブル２１０に追加されることとなる。
【００９７】
リニエージ候補表示画面４００のデータリニエージ候補リスト４０３において、例えば、
リニエージ検出部２０４の各ゲート関数部２０４２の重み付けが大きい順に、対応する分類器２０４１による評価処理を示す情報や、その評価値に関する情報を表示するようにしてもよい。このようにすると、重み付けが大きい分類器２０４１による評価値に関する情報を管理者が確認することができる。
【００９８】
なお、リニエージ候補表示画面４００の表示の様式は、これに限定されるものではなく、データリニエージ候補リスト４０３のａｃｔｉｏｎフィールドや、これに類する表示画面要素により、リニエージ検出部２０４が出力したデータリニエージ候補の結果に対して、管理者がその正否をメタデータ管理装置１００に伝達することができるものであればよい。このリニエージ候補表示画面４００に対して入力されてメタデータ管理装置１００に送信されたデータリニエージ候補の正否情報は、リニエージ検出部２０４の学習に供されることとなる。
【００９９】
次に、メタデータ管理装置１００による学習処理について説明する。
【０１００】
図１１は、一実施形態に係る学習処理のフローチャートである。
【０１０１】
表示操作部２０６が、リニエージ候補表示画面４００の正否情報送信ボタン４０５が押下されることにより送信されるデータリニエージ候補の正否情報を受信すると（ステップＳ１００２）、このデータリニエージ候補の正否情報に基づいて、リニエージテーブル２１０を更新するリニエージ情報更新処理を実行する（ステップＳ１００４）。次いで、表示操作部２０６は、特徴量テーブル２１１を更新する学習データ追加処理を実行する（ステップＳ１００６）。
【０１０２】
学習部２０５は、データリニエージ候補の正否が確定したファイルペアの情報、すなわち、特徴量テーブル２１１のレコードのうち、ｅｎｄｏｒｓｅｄフィールドが“１”に設定されている全てのレコードを学習データ（正解データ）として抽出し、この学習データに基づいて、リニエージ検出部２０４の学習、すなわち、リニエージ検出部２０４のパラメタ等を決定する学習を行う（ステップＳ１００８）。例えば、リニエージ検出部２０４の分類器２０４１が線形分類器であり、ゲート関数部２０４２におけるゲート関数がソフトマックス関数である場合には、例えば、ＥＭ（Ｅｘｐｅｃｔａｔｉｏｎ−ｍａｘｉｍｉｚａｔｉｏｎ）アルゴリズムによって線形分類器とソフトマックス関数のパラメタを求めることが、リニエージ検出部２０４の学習に相当する。なお、リニエージ検出部２０４の学習方法はこれに限られない。例えば、分類器２０４１による分類処理のパラメタのみを学習するようにしてもよく、また、ゲート関数部２０４２のパラメタのみを学習するようにしてもよい。
【０１０３】
なお、ステップＳ１００８におけるリニエージ検出部２０４の学習については、例えば、図示しないスケジューラの制御によって定期的に実行するようにしてもよい。
【０１０４】
次に、リニエージ情報更新処理及び学習データ追加処理について説明する。
【０１０５】
図１２は、一実施形態に係るリニエージ情報更新処理及び学習データ追加処理のフローチャートである。
【０１０６】
リニエージ情報更新処理は、図１１のステップＳ１００４の処理に対応し、学習データ追加処理は、図１１のステップＳ１００６の処理に対応する。
【０１０７】
表示操作部２０６は、正否情報を受信した全てのデータリニエージ候補のそれぞれを処理対象として、ＬＯＯＰ１の処理（ステップＳ１１０４〜ステップＳ１１１６）を実行する。ここで、このＬＯＯＰ１処理における処理対象とするデータリニエージ候補を対象データリニエージ候補ということとする。
【０１０８】
表示操作部２０６は、対象データリニエージ候補に対する、リニエージ候補表示画面４００のデータリニエージ候補リスト４０３のａｃｔｉｏｎフィールドの選択が”Ａｃｃｅｐｔ”、又は、”Ｒｅｊｅｃｔ”であるか否かを判定する（ステップＳ１１０４）。この結果、
ａｃｔｉｏｎフィールドの選択が”Ａｃｃｅｐｔ”、又は、”Ｒｅｊｅｃｔ”でない場合、すなわち、“Ｕｎｓｕｒｅ”である場合（ステップＳ１１０４：ＮＯ）である場合には、表示操作部２０６は、次の処理対象のデータリニエージ候補に対してＬＯＯＰ１の処理を行う。
【０１０９】
一方、ａｃｔｉｏｎフィールドの選択が”Ａｃｃｅｐｔ”、又は、”Ｒｅｊｅｃｔ”である場合（ステップＳ１１０４）には、表示操作部２０６は、ａｃｔｉｏｎフィールドの選択が、”Ａｃｃｅｐｔ”、であるか（データリニエージの存在が是認されているか）、”Ｒｅｊｅｃｔ”であるか（データリニエージの存在が否認されているか）を判定する。
【０１１０】
この結果、表示操作部２０６は、ａｃｔｉｏｎフィールドの選択が、”Ａｃｃｅｐｔ”、である場合（ステップＳ１１０６：ＹＥＳ）には、表示操作部２０６は、リニエージテーブル２１０の対象データリニエージ候補の識別符号に対応するレコードのｓｔａｔｕｓフィールドを“ｅｎｄｏｒｓｅｄ”に更新し（ステップＳ１１０８）、特徴量テーブル２１１の対象データリニエージ候補の識別符号に対応するレコードのｅｎｄｏｒｓｅｄフィールドを“１”に更新し（ステップＳ１１１０）、次の処理対象のデータリニエージ候補に対してＬＯＯＰ１の処理を行う。
【０１１１】
一方、ａｃｔｉｏｎフィールドの選択が”Ｒｅｊｅｃｔ”である場合（ステップＳ１１０６：ＮＯ）には、表示操作部２０６は、リニエージテーブル２１０の対象データリニエージ候補の識別符号に対応するレコードを削除し（ステップＳ１１１２）、特徴量テーブル２１１の対象データリニエージ候補の識別符号に対応するレコードのｌａｂｅｌフィールドを“−１”に更新し（ステップＳ１１１４）、ｅｎｄｏｒｓｅｄフィールドを“１”に更新し（ステップＳ１１１６）、次の処理対象のデータリニエージ候補に対してＬＯＯＰ１の処理を行う。
【０１１２】
そして、表示操作部２０６は、正否情報を受信した全てのデータリニエージ候補のそれぞれを処理対象として、ＬＯＯＰ１の処理を行った後に、リニエージ情報更新処理及び学習データ追加処理を終了する。
【０１１３】
このリニエージ情報更新処理及び学習データ追加処理によると、表示操作部２０６がリニエージ候補表示画面４００に表示するデータリニエージに関する情報（リニエージテーブル２１０）は、管理者の意向を反映した内容に更新され、また、リニエージ検出部２０４の学習に供される学習データ（特徴量テーブル２１１）も、管理者の意向を反映した内容に更新されることとなる。
【０１１４】
したがって、リニエージ検出部２０４が、逐次管理者の意向を反映したデータリニエージの検出処理を行うこととなり、例えば、類似したデータファイルに対するデータリニエージの判定における誤検出の発生を低減することができ、管理者の作業負荷を適切に低減することができる。
【０１１５】
次に、一実施形態におけるデータリニエージ判定処理を、データファイルの具体例を用いて説明する。
【０１１６】
図１３は、データファイルとその内容の具体例を示す図である。
【０１１７】
データレイク３００は、例えば、センサーデータを含むデータファイル５００を保持する。また、データレイク３００は、データファイル５０１Ａ，５０１Ｂ，５０１Ｃを保持する。
【０１１８】
データファイル５００は、センサ”Ｓ１２３４５”が２０１７年４月１日に測定したデータを記録したファイルである。データファイル５０１Ａは、センサ”Ｓ１２３４５”が２０１７年３月３１日に測定したデータを記録したファイルである。データファイル５０１Ｂは、センサ”Ｓ１２３４５”が２０１７年４月１日に測定したデータ（すなわちデータファイル５００が保持するデータ）を、ＥＴＬツールによってＣＳＶ（Ｃｏｍｍｍａ Ｓｅｐａｒａｔｅｄ Ｖａｌｕｅｓ）形式に加工（変換）したファイルである。データファイル５０１Ｃは、センサ”Ｓ５６７８９”が２０１７年４月１日に測定したデータを記録したファイルである。
【０１１９】
上記した構成により、データファイル５００と、各データファイル５０１Ａ，５０１Ｂ，５０１Ｃのそれぞれのファイル関係５０２Ａ，５０２Ｂ、５０２Ｃのうち、ファイル関係５０２Ｂのみがデータリニエージとなっている。
【０１２０】
特徴量生成部２０３は、ステップＳ６０８において、これら４つのデータファイルを元にファイルペアをリストアップし、それぞれのファイルペアについて、例えば、２種類の特徴量ｘ０、ｘ１を生成する。なお、以下においては、説明を平易にするため、データファイル５００と、各データファイル５０１Ａ，５０１Ｂ，５０１Ｃとの３つのファイルペアを対象についてのみ考慮したものとする。
【０１２１】
特徴量生成部２０３は、特徴量ｘ０として、ファイルペアについて、データファイルの内容の類似性を数量化する。ファイルペアの２つのデータファイルを比較すると、その内容には異なる部分と重複する部分がある。内容の重複の度合を数量化する方法として、例えば、ファイルを複数のチャンクに分割し、チャンクそれぞれのチェックサムを算出する処理を２つのファイルについて行い、その結果もたらされる２つのチェックサムの系列のうち一致するものの比率を算出し、正規化することが考えられる。なお、データファイルの内容の重複の度合を数量化する方法は、これに限定されない。
【０１２２】
例えば、データファイル５００とデータファイル５０１Ａとの内容について比較すると、測定日時と、記録されたセンサーデータとが異なるため、その重複は少ないため、特徴量ｘ０の値は小さい。一方、データファイル５００と５０１Ｂとの内容について比較すると、測定日時とセンサーデータとは共通であり、それらの間にある区切り文字が変換されているため、比較的重複があり、特徴量ｘ０の値は比較的大きい。また、データファイル５００と５０１Ｃとの内容について比較すると、測定日時が共通であり、しかも２つのセンサは類似した値を出力しているため、大きく重複しており、特徴量ｘ０の値は大きい。
【０１２３】
また、特徴量生成部２０３は、特徴量ｘ１として、データファイルのファイル名の類似性を数量化する。データファイルのファイル名の類似性を数量化する方法としては、ファイル名のような文字列の差異を数量化する、例えばレーベンシュタイン距離を算出するようにしてもよい。なお、データファイルのファイル名の類似性を数量化する方法は、これに限定されない。
【０１２４】
例えば、データファイル５００とデータファイル５０１Ａとのファイル名について比較すると、センサ名”Ｓ１２３４５”の部分は共通するが、測定日時をＵＮＩＸ（登録商標）時間で表現した部分は異なるため、比較的差異は大きく、特徴量ｘ１は比較的大きくなる。なお、この例では、特徴量ｘ１は、差異が大きいほど大きくなる、すなわち、類似性が高いほど小さくなるものとしている。また、データファイル５００と５０１Ｂのファイル名について比較すると、センサ名、測定日時ともに共通であり、差異はファイルの拡張子の部分だけであるため、比較的差異は小さく、特徴量ｘ１は、小さくなる。また、データファイル５００と５０１Ｃとのファイル名について比較すると、測定日時の部分は共通だが、センサ名の部分が”Ｓ１２３４５”および”Ｓ５６７８９”と異なるため、比較的差異は大きく、特徴量ｘ１は、比較的大きくなる。
【０１２５】
上記のようにして特徴量生成部２０３により算出された、ファイルペア各々についてその特徴量ｘ０、ｘ１は、特徴量テーブル２１１のレコードとして格納される。
【０１２６】
次に、リニエージ判定処理における分類器２０４１とゲート関数部２０４２との処理動作の具体例を示す。
【０１２７】
図１４は、分類器とゲート関数部とによる処理の具体例を説明する図である。図１４は、上記説明した２つの特徴量ｘ０、ｘ１により構成される特徴量空間６００を示している。
【０１２８】
特徴量テーブル２１１の各レコードは、レコードに格納された特徴量ｘ０、ｘ１に従って特徴量空間６００上の１点にマップされる。例えば、ファイル関係５０２Ａに対応するファイルペア（データファイル５００及びデータファイル５０１Ａ）は、ファイルペアを構成するデータファイルの内容に重複は少なく、ファイル名の差異は大きいため、クラスタ６０１の中にマップされる。
【０１２９】
また、ファイル関係５０２Ｂに対応するファイルペア（データファイル５００及びデータファイル５０１Ｂ）は、ファイルペアを構成するデータファイルの内容にかなり重複がある一方で、ファイル名の差異は比較的小さいため、クラスタ６０２の中にマップされる。
【０１３０】
また、ファイル関係５０２Ｃに対応するファイルペア（データファイル５００及びデータファイル５０１Ｃ）は、ファイルペアを構成するデータファイルの内容は大きく重複し、かつファイル名の差異が大きいため、クラスタ６０３の中にマップされる。
【０１３１】
特徴量空間６００においては、クラスタ６０２にマップされるファイルペアにはデータリニエージが存在し、クラスタ６０１及びクラスタ６０３にマップされるファイルペアにはデータリニエージが存在しない。
【０１３２】
ここで、リニエージ検出部２０４が、特徴量空間６００上の３つのクラスタのうち、クラスタ６０２にマップされるファイルペアにはデータリニエージが存在し、クラスタ６０１及びクラスタ６０３にマップされるファイルペアにはデータリニエージが存在しないと判定するためには、クラスタ６０１とクラスタ６０２とを線形分離する識別線６０４と、クラスタ６０２とクラスタ６０３とを線形分離する識別線６０５との２つが必要である。
【０１３３】
この２つの識別線のそれぞれは、特徴量ｘ０とｘ１を入力とした２つの分類器２０４１のパラメタにより決定される。第１の分類器２０４１は、特徴量ｘ０とｘ１を入力とし識別線６０４により線形分離することができる。この第１の分類器２０４１は、クラスタ６０１とクラスタ６０２のファイルペアとを高精度に分離することができる。また、第２の分類器２０４１は、特徴量ｘ０とｘ１を入力とし識別線６０５により線形分離することができる。この第２の分類器２０４１は、クラスタ６０２とクラスタ６０３とのファイルペアを高精度に分離することができる。
【０１３４】
２つの分類器２０４１に対応する２つのゲート関数部２０４２のそれぞれは、特徴量ｘ０とｘ１とを入力し、自身のパラメタにより特徴量空間６００上の識別線６０４と識別線６０５との境界である回帰直線６０６を境界として異なる重み付けの係数を算出し、分類器２０４１の出力に重みを与える。本実施形態では、第１の分類器２０４１に対応するゲート関数部２０４２は、データリニエージの有無の評価について高精度に分離することが可能であり範囲である回帰直線６０６よりも左側の範囲において、大きな値の重み付けの係数を算出し、回帰直線６０６よりも右側の範囲においては、小さな値の重み付けの係数を算出する。一方、第２の分類器２０４１に対応するゲート関数部２０４２は、回帰直線６０６よりも左側の範囲においては、小さな値の重み付けの係数を算出し、データリニエージの有無の評価について高精度に分離することが可能な範囲である回帰直線６０６よりも右側の範囲においては、大きな値の重み付けの係数を算出する。
【０１３５】
このようにゲート関数部２０４２によって重み付けが行われた値は、コンバイナ２０４３により合算されて総合評価値として出力される。この際、回帰直線６０６よりも左側においては、第１の分類器２０４１の出力が優先された総合評価値となり、回帰直線６０６よりも右側においては、第２の分類器２０４１の出力が優先された総合評価値となる。これにより、リニエージ検出部２０４は、特徴量ｘ０、ｘ１を入力として特徴量空間６００上にマップされるファイルペアを複数のクラスタに適切に分離することができる、すなわち、ファイルペアのデータリニエージの有無を適切に判定することができる。
【０１３６】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
【０１３７】
例えば、上記実施形態において、学習部２０５によりリニエージ検出部２０４の学習を行ったことにより、ゲート関数部２０４２の重み付けが所定値よりも小さくなった場合には、このゲート関数部２０４２と、このゲート関数部２０４２に対応する分類器２０４１との処理を実行しないようにしてもよく、また、以降において、このゲート関数部２０４２と、この分類器２０４１のパラメタとを学習しないようにしてもよい。このようにすると、データリニエージの検出に影響が小さい評価処理を行わずに済み、処理負荷を低減することができる。また、特徴量の内で、このゲート関数部２０４２に対応する分類器２０４１のみの評価処理に影響を及ぼす特徴量があれば、メタデータ収集部２０２においてこの特徴量を収集しないようにしてもよく、特徴量テーブル２１１において、この特徴量を格納しないようにしてもよい。このようにすると、処理負荷を低減できるとともに、特徴量テーブル２１１に必要となる記憶領域の容量を低減することができる。
【０１３８】
また、上記実施形態における、プロセッサがプログラムを実行することにより構成していた機能部の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア（例えば可搬型の記憶メディア）であってもよい。
【符号の説明】
【０１３９】
１…計算機システム、１００…メタデータ管理装置、１１０…ストレージシステム、３００…データレイク、３０１…データファイル
【図１】
0006714160.tif 000002
【図２】
0006714160.tif 000003
【図３】
0006714160.tif 000004
【図４】
0006714160.tif 000005
【図５】
0006714160.tif 000006
【図６】
0006714160.tif 000007
【図７】
0006714160.tif 000008
【図８】
0006714160.tif 000009
【図９】
0006714160.tif 000010
【図１０】
0006714160.tif 000011
【図１１】
0006714160.tif 000012
【図１２】
0006714160.tif 000013
【図１３】
0006714160.tif 000014
【図１４】
0006714160.tif 000015