JP7103433B2 - 情報処理装置及びリネージュプログラム - Google Patents

情報処理装置及びリネージュプログラム Download PDF

Info

Publication number
JP7103433B2
JP7103433B2 JP2020557467A JP2020557467A JP7103433B2 JP 7103433 B2 JP7103433 B2 JP 7103433B2 JP 2020557467 A JP2020557467 A JP 2020557467A JP 2020557467 A JP2020557467 A JP 2020557467A JP 7103433 B2 JP7103433 B2 JP 7103433B2
Authority
JP
Japan
Prior art keywords
group
data flow
value
information processing
processes
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
JP2020557467A
Other languages
English (en)
Other versions
JPWO2020110239A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2020110239A1 publication Critical patent/JPWO2020110239A1/ja
Application granted granted Critical
Publication of JP7103433B2 publication Critical patent/JP7103433B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、情報処理装置及びリネージュプログラムに関する。
近年、データの信頼性を判断するため、あるいは、データの使用先を把握するために、データの来歴と影響範囲をグラフ表示するリネージュ機能が使われている。図12は、リネージュ機能により表示されるデータフローの一例を示す図である。図12では、データはcsv(comma-separated values)ファイルであり、「品切れ.csv」が対象として選択されている。楕円のアイコンはプロセス(処理)を表す。カードのアイコンはデータを表す。「Python」は、プログラミング言語であり、楕円の中の「Python」は、プロセスが「Python」で作成されていることを示す。
「品切れ.csv」より左が「品切れ.csv」の来歴を示し、「品切れ.csv」より右が「品切れ.csv」の影響範囲を示す。すなわち、「売り上げ.csv」と「商品マスター.csv」から2つのプロセスにより「中間.csv」が作成され、「中間.csv」と「在庫.csv」から1つのプロセスにより「品切れ.csv」が作成される。また、「品切れ.csv」から2つのプロセスにより「需要予測.csv」が作成される。
なお、有向グラフに関する従来技術として、有向グラフに含まれるノードについて関心の指定を受け取って、関心のないノードを要約する計算を行う技術がある。また、メタデータオブジェクトを特徴づける要約データを計算し、メタデータオブジェクトをノードで表しノード間の関係を線で表す視覚的表現において、要約データをノードの近傍に重ねる技術がある。
特表2017-530440号公報 特表2012-510688号公報
リネージュ機能で表示されるデータフローには、データとプロセスの数が多くなると全体像の把握が困難になるという問題がある。図13は、全体像の把握が困難なデータフローの一例を示す図である。図13では、対象として選択されたcsvファイルの来歴に含まれるプロセス及びcsvファイルの数が、全体像の把握が困難なほど多い。
本発明は、1つの側面では、データフローの全体像の把握を容易にすることを目的とする。
1つの態様では、情報処理装置は、圧縮価値記憶部と圧縮部と表示部とを有する。前記圧縮価値記憶部は、グループに含まれる複数の処理を1つのまとめ処理に圧縮する価値を示す圧縮価値をグループ毎に管理する圧縮価値情報を記憶する。ここで、グループは、データフローにおいて複数の処理と該複数の処理の先頭処理の入力データから最終処理の出力データまでのデータとを含む部分データフローである。前記圧縮部は、前記圧縮価値記憶部に記憶された圧縮価値情報に基づいて、リネージュ対象のデータフローにおいて圧縮価値が所定値より大きいグループの複数の処理を1つのまとめ処理にまとめる。前記表示部は、前記圧縮部により複数の処理が1つのまとめ処理にまとめられた圧縮データフローを表示する。
本発明は、1つの側面では、データフローの全体像の把握を容易にすることができる。
図1Aは、圧縮価値の計算に用いられる複数のデータフローを示す図である。 図1Bは、データフローから抽出されたグループの例を示す図である。 図1Cは、異なるグループとして判定される例を示す図である。 図1Dは、異なるグループとして判定される他の例を示す図である。 図1Eは、リネージュ対象のデータフローのグループの例を示す第1の図である。 図1Fは、リネージュ対象のデータフローのグループの例を示す第2の図である。 図1Gは、リネージュ対象のデータフローのグループの例を示す第3の図である。 図1Hは、リネージュ対象のデータフローのグループの例を示す第4の図である。 図1Iは、複数のプロセスを1つのプロジェクトにまとめる例を示す第1の図である。 図1Jは、複数のプロセスを1つのプロジェクトにまとめる例を示す第2の図である。 図1Kは、複数のプロセスを1つのプロジェクトにまとめる例を示す第3の図である。 図1Lは、図1Eに示したデータフローの圧縮データフローを示す図である。 図2は、実施例に係る情報処理装置の機能構成を示す図である。 図3は、データフロー記憶部の一例を示す図である。 図4は、グループ記憶部の一例を示す図である。 図5は、圧縮価値記憶部の一例を示す図である。 図6は、リネージュ記憶部の一例を示す図である。 図7は、グループグラフ記憶部の一例を示す図である。 図8は、取得結果記憶部の一例を示す図である。 図9は、プロジェクト記憶部の一例を示す図である。 図10は、情報処理装置による処理のフローを示すフローチャートである。 図11は、実施例に係るリネージュプログラムを実行するコンピュータのハードウェア構成を示す図である。 図12は、リネージュ機能により表示されるデータフローの一例を示す図である。 図13は、全体像の把握が困難なデータフローの一例を示す図である。
以下に、本願の開示する情報処理装置及びリネージュプログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
まず、実施例に係る情報処理装置がリネージュ機能により表示するデータフローを図1A~図1Lを用いて説明する。実施例に係る情報処理装置は、図1A~図1Dに示すように、複数のデータフローを用いて、複数のプロセスを含む部分データフローの圧縮価値を計算して、圧縮価値記憶部に記憶する。ここで、圧縮価値とは、部分データフローの複数のプロセスをまとめて1つに圧縮する価値を示す値である。なお、圧縮価値の詳細については後述する。そして、実施例に係る情報処理装置は、図1E~図1Lに示すように、リネージュ対象のデータフローを圧縮価値に基づいて圧縮して、圧縮データフローを表示する。
図1Aは、圧縮価値の計算に用いられる複数のデータフローを示す図である。ここでは、データフローA~データフローDで表される4つのデータフローが圧縮価値の計算に用いられる。実施例に係る情報処理装置は、データフローAにおいて、「Data2.csv」と「Data1.csv」の統計的な差異として「行数の減少」を特定する。また、実施例に係る情報処理装置は、データフローAにおいて、「Data3.csv」と「Data2.csv」の統計的な差異として「値の数の増加」を特定する。統計的な差異としては、他に「行数の増加」、「値の数の減少」、「値の範囲の減少」、「値の範囲の増加」、「値の種類の減少」、「値の種類の増加」等がある。実施例に係る情報処理装置は、これらの統計的な差異を、入力データと出力データを比較することで特定する。
そして、実施例に係る情報処理装置は、「Data2.csv」と「Data1.csv」の統計的な差異「行数の減少」を生み出すプロセス「Python1」のアルゴリズムとして「削除」を特定する。特定されたアルゴリズムは、プロセスの下に表示される。統計的な差異「行数の減少」を生み出すプロセスのアルゴリズムとしては、「削除」の他に「外れ値除外」がある。「削除」であるか「外れ値除外」であるかは、入力データと出力データを比較することで特定される。また、実施例に係る情報処理装置は、「Data3.csv」と「Data2.csv」の統計的な差異「値の数の増加」を生み出すプロセス「Python2」のアルゴリズムとして「補間」を特定する。
同様に、実施例に係る情報処理装置は、「Data4.csv」と「Data3.csv」の統計的な差異を生み出すプロセス「Python3」のアルゴリズムとして「正規化」を特定する。また、実施例に係る情報処理装置は、「Data5.csv」と「Data4.csv」の統計的な差異を生み出すプロセス「Python4」のアルゴリズムとして「重回帰分析」を特定する。
ただし、「重回帰分析」については、入力データと出力データを比較することで特定されるのではなく、データフロー作成時に部品として用意されたプロセスに付加されたアルゴリズムとして特定される。このように、実施例に係る情報処理装置は、入力データと出力データの差異を生み出すプロセスのアルゴリズムを、入力データと出力データを比較することで特定する以外に、部品として用意されたプロセスに付加されたアルゴリズムを用いて特定する。
また、実施例に係る情報処理装置は、データフローBにおいて、アルゴロズムとして「名寄せ」を特定する。また、実施例に係る情報処理装置は、データフローCにおいて、「独自アルゴリズム」を特定する。ここで、「独自アルゴリズム」は、入力データと出力データを比較することで特定されず、部品として用意されたプロセスでない場合に、プロセスに付加されるアルゴリズムである。
実施例に係る情報処理装置は、2つ以上のプロセスと2つ以上のプロセスの先頭のプロセスの入力データから最後のプロセスの出力データまでのデータとを含む部分データフローをグループとして全てのデータフローから全て抽出する。そして、実施例に係る情報処理装置は、異なるデータフローに含まれる2つのグループについて、統計的な差異とアルゴリズムを特定し、対応する統計的な差異と、対応するアルゴリズムが一致するか否かを判定する。そして、対応する統計的な差異と、対応するアルゴリズムが一致する場合に、実施例に係る情報処理装置は、2つのグループは同一であると判定し、グループの類似度に1を加える。また、実施例に係る情報処理装置は、2つのグループが同一であるか否かの判定をグループの全ての組み合わせについて行う。
例えば、実施例に係る情報処理装置は、図1Bに示すように、データフローAから、「Data1.csv→Python1→Data2.csv→Python2→Data3.csv」をグループA1として抽出する。ここで、「グループA1」は、グループを識別するグループ番号が「A1」であるグループである。また、実施例に係る情報処理装置は、データフローBから、「Data1.csv→Python1→Data2.csv→Python2→Data3.csv」をグループB1として抽出する。
そして、実施例に係る情報処理装置は、グループA1において、「Data2.csv」と「Data1.csv」の統計的な差異として「行数の減少」を特定する。また、実施例に係る情報処理装置は、グループA1において、「Data3.csv」と「Data2.csv」の統計的な差異として「値の数の増加」を特定する。また、実施例に係る情報処理装置は、統計的な差異「行数の減少」を生み出すアルゴリズムとして「削除」を特定し、統計的な差異「値の数の増加」を生み出すアルゴリズムとして「補間」を特定する。
同様に、実施例に係る情報処理装置は、グループB1において、「Data2.csv」と「Data1.csv」の統計的な差異として「行数の減少」を特定する。また、実施例に係る情報処理装置は、グループB1において、「Data3.csv」と「Data2.csv」の統計的な差異として「値の数の増加」を特定する。また、実施例に係る情報処理装置は、統計的な差異「行数の減少」を生み出すアルゴリズムとして「削除」を特定し、統計的な差異「値の数の増加」を生み出すアルゴリズムとして「補間」を特定する。
グループA1とグループB1では、対応する統計的な差異が「行数の減少」と「値の数の増加」で同じであり、対応するアルゴリズムも「削除」と「補間」で同じである。したがって、実施例に係る情報処理装置は、アルゴリズムが「削除→補間」であり、統計的な差異が「行数の減少→値の数の増加」で表されるグループの類似度に1を加える。
図1Cは、異なるグループとして判定される例を示す図である。図1Cにおいて、グループA1とグループB2はアルゴリズムの数が異なるので、異なるグループと判定される。図1Dは、異なるグループとして判定される他の例を示す図である。図1Dにおいて、データフローCから抽出されたグループC6とデータフローDから抽出されたグループD3は、少なくともアルゴリズムが異なるので、異なるグループと判定される。
図1Bに示したグループA1を「削除」→「補間」で表すと、データフローAからは、「削除」を先頭のアルゴリズムとするグループとして、「削除」→「補間」→「正規化」、「削除」→「補間」→「正規化」→「重回帰分析」が抽出される。また、「補間」を先頭のアルゴリズムとするグループとして、「補間」→「正規化」、「補間」→「正規化」→「重回帰分析」が抽出される。また、「正規化」を先頭のアルゴリズムとするグループとして、「正規化」→「重回帰分析」が抽出される。したがって、データフローAからは、6個のグループが抽出される。同様に、データフローBからは、「削除」→「補間」のグループB1等の15個のグループが抽出される。
実施例に係る情報処理装置は、グループの組み合わせの全てについて、297回判定を行い、グループ「削除→補間」の類似度を5とする。また、実施例に係る情報処理装置は、グループ「正常化→重回帰分析」の類似度を1、グループ「削除→補間→名寄せ」の類似度を1、グループ「補間→名寄せ」の類似度を1、その他のグループの類似度を0とする。
そして、実施例に係る情報処理装置は、圧縮価値を類似度とアルゴリズムの数に基づいてグループ毎に計算する。例えば、実施例に係る情報処理装置は、圧縮価値=類似度×係数^5、により計算する。ここで、係数はアルゴリズム数に基づく値であり、例えば、アルゴリズム数である。「^」はベキ乗を示す。
類似度が大きいことはグループの出現頻度が高いことを示し、グループの圧縮価値は大きい。また、アルゴリズム数が多いグループは圧縮率が大きいので、グループの圧縮価値は大きい。
実施例に係る情報処理装置は、例えば、グループ「削除→補間」の圧縮価値を5×2^5=160、グループ「正常化→重回帰分析」の圧縮価値を1×2^5=32、グループ「削除→補間→名寄せ」の圧縮価値を1×3^5=243とする。同様に、実施例に係る情報処理装置は、例えば、グループ「補間→名寄せ」の類似度を1×2^5=32とし、その他のグループの圧縮価値を0とする。
そして、実施例に係る情報処理装置は、計算した圧縮価値をグループに対応付けて圧縮価値記憶部に記憶する。なお、ここでは、4つのデータフローから圧縮価値を計算したが、実施例に係る情報処理装置は、より多くのデータフローからグループの圧縮価値を計算し、様々な部分データフローの圧縮価値を記憶する。
そして、実施例に係る情報処理装置は、リネージュ対象のデータフローから全てのグループを抽出し、各グループの統計的な差異とアルゴリズムを特定する。そして、実施例に係る情報処理装置は、各グループの圧縮価値を圧縮価値記憶部を参照して取得する。
図1E~図1Hは、リネージュ対象のデータフローのグループの例を示す図である。図1Eの例では、実施例に係る情報処理装置は、「Data2.csv」と「Data1.csv」の統計的な差異として「行数の減少」を特定し、「Data3.csv」と「Data2.csv」の統計的な差異として「値の数の増加」を特定する。そして、実施例に係る情報処理装置は、統計的な差異「行数の減少」を生み出すアルゴリズムとして「削除」を特定し、統計的な差異「値の数の増加」を生み出すアルゴリズムとして「補間」を特定する。そして、実施例に係る情報処理装置は、グループ「削除→補間」の圧縮価値として160を取得する。
また、図1Fの例では、実施例に係る情報処理装置は、「Data4.csv」と「Data3.csv」の統計的な差異として「値の種類の減少」を特定する。そして、実施例に係る情報処理装置は、統計的な差異「値の種類の減少」を生み出すアルゴリズムとして「名寄せ」を特定する。そして、実施例に係る情報処理装置は、グループ「削除→補間→名寄せ」の圧縮価値として243を取得する。
また、図1Gの例では、実施例に係る情報処理装置は、「Data7.csv」と「Data4.csv」及び「Data6.csv」との統計的な差異として「値の範囲の変更」を特定する。また、実施例に係る情報処理装置は、「Data6.csv」と「Data5.csv」の統計的な差異として「独自」を特定する。そして、実施例に係る情報処理装置は、統計的な差異「値の範囲の変更」を生み出すアルゴリズムとして「正規化」を特定し、統計的な差異「独自」を生み出すアルゴリズムとして「独自アルゴリズム」を特定する。そして、実施例に係る情報処理装置は、グループに「独自アルゴリズム」が含まれているので、圧縮価値を0とする。
また、図1Hの例では、実施例に係る情報処理装置は、「Data8.csv」と「Data7.csv」の統計的な差異として「流用部品(重回帰分析)」を特定する。そして、実施例に係る情報処理装置は、統計的な差異「流用部品(重回帰分析)」を生み出すアルゴリズムとして「重回帰分析」を特定する。そして、実施例に係る情報処理装置は、グループ「正規化→重回帰分析」について圧縮価値として32を取得する。
そして、実施例に係る情報処理装置は、圧縮価値が大きいグループから順番に複数のプロセスを1つのまとめプロセスとしてのプロジェクトにまとめる。そして、実施例に係る情報処理装置は、グループに含まれる先頭のプロセスの入力データをプロジェクトの入力データとし、最後のプロセスの出力データをプロジェクトの出力データとする。図1I~図1Kは、複数のプロセスを1つのプロジェクトにまとめる例を示す図である。
図1Iでは、圧縮価値が243で最大のグループ「削除→補間→名寄せ」が「Project1」にまとめられる。また、先頭の「削除」の入力データ「Data1.csv」が「Project1」の入力データとされ、最後の「名寄せ」の出力データ「Data4.csv」が「Project1」の出力データとされる。なお、図1Iにおいて、「グループNo.2」は、圧縮価値記憶部においてグループ「削除→補間→名寄せ」を識別する番号が「2」であることを示す。
図1Jでは、次に圧縮価値(160)が大きいグループ「削除→補間」が「Project2」にまとめられる。また、先頭の「削除」の入力データ「Data1.csv」が「Project2」の入力データとされ、最後の「補間」の出力データ「Data3.csv」が「Project2」の出力データとされる。
図1Kでは、次に圧縮価値(32)が大きいグループ「正規化→重回帰分析」が「Project3」にまとめられる。また、先頭の「正常化」の入力データ「Data4.csv」と「Data6.csv」が「Project3」の入力データとされ、最後の「重回帰分析」の出力データ「Data8.csv」が「Project3」の出力データとされる。
そして、実施例に係る情報処理装置は、リネージュ対象のデータフローをプロジェクトに置き換えられた圧縮データフローとして表示する。図1Lは、図1Eに示したデータフローの圧縮データフローを示す図である。図1Lに示すように、まとめられた処理のアルゴリズムは、プロジェクトの下にまとめて表示される。図1Eのデータフローと比較して、図1Lの圧縮データフロー1では、プロセス数及びデータ数が少なくなり、全体の把握が容易になっている。
また、図1Lにおいて、ユーザによりプロジェクトがマウスで選択されると、実施例に係る情報処理装置は、プロジェクトにまとめられる前のプロセス又はプロジェクトを吹き出しで表示する。また、吹き出しの中のプロジェクトがマウスで選択されると、実施例に係る情報処理装置は、吹き出し中のプロジェクトにまとめられる前のプロセス又はプロジェクトを別の吹き出しで表示する。
このように、プロジェクトにまとめられる前のプロセス又はプロジェクトを階層的に表示することで、実施例に係る情報処理装置は、データフローの全体から詳細への把握を支援することができる。
次に、実施例に係る情報処理装置の機能構成について説明する。図2は、実施例に係る情報処理装置の機能構成を示す図である。図2に示すように、実施例に係る情報処理装置10は、データフロー記憶部11と、グループ抽出部12と、グループ記憶部13と、圧縮価値計算部14と、圧縮価値記憶部15とを有する。また、実施例に係る情報処理装置10は、リネージュ記憶部16と、リネージュグループ記憶部17と、グループグラフ記憶部18と、圧縮価値取得部19と、取得結果記憶部20と、プロジェクト作成部21と、プロジェクト記憶部22と、表示部23とを有する。
データフロー記憶部11は、複数のデータフローのグラフ構造の情報を記憶する。情報処理装置10は、例えば、ユーザがマウスを用いて行った指示を受け付けてファイルからデータフローのグラフ構造の情報を読み出してデータフロー記憶部11に格納したり追加したりする。
図3は、データフロー記憶部11の一例を示す図である。図3に示すように、データフロー記憶部11は、データフローを識別するデータフロー名とデータフローのグラフ構造の情報を対応付けて記憶する。データフロー記憶部11は、例えば、データフローAについて、「Data1.csv→Python1→Data2.csv」、「Data2.csv→Python2→Data3.csv」を記憶する。また、データフロー記憶部11は、データフローAについて、「Data3.csv→Python3→Data4.csv」、「Data4.csv→Python4→Data5.csv」を記憶する。
グループ抽出部12は、データフロー記憶部11が記憶する情報を用いて全てのグループを抽出し、各グループについて、統計的な差異とアルゴリズムを特定して、グループ記憶部13に格納する。
グループ記憶部13は、グループの情報を記憶する。図4は、グループ記憶部13の一例を示す図である。図4に示すように、グループ記憶部13は、グループを識別するグループNo.に対応付けて、アルゴリズムを識別するアルゴリズム名と統計的な差異とを記憶する。例えば、グループ記憶部13は、グループA1について、アルゴリズム名として「削除→補間」を記憶し、統計的な差異として「行数の減少→値の数の増加」を記憶する。
圧縮価値計算部14は、グループの類似度を計算し、類似度をアルゴリズムの数に基づいて、圧縮価値=類似度×係数^5を計算し、圧縮価値記憶部15に格納する。
圧縮価値記憶部15は、圧縮価値をグループ毎に管理する圧縮価値情報を記憶する。図5は、圧縮価値記憶部15の一例を示す図である。図5に示すように、圧縮価値記憶部15は、アルゴリズム名と、統計的な差異と、アルゴリズム数と、類似度と、圧縮価値をグループ毎に記憶する。例えばアルゴリズム名が「削除→補間」であり、統計的な差異が「行数の減少→値の数の増加」であるグループのアルゴリズム数は「2」であり、類似度は「5」であり、圧縮価値は「160」である。
リネージュ記憶部16は、リネージュ対象のデータフローのグラフ構造の情報を記憶する。情報処理装置10は、例えば、ユーザがマウスを用いて行った指示を受け付けてファイルからリネージュ対象のデータフローのグラフ構造の情報を読み出してリネージュ記憶部16に格納する。
図6は、リネージュ記憶部16の一例を示す図である。図6に示すように、リネージュ記憶部16は、リネージュ対象のデータフローのグラフ構造の要素を識別する番号であるNo.と要素のグラフ構造とを対応付けて記憶する。ここで、要素は1つのプロセスとその入力データ及び出力データのグラフ構造である。例えば、識別する番号が「1」である要素のグラフ構造は「Data1.csv→Python1→Data2.csv」である。
グループ抽出部12は、リネージュ記憶部16が記憶する情報を用いてリネージュ対象のデータフローから全てのグループを抽出し、各グループについて、統計的な差異とアルゴリズムを特定して、リネージュグループ記憶部17に格納する。リネージュグループ記憶部17は、リネージュ対象のデータフローから抽出されたグループの情報を記憶する。また、グループ抽出部12は、抽出したグループのグラフ構造を作成し、グループグラフ記憶部18に格納する。
グループグラフ記憶部18は、リネージュ対象のデータフローのグループのグラフ構造の情報を記憶する。図7は、グループグラフ記憶部18の一例を示す図である。図7に示すように、グループグラフ記憶部18は、グループNo.とグループのグラフ構造を対応付けて記憶する。例えば、識別する番号が「1」であるグループのグラフ構造は「Data1.csv→Python1→Data2.csv」と「Data2.csv→Python2→Data3.csv」である。
圧縮価値取得部19は、リネージュグループ記憶部17が情報を記憶するグループについて、圧縮価値記憶部15から圧縮価値を取得し、グループの情報とともに取得結果記憶部20に格納する。圧縮価値取得部19は、圧縮価値記憶部15に圧縮価値が記憶されていないグループについては、圧縮価値を0として取得結果記憶部20に格納する。
取得結果記憶部20は、リネージュグループ記憶部17が記憶する情報に圧縮価値が付加された情報をグループ毎に記憶する。図8は、取得結果記憶部20の一例を示す図である。図8に示すように、取得結果記憶部20は、グループを識別するグループNo.とアルゴリズム名と統計的な差異と圧縮価値をグループ毎に記憶する。例えば、取得結果記憶部20は、「1」で識別されるグループについて、アルゴリズム名として「削除→補間」を記憶し、統計的な差異として「行数の減少→値の数の増加」を記憶し、圧縮価値として「160」を記憶する。
プロジェクト作成部21は、取得結果記憶部20から圧縮価値が0でないグループを圧縮価値が大きい順に特定し、特定したグループの複数のプロセスを1つのプロジェクトにまとめて、プロジェクトの情報をプロジェクト記憶部22に格納する。ここで、プロジェクトは、複数のプロセスがまとめられたプロセスである。プロジェクトの入力データは、まとめられた複数のプロセスの先頭のプロセスの入力データであり、プロジェクトの出力データは、まとめられた複数のプロセスの最後のプロセスの出力データである。なお、プロジェクト作成部21は、圧縮価値が所定の値以上のグループをプロジェクトにまとめてもよい。
プロジェクト記憶部22は、プロジェクトの情報を記憶する。プロジェクトの情報には、プロジェクトにまとめられる前のグループの情報が含まれる。図9は、プロジェクト記憶部22の一例を示す図である。図9に示すように、プロジェクト記憶部22は、グループNo.とアルゴリズム名と統計的な差異と圧縮価値とプロジェクト名と階層をプロジェクト毎に記憶する。
グループNo.とアルゴリズム名と統計的な差異と圧縮価値は、まとめられる前のグループの情報である。プロジェクト名は、プロジェクトを識別する名前である。階層は、プロジェクトの階層である。他のプロジェクトに含まれないプロジェクトの階層は「1」である。階層が「1」のプロジェクトに含まれ、他のプロジェクトに含まれないプロジェクトの階層は「2」である。一般に、階層がnのプロジェクトは、階層が「1」、階層が「2」、・・・、階層が「n-1」のプロジェクトに含まれる。
例えば、プロジェクト記憶部22は、「Project1」で識別されるプロジェクトについて、「2」で識別されるグループの情報と階層が「1」であることを記憶する。
表示部23は、プロジェクト記憶部22とグループグラフ記憶部18を参照し、リネージュ対象のデータフローについて、最上位階層のプロジェクトを含むデータフローを圧縮データフロー1として表示する。ここで、最上位階層のプロジェクトとは、階層が「1」のプロジェクトである。
また、表示部23は、プロセスアイコンにはアルゴリズム名を添えて表示する。また、表示部23は、まとめられたプロセスのアルゴリズム名をプロジェクトアイコンに添えて表示する。
そして、表示部23は、プロジェクトアイコンに合わせられたマウスカーソルを検出すると、プロジェクトにまとめられたプロセス又は次の下の階層のプロジェクトを含む部分データフローを表示する。また、表示部23は、部分データフローに含まれるプロジェクトアイコンに合わせられたマウスカーソルを検出すると、プロジェクトにまとめられたプロセス又は次の下の階層のプロジェクトを含む部分データフローを表示する。一般に、表示部23は、階層が「n」のプロジェクトのアイコンにマウスカーソルが合わせられると、階層が「n」のプロジェクトにまとめられた階層が「n+1」のプロジェクトを含む部分データフローを表示する。
次に、情報処理装置10による処理のフローについて説明する。図10は、情報処理装置10による処理のフローを示すフローチャートである。図10において、ステップS1~ステップS6は、グループの圧縮価値を算出する処理であり、ステップS7~ステップS14は、圧縮価値に基づいてリネージュ対象のデータフローを表示する処理である。
図10に示すように、情報処理装置10は、2つのデータフローの連続する部分をグルーピングする(ステップS1)。ここで、グループには、2つ以上のプロセスと2つ以上のプロセスの先頭のプロセスの入力データから最後のプロセスの出力データまでのデータとが含まれる。
そして、情報処理装置10は、2つのグループに含まれる全プロセスについて、入力データと出力データの統計的な差異を特定する(ステップS2)。そして、情報処理装置10は、2つのグループに含まれる全プロセスについて、差異を生み出しうるアルゴリズムの中から、該当するアルゴリズムを探してアルゴリズム名を特定する(ステップS3)。
そして、情報処理装置10は、2つのグループの対応する統計的な差異及びアルゴリズムが一致していれば、グループの類似度を+1する(ステップS4)。なお、対応する統計的な差異及びアルゴリズムが一致すれば、アルゴリズムの数も一致する。そして、情報処理装置10は、全てのデータフローと全てのグルーピングの組み合わせで類似度を求めたか否かを判定し(ステップS5)、類似度を求めていない組み合せがある場合には、ステップS1に戻る。
一方、全てのデータフローと全てのグルーピングの組み合わせで類似度を求めた場合には、情報処理装置10は、類似度にアルゴリズム数に関係する係数を掛けて圧縮価値を求める(ステップS6)。圧縮価値は圧縮価値記憶部15に記憶され、リネージュ対象のデータフローを表示する場合に利用される。
リネージュ対象のデータフローを表示する処理では、情報処理装置10は、リネージュ対象のデータフローの連続する部分をグルーピングする(ステップS7)。そして、グループに含まれるプロセスについて、情報処理装置10は、入力データと出力データの統計的な差異を求め、差異を生み出すアルゴリズムの名前を特定する(ステップS8)。
そして、情報処理装置10は、統計的な差異とアルゴリズムに基づいて、圧縮価値記憶部15から、グループの圧縮価値を取得し(ステップS9)、全てのグループで圧縮価値を取得したか否かを判定する(ステップS10)。そして、圧縮価値を取得していないグループがある場合には、情報処理装置10は、ステップS7に戻る。
一方、全てのグループで圧縮価値を取得した場合には、情報処理装置10は、圧縮価値が大きい順にグループをプロジェクトとして階層的にまとめ上げる(ステップS11)。そして、情報処理装置10は、リネージュ対象のデータフローについて、最上位階層のプロジェクトを含む圧縮データフロー1を表示する(ステップS12)。そして、情報処理装置10は、プロジェクトアイコンに合わせられたマウスカーソルを検出すると、プロジェクトの中身の詳細な部分データフローを表示する(ステップS13)。
そして、情報処理装置10は、終了か否かを判定し(ステップS14)、終了でない場合には、ステップS13に戻り、終了と判定した場合には、表示処理を終了する。
このように、情報処理装置10は、圧縮価値に基づいてプロジェクトを作成し、プロジェクトにまとめられた部分データフローを階層的に表示するので、データフローの段階的な把握を支援することができる。
上述してきたように、実施例では、圧縮価値をグループ毎に管理する圧縮価値情報を圧縮価値記憶部15が記憶する。そして、グループ抽出部12がリネージュ対象のデータフローからグループを抽出し、圧縮価値取得部19がリネージュ対象のグループの圧縮価値を圧縮価値記憶部15から取得する。そして、プロジェクト作成部21がリネージュ対象のデータフローから圧縮価値が0より大きいグループを大きい順にプロジェクトにまとめてデータフローを圧縮し、表示部23が、圧縮されたデータフローを表示する。したがって、情報処理装置10は、データフローの全体像の把握を容易にすることができる。
また、実施例では、表示部23は、プロジェクトアイコンにマウスカーソルが合わされたことを検出すると、プロジェクトにまとめられる前のグループの部分データフローを階層的に表示する。したがって、情報処理装置10は、データフローの一部の詳細の把握を容易にすることができる。
また、実施例では、グループ抽出部12が複数のデータフローからグループを抽出し、圧縮価値計算部14が他のグループとの類似度とグループに含まれるプロセスの数に基づいて、グループ毎に圧縮価値を計算して圧縮価値記憶部15に格納する。したがって、情報処理装置10は、出現頻度が高くプロセス数の多い部分データフローを圧縮することができ、適切な圧縮を行うことができる。
また、実施例では、圧縮価値計算部14は、プロセスの入力データと出力データの統計的な差異、及び、統計的な差異を生み出したアルゴリズムに基づいて、類似度を計算するので、グループ間の類似度を適切に計算することができる。
なお、実施例では、情報処理装置10について説明したが、情報処理装置10が有する構成をソフトウェアによって実現することで、同様の機能を有するリネージュプログラムを得ることができる。そこで、リネージュプログラムを実行するコンピュータについて説明する。
図11は、実施例に係るリネージュプログラムを実行するコンピュータのハードウェア構成を示す図である。図11に示すように、コンピュータ50は、メインメモリ51と、CPU(Central Processing Unit)52と、LAN(Local Area Network)インタフェース53と、HDD(Hard Disk Drive)54とを有する。また、コンピュータ50は、スーパーIO(Input Output)55と、DVI(Digital Visual Interface)56と、ODD(Optical Disk Drive)57とを有する。
メインメモリ51は、プログラムやプログラムの実行途中結果等を記憶するメモリである。CPU52は、メインメモリ51からプログラムを読み出して実行する中央処理装置である。CPU52は、メモリコントローラを有するチップセットを含む。
LANインタフェース53は、コンピュータ50をLAN経由で他のコンピュータに接続するためのインタフェースである。HDD54は、プログラムやデータを格納するディスク装置であり、スーパーIO55は、マウスやキーボード等の入力装置を接続するためのインタフェースである。DVI56は、液晶表示装置を接続するインタフェースであり、ODD57は、DVD、CD-Rの読み書きを行う装置である。
LANインタフェース53は、PCIエクスプレス(PCIe)によりCPU52に接続され、HDD54及びODD57は、SATA(Serial Advanced Technology Attachment)によりCPU52に接続される。スーパーIO55は、LPC(Low Pin Count)によりCPU52に接続される。
そして、コンピュータ50において実行されるリネージュプログラムは、コンピュータ50により読み出し可能な記録媒体の一例であるCD-Rに記憶され、ODD57によってCD-Rから読み出されてコンピュータ50にインストールされる。あるいは、リネージュプログラムは、LANインタフェース53を介して接続された他のコンピュータシステムのデータベース等に記憶され、これらのデータベースから読み出されてコンピュータ50にインストールされる。そして、インストールされたリネージュプログラムは、HDD54に記憶され、メインメモリ51に読み出されてCPU52によって実行される。
また、実施例では、プロセスが処理を行う場合について説明したが、データフローに含まれる処理はタスク、モジュール等の他の処理でもよい。
1 圧縮データフロー
10 情報処理装置
11 データフロー記憶部
12 グループ抽出部
13 グループ記憶部
14 圧縮価値計算部
15 圧縮価値記憶部
16 リネージュ記憶部
17 リネージュグループ記憶部
18 グループグラフ記憶部
19 圧縮価値取得部
20 取得結果記憶部
21 プロジェクト作成部
22 プロジェクト記憶部
23 表示部
50 コンピュータ
51 メインメモリ
52 CPU
53 LANインタフェース
54 HDD
55 スーパーIO
56 DVI
57 ODD

