JP6714160B2 - データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム - Google Patents

データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム Download PDF

Info

Publication number
JP6714160B2
JP6714160B2 JP2019529325A JP2019529325A JP6714160B2 JP 6714160 B2 JP6714160 B2 JP 6714160B2 JP 2019529325 A JP2019529325 A JP 2019529325A JP 2019529325 A JP2019529325 A JP 2019529325A JP 6714160 B2 JP6714160 B2 JP 6714160B2
Authority
JP
Japan
Prior art keywords
file
data lineage
data
lineage
evaluation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019529325A
Other languages
English (en)
Other versions
JPWO2019012572A1 (ja
Inventor
健太郎 角井
健太郎 角井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2019012572A1 publication Critical patent/JPWO2019012572A1/ja
Application granted granted Critical
Publication of JP6714160B2 publication Critical patent/JP6714160B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、例えば、データレイクに格納された複数のファイルのデータリニエージを検出するデータリニエージ検出装置等に関する。
企業内で生成される多様なデータを統合し、業務データ分析等に利活用するソリューションが注目されている。この実現のためには、構造化データ、非構造化データの別を問わずに蓄積することができる、一元化されたデータの格納先が必要である。このようなデータ格納のためのシステムは、一般にデータレイクとして知られている。
こうしたデータレイクには、センサーデータ、ソーシャルメディアデータ等、定期的に生成されるデータが流入し、これらがデータファイルの形で保持されている。さらに流入したデータは、いわゆるETL(Extract・Transform・Load)ツールのようなデータ処理プログラムによって加工され、データ利活用に供される。加工されたデータもまた、別のデータファイルとしてデータレイクに保持されている。
このようにデータレイクが保持するデータファイルには、或るデータファイルの加工元を辿ると別のデータファイルがあり、さらにその加工元となるデータファイルがあり、といったデータファイル間の由来・来歴(導出)の関係がある。このような関係をデータリニエージという。データリニエージは、例えば、メタデータとして管理される。このデータリニエージを活用することで、データレイク管理者は、データにエラーが混入した場合にその原因を探したり、データの改変がどの範囲に影響を及ぼすかを把握したり、データが不正に改変されていないかをチェックしたりといった、データレイクの健全性を向上させる作業を実施することができる。
また、複雑なデータの分析プロセスの実行は、試行錯誤を伴う。データリニエージを活用し、分析プロセスに関わる一連のデータ加工の過程で生成された中間生成物であるデータファイルを残置しておくことで、後々に分析プロセスを修正したり、再現したりといった作業を効率化することができる。
こうしたデータリニエージを収集する方法として第一に考えられるのは、データ処理プログラムが出力するログ情報を活用することである。データ処理プログラムが、その実行時にどのデータファイルに対してアクセスしたかを把握しているのは自明である。全てのデータ処理に関わるプログラムがそれらをログ情報として出力しておれば、このログ情報を元にデータリニエージを復元することができる。
しかしながら、この前提は必ずしも成立しない。データ処理プログラムは、ETLツールのように、あらかじめログ情報を出力するべくフレームワークが用意されたものに限定されるものではない。例えば、ETLツールでは対応が難しい複雑な処理を実行するための固有のカスタムプログラムが作成されて使用されることがある。これとは逆に、ETLツールを使用するほどではない簡易な処理を実行するためのアドホックなプログラムが使用されることもある。また、データ処理担当者が表計算ソフトウェア等の汎用プログラムを用いて手動でデータ処理を実行することがある。これらのような場合には、各プログラムにおいては、ログ情報が出力されない。
こうしたデータ処理プログラムの多様性がもたらすログ情報の欠落が、データリニエージ収集の阻害要因となる。結果として、データリニエージに断絶が生じることにより、データファイルの由来や来歴を同定することが困難になる。
このような課題に対する技術としては、例えば特許文献1には、二つのデータファイルをもってファイルペアとして、それらの間で、例えばファイルの内容の重複度合、あるいはスキーマの共通要素の数、といったさまざまな特徴を抽出し、このファイルペアの間における複製や加工といったデータリニエージの有無を推測することで、データリニエージを検出する技術が開示されている。
米国特許出願公開第2015/0356094号明細書
上記した技術によって検出されたファイルペアのデータリニエージは、あくまでも機械的な推測処理に基づくものである。したがって、その処理の結果が示すデータリニエージが実際に存在したものであるのか、それとも誤検出であるのかを判断するのは、データレイク管理者(以下、管理者という)が行うこととなる。
この帰結として、推測処理の精度が、管理者の作業負荷に大きな影響を及ぼす。特に、データレイクには定期的にデータが流入するという特徴があることから、流入したデータに対応するデータ処理もまた定期的に発生する。この結果、類似したデータファイルが定期的に発生することになる。このため、或るデータファイルについてデータリニエージの誤検出が発生した場合、このデータファイルに類似したデータファイルについての誤検出もまた定期的に発生することになり、この誤検出の訂正のために必要な管理者の作業負荷は一向に軽減されることがない。
つまり、既存のデータリニエージ検出技術では、その推測処理の精度が改善することがなく、管理者の作業負荷を軽減できない。
本発明は、上記事情に鑑みなされたものであり、その目的は、ファイル間のデータリニエージの検出における管理者の作業負荷を適切に軽減することのできる技術を提供することにある。
上記目的を達成するため、一の観点に係るデータリニエージ検出装置は、複数のファイルのデータリニエージを検出するデータリニエージ検出装置である。データリニエージ検出装置は、1以上のプロセッサであるプロセッサ部を備える。
プロセッサ部は、複数のファイル中の処理対象となる所定のファイルペアについての複数の特徴量を用いて、複数の評価処理のそれぞれによりファイルペア間のデータリニエージの有無を評価する評価値を出力し、複数の評価処理により出力された複数の評価値に対して、それぞれに対応する所定の重み付けを行う重み付け処理を行い、重み付け処理によって得られた複数の値を合計して総合評価値を算出する。
また、プロセッサ部は、総合評価値に基づいて、ファイルペア間のデータリニエージの有無を推定し、データリニエージが有ると推定されたファイルペアである関連ファイルペア候補を出力し、関連ファイルペア候補がデータリニエージを有しているか否かについての管理者による確認結果を受け付け、データリニエージを有しているとの確認結果が得られた関連ファイルペア候補を、データリニエージが有るファイルペアであるとして登録する。プロセッサ部は、関連ファイルペア候補の確認結果と、ファイルペア候補の特徴量とに基づいて、評価処理、又は重み付け処理の少なくとも一方に使用するパラメタを学習して反映させる。
本発明によれば、ファイル間のデータリニエージの検出における管理者の作業負荷を適切に軽減することができる。
図1は、一実施形態に係る計算機システムの構成図である。 図2は、一実施形態に係るメタデータ管理装置の機能構成図である、 図3は、一実施形態に係るリニエージ検出部及び関連する要素の機能構成図である。 図4は、一実施形態に係るメタデータテーブルの構成図である。 図5は、一実施形態に係るデータリニエージの概念を説明する図である。 図6は、一実施形態に係るリニエージテーブルの構成図である。 図7は、一実施形態に係る特徴量テーブルの構成図である。 図8は、一実施形態に係るリニエージ候補生成処理のフローチャートである。 図9は、一実施形態に係るリニエージ判定処理のフローチャートである。 図10は、一実施形態に係るリニエージ候補表示画面の一例を示す図である。 図11は、一実施形態に係る学習処理のフローチャートである。 図12は、一実施形態に係るリニエージ情報更新処理及び学習データ追加処理のフローチャートである。 図13は、データファイルとその内容の具体例を示す図である。 図14は、分類器とゲート関数部による処理の具体例を説明する図である。
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下の説明では、「aaaテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「aaaテーブル」を「aaa情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
また、以下の説明では、「プロセッサ部」は、1以上のプロセッサを含む。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサである。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
また、以下の説明では、「時刻」は、年月日時分の単位で表現されるが、時刻の単位は、それよりも粗くても細かくてもよいし、また異なる単位でもよい。
図1は、一実施形態に係る計算機システムの構成図である。
計算機システム1は、リニエージ検出装置の一例としてのメタデータ管理装置100と、1以上のストレージシステム110と、を備えている。メタデータ管理装置100と、ストレージシステム110とは、ネットワーク106を介して接続されている。
ネットワーク106は、例えばイーサネット(登録商標)や、IEEE(Institute of Electrical and Electronics Engineers)802.11規格に基づく無線ネットワーク、SONET/SDH(Synchronous Optical Network/Synchronous Digital Hierarchy)規格に基づく広域ネットワーク、又は、これら複数のネットワークを組み合わせたネットワークである。
メタデータ管理装置100は、例えば、パーソナルコンピュータ、ラックマウントサーバ、又はブレードサーバ等で構成され、プロセッサ101、メモリ102、記憶デバイス103、ネットワークインタフェース(I/F)104、及びコンソール105を有する。プロセッサ101は、内部バス等を介して、メモリ102、記憶デバイス103、ネットワークI/F104、及びコンソール105と接続されている。なお、メタデータ管理装置100は、処理負荷の分散や可用性の向上等を目的として、プロセッサ101、メモリ102、記憶デバイス103、ネットワークI/F104、及びコンソール105の一部又は全部を複数有してもよい。また、メタデータ管理装置100は、物理的に一つ、又は複数の計算機で構成してもよく、また、一つの計算機により論理的に構成された仮想計算機としてもよいし、複数の計算機により論理的に構成された仮想計算機としてもよい。なお、メタデータ管理装置100を物理的に複数の計算機上で構成する場合には、各計算機のプロセッサ101はネットワーク106を介してデータ通信を行うようにすればよい。
プロセッサ101は、例えば、CPU(Central Processing Unit)等のハードウェアによる演算装置であり、メモリ102に格納されたプログラムを実行する。メモリ102は、例えば、揮発性の半導体メモリから構成され、プログラムやデータを一時的に記憶する。
記憶デバイス103は、例えば、ハードディスクドライブ(HDD:Hard Disk Drive)、ソリッドステートドライブ(SSD:Solid State Drive)、又はこれらを複数台組み合わせた不揮発性の記憶デバイスであり、プログラムやデータを長期間記憶する。記憶デバイス103は、例えば、オペレーティングシステム(OS:Operating System)やユーザプログラムを記憶する。記憶デバイス103に格納されたオペレーティングシステムや、ユーザプログラム(例えば、リニエージ検出プログラム)は、メタデータ管理装置100の起動時や、処理の実行時にメモリ102に読み出される。なお、メモリ102に読み出されたオペレーティングシステム及びユーザプログラムは、プロセッサ101によって実行され、各種機構が実現される。オペレーティングシステムやユーザプログラムは、リムーバブルメディア(CD−ROM、フラッシュメモリ等)又はネットワークを介してメタデータ管理装置100に提供され、記憶デバイス103に格納される。リムーバブルメディアからプログラムを記憶デバイス103に格納する場合には、メタデータ管理装置100は、リムーバルメディアからデータを読み込むインターフェースを備える必要がある。
ネットワークI/F104は、例えば、NIC(Network Interface Controller)等の通信デバイスで構成され、ネットワーク106と接続される。ネットワークI/F104は、ネットワーク106を介しての他の装置(例えば、ストレージシステム110)との通信時のプロトコル制御を行う。
コンソール105は、例えば、キーボード及びマウス等の入力装置と、液晶表示パネル等のディスプレイ装置とを備える。コンソール105は、後述するデータレイク300の管理者(データレイク管理者)の入力装置による各種操作入力に応じた操作信号を受信して操作入力の内容をプロセッサ101に通知する。また、コンソール105は、プロセッサ101から出力されるテキスト情報やグラフィカル情報に基づくテキストや画像等をディスプレイ装置に表示する。
ストレージシステム110は、例えば、複数の記憶デバイス111を備える。本実施形態では、複数のストレージシステム110の記憶デバイス111により、センサーデータ、ソーシャルメディアデータ等の定期的に生成されるデータを、ファイル形式で保持するデータ蓄積領域であるデータレイク300が構成されている。複数のストレージシステム110は、お互いに離れた場所(遠隔地)に配置されていてもよい。
次に、メタデータ管理装置100の機能構成について説明する。
図2は、一実施形態に係るメタデータ管理装置の機能構成図である、
メタデータ管理装置100は、データレイク300に格納されているデータファイル(単にファイルともいう)301を処理対象として、データファイル間のデータリニエージ(導出関係:単にリニエージということもある)を検出して、管理者へ提供するための処理を実行する。メタデータ管理装置100は、ファイルアクセス部201、メタデータ収集部202、特徴量生成部203、リニエージ検出部204、学習部205、表示操作部206、メタデータリポジトリ207、及び学習データストレージ208を有する。ファイルアクセス部201、メタデータ収集部202、特徴量生成部203、リニエージ検出部204、学習部205、及び表示操作部206は、主に、プロセッサ101がメモリ102のリニエージ検出プログラムを実行することにより構成される。メタデータリポジトリ207及び学習データストレージ208は、主に、記憶デバイス103により構成される。
メタデータリポジトリ207は、メタデータテーブル209及びリニエージテーブル210を格納する。メタデータテーブル209及びリニエージテーブル210については後述する。学習データストレージ208は、特徴量テーブル211を格納する。特徴量テーブル211については、後述する。
ファイルアクセス部201は、データレイク300に格納されているデータファイル301を認識し、データファイル301の内容及びデータファイル301に関するメタデータを読み出す。メタデータ収集部202は、ファイルアクセス部201が読み出したデータファイル301のメタデータと、データファイル301の内容から生成したメタデータとを、メタデータテーブル209に格納する。特徴量生成部203は、メタデータテーブル209に格納されたメタデータを読み出し、二つのデータファイル301の組(ファイルペア)毎に特徴量を生成し、特徴量テーブル211に格納する。
リニエージ検出部204は、特徴量テーブル211に格納された特徴量を読み出し、ファイルペアついてのデータリニエージを推測し、推測したデータリニエージの候補となるファイルペア(データリニエージ候補)をリニエージテーブル210に格納し、ファイルペア間にデータリニエージが存在するか否かの情報を特徴量テーブル211のラベルに格納する。
学習部205は、特徴量テーブル211が保持する特徴量とラベルとを読み出し、読出した特徴量とラベルとにより、学習処理を行って、リニエージ検出部204が保持する後述する分類器2041及びゲート関数部2042のパラメタを更新する。
表示操作部206は、リニエージテーブル210が保持するデータリニエージを読み出し、コンソール105により表示する。また、表示操作部206はコンソール105を介して操作入力の内容を受信して解釈し、リニエージテーブル210が保持するデータリニエージと、特徴量テーブル211のラベルとを更新する。
次に、リニエージ検出部204の詳細な構成について説明する。
図3は、一実施形態に係るリニエージ検出部及び関連する要素の機能構成図である。
リニエージ検出部204は、1以上の分類器2041、1以上のゲート関数部2042、及びコンバイナ2043を有する。リニエージ検出部204は、分類器2041及びゲート関数部2042を、それぞれ二つ以上備えるようにしてもよい。
分類器2041は、パラメタを有し、特徴量テーブル211が保持するファイルペアの特徴量を読み出し、ファイルペアを構成する二つのデータファイル301間にデータリニエージがあるか否かを判定するための評価値を、パラメタに基づいて算出して出力する。出力する評価値は、連続値でもよいし、任意の閾値によって2値に分類した結果を示す数値(分類値:例えば1と−1)でもよい。分類器2041は、例えば、線形分類器としてもよい。
ゲート関数部2042は、分類器2041のそれぞれに対応して一つずつ設けられている。ゲート関数部2042は、パラメタを有し、対応する分類器2041からの評価値を入力として受信し、評価値に対してパラメタに基づいた所定の重み付け処理を行って、すなわち、所定の重み付け係数を乗算して重み付け評価値を出力する。例えば、ゲート関数部2042は、特徴量テーブル211が保持するファイルペアの特徴量を読み出し、特徴量に基づいて重み付け係数を算出する。なお、重み付け係数は、0から1の範囲としてもよい。ゲート関数部2042で重み付け係数を求める関数は、例えば、ソフトマックス関数としてもよく、この場合には、ゲート関数部2042が有するパラメタは、ソフトマックス関数のパラメタとなる。
コンバイナ2043は、それぞれのゲート関数部2042が出力した重み付け評価値を入力として受信し、これらの重み付け評価値を混合した結果(総合評価値)を出力する。コンバイナ2043は、例えば、重み付け評価値の総和をとる総和関数により総合評価値を算出するようにしてもよい。
リニエージ検出部204は、コンバイナ2043により混合された結果(総合評価値)に基づいて、ファイルペアを構成する二つのデータファイル301間にデータリニエージがあるか否かの判定結果を、リニエージテーブル210及び特徴量テーブル211に格納する。なお、総合評価値に基づく判定結果としては、総合評価値そのままとしてもよいし、総合評価値を所定の閾値との関係に基づいて2値化した値としてもよい。
図4は、一実施形態に係るメタデータテーブルの構成図である。
メタデータテーブル209は、例えば、ドキュメント指向データベース管理システムが保持するデータベースである。メタデータテーブル209は、インデックス209Aとドキュメント209Bとを含む。
インデックス209Aは、データファイル301のそれぞれに対応するレコードを格納する。インデックス209Aのレコードは、idフィールドと、パス名(pathname)フィールドと、タイムスタンプ(timestamp)フィールドとを有する。idフィールドには、データファイル301を識別する一意な識別符号(例えば”F001”)が格納される。インデックス209Aの各レコードは、それぞれ一つのドキュメント209Bと対応しており、idフィールドが保持する一意な識別符号により識別可能となっている。パス名フィールドには、データファイル301のパス名が格納される。タイムスタンプフィールドには、データファイル301の生成されたタイムスタンプが格納される。
ドキュメント209Bは、インデックス209Aの所定のレコード(識別符号に対応するレコード)に対応するデータファイル301のメタデータ、及び、データファイル301の内容から生成されたメタデータを格納する。
図4のドキュメント209Bは、インデックス209Aのidフィールドが“F001”のレコードに対応するドキュメントであり、対応するインデックス209のidを示す“id”プロパティと、メタデータとして、データファイル301のパス名を示す“pathname”プロパティ、データファイル301のタイムスタンプを示す“timestamp”プロパティ、データファイル301のフォーマットを示す“format”プロパティ、データファイル301のフィールド数を示す“number_of_fields”プロパティ、データファイル301のフィールド名を示す“fields”プロパティ、等を含む。ドキュメント209Bが保持するメタデータの内の“pathname”プロパティ、“timestamp”プロパティは、データファイル301のメタデータとして、データレイク300が保持しているものを、ファイルアクセス部201が読み出して設定したものである。一方、“format”プロパティ、“number_of_fields”プロパティ、“fields”プロパティ等は、データファイル301の内容に基づいて、メタデータ収集部202が生成したメタデータである。なお、ファイルアクセス部201が収集するメタデータや、メタデータ収集部202が生成するメタデータは、これらに限定されない。
次に、リニエージテーブル210が管理するデータリニエージの概念について説明する。
図5は、一実施形態に係るデータリニエージの概念を説明する図である。
ここで、データレイク300が、例えば、データファイル301A、データファイル301B、及びデータファイル301Cを保持しているものとする。
例えば、リニエージ検出部204が、データファイル301Aを基に加工してデータファイル301Bを作成したと推測し、その推測を管理者が是認した場合には、データファイル301Aとデータファイル301Bとの間にあるリニエージ関係302Aは、“endorsed(承認)”の状態となる。一方、リニエージ検出部204が、データファイル301Aを基に加工してデータファイル301Cを作成したと推測し、その推測を管理者が是認していない場合には、リニエージ関係302Bは”candidate(候補)”の状態となる。また、リニエージ検出部204が、データファイル301Bを基に加工してデータファイル301Cが作成されたと推測し、その推測を管理者が否認した場合には、データファイル301Bとデータファイル301Cとの間にはデータリニエージは存在しない。また、リニエージ検出部204が、データファイル301Bとデータファイル301Cとの間には、データリニエージが存在しないと推測し、管理者が推測を是認も否認もしていない場合には、データファイル301Bとデータファイル301Cとの間にはデータリニエージは存在しない。
次に、リニエージテーブル210について説明する。
図6は、一実施形態に係るリニエージテーブルの構成図である。
リニエージテーブル210は、例えば、テーブル形式データであり、各レコードは、1つのファイルペアのデータリニエージに対応する。リニエージテーブル210のレコードは、idフィールドと、fromIdフィールドと、toIdフィールドと、batch_noフィールドと、statusフィールドとを有する。
idフィールドは、ファイルペアを一意に識別可能な識別符号が格納される。fromIdフィールドには、データリニエージを有する(導出関係を有する)ファイルペアの基となるデータファイル301に対応する識別符号(例えば、メタデータテーブル209で保持されるデータファイル301の識別符号と共通のもの)が格納される。toIdフィールドには、データリニエージを有するファイルペアの作成先となるデータファイル301に対応する識別符号が格納される。batch_noフィールドには、リニエージ検出部204が後述するリニエージ候補生成処理を実行する毎に付与される、処理を特定する識別符号(バッチ番号)が格納される。statusフィールドには、データリニエージの状態が格納される。具体的には、statusフィールドには、“endorsed”又は”candidate”が格納される。
次に、特徴量テーブル211について説明する。
図7は、一実施形態に係る特徴量テーブルの構成図である。
特徴量テーブル211は、例えば、テーブル形式データであり、各レコードは、データレイク300における2つのデータファイル301により構成される各ファイルペアに対応する。特徴量テーブル211のレコードは、idフィールドと、fromIdフィールドと、toIdフィールドと、labelフィールドと、endorsedフィールドと、複数のfeatureフィールド(feature1、feature2、feasture3、・・・)とを有する。
idフィールドには、ファイルペアの識別符号(例えば、リニエージテーブル210のidフィールドの識別符号と共通のもの)が格納される。fromIdフィールドには、ファイルペアの一方のデータファイル301に対応する識別符号(例えば、メタデータテーブル209で保持されるデータファイル301の識別符号と共通のもの)が格納される。toIdフィールドには、ファイルペアの他方のデータファイル301の識別符号が格納される。
labelフィールドには、ファイルペアを構成するデータファイル301間に、データリニエージ(導出関係)が存在するか否かを示す情報(ラベル)が格納される。本実施形態では、labelフィールドには、例えば、データリニエージが存在する場合には“1”が格納され、存在しない場合には、“−1”が格納される。endorsedフィールドには、データリニエージが是認されているか否かの情報が格納される。具体的には、endorsedフィールドには、データリニエージが是認されている場合、すなわち、“endorsed”である場合には、“1”が格納され、データリニエージが是認されていない場合、すなわち、“candidate”である場合には、“0”が格納される。例えば、ファイルペアのデータファイル301間にデータリニエージが存在しない場合、すなわち、labelフィールドが“−1”に設定されているレコードにおいて、管理者がその存在を否認した場合には、endorsedフィールドには“1”が格納される一方、管理者が否認も是認もしていない場合にはendorsedフィールドには“0”が格納される。featureフィールドのそれぞれには、特徴量生成部203がファイルペアから算出した、異なる特徴に関する特徴量が格納される。
次に、メタデータ管理装置100による処理動作について説明する。
図8は、一実施形態に係るリニエージ候補生成処理のフローチャートである。
リニエージ候補生成処理は、例えば、図示しないスケジューラの制御によって定期的に実行される。リニエージ候補生成処理は、実行される毎に、その処理を特定する識別符号(バッチ番号)が付与される。ここで、新たに実行される処理に付与されるバッチ番号は、例えば、数値であり、直前に行った処理のバッチ番号よりも大きい数値である。
まず、ファイルアクセス部201は、データレイク300が保持するデータファイル301をスキャンし、前回のリニエージ候補生成処理の実行時から現在までの間にデータレイク300に新規追加されたデータファイル301をリストアップする(ステップS602)。
次いで、メタデータ収集部202は、新規追加されたデータファイル301からメタデータを収集及び生成して、メタデータテーブル209に格納する(ステップS604)。
次いで、特徴量生成部203は、メタデータテーブル209が保持するレコードに基づいて、新規追加されたデータファイル301を最低1つ含むファイルペアをリストアップし、このファイルペアに一意な識別符号を付与し、特徴量テーブル211にファイルペアに対応するレコードを追加する(ステップS606)。更に、特徴量生成部203は、リストアップされたファイルペアのそれぞれについて、ファイルペアの複数の特徴量を算出し、それぞれの特徴量を特徴量テーブル211のfeatureフィールドのそれぞれに格納する(ステップS608)。
次いで、リニエージ検出部204は、リニエージ判定処理を実行する(ステップS610)。具体的には、リニエージ検出部204は、特徴量テーブル211に格納された各レコードのうちのデータリニエージの判定が行われていない全てのファイルペアに対応するレコード、具体的には、labelフィールドが空欄のレコードについて、このレコードが保持する特徴量を、各分類器2041に入力し、その後、コンバイナ2043から出力される総合評価値により、ファイルペアについてのデータリニエージの有無を判定する。この結果、ファイルペアにデータリニエージが存在すると判定した場合には、リニエージ検出部204は、特徴量テーブル211のこのファイルペアに対応するレコードのlabelフィールドに“1”を格納するとともに、リニエージテーブル210にこのファイルペアに対応するレコードを追加する。この際、リニエージテーブル210に追加するレコードのbatch_noフィールドには、今回の処理のバッチ番号を格納する。一方、データリニエージが存在しないと判定した場合は、リニエージ検出部204は、特徴量テーブル211のlabelフィールドに“−1”を格納する。
データリニエージの判定が行われていない全てのファイルペアに対応するレコードに対する処理が行われた後に、表示操作部206は、リニエージテーブル210に格納されたレコードのうち、batch_noフィールドのバッチ番号が最大のレコード、すなわち、今回の処理により追加されたレコードに基づいて、リニエージ候補に関する情報を含むリニエージ候補表示画面(図10参照)を生成し、コンソール105の表示画面に表示させる(ステップS612)。
次に、リニエージ検出部204によるリニエージ判定処理について詳述する。
図9は、一実施形態に係るリニエージ判定処理のフローチャートである。
リニエージ判定処理は、図8におけるステップS610のリニエージ判定処理に対応する。
リニエージ検出部204は、特徴量テーブル211が保持する各レコードのうち、labelフィールドが空欄のレコードのそれぞれを処理対象として、LOOP1の処理(ステップS804〜S818)を実行する。以下のLOOP1の処理の説明において、処理対象のレコードを対象レコードという。
まず、リニエージ検出部204は、対象レコードから、featureフィールドのそれぞれのフィールドから特徴量を取得し、各分類器2041に入力する(ステップS804)。ここで、各フィールドに格納された特徴量は、スカラ値であり、複数のフィールドからの特徴量を合わせると、全体としては特徴量ベクトルとなる。
次いで、リニエージ検出部204のそれぞれの分類器2041とその分類器2041に接続されたゲート関数部2042との組のそれぞれに対して、LOOP2の処理(ステップS808,S810)の処理を実行する。
分類器2041は、特徴量ベクトルを受信して、この分類器2041の処理により評価値を算出し(ステップS808)、評価値を接続されたゲート関数部2042に出力する。ゲート関数部2042は、分類器2041から入力された評価値を受信し、受信した評価値に対して、自身のパラメタに基づいて決定される重み付けを行った値(重み付け評価値)をコンバイナ2043に出力する(ステップS810)。
LOOP2の処理により、分類器2041及びゲート関数2042の組の数だけ重み付け評価値がコンバイナ2043に出力される。
LOOP2の処理後に、コンバイナ2043は、各分類器2041及びゲート関数2042の組から出力された重み付け評価値を混合し(ステップS812)、混合した結果(総合評価値)に基づく値(ここでは、1又は−1)を特徴量テーブル211のlabelフィールドに格納する(ステップS814)。次いで、コンバイナ2043は、総合評価値に基づいて、データリニエージがあるか否かを判定する(ステップS816)。この結果、データリニエージがあると判定した場合(ステップS816:YES)には、コンバイナ2043は、リニエージテーブル210に、データリニエージがあるファイルペアのレコードを追加する。すなわち、コンバイナ2043は、リニエージテーブル210に、ファイルペアの識別符号、ファイルペアを構成するデータファイル301の識別符号、リニエージ候補生成処理に付与されたバッチ番号を含み、statusフィールドが”candidate”であるレコードを追加する(ステップS818)。一方、データリニエージがないと判定した場合(ステップS816:NO)には、コンバイナ2043は、ステップS818を実行しない。
そして、特徴量テーブル211が保持する各レコードのうち、labelフィールドが空欄のレコードのすべてを処理対象として、LOOP1の処理(ステップS804〜S818)を実行した後、リニエージ判定処理を終了する。
このリニエージ判定処理によると、データレイク300に新たに追加されたデータファイルを含むファイルペアのすべてを対象にリニエージ判定処理が行われることとなる。
次に、リニエージ候補表示画面について説明する。
図10は、一実施形態に係るリニエージ候補表示画面の一例を示す図である。
リニエージ候補表示画面400は、リニエージ候補生成処理のステップS612の処理により、コンソール105のディスプレイ装置に表示される画面である。
リニエージ候補表示画面400は、表示操作部206が、リニエージテーブル210が保持するレコードのうち一部(例えば、batch_noフィールドのバッチ番号が最大のもの)をコンソール105に表示させる画面である。
リニエージ候補表示画面400においては、リニエージテーブル210に格納されているレコードに含まれているデータファイル301が、例えばデータファイルアイコン401(401A〜401D)として表示される。なお、データファイル301の識別符号を用いて、メタデータテーブル209を検索して、データファイル301のパス名やファイル名等を同定し、これらをデータファイルアイコン401に対応付けて表示させることにより、管理者が容易にデータファイルを認識できるようにしてもよい。
また、リニエージ候補表示画面400においては、リニエージテーブル210に格納されているレコードに対応するファイルペアを構成するデータファイル301のデータファイルアイコン401同士をデータリニエージ線402(402A,402B)で接続するように表示する。なお、データリニエージ線402に対して、レコードに格納されているデータリニエージの識別符号を併せて表示してもよい。
また、リニエージ候補表示画面400においては、リニエージテーブル210に格納されているファイルペアのレコードをデータリニエージ候補リスト403として表示する。データリニエージ候補リスト403のidフィールドには、リニエージテーブル210のidフィールドの識別符号が表示される。また、データリニエージ候補リスト403のsourceフィールド及びtargetフィールドのそれぞれには、リニエージテーブル201のfromIdフィールド及びtoIdフィールドが保持する識別符号を用いて、メタデータテーブル209のレコードを検索して同定された、それぞれのデータファイル301のパス名が表示される。また、データリニエージ候補リスト403のactionフィールドには、“Accept”、“Reject”、または“Unsure”のいずれか一つの値を選択できるように構成されたドロップダウンリストが表示される。データリニエージ候補リスト403の或るレコードのactionフィールドにおいて“Accept”が管理者により選択された場合は、このレコードに対応するファイルペアのデータリニエージについて是認の意思を表明したこととなる一方、“Reject”が選択された場合は、このレコードに対応するファイルペアのデータリニエージについて否認の意思を表明したこととなる。
また、リニエージ候補表示画面400には、データリニエージ追加ボタン(Add more)404及び正否情報送信ボタン(Submit)405が表示される。
正否情報送信ボタン405が管理者により押下されると、リニエージ候補表示画面400を表示するコンソール105は、データリニエージ候補リスト403のidフィールドに格納されている識別符号と、actionフィールドに設定された値とをもって、この識別符号に対応する管理者によるデータリニエージ候補の正否の情報として、表示操作部206に伝達する。
この結果、actionフィールドに設定された値が“Accept”である場合には、表示操作部206は、データリニエージ候補リスト403のidフィールドの識別符号に対応する特徴量テーブル211のレコードにおけるendorsedフィールドの値を“1”に設定し、データリニエージ候補リスト403のidフィールドの識別符号に対応するリニエージテーブル210のレコードのstatusフィールドの値を“endorsed”に設定する。また、actionフィールドに設定された値が“Reject”である場合には、表示操作部206は、データリニエージ候補リスト403のidフィールドの識別符号に対応するリニエージテーブル210のレコードを削除する。また、actionフィールドに設定された値が“Unsure”である場合には、表示操作部206は、特に何も行わない。
データリニエージ追加ボタン404が管理者により押下されると、リニエージ候補表示画面400を表示するコンソール105は、リニエージテーブル210が格納していないファイルペアであって、データリニエージがあるファイルペアを選択入力するためのダイアログを表示する。このダイアログに対して、管理者により、ファイルペアが選択されて確定の指示が出されると、コンソール105は、選択されたファイルペアのデータファイルを示す識別符号の組を表示操作部206に伝達する。
表示操作部206は、ファイルペアのデータファイルを示す識別符号の組の伝達を受け取ると、データファイルを示す識別符号の組に対応する特徴量テーブル211のレコードを特定し、特定したレコードのlabelフィールドの値をデータリニエージがあることを示す“1”に設定し、endorsedフィールドの値を“1”に設定する。また、表示操作部206は、特徴量テーブル211の特定したレコードのidフィールドの識別符号を特定し、リニエージテーブル210に、特定したidフィールドの識別符号、伝達を受けたファイルペアを構成するデータファイルの識別符号を含み、statusフィールドが”endorsed”であるレコードを追加する。これにより、管理者によりデータリニエージを有すると指定されたファイルペアに関するレコードがリニエージテーブル210に追加されることとなる。
リニエージ候補表示画面400のデータリニエージ候補リスト403において、例えば、
リニエージ検出部204の各ゲート関数部2042の重み付けが大きい順に、対応する分類器2041による評価処理を示す情報や、その評価値に関する情報を表示するようにしてもよい。このようにすると、重み付けが大きい分類器2041による評価値に関する情報を管理者が確認することができる。
なお、リニエージ候補表示画面400の表示の様式は、これに限定されるものではなく、データリニエージ候補リスト403のactionフィールドや、これに類する表示画面要素により、リニエージ検出部204が出力したデータリニエージ候補の結果に対して、管理者がその正否をメタデータ管理装置100に伝達することができるものであればよい。このリニエージ候補表示画面400に対して入力されてメタデータ管理装置100に送信されたデータリニエージ候補の正否情報は、リニエージ検出部204の学習に供されることとなる。
次に、メタデータ管理装置100による学習処理について説明する。
図11は、一実施形態に係る学習処理のフローチャートである。
表示操作部206が、リニエージ候補表示画面400の正否情報送信ボタン405が押下されることにより送信されるデータリニエージ候補の正否情報を受信すると(ステップS1002)、このデータリニエージ候補の正否情報に基づいて、リニエージテーブル210を更新するリニエージ情報更新処理を実行する(ステップS1004)。次いで、表示操作部206は、特徴量テーブル211を更新する学習データ追加処理を実行する(ステップS1006)。
学習部205は、データリニエージ候補の正否が確定したファイルペアの情報、すなわち、特徴量テーブル211のレコードのうち、endorsedフィールドが“1”に設定されている全てのレコードを学習データ(正解データ)として抽出し、この学習データに基づいて、リニエージ検出部204の学習、すなわち、リニエージ検出部204のパラメタ等を決定する学習を行う(ステップS1008)。例えば、リニエージ検出部204の分類器2041が線形分類器であり、ゲート関数部2042におけるゲート関数がソフトマックス関数である場合には、例えば、EM(Expectation−maximization)アルゴリズムによって線形分類器とソフトマックス関数のパラメタを求めることが、リニエージ検出部204の学習に相当する。なお、リニエージ検出部204の学習方法はこれに限られない。例えば、分類器2041による分類処理のパラメタのみを学習するようにしてもよく、また、ゲート関数部2042のパラメタのみを学習するようにしてもよい。
なお、ステップS1008におけるリニエージ検出部204の学習については、例えば、図示しないスケジューラの制御によって定期的に実行するようにしてもよい。
次に、リニエージ情報更新処理及び学習データ追加処理について説明する。
図12は、一実施形態に係るリニエージ情報更新処理及び学習データ追加処理のフローチャートである。
リニエージ情報更新処理は、図11のステップS1004の処理に対応し、学習データ追加処理は、図11のステップS1006の処理に対応する。
表示操作部206は、正否情報を受信した全てのデータリニエージ候補のそれぞれを処理対象として、LOOP1の処理(ステップS1104〜ステップS1116)を実行する。ここで、このLOOP1処理における処理対象とするデータリニエージ候補を対象データリニエージ候補ということとする。
表示操作部206は、対象データリニエージ候補に対する、リニエージ候補表示画面400のデータリニエージ候補リスト403のactionフィールドの選択が”Accept”、又は、”Reject”であるか否かを判定する(ステップS1104)。この結果、
actionフィールドの選択が”Accept”、又は、”Reject”でない場合、すなわち、“Unsure”である場合(ステップS1104:NO)である場合には、表示操作部206は、次の処理対象のデータリニエージ候補に対してLOOP1の処理を行う。
一方、actionフィールドの選択が”Accept”、又は、”Reject”である場合(ステップS1104)には、表示操作部206は、actionフィールドの選択が、”Accept”、であるか(データリニエージの存在が是認されているか)、”Reject”であるか(データリニエージの存在が否認されているか)を判定する。
この結果、表示操作部206は、actionフィールドの選択が、”Accept”、である場合(ステップS1106:YES)には、表示操作部206は、リニエージテーブル210の対象データリニエージ候補の識別符号に対応するレコードのstatusフィールドを“endorsed”に更新し(ステップS1108)、特徴量テーブル211の対象データリニエージ候補の識別符号に対応するレコードのendorsedフィールドを“1”に更新し(ステップS1110)、次の処理対象のデータリニエージ候補に対してLOOP1の処理を行う。
一方、actionフィールドの選択が”Reject”である場合(ステップS1106:NO)には、表示操作部206は、リニエージテーブル210の対象データリニエージ候補の識別符号に対応するレコードを削除し(ステップS1112)、特徴量テーブル211の対象データリニエージ候補の識別符号に対応するレコードのlabelフィールドを“−1”に更新し(ステップS1114)、endorsedフィールドを“1”に更新し(ステップS1116)、次の処理対象のデータリニエージ候補に対してLOOP1の処理を行う。
そして、表示操作部206は、正否情報を受信した全てのデータリニエージ候補のそれぞれを処理対象として、LOOP1の処理を行った後に、リニエージ情報更新処理及び学習データ追加処理を終了する。
このリニエージ情報更新処理及び学習データ追加処理によると、表示操作部206がリニエージ候補表示画面400に表示するデータリニエージに関する情報(リニエージテーブル210)は、管理者の意向を反映した内容に更新され、また、リニエージ検出部204の学習に供される学習データ(特徴量テーブル211)も、管理者の意向を反映した内容に更新されることとなる。
したがって、リニエージ検出部204が、逐次管理者の意向を反映したデータリニエージの検出処理を行うこととなり、例えば、類似したデータファイルに対するデータリニエージの判定における誤検出の発生を低減することができ、管理者の作業負荷を適切に低減することができる。
次に、一実施形態におけるデータリニエージ判定処理を、データファイルの具体例を用いて説明する。
図13は、データファイルとその内容の具体例を示す図である。
データレイク300は、例えば、センサーデータを含むデータファイル500を保持する。また、データレイク300は、データファイル501A,501B,501Cを保持する。
データファイル500は、センサ”S12345”が2017年4月1日に測定したデータを記録したファイルである。データファイル501Aは、センサ”S12345”が2017年3月31日に測定したデータを記録したファイルである。データファイル501Bは、センサ”S12345”が2017年4月1日に測定したデータ(すなわちデータファイル500が保持するデータ)を、ETLツールによってCSV(Commma Separated Values)形式に加工(変換)したファイルである。データファイル501Cは、センサ”S56789”が2017年4月1日に測定したデータを記録したファイルである。
上記した構成により、データファイル500と、各データファイル501A,501B,501Cのそれぞれのファイル関係502A,502B、502Cのうち、ファイル関係502Bのみがデータリニエージとなっている。
特徴量生成部203は、ステップS608において、これら4つのデータファイルを元にファイルペアをリストアップし、それぞれのファイルペアについて、例えば、2種類の特徴量x0、x1を生成する。なお、以下においては、説明を平易にするため、データファイル500と、各データファイル501A,501B,501Cとの3つのファイルペアを対象についてのみ考慮したものとする。
特徴量生成部203は、特徴量x0として、ファイルペアについて、データファイルの内容の類似性を数量化する。ファイルペアの2つのデータファイルを比較すると、その内容には異なる部分と重複する部分がある。内容の重複の度合を数量化する方法として、例えば、ファイルを複数のチャンクに分割し、チャンクそれぞれのチェックサムを算出する処理を2つのファイルについて行い、その結果もたらされる2つのチェックサムの系列のうち一致するものの比率を算出し、正規化することが考えられる。なお、データファイルの内容の重複の度合を数量化する方法は、これに限定されない。
例えば、データファイル500とデータファイル501Aとの内容について比較すると、測定日時と、記録されたセンサーデータとが異なるため、その重複は少ないため、特徴量x0の値は小さい。一方、データファイル500と501Bとの内容について比較すると、測定日時とセンサーデータとは共通であり、それらの間にある区切り文字が変換されているため、比較的重複があり、特徴量x0の値は比較的大きい。また、データファイル500と501Cとの内容について比較すると、測定日時が共通であり、しかも2つのセンサは類似した値を出力しているため、大きく重複しており、特徴量x0の値は大きい。
また、特徴量生成部203は、特徴量x1として、データファイルのファイル名の類似性を数量化する。データファイルのファイル名の類似性を数量化する方法としては、ファイル名のような文字列の差異を数量化する、例えばレーベンシュタイン距離を算出するようにしてもよい。なお、データファイルのファイル名の類似性を数量化する方法は、これに限定されない。
例えば、データファイル500とデータファイル501Aとのファイル名について比較すると、センサ名”S12345”の部分は共通するが、測定日時をUNIX(登録商標)時間で表現した部分は異なるため、比較的差異は大きく、特徴量x1は比較的大きくなる。なお、この例では、特徴量x1は、差異が大きいほど大きくなる、すなわち、類似性が高いほど小さくなるものとしている。また、データファイル500と501Bのファイル名について比較すると、センサ名、測定日時ともに共通であり、差異はファイルの拡張子の部分だけであるため、比較的差異は小さく、特徴量x1は、小さくなる。また、データファイル500と501Cとのファイル名について比較すると、測定日時の部分は共通だが、センサ名の部分が”S12345”および”S56789”と異なるため、比較的差異は大きく、特徴量x1は、比較的大きくなる。
上記のようにして特徴量生成部203により算出された、ファイルペア各々についてその特徴量x0、x1は、特徴量テーブル211のレコードとして格納される。
次に、リニエージ判定処理における分類器2041とゲート関数部2042との処理動作の具体例を示す。
図14は、分類器とゲート関数部とによる処理の具体例を説明する図である。図14は、上記説明した2つの特徴量x0、x1により構成される特徴量空間600を示している。
特徴量テーブル211の各レコードは、レコードに格納された特徴量x0、x1に従って特徴量空間600上の1点にマップされる。例えば、ファイル関係502Aに対応するファイルペア(データファイル500及びデータファイル501A)は、ファイルペアを構成するデータファイルの内容に重複は少なく、ファイル名の差異は大きいため、クラスタ601の中にマップされる。
また、ファイル関係502Bに対応するファイルペア(データファイル500及びデータファイル501B)は、ファイルペアを構成するデータファイルの内容にかなり重複がある一方で、ファイル名の差異は比較的小さいため、クラスタ602の中にマップされる。
また、ファイル関係502Cに対応するファイルペア(データファイル500及びデータファイル501C)は、ファイルペアを構成するデータファイルの内容は大きく重複し、かつファイル名の差異が大きいため、クラスタ603の中にマップされる。
特徴量空間600においては、クラスタ602にマップされるファイルペアにはデータリニエージが存在し、クラスタ601及びクラスタ603にマップされるファイルペアにはデータリニエージが存在しない。
ここで、リニエージ検出部204が、特徴量空間600上の3つのクラスタのうち、クラスタ602にマップされるファイルペアにはデータリニエージが存在し、クラスタ601及びクラスタ603にマップされるファイルペアにはデータリニエージが存在しないと判定するためには、クラスタ601とクラスタ602とを線形分離する識別線604と、クラスタ602とクラスタ603とを線形分離する識別線605との2つが必要である。
この2つの識別線のそれぞれは、特徴量x0とx1を入力とした2つの分類器2041のパラメタにより決定される。第1の分類器2041は、特徴量x0とx1を入力とし識別線604により線形分離することができる。この第1の分類器2041は、クラスタ601とクラスタ602のファイルペアとを高精度に分離することができる。また、第2の分類器2041は、特徴量x0とx1を入力とし識別線605により線形分離することができる。この第2の分類器2041は、クラスタ602とクラスタ603とのファイルペアを高精度に分離することができる。
2つの分類器2041に対応する2つのゲート関数部2042のそれぞれは、特徴量x0とx1とを入力し、自身のパラメタにより特徴量空間600上の識別線604と識別線605との境界である回帰直線606を境界として異なる重み付けの係数を算出し、分類器2041の出力に重みを与える。本実施形態では、第1の分類器2041に対応するゲート関数部2042は、データリニエージの有無の評価について高精度に分離することが可能であり範囲である回帰直線606よりも左側の範囲において、大きな値の重み付けの係数を算出し、回帰直線606よりも右側の範囲においては、小さな値の重み付けの係数を算出する。一方、第2の分類器2041に対応するゲート関数部2042は、回帰直線606よりも左側の範囲においては、小さな値の重み付けの係数を算出し、データリニエージの有無の評価について高精度に分離することが可能な範囲である回帰直線606よりも右側の範囲においては、大きな値の重み付けの係数を算出する。
このようにゲート関数部2042によって重み付けが行われた値は、コンバイナ2043により合算されて総合評価値として出力される。この際、回帰直線606よりも左側においては、第1の分類器2041の出力が優先された総合評価値となり、回帰直線606よりも右側においては、第2の分類器2041の出力が優先された総合評価値となる。これにより、リニエージ検出部204は、特徴量x0、x1を入力として特徴量空間600上にマップされるファイルペアを複数のクラスタに適切に分離することができる、すなわち、ファイルペアのデータリニエージの有無を適切に判定することができる。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
例えば、上記実施形態において、学習部205によりリニエージ検出部204の学習を行ったことにより、ゲート関数部2042の重み付けが所定値よりも小さくなった場合には、このゲート関数部2042と、このゲート関数部2042に対応する分類器2041との処理を実行しないようにしてもよく、また、以降において、このゲート関数部2042と、この分類器2041のパラメタとを学習しないようにしてもよい。このようにすると、データリニエージの検出に影響が小さい評価処理を行わずに済み、処理負荷を低減することができる。また、特徴量の内で、このゲート関数部2042に対応する分類器2041のみの評価処理に影響を及ぼす特徴量があれば、メタデータ収集部202においてこの特徴量を収集しないようにしてもよく、特徴量テーブル211において、この特徴量を格納しないようにしてもよい。このようにすると、処理負荷を低減できるとともに、特徴量テーブル211に必要となる記憶領域の容量を低減することができる。
また、上記実施形態における、プロセッサがプログラムを実行することにより構成していた機能部の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。
1…計算機システム、100…メタデータ管理装置、110…ストレージシステム、300…データレイク、301…データファイル

Claims (15)

  1. 複数のファイルのデータリニエージを検出するデータリニエージ検出装置であって、
    1以上のプロセッサであるプロセッサ部を備え、
    前記プロセッサ部は、
    前記複数のファイル中の処理対象となる所定のファイルペアについての複数の特徴量を用いて、複数の評価処理のそれぞれにより前記ファイルペア間のデータリニエージの有無を評価する評価値を出力し、
    前記複数の評価処理により出力された複数の評価値に対して、それぞれに対応する所定の重み付けを行う重み付け処理を行い、
    前記重み付け処理によって得られた複数の値を合計して総合評価値を算出し、
    前記総合評価値に基づいて、前記ファイルペア間のデータリニエージの有無を推定し、前記データリニエージが有ると推定されたファイルペアである関連ファイルペア候補を出力し、
    前記関連ファイルペア候補が前記データリニエージを有しているか否かについての管理者による確認結果を受け付け、
    前記データリニエージを有しているとの確認結果が得られた前記関連ファイルペア候補を、データリニエージが有るファイルペアであるとして登録し、
    前記関連ファイルペア候補の前記確認結果と、前記ファイルペア候補の特徴量とに基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタを学習して反映させる
    データリニエージ検出装置。
  2. 前記プロセッサ部は、
    複数のファイルが蓄積されるファイル蓄積領域から、新たに追加されたファイルを一方に含むファイルペアを前記処理対象として決定する
    請求項1に記載のデータリニエージ検出装置。
  3. 前記ファイル蓄積領域は、遠隔地にある複数のストレージ装置のそれぞれにより提供される記憶領域で構成されている
    請求項2に記載のデータリニエージ検出装置。
  4. 前記プロセッサ部は、
    EMアルゴリズムを用いて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタの学習を行う
    請求項1から請求項3のいずれか一項に記載のデータリニエージ検出装置。
  5. 前記評価処理は、線形分類を行う処理を含む
    請求項1に記載のデータリニエージ検出装置。
  6. 前記重み付け処理における重み付けの係数を求める関数は、ソフトマックス関数である
    請求項1に記載のデータリニエージ検出装置。
  7. 前記プロセッサ部は、
    前記管理者から導出関係を有するファイルペアの指定を受け付け、
    受け付けた前記ファイルペアを、データリニエージが有るファイルペアとして登録する
    請求項1に記載のデータリニエージ検出装置。
  8. 前記プロセッサ部は、
    指定を受け付けた前記ファイルペアの特徴量に基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタの学習を行って反映させる
    請求項7に記載のデータリニエージ検出装置。
  9. 前記プロセッサ部は、
    第1ファイルと、所定のアプリケーションにより前記第1ファイルから生成された第2ファイルとを含むファイルペアに関する特徴量に基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタの学習を行って反映させる
    請求項1に記載のデータリニエージ検出装置。
  10. 前記複数の評価処理は、前記ファイルペア間のデータリニエージの有無を評価する評価値の精度が高くなる前記特徴量の範囲が異なる2以上の評価処理を含む
    請求項1に記載のデータリニエージ検出装置。
  11. 前記ファイルペアの前記特徴量の範囲が、前記評価処理による前記ファイルペア間のデータリニエージの有無を評価する評価値の精度が高くなる前記特徴量の範囲である場合に、前記重み付け処理による前記所定の重み付けが大きくなるように設定されている
    請求項10に記載のデータリニエージ検出装置。
  12. 前記プロセッサ部は、
    前記重み付け処理における対応する所定の重み付けが所定以下となった評価処理について、以降において実行しないようにする
    請求項1に記載のデータリニエージ検出装置。
  13. 前記プロセッサ部は、
    前記重み付け処理における対応する所定の重み付けに基づいて、前記重み付けが大きい順に、前記評価処理に関する評価値に関する情報を表示する
    請求項1に記載のデータリニエージ検出装置。
  14. 複数のファイルのデータリニエージを検出するデータリニエージ検出装置によるデータリニエージ検出方法であって、
    前記複数のファイル中の処理対象となる所定のファイルペアについての複数の特徴量を用いて、複数の評価処理のそれぞれにより前記ファイルペア間の導出関係の有無を評価する評価値を出力し、
    前記複数の評価処理により出力された複数の評価値に対して、それぞれに対応する所定の重み付けを行う重み付け処理を行い、
    前記重み付け処理によって得られた複数の値を合計して総合評価値を算出し、
    前記総合評価値に基づいて、前記ファイルペア間のデータリニエージの有無を推定し、前記データリニエージが有ると推定されたファイルペアである関連ファイルペア候補を出力し、
    前記関連ファイルペア候補が前記データリニエージを有しているか否かについての管理者による確認結果を受け付け、
    前記データリニエージを有しているとの確認結果が得られた前記関連ファイルペア候補を、データリニエージが有るファイルペアであるとして登録し、
    前記関連ファイルペア候補の前記確認結果と、前記ファイルペア候補の特徴量とに基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタを学習して反映させる
    データリニエージ検出方法。
  15. 複数のファイルのデータリニエージを検出するデータリニエージ検出装置を構成するコンピュータに実行されるデータリニエージ検出プログラムであって、
    前記コンピュータを、
    前記複数のファイル中の処理対象となる所定のファイルペアについての複数の特徴量を用いて、複数の評価処理のそれぞれにより前記ファイルペア間のデータリニエージの有無を評価する評価値を出力させ、
    前記複数の評価処理により出力された複数の評価値に対して、それぞれに対応する所定の重み付けを行う重み付け処理を行わせ、
    前記重み付け処理によって得られた複数の値を合計して総合評価値を算出させ、
    前記総合評価値に基づいて、前記ファイルペア間のデータリニエージの有無を推定し、前記データリニエージが有ると推定されたファイルペアである関連ファイルペア候補を出力させ、
    前記関連ファイルペア候補が前記データリニエージを有しているか否かについての管理者による確認結果を受け付させ、
    前記データリニエージを有しているとの確認結果が得られた前記関連ファイルペア候補を、データリニエージが有るファイルペアであるとして登録させ、
    前記関連ファイルペア候補の前記確認結果と、前記ファイルペア候補の特徴量とに基づいて、前記評価処理、又は前記重み付け処理の少なくとも一方に使用するパラメタを学習させて反映させるように構成する
    データリニエージ検出プログラム。
JP2019529325A 2017-07-10 2017-07-10 データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム Active JP6714160B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/025075 WO2019012572A1 (ja) 2017-07-10 2017-07-10 データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム

Publications (2)

Publication Number Publication Date
JPWO2019012572A1 JPWO2019012572A1 (ja) 2019-11-07
JP6714160B2 true JP6714160B2 (ja) 2020-06-24

Family

ID=65002193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019529325A Active JP6714160B2 (ja) 2017-07-10 2017-07-10 データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム

Country Status (2)

Country Link
JP (1) JP6714160B2 (ja)
WO (1) WO2019012572A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7280851B2 (ja) * 2020-03-30 2023-05-24 株式会社日立製作所 データアクセス制御システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061587A (ja) * 2008-09-05 2010-03-18 Nippon Telegr & Teleph Corp <Ntt> 類似文書判定装置、類似判定方法およびそのプログラム
EP2527991B1 (en) * 2010-01-19 2018-12-26 Fujitsu Limited Analysis method, analysis device, and analysis program
JP5718630B2 (ja) * 2010-12-21 2015-05-13 キヤノンマーケティングジャパン株式会社 情報処理装置、情報資産管理システム、情報資産管理方法、及びプログラム
US10346358B2 (en) * 2014-06-04 2019-07-09 Waterline Data Science, Inc. Systems and methods for management of data platforms
US20160012082A1 (en) * 2014-07-09 2016-01-14 Adobe Systems Incorporated Content-based revision history timelines

Also Published As

Publication number Publication date
WO2019012572A1 (ja) 2019-01-17
JPWO2019012572A1 (ja) 2019-11-07

Similar Documents

Publication Publication Date Title
US11562304B2 (en) Preventative diagnosis prediction and solution determination of future event using internet of things and artificial intelligence
Kabinna et al. Examining the stability of logging statements
Fronza et al. Failure prediction based on log files using random indexing and support vector machines
US9454454B2 (en) Memory leak analysis by usage trends correlation
US11146580B2 (en) Script and command line exploitation detection
KR101953190B1 (ko) 복잡한 양자 또는 다자 상대방 관계를 탐색하기 위해 이용되는 다차원 재귀적 학습 과정 및 시스템
US10740361B2 (en) Clustering and analysis of commands in user interfaces
KR102298395B1 (ko) 사용자 행위 분석 시스템 및 방법과, 이를 위한 이벤트 수집 에이전트
US20230259831A1 (en) Real-time predictions based on machine learning models
US11790278B2 (en) Determining rationale for a prediction of a machine learning based model
CN112948275A (zh) 测试数据生成方法、装置、设备及存储介质
Qudsi et al. Predictive data mining of chronic diseases using decision tree: A case study of health insurance company in Indonesia
Li et al. The clustering-based case-based reasoning for imbalanced business failure prediction: a hybrid approach through integrating unsupervised process with supervised process
CN116883181B (zh) 基于用户画像的金融服务推送方法、存储介质及服务器
Deffayet et al. Evaluating the robustness of click models to policy distributional shift
JP6714160B2 (ja) データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム
WO2020227525A1 (en) Visit prediction
US11816112B1 (en) Systems and methods for automated process discovery
CN114547231A (zh) 一种数据溯源的方法和系统
JP5532052B2 (ja) 評価モデル分析システム、評価モデル分析方法およびプログラム
Pushak et al. Empirical scaling analyzer: An automated system for empirical analysis of performance scaling
US11822564B1 (en) Graphical user interface enabling interactive visualizations using a meta-database constructed from autonomously scanned disparate and heterogeneous sources
US20220253529A1 (en) Information processing apparatus, information processing method, and computer readable medium
JP2018060477A (ja) 見積装置、プログラム
WO2016151865A1 (ja) ソフトウェア選択システム及びその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200324

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200415

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200520

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200604

R150 Certificate of patent or registration of utility model

Ref document number: 6714160

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150