Claims (7)

  1. データフローにおいて複数の処理と該複数の処理の先頭処理の入力データから最終処理の出力データまでのデータとを含む部分データフローをグループとして、グループに含まれる複数の処理を1つのまとめ処理に圧縮する価値を示す圧縮価値をグループ毎に管理する圧縮価値情報を記憶する圧縮価値記憶部と、
    前記圧縮価値記憶部に記憶された圧縮価値情報に基づいて、リネージュ対象のデータフローにおいて圧縮価値が所定値より大きいグループの複数の処理を1つのまとめ処理にまとめる圧縮部と、
    前記圧縮部により複数の処理が1つのまとめ処理にまとめられた圧縮データフローを表示する表示部と
    を有することを特徴とする情報処理装置。
  2. 前記表示部は、表示した圧縮データフローに含まれるまとめ処理の選択を受け付け、受け付けたまとめ処理について、前記圧縮部によりまとめられる前の処理又はまとめ処理を複数含む部分データフローを階層的に表示することを特徴とする請求項1に記載の情報処理装置。
  3. 複数のデータフローからグループを抽出してグループ毎に他のグループとの類似度を計算し、該類似度とグループに含まれる処理の数に基づいて前記圧縮価値を計算して前記圧縮価値記憶部に格納する圧縮価値計算部をさらに有することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記圧縮価値計算部は、処理の入力データと出力データの統計的な差異、及び、該統計的な差異を生み出したアルゴリズムに基づいて、前記類似度を計算することを特徴とする請求項3に記載の情報処理装置。
  5. 前記圧縮価値計算部は、前記統計的な差異が特定できない処理を含むグループの圧縮価値を0とし、
    前記圧縮部は、リネージュ対象のデータフローから圧縮価値が0より大きいグループの複数の処理を1つのまとめ処理にまとめることを特徴とする請求項4に記載の情報処理装置。
  6. 前記統計的な差異には、行数の減少、行数の増加、値の数の増加、値の数の減少、値の範囲の減少、値の範囲の増加、値の種類の減少、値の種類の増加が含まれ、前記アルゴリズムには、削除、補間、正規化、名寄せが含まれることを特徴とする請求項4に記載の情報処理装置。
  7. コンピュータに、
    データフローにおいて複数の処理と該複数の処理の先頭処理の入力データから最終処理の出力データまでのデータとを含む部分データフローをグループとして、グループに含まれる複数の処理を1つのまとめ処理に圧縮する価値を示す圧縮価値をグループ毎に管理する圧縮価値情報を圧縮価値記憶部に記憶し、
    前記圧縮価値記憶部に記憶された圧縮価値情報に基づいて、リネージュ対象のデータフローにおいて圧縮価値が所定値より大きいグループの複数の処理を1つのまとめ処理にまとめ、
    リネージュ対象のデータフローにおいて圧縮価値が所定値より大きいグループの複数の処理が1つのまとめ処理にまとめられた圧縮データフローを表示する
    処理を実行させることを特徴とするリネージュプログラム。
JP2020557467A 2018-11-28 2018-11-28 情報処理装置及びリネージュプログラム Active JP7103433B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/043831 WO2020110239A1 (ja) 2018-11-28 2018-11-28 情報処理装置及びリネージュプログラム

Publications (2)

Publication Number Publication Date
JPWO2020110239A1 JPWO2020110239A1 (ja) 2021-09-27
JP7103433B2 true JP7103433B2 (ja) 2022-07-20

Family

ID=70853270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020557467A Active JP7103433B2 (ja) 2018-11-28 2018-11-28 情報処理装置及びリネージュプログラム

Country Status (2)

Country Link
JP (1) JP7103433B2 (ja)
WO (1) WO2020110239A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122703A (ja) 2003-08-29 2005-05-12 Sap Ag コンピュータ上で視覚化グラフを提供する方法、および視覚化グラフを提供するコンピュータ
US20070061353A1 (en) 2005-09-12 2007-03-15 Bobbin Nathan V User interface options of a data lineage tool
JP2013513143A (ja) 2009-12-07 2013-04-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 照会リネージの自動生成のための方法、システム、およびコンピュータ・プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122703A (ja) 2003-08-29 2005-05-12 Sap Ag コンピュータ上で視覚化グラフを提供する方法、および視覚化グラフを提供するコンピュータ
US20070061353A1 (en) 2005-09-12 2007-03-15 Bobbin Nathan V User interface options of a data lineage tool
JP2013513143A (ja) 2009-12-07 2013-04-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 照会リネージの自動生成のための方法、システム、およびコンピュータ・プログラム

Also Published As

Publication number Publication date
JPWO2020110239A1 (ja) 2021-09-27
WO2020110239A1 (ja) 2020-06-04

Similar Documents

Publication Publication Date Title
US9477732B2 (en) Filtering for data visualization techniques
US10467634B2 (en) Generating metadata and visuals related to mined data habits
US8910084B2 (en) Aggregate layout for data visualization techniques
US8640056B2 (en) Data visualization techniques
US10459888B2 (en) Method, apparatus and system for data analysis
US20090076877A1 (en) Program, method and apparatus for modeling Workflow
US7890519B2 (en) Summarizing data removed from a query result set based on a data quality standard
US20130097125A1 (en) Automated analysis of unstructured data
US20020129017A1 (en) Hierarchical characterization of fields from multiple tables with one-to-many relations for comprehensive data mining
US11907659B2 (en) Item recall method and system, electronic device and readable storage medium
JP2017500664A (ja) 多ディメンション・データー構造に対する実行のためのクエリー構築
US20100328312A1 (en) Personal music recommendation mapping
US10289609B2 (en) Data processing, apparatus and methods
WO2015053909A1 (en) Attribute redundancy removal
US11562019B2 (en) Generating visual data stories
US20100332568A1 (en) Media Playlists
US11010398B2 (en) Metadata extraction and management
JP2016505973A (ja) 予測モデル生成のためのユーザーインタフェース
WO2017203672A1 (ja) アイテム推奨方法、アイテム推奨プログラムおよびアイテム推奨装置
KR20090069874A (ko) 지식맵 분석을 위한 키워드 선정 및 유사도계수 선정 방법및 그 시스템과 그 방법에 대한 컴퓨터 프로그램을 저장한기록매체
JP7103433B2 (ja) 情報処理装置及びリネージュプログラム
US9081806B2 (en) Automated Database Archiving
WO2016027364A1 (ja) 話題クラスタ選択装置、及び検索方法
US9785404B2 (en) Method and system for analyzing data in artifacts and creating a modifiable data network
JP2010287143A (ja) 記事整理システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210406

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210406

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: 20220607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220620

R150 Certificate of patent or registration of utility model

Ref document number: 7103433

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150