JP6616854B2 - 移行単位分析装置、移行単位分析方法及び移行単位分析プログラム - Google Patents

移行単位分析装置、移行単位分析方法及び移行単位分析プログラム Download PDF

Info

Publication number
JP6616854B2
JP6616854B2 JP2018017104A JP2018017104A JP6616854B2 JP 6616854 B2 JP6616854 B2 JP 6616854B2 JP 2018017104 A JP2018017104 A JP 2018017104A JP 2018017104 A JP2018017104 A JP 2018017104A JP 6616854 B2 JP6616854 B2 JP 6616854B2
Authority
JP
Japan
Prior art keywords
graph
unit
components
information
combination information
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
JP2018017104A
Other languages
English (en)
Other versions
JP2019133556A (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.)
FUTURE CORPORATION
Original Assignee
FUTURE CORPORATION
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 FUTURE CORPORATION filed Critical FUTURE CORPORATION
Priority to JP2018017104A priority Critical patent/JP6616854B2/ja
Publication of JP2019133556A publication Critical patent/JP2019133556A/ja
Application granted granted Critical
Publication of JP6616854B2 publication Critical patent/JP6616854B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、旧システムから新システムへのシステム移行において、人の判断基準等に合う最適な移行単位を分析する技術に関する。
企業や役所には様々なソフトウェアシステムが導入されているが、機能追加等が発生した場合、既存の旧システムを新システムへ移行するシステム移行が行われる。従来は当該システム移行を人手で行っており、例えば10人月等、多くの人手を必要としていた。それ故、システム移行に係る人手の作業コストを削減し、又はシステム移行の完全自動化が望まれている。
Xiaojin Zhu、外2名、"Semi-Supervised Learning Using Gaussian Fields and Harmonic Functions"、Proceedings of the Twentieth International Conference on Machine Learning (ICML-2003)、Washington DC、2003年
しかしながら、システム移行を行うにあたり、システムを構成するプログラムやデータベース間の関連性を一見して把握することは難しいため、どのサブシステム単位で移行するべきかを決定すること、つまり移行単位分析を行うことは容易ではない。
この点、例えば機能プログラムとデータベース間の参照回数を元に移行単位分析を行うことも考えられるが、単純な参照回数による移行単位分析では人が思い描く分割結果に合致しない可能性がある。
その一方で、システムを構成する構成要素(プログラムやデータベース等)間の関連性をグラフで表現し、非特許文献1を用いてグラフベースの分類法を活用することも考えられる。しかし、移行単位分析において、どのようなグラフを入力とすべきか、グラフをどのような入力として表現すべきか、どのような付加情報を付与すべきか、どのようなグラフ分類法が適切であるか、といった問題が残る。
本発明は、上記事情を鑑みてなされたものであり、システム移行に係る人手の作業コストを最小化しつつ、人手の移行単位分析結果に近い分類結果を得ることを第1の目的とする。人手の作業コストを零としつつ、高精度なクラスタリング結果を得ることを第2の目的とする。
以上の課題を解決するため、請求項1に係移行単位分析装置は、システムを構成する複数の構成要素を構成要素間の関連性に基づき結合したグラフを形成するグラフ形成部と、前記複数の構成要素に対して一の移行単位とする一部の構成要素を教示した利用者の教師データと、前記グラフに含まれる構成要素間の結合情報とを用いて、一の移行単位に含める構成要素を決定するグラフ制御部と、を備え、前記結合情報は、構成要素間の参照の種類に応じた参照の重要度と、構成要素の配置位置の同異と、の複数の結合情報であり、前記グラフ制御部は、前記複数の結合情報のうち一方の結合情報を用いて一の移行単位に含める構成要素を決定し、当該決定した結果をもとに他方の結合情報を更に用いて一の移行単位に含める構成要素を再決定して、前記複数の結合情報に基づく複数のグラフを統合的な1つのグラフとして処理することを特徴とする。
請求項2に係移行単位分析装置は、システムを構成する複数の構成要素を構成要素間の関連性に基づき結合したグラフを形成するグラフ形成部と、前記グラフに含まれる構成要素間の結合情報を用いて、一の移行単位に含める構成要素を決定するグラフ制御部と、を備え、前記結合情報は、構成要素間の参照の種類に応じた参照の重要度と、構成要素の配置位置の同異と、の複数の結合情報であり、前記グラフ制御部は、前記複数の結合情報のうち一方の結合情報を用いて一の移行単位に含める構成要素を決定し、当該決定した結果をもとに他方の結合情報を更に用いて一の移行単位に含める構成要素を再決定して、前記複数の結合情報に基づく複数のグラフを統合的な1つのグラフとして処理することを特徴とする。
請求項3に係移行単位分析装置は、請求項1又は2に記載の移行単位分析装置において、前記グラフ制御部は、前記結合情報として構成要素の属性の同異を更に用いて、一の移行単位に含める構成要素を決定することを特徴とする。
請求項4に係移行単位分析装置は、請求項1乃至のいずれかに記載の移行単位分析装置において、前記グラフ制御部は、前記結合情報として構成要素間の参照の有無を更に用いて、一の移行単位に含める構成要素を決定することを特徴とする。
請求項5に係移行単位分析装置は、請求項1乃至4のいずれかに記載の移行単位分析装置において、前記グラフ制御部は、グラフベースのembedding法又はニューラルネットワークを用いて、一の移行単位に含める構成要素を決定することを特徴とする。
請求項6に係移行単位分析方法は、移行単位分析装置で行う移行単位分析方法において、前記移行単位分析装置は、システムを構成する複数の構成要素を構成要素間の関連性に基づき結合したグラフを形成するグラフ形成ステップと、前記複数の構成要素に対して一の移行単位とする一部の構成要素を教示した利用者の教師データと、前記グラフに含まれる構成要素間の結合情報とを用いて、一の移行単位に含める構成要素を決定するグラフ制御ステップと、を行い、前記結合情報は、構成要素間の参照の種類に応じた参照の重要度と、構成要素の配置位置の同異と、の複数の結合情報であり、前記グラフ制御ステップでは、前記複数の結合情報のうち一方の結合情報を用いて一の移行単位に含める構成要素を決定し、当該決定した結果をもとに他方の結合情報を更に用いて一の移行単位に含める構成要素を再決定して、前記複数の結合情報に基づく複数のグラフを統合的な1つのグラフとして処理することを特徴とする。
請求項7に係移行単位分析方法は、移行単位分析装置で行う移行単位分析方法において、前記移行単位分析装置は、システムを構成する複数の構成要素を構成要素間の関連性に基づき結合したグラフを形成するグラフ形成ステップと、前記グラフに含まれる構成要素間の結合情報を用いて、一の移行単位に含める構成要素を決定するグラフ制御ステップと、を行い、前記結合情報は、構成要素間の参照の種類に応じた参照の重要度と、構成要素の配置位置の同異と、の複数の結合情報であり、前記グラフ制御ステップでは、前記複数の結合情報のうち一方の結合情報を用いて一の移行単位に含める構成要素を決定し、当該決定した結果をもとに他方の結合情報を更に用いて一の移行単位に含める構成要素を再決定して、前記複数の結合情報に基づく複数のグラフを統合的な1つのグラフとして処理することを特徴とする。
請求項8に係移行単位分析方法は、請求項6又は7に記載の移行単位分析方法において、前記グラフ制御ステップでは、前記結合情報として構成要素の属性の同異を更に用いて、一の移行単位に含める構成要素を再決定することを特徴とする。
請求項に係移行単位分析プログラムは、請求項1乃至5のいずれかに記載の移行単位分析装置としてコンピュータを機能させることを特徴とする。
本発明によれば、システム移行に係る人手の作業コストを最小化しつつ、人手の移行単位分析結果に近い分類結果を得ることができる。人手の作業コストを零としつつ、高精度なクラスタリング結果を得ることができる。
第1の実施形態に係る移行単位分析装置の構成を示す図である。 第1の実施形態に係る移行単位分析方法の処理フロー(第1の動作例)を示す図である。 第1の動作例によるノード分類の例を示す図である。 第1の実施形態に係る移行単位分析方法の処理フロー(第2の動作例)を示す図である。 第2の動作例によるノード分類の例を示す図である。 第1の実施形態に係る移行単位分析方法の処理フロー(第3の動作例)を示す図である。 第3の動作例によるノード分類の例を示す図である。 第1の実施形態に係る移行単位分析方法の処理フロー(第4の動作例)を示す図である。 第4の動作例によるノード分類の例を示す図である。 第2の実施形態に係る移行単位分析装置の構成を示す図である。 第2の実施形態に係る移行単位分析方法の処理フローを示す図である。 第2の実施形態によるノード分類の例を示す図である。 グラフ分類部によるノード分類の例を示す図である。
以下、本発明を実施する一実施の形態について図面を用いて説明する。
<<本発明の特徴>>
本発明は、旧システムから新システムへのシステム移行において、後述する第1の特徴から第6の特徴を用いて移行単位分析を行う。移行単位分析とは、どのサブシステム単位で移行を行うべきかを決定すること、すなわち、システムを構成する複数の構成要素から一の移行単位に含める構成要素を決定することである。
第1の特徴は、人手で移行単位に関する部分的な教示(教師データ)を与えることで、高精度な移行単位分析用の分類を行うことにある。
第2の特徴は、教師データを用いることなく、移行単位をコンピュータが自動で推定することで、高精度な移行単位分析用のクラスタリングを行うことにある。
第3の特徴は、グラフベースのembedding法又はニューラルネットワークを用いることで、高精度に移行単位を分類・クラスタリングすることにある。
第4の特徴は、構成要素間の参照の有無を元に、移行単位を分類・クラスタリングすることにある。更に、構成要素間の参照の種類の相違による参照の重要度を元に、より高精度に移行単位を分類・クラスタリングすることにある。
第5の特徴は、構成要素のファイル配置関係の同異を元に、移行単位を分類・クラスタリングすることにある。また、第4の特徴を併用して1つの結合したグラフとみなすことで、更に高精度に移行単位を分類・クラスタリングすることにある。
第6の特徴は、構成要素の属性の同異を元に、より更に高精度に移行単位を分類・クラスタリングすることにある。
第3の特徴から第6の特徴は、いずれか1つの特徴のみを用いてもよいし、いずれか2つ以上の特徴を組み合わせて用いてもよいし、全ての特徴を用いてもよい。2つ以上の特徴を用いる場合、それぞれの特徴を利用する順番を任意に入れ替えてもよい。いずれの特徴を用いるか、どの順番で各特徴を用いるかについては、移行単位分析装置の利用者により任意に決定される。
また、第3の特徴で用いるグラフベースのembedding法及びニューラルネットワークは、学習方法の例であり、他の方法を用いてもよい。いずれの方法を用いるかについても利用者により任意に決定される。
なお、第1の特徴における分類処理と第2の特徴におけるクラスタリング処理は、いずれも対象データ(構成要素)を分割する処理をいうが、対象データに対して教師データが有るか無いかに違いがある。分類とは、教師データがあることを前提とし、当該教師データとして示された正解に従って対象データを分ける処理をいう。一方、クラスタリングとは、教師データがないことを前提とし、対象データから属性を抽出して当該属性を次元軸としたN次元空間を定義し、当該空間に対して対象データをプロットしていき、当該空間内で距離が近いもの同士をグループ化して分ける処理をいう。
<<第1の実施形態>>
第1の実施形態では、システム移行に係る人手の作業コストを最小化しつつ、人手の移行単位分析結果に近い分類結果を得るという第1の目的を達成するため、第1の特徴、第3の特徴〜第6の特徴を用いる。
<移行単位分析装置1の構成>
図1は、第1の実施形態に係る移行単位分析装置の構成を示す図である。当該移行単位分析装置1は、グラフ形成部11と、グラフ分類部12と、グラフembedding部13と、を備えて構成される。
グラフ形成部11は、移行対象システムに関するシステム情報を入力し、当該システム情報に含まれる所定の情報に基づき、移行対象システムを構成する構成要素間をエッジで結んだグラフを形成する機能を備える。所定の情報とは、例えば、各構成要素の処理順や構成要素間の参照関係等である。
グラフ分類部12は、グラフ内の構成要素に対して人手で教示された移行単位に関する教師データ、グラフの生データ(グラフ形成部11で形成されたグラフのグラフ構造情報(構成要素の参照・非参照関係を有する参照・非参照グラフ構造情報を含む)、構成要素の階層的な配置関係を示すファイル配置情報、構成要素が持つ属性情報)、グラフembedding部13で行われたグラフembedding結果を用いて、グラフ内の複数の構成要素を分類する分類処理を行い、当該処理結果を移行対象システムの移行単位分析結果として出力する機能を備える。
グラフembedding部13は、参照・非参照グラフ構造情報、ファイル配置情報、属性情報を用い、かつ、グラフベースのembedding法又はニューラルネットワークを用いて、グラフ内の複数の構成要素についてembedding処理を行い、その処理結果をグラフ分類部12に出力する機能を備える。embedding処理とは、構成要素間の参照の有無、構成要素間の参照の種類の相違による参照の重要度、構成要素のファイル配置関係の同異、構成要素の属性の同異に基づき、移行単位システムを構成する複数の構成要素を併せる(埋め込む)処理をいう。
かかる移行単位分析装置1の構成は、装置構成の一例であり、例えば、グラフ分類部12とグラフembedding部13とを併せて一のグラフ制御部で実現してもよい。また、上記構成以外に、移行単位分析装置1は、移行対象システムのシステム情報を入力して移行単位分析結果を出力する通信インタフェース、教師データを入力する制御インタフェース(マウス、キーボード、タッチパネル等)、入力及び形成した情報を記憶する記憶部、当該情報を表示する表示部(モニタ等)を備えている。
<移行単位分析装置1の動作>
移行単位分析装置1で行う移行単位分析方法の動作について説明する。以降、構成要素の例として機能プログラムとデータベースを用いる。機能プログラムについては機能ノード、データベースについてはDBノードと呼ぶ。
〔第1の動作例〕
第1の動作例では、第1の特徴のみを用いる場合について説明する。第1の特徴は、人手で移行単位に関する部分的な教示を与え、当該部分的な教示に基づきグラフ内のノードを分類することにある。
図2は、移行単位分析方法の処理フロー(第1の動作例)を示す図である。
ステップS101;
グラフ形成部11は、移行対象システムに関するシステム情報を入力し、当該システム情報に含まれる所定の情報に基づき、当該移行対象システムを構成する機能ノードとDBノードとの間をエッジで結んだグラフを形成する。所定の情報とは、例えば各ノードの処理順やノード間の参照関係等であり、少なくともノード間の関連性を示す情報であればよい。その他、第4の特徴、第5の特徴、第6の特徴を用いて形成されたグラフ内のノード間の結合情報でもよい。グラフの例を図3の左側に示す。当該グラフは、F1〜F4の機能ノードとDBa〜DBfのDBノードで構成され、例えばF1はDBaとDBbとそれぞれ関連するためにエッジで結合されている。
ステップS102;
移行単位分析装置1の利用者が、ある程度の数のクラスを指定し、ステップS101で形成されたグラフ内の機能ノードとDBノードに対して、部分的に、所定のクラスに該当するノードを指定する教示を与える。当該教示が教師データである。図3の左側に示すように、例えば、F2とDBcが同じクラスAであることと、F3とDBeが同じクラスBであることを教示する。その後、グラフ分類部12は、利用者より与えられた教師データを入力する。
ステップS103;
グラフ分類部12は、ステップS101で形成されたグラフのグラフ構造情報と、ステップS103で与えられた教師データとを用いて、当該グラフ内のエッジ情報(結合情報)と教師データとを元に、教師データとして与えられたノード以外のノードを分類し、移行単位分析結果として出力する。図3の右側に示すように、例えば、F2に結合するDBdについてはクラスAに分類し、DBeに結合するF4や当該F4に結合するDBfについてはクラスBに分類する。例えば、{F2,DBc,DBd}をクラスAとし、{F1,F3,F4,DBa,DBb,DBe,DBf}をクラスBとして分類し、それぞれを一の移行単位として出力する。
以上より、第1の動作例によれば、複数のノードに対して一の移行単位とする一部のノードを教示した利用者の教師データと、グラフに含まれるノード間の結合情報とを用いて、一の移行単位に含めるノードを決定するので、人手の移行単位分析結果に近い分類結果を得ることができる。
(第1の動作例の変形例)
第1の動作例では、移行単位システムが持つオリジナルの情報に基づいて構成されたグラフを用いる場合を例に説明したが、第4の特徴から第6の特徴のうちいずれか1つ以上の特徴を用いて形成されたグラフ、第3の特徴を用いてグラフembedding部13から出力されたグラフを用いてもよい。グラフに対して複数の特徴を重畳的に適用することにより、単一の特徴のみを適用する場合よりも、高精度な移行単位分析用の分類を行うことができ、より人の直感に合う分類結果を得ることができる。
〔第2の動作例〕
第2の動作例では、第1の特徴と第3の特徴と第4の特徴を用いる場合について説明する。第3の特徴は、グラフベースのembedding法又はニューラルネットワークを用いることにある。当該第3の特徴は、最後に説明する。第4の特徴は、構成要素間の参照の有無、及び構成要素間の参照の種類の相違による参照の重要度を元に、移行単位を分類することにある。本動作例は、参照関係がある構成要素群は一の移行単位とし、参照関係がある場合でも参照の重要度(構成要素間の結合度)が弱い構成要素群は分けるという考え方に基づいている。
図4は、移行単位分析方法の処理フロー(第2の動作例)を示す図である。
ステップS201;
グラフ形成部11は、移行対象システムに関するシステム情報を入力し、ノード間の参照の有無に基づき、当該移行対象システムにおいて機能ノードからDBノードへのリンクをエッジで結んだグラフを形成する。
ステップS202;
グラフembedding部13は、ステップS201で形成されたグラフの参照・非参照グラフ構造情報を用いて、グラフ内のリンク情報(参照・非参照情報)を元に、グラフ内のノードを分類する。図5の左側に示すように、例えば、{F1,F3,F4}→{DBa,DBb,DBe,DBf}というクラスAと、{F2}→{DBc,DBd}というクラスBとに分類する。
ステップS203;
グラフembedding部13は、ステップS201で形成されたグラフからリンクの種類(参照の種類)を特定し、その種類を元に参照の結合度の弱いリンクは重要でないリンクとみなして、当該結合度の弱いリンクを除いたリンクを元にノードを分類する。参照の種類について説明する。機能ノードとDBノードの場合、その間の参照関係には、例えば、c(create;データベースを作成すること)、r(read;データを読むこと)、u(update;データベースを書き換えること)、d(delete;データを削除すること)の4種類があるとする。移行単位分析において、データの参照を示すrはデータを更新するc,u,dよりもノード間の結合度は弱く、一の移行単位とする優先度は低い。そこで、rの参照関係を持つリンクについては、ないものとみなす。その結果、図5の右側に示すように、例えば、F3からDBaへの破線で示されたリンクの種類がrであれば、当該リンクを除外し、{F1}→{DBa,DBb}というクラスAと、{F2}→{DBc,DBd}というクラスBと、{F3,F4}→{DBe,DBf}というクラスCとに分類して、それぞれを一の移行単位として出力する。その後、グラフembedding部13は、当該分類結果を、グラフembedding結果としてグラフ分類部12に出力する。
ステップS204;
グラフ分類部12は、グラフembedding部13から出力されたグラフembedding結果と、利用者より与えられた教師データとを用いて、グラフ内のリンク情報と教師データとを元に、ステップS103と同様の処理を行う。
以上より、第2の動作例によれば、ノード間の参照の有無と、ノード間の参照の種類の相違による参照の重要度とを用いて、一の移行単位に含めるノードを決定するので、より高精度に移行単位を分類することができ、システム移行に係る人手の作業コストを最小化しつつ、人手の移行単位分析結果に近い分類結果を得ることができる。
〔第3の動作例〕
第3の動作例では、第1の特徴、第3の特徴から第5の特徴を用いる場合について説明する。第5の特徴は、ノードのファイル配置関係の同異を元に、移行単位を分類することにある。本動作例は、ノードファイルが配置されている位置が同一のノード群(同一フォルダに含まれるノード群)は一の移行単位とするという考え方に基づいている。
図6は、移行単位分析方法の処理フロー(第3の動作例)を示す図である。第2の動作例において第4の特徴を用いて行われたステップS203の分類結果(図5の右図)を用いる。
ステップS301;
グラフembedding部13は、移行対象システムに関するシステム情報からノードのファイル配置情報を取得し、ノードのファイルパスやディレクトリ構造に基づき、機能ノードが属する上位のディレクトリを特定する。例えば、図5の右側に示したF1,F2の機能ノードは同じD01のディレクトリに属し、F3,F4の機能ノードは同じD02のディレクトリに属するとする。
ステップS302;
グラフembedding部13は、ステップS301で特定したディレクトのIDを用いて、ディレクトリが同じクラス又はノードについては結合し、ディレクトリが異なるクラス又はノードについては分割する。図7に示すように、例えば、D01のクラスAとクラスBを結合して{F1,F2}→{DBa,DBb,DBc,DBd}という新たなクラスAに分類し、D02のクラスCについてはクラスBに名称変更して{F3,F4}→{DBe,DBf}というクラスBに分類する。その後、グラフembedding部13は、当該分類結果を、グラフembedding結果としてグラフ分類部12に出力する。
ステップS303;
グラフ分類部12は、グラフembedding部13から出力されたグラフembedding結果と、利用者より与えられた教師データとを用いて、グラフ内のリンク情報と教師データとを元に、ステップS103と同様の処理を行う。
以上より、第3の動作例によれば、ノードの配置位置の同異情報を用いるので、更に高精度に移行単位を分類することができ、システム移行に係る人手の作業コストを最小化しつつ、人手の移行単位分析結果に近い分類結果を得ることができる。また、第4の特徴に基づくグラフを基礎として第5の特徴を用いて分類処理を行うので、第4の特徴と第5の特徴とに基づく1つの結合したグラフが形成されることから、更に高精度に移行単位を分類することができる。
(第3の動作例の変形例1)
第3の動作例では、第4の特徴を用いて分類したグラフを用いる場合について説明したが、移行単位システムが持つオリジナルの情報に基づいて構成されたグラフ(ステップS101で形成したグラフ)を用いてもよい。この場合、ステップS302では、クラスの結合処理ではなく、上層のディレクトリが同一であるノードを包含する包含処理を行うこととなる。
(第3の動作例の変形例2)
移行単位分析装置1の利用者は、第4の特徴である参照関係のrの種類に対する重みW1と、第5の特徴であるファイルパスに対する重みW2とに対して、移行単位分析を行う優先度・重要度を設定可能である。W1よりもW2の方が大きい場合、先に第5の特徴を用いて分類し、その後に第4の特徴を用いて分類してもよい。
〔第4の動作例〕
第4の動作例では、第1の特徴と第3の特徴と第6の特徴を用いる場合について説明する。第6の特徴は、ノードの属性の同異を元に、移行単位を分類することにある。本動作例は、属性が同一のノード群については一の移行単位とするという考え方に基づいている。
図8は、移行単位分析方法の処理フロー(第4の動作例)を示す図である。
ステップS401;
グラフ形成部11は、移行対象システムに関するシステム情報を入力し、当該システム情報に含まれる所定の情報に基づき、当該移行対象システムを構成する機能ノードとDBノードとの間をエッジで結んだグラフを形成する。
ステップS402;
グラフembedding部13は、移行対象システムに関するシステム情報を入力し、当該システム情報に含まれるノードの属性情報を参照して、機能ノードに対して付与されている属性の種別を特定する。図9の左側に示すように、例えば、F1,F2にはマスタに関する機能であることを示す属性1が付与され、F3,F4の機能ノードにはトランザクションに関する機能であることを示す属性2が付与されているとする。
ステップS403;
グラフembedding部13は、ステップS401で形成されたグラフのグラフ構造情報と、ステップS402で特定されたノードの属性情報とを用いて、ノードの属性種別を元に、グラフ内のノードを分類する。例えば、F1,F2を一のクラスとし、F3,F4を一のクラスとする。このとき、グラフ構造情報に含まれるエッジ情報を併せて用いて分類してもよい。
ステップS404;
移行単位分析装置1の利用者が、ある程度の数のクラスを指定し、グラフ内の機能ノードとDBノードとに対して、部分的に、所定のクラスに該当するノードを指定する教示を与える。図9の左側に示すように、例えば、F2とDBcとが同じクラスAであることと、F3とDBeとが同じクラスBであることを、教師データとして与える。その後、グラフ分類部12は、利用者より与えられた教師データを入力する。
ステップS405;
グラフ分類部12は、ステップS403で分類された分類結果と、ステップS404で与えられた教師データとを用いて、グラフ内のノードを分類し、移行単位分析結果として出力する。図9の右側に示すように、例えば、{F1,F2,DBb,DBc,DBd}をクラスAとし、{F3,F4,DBa,DBe,DBf}をクラスBとして、それぞれを一の移行単位として出力する。F1,F2にはエッジによる結合関係はないが、属性の種類が同一のため、一の移行単位に含まれることとなる。
以上より、第4の動作例によれば、構成要素の属性の同異情報を用いるので、より更に高精度に移行単位を分類することができ、システム移行に係る人手の作業コストを最小化しつつ、人手の移行単位分析結果に近い分類結果を得ることができる。
(第4の動作例の変形例1)
第4の動作例では、移行単位システムが持つオリジナルの情報に基づいて構成されたグラフを用いる場合について説明したが、第4の特徴を用いて分類したグラフ(ステップS202,S203によるグラフ)、第4の特徴と第5の特徴を併せて用いて分類したグラフ(ステップS303によるグラフ)、第5の特徴のみを用いて分類したグラフのうちいずれのグラフを用いてもよい。
(第4の動作例の変形例2)
移行単位分析装置1の利用者は、ノードの属性情報に対して重みW3を設定可能である。第4の特徴に係る重みW1や第5の特徴に係る重みW2との大小関係に基づき、各特徴を用いて行う分類処理の優先度を変更可能である。
(第4の動作例の変形例3)
第4の動作例では、マスタやトランザクションを属性情報の例に用いて説明したが、他の属性情報を用いてもよい。
<<第2の実施形態>>
次に、第2の実施形態について説明する。第2の実施形態では、人手の作業コストを零としつつ、高精度なクラスタリング結果を得るという第2の目的を達成するため、第2の特徴から第6の特徴を用いる。
<移行単位分析装置の構成>
図10は、第2の実施形態に係る移行単位分析装置の構成を示す図である。移行単位分析装置1は、グラフ形成部11と、グラフembedding部13と、グラフクラスタリング部14と、を備えて構成される。グラフ形成部11とグラフembedding部13は、第1の実施形態で説明した機能と同様の機能を持つ。
グラフクラスタリング部14は、教師データを用いることなく、移行対象システムのグラフ構造情報(参照・非参照グラフ構造情報を含む)、ファイル配置情報、属性情報、グラフembedding結果を用いて、グラフ内の複数の構成要素をクラスタリングするクラスタリング処理を行い、その処理結果を移行対象システムの移行単位分析結果として出力する機能を備える。
<移行単位分析装置1の動作>
移行単位分析装置1で行う移行単位分析方法の動作について説明する。ここでは、第2の特徴を用いる場合についてのみ説明する。第3の特徴から第6の特徴を用いる場合の動作については、第1の実施形態と同様である。
図11は、移行単位分析方法の処理フローを示す図である。
ステップS501;
グラフ形成部11は、移行対象システムに関するシステム情報を入力し、当該システム情報に含まれる所定の情報に基づき、当該移行対象システムを構成する機能ノードとDBノードとの間をエッジで結んだグラフを形成する。グラフの例を図12の左側に示す。
ステップS502;
グラフクラスタリング部14は、ステップS501で形成されたグラフのグラフ構造情報を用いて、当該グラフ内のエッジ情報(結合情報)を元に、ノードをクラスタリングし、移行単位分析結果として出力する。図12の右側に示すように、例えば、{F2,DBc,DBd}をクラスAとし、{F1,F3,F4,DBa,DBb,DBe,DBf}をクラスBとしてクラスタリングし、それぞれを一の移行単位として出力する。
以上より、本動作例によれば、グラフに含まれるノード間の結合情報を用いて、一の移行単位に含めるノードを決定するので、人手の作業コストを零としつつ、高精度なクラスタリング結果を得ることができる。
<<各処理部の具体的な処理動作>>
移行単位分析装置1を構成する各処理部の処理を具体的に説明する。詳しくは、先の非特許文献1、後述する非特許文献2,3,4等に記載されているため、本願明細書では処理の概要を説明するに留める。当業者であれば、非特許文献1から非特許文献4、当該非特許文献の関連文献等を参照すれば、各処理部を当然に実施可能である。
<グラフembedding部13の処理>
グラフembedding部13の処理について説明する。グラフembedding部13は、参照・非参照グラフ構造情報、ファイル配置情報、属性情報を入力とし、グラフベースのembedding法又はニューラルネットワークを用いて演算を行った後、グラフembedding結果をグラフ分類部12に出力する。
〔グラフベースのembedding法を用いる場合〕
グラフベースのembedding法を用いる方法について説明する。例えば、「node2vec: Scalable Feature Learning for Networks」(Aditya Grover、外1名、Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining - KDD、2016年)(以降、非特許文献2という)に記載されたnode2vec等のグラフに対するembedding法を用いる。これにより、各グラフノードの稠密な連続値ベクトル表現を得ることができる。
当該非特許文献2には、オブジェクト集合の特徴を学習する方法が示されており、特定のタスク特有のものはなく、任意のタスクに適用可能であり、かつ、方向性の有無、重みの有無に関わらず適用可能である。それ故、第4の特徴で用いるノード間の参照関係、第5の特徴で用いるノードのファイル配置関係、第6の特徴で用いるノードの属性情報についても、非特許文献2の手法を適用することができる。
例えば、参照・非参照グラフ構造情報から機能ノードとDBノードとノード間のエッジ情報を抽出し、ノードの集合をV、エッジの集合をEとして、マッピング関数をf:V→Rと定義する。そして、ノードの類似性を保持したまま、ノードからd次元の特徴へのマッピングすることを考える。具体的には、ノード間の参照の有無、ノード間の参照の種類の相違による参照の重要度、ノードの配置位置の同異、ノードの属性の同異に基づき、類似するノードが近くに存在するようにノードの埋め込みを学習する。
例えば、ノードu∈Vが与えられたとき、近傍サンプリングSから導かれるノードuの近傍ノードをN(u)と定義する。当該近傍ノードN(u)を予測することによって最適な重みを見つけることとなる。それ故、式(1)の目的関数を最適化することとなる。
Figure 0006616854
式(1)は、非特許文献2の「3.FEATURE LEARNING FRAMEWORK」に記載された(1)の式と同じである。式(1)は、fによって与えられた特徴表現を条件とするノードuのネットワーク近傍Nを観測する対数確率を最大化することと同じである。最適化問題を扱いやすくするため、非特許文献2では、式(1)に含まれるPを、式(2),式(3)のように定義している。式(2),式(3)も非特許文献2の同項に記載された式と同じである。
Figure 0006616854
Figure 0006616854
また、非特許文献2には、式(1)の目的関数を最適化するに際し、近傍ノードの分類を決定する具体的な方法として、幅優先探索方法(Breadth-first Sampling)、深さ優先探索方法(Depth-first Sampling)、幅優先探索方法と深さ優先探索方法を円滑に補間するための柔軟な近傍サンプリングを用いるnode2vec法(ランダムウォーク)が記載されており、これらの方法を用いることにより、ノードを分類・クラスタリングすることができる。node2vec法は、幅優先探索方法や深さ優先探索方法よりも、空間的及び時間的要件の両方において計算的に効率的である。
より詳しくは、非特許文献2を参照されたい。本発明の当業者であれば、当該非特許文献2を参照することにより、グラフベースのembedding法を用いて、各実施形態で説明した第3の特徴から第6の特徴を演算可能である。
〔ニューラルネットワークを用いる場合〕
ニューラルネットワークを用いる方法について説明する。ニューラルネットワークとは、人の脳の学習機構をソフトウェアで模倣した手法であり、例えば、入力層と出力層で構成され、層間はニューロン同士の繋がりの強さを示す重みで表現される。入力層に入力されたデータに対して重みをかけて閾値以上であれば出力層へ出力し、重みの値を変更して同様の処理を繰り返し実行する。
入力層と出力層をノードとみなし、重みとして例えばノードの参照関係の有無に基づき分類・クラスタリングの処理を行い、次にノードファイルの配置位置の同異に基づき同様の処理を行い、最後にノードの属性の同異に基づき同様の処理を行えばよい。それ故、ニューラルネットワークを用いた場合でも、第3の特徴から第6の特徴を演算可能である。
<グラフ分類部12の処理>
グラフ分類部12の処理について説明する。グラフ分類部12は、教師データを元に、グラフの生データとグラフembedding結果とを用いて、グラフ内のノードを分類する。例えば、非特許文献1に記載されたGraph Propagation法、「Semi-Supervised Classification with Graph Convolutional Networks」(Thomas N. Kipf、外1名、Published as a conference paper at ICLR、2017年)(以降、非特許文献3という)に記載されたGCN(Graph Convolutional Networks)法を用いて、各ノードのクラスを推定する。
非特許文献3のGCN法では、まず、式(4)に示すように、ノード(X)に対して畳み込み処理(A(^))を行い、GCNの重み(W)を与えた後に、ReLU関数で非線形化処理を行い、その処理結果をsoftmax関数で改変する処理を行う。式(4)は、非特許文献3の「3 SEMI-SUPERVISED NODE CLASSIFICATION」に記載された(9)の式と同じである。
Figure 0006616854
A(^)はN×Nのラプラシアン行列(Nはノード数)、XはN×Cの素性行列(Cは素性種類数)、W(0)はC×Hの重み行列(Hは隠れ層のノード数)、W(1)はH×Fの重み行列(Fはクラス数)、ReLUはReLU関数、softmaxはsoftmax関数である。式(4)の右辺を計算することにより、N×Fの行列で表される分類結果Zが算出される。式(4)の演算過程のイメージを図13に示す。
その後、正解データ(教師データ)Yに対して損失L(Yf(f=1〜F),Zf(f=1〜F))を定義した式(5)の損失関数を定義し、当該損失Lを、複数のYと複数のZとの組に対して計算し、その総和が最小化されるようにクラスFを決定する。式(5)は、非特許文献3の同項に記載された(10)の式と同じである。
Figure 0006616854
なお、式(5)に示された一部変数の記号は非特許文献3の(10)の式と異なるが、これは単に数式を作成する上で使用可能な記号の制限による明細書作成上の都合によるものである。
<グラフクラスタリング部14の処理>
グラフクラスタリング部14の処理について説明する。グラフクラスタリング部14は、教師データを用いることなく、グラフの生データとグラフembedding結果とを用いて、グラフ内のノードをクラスタリングする。例えば、「Fast unfolding of communities in large networks」(Vincent D. Blondel、外3名、2008年)(以降、非特許文献4という)に記載された多段階最適化を用いてクラスタリング可能である。なお、クラスタリング処理については、具体的な処理を説明せずとも当業者によれば実現可能なため、ここでの説明は省略する。詳しくは非特許文献4を参照されたい。
以上、本発明の実施形態について説明した。本実施形態で説明した移行単位分析装置1は、CPU、メモリ、ハードディスク等を備えたコンピュータで実現可能である。移行単位分析装置1としてコンピュータを機能させるための移行単位分析プログラム、当該移行単位分析プログラムの記憶媒体を作成することも可能である。
1…移行単位分析装置
11…グラフ形成部
12…グラフ分類部(グラフ制御部)
13…グラフembedding部(グラフ制御部)
14…グラフクラスタリング部(グラフ制御部)

Claims (9)

  1. システムを構成する複数の構成要素を構成要素間の関連性に基づき結合したグラフを形成するグラフ形成部と、
    前記複数の構成要素に対して一の移行単位とする一部の構成要素を教示した利用者の教師データと、前記グラフに含まれる構成要素間の結合情報とを用いて、一の移行単位に含める構成要素を決定するグラフ制御部と、を備え、
    前記結合情報は、構成要素間の参照の種類に応じた参照の重要度と、構成要素の配置位置の同異と、の複数の結合情報であり、
    前記グラフ制御部は、
    前記複数の結合情報のうち一方の結合情報を用いて一の移行単位に含める構成要素を決定し、当該決定した結果をもとに他方の結合情報を更に用いて一の移行単位に含める構成要素を再決定して、前記複数の結合情報に基づく複数のグラフを統合的な1つのグラフとして処理することを特徴とする移行単位分析装置。
  2. システムを構成する複数の構成要素を構成要素間の関連性に基づき結合したグラフを形成するグラフ形成部と、
    前記グラフに含まれる構成要素間の結合情報を用いて、一の移行単位に含める構成要素を決定するグラフ制御部と、を備え、
    前記結合情報は、構成要素間の参照の種類に応じた参照の重要度と、構成要素の配置位置の同異と、の複数の結合情報であり、
    前記グラフ制御部は、
    前記複数の結合情報のうち一方の結合情報を用いて一の移行単位に含める構成要素を決定し、当該決定した結果をもとに他方の結合情報を更に用いて一の移行単位に含める構成要素を再決定して、前記複数の結合情報に基づく複数のグラフを統合的な1つのグラフとして処理することを特徴とする移行単位分析装置。
  3. 前記グラフ制御部は、
    前記結合情報として構成要素の属性の同異を更に用いて、一の移行単位に含める構成要素を決定することを特徴とする請求項1又は2に記載の移行単位分析装置。
  4. 前記グラフ制御部は、
    前記結合情報として構成要素間の参照の有無を更に用いて、一の移行単位に含める構成要素を決定することを特徴とする請求項1乃至のいずれかに記載の移行単位分析装置。
  5. 前記グラフ制御部は、
    グラフベースのembedding法又はニューラルネットワークを用いて、一の移行単位に含める構成要素を決定することを特徴とする請求項1乃至4のいずれかに記載の移行単位分析装置。
  6. 移行単位分析装置で行う移行単位分析方法において、
    前記移行単位分析装置は、
    システムを構成する複数の構成要素を構成要素間の関連性に基づき結合したグラフを形成するグラフ形成ステップと、
    前記複数の構成要素に対して一の移行単位とする一部の構成要素を教示した利用者の教師データと、前記グラフに含まれる構成要素間の結合情報とを用いて、一の移行単位に含める構成要素を決定するグラフ制御ステップと、を行い、
    前記結合情報は、構成要素間の参照の種類に応じた参照の重要度と、構成要素の配置位置の同異と、の複数の結合情報であり、
    前記グラフ制御ステップでは、
    前記複数の結合情報のうち一方の結合情報を用いて一の移行単位に含める構成要素を決定し、当該決定した結果をもとに他方の結合情報を更に用いて一の移行単位に含める構成要素を再決定して、前記複数の結合情報に基づく複数のグラフを統合的な1つのグラフとして処理することを特徴とする移行単位分析方法。
  7. 移行単位分析装置で行う移行単位分析方法において、
    前記移行単位分析装置は、
    システムを構成する複数の構成要素を構成要素間の関連性に基づき結合したグラフを形成するグラフ形成ステップと、
    前記グラフに含まれる構成要素間の結合情報を用いて、一の移行単位に含める構成要素を決定するグラフ制御ステップと、を行い、
    前記結合情報は、構成要素間の参照の種類に応じた参照の重要度と、構成要素の配置位置の同異と、の複数の結合情報であり、
    前記グラフ制御ステップでは、
    前記複数の結合情報のうち一方の結合情報を用いて一の移行単位に含める構成要素を決定し、当該決定した結果をもとに他方の結合情報を更に用いて一の移行単位に含める構成要素を再決定して、前記複数の結合情報に基づく複数のグラフを統合的な1つのグラフとして処理することを特徴とする移行単位分析方法。
  8. 前記グラフ制御ステップでは、
    前記結合情報として構成要素の属性の同異を更に用いて、一の移行単位に含める構成要素を再決定することを特徴とする請求項6又は7に記載の移行単位分析方法。
  9. 請求項1乃至5のいずれかに記載の移行単位分析装置としてコンピュータを機能させることを特徴とする移行単位分析プログラム。
JP2018017104A 2018-02-02 2018-02-02 移行単位分析装置、移行単位分析方法及び移行単位分析プログラム Active JP6616854B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018017104A JP6616854B2 (ja) 2018-02-02 2018-02-02 移行単位分析装置、移行単位分析方法及び移行単位分析プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018017104A JP6616854B2 (ja) 2018-02-02 2018-02-02 移行単位分析装置、移行単位分析方法及び移行単位分析プログラム

Publications (2)

Publication Number Publication Date
JP2019133556A JP2019133556A (ja) 2019-08-08
JP6616854B2 true JP6616854B2 (ja) 2019-12-04

Family

ID=67547499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018017104A Active JP6616854B2 (ja) 2018-02-02 2018-02-02 移行単位分析装置、移行単位分析方法及び移行単位分析プログラム

Country Status (1)

Country Link
JP (1) JP6616854B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4341072B2 (ja) * 2004-12-16 2009-10-07 日本電気株式会社 データ配置管理方法及びシステムと装置およびプログラム
JP2007286897A (ja) * 2006-04-17 2007-11-01 Hitachi Ltd 記憶システム及びデータ管理装置並びにその管理方法
JP2009059201A (ja) * 2007-08-31 2009-03-19 Hitachi Ltd ファイルレベルの仮想化と移行を行う中間装置
JP2015532734A (ja) * 2012-10-03 2015-11-12 株式会社日立製作所 物理ストレージシステムを管理する管理システム、物理ストレージシステムのリソース移行先を決定する方法及び記憶媒体
JP2014164618A (ja) * 2013-02-26 2014-09-08 Canon Inc 頻出パターン抽出装置、頻出パターン抽出方法及びプログラム
JP6370183B2 (ja) * 2014-09-26 2018-08-08 Kddi株式会社 ネットワーク装置、ネットワーク管理システムおよびプログラム

Also Published As

Publication number Publication date
JP2019133556A (ja) 2019-08-08

Similar Documents

Publication Publication Date Title
CN109121436B (zh) 增广、探索、和维护项目分层结构的方法
US20070244921A1 (en) Method, apparatus and computer-readable medium to provide customized classification of documents in a file management system
CN110020176A (zh) 一种资源推荐方法、电子设备以及计算机可读存储介质
CN101432684A (zh) 对非结构化内容进行高效索引存储的方法和装置
CN106130899A (zh) 一种生成业务路径的方法和装置
CN113434756B (zh) 基于图双向聚合网络链接预测模型的个性化评论推荐方法
Aristodemou et al. Exploring the future of patent analytics: A technology roadmapping approach
CN110737805A (zh) 图模型数据的处理方法、装置和终端设备
Kanti Kumar et al. Application of graph mining algorithms for the analysis of web data
CN110188207B (zh) 知识图谱构建方法及装置、可读存储介质、电子设备
CN113228059A (zh) 面向跨网络的表示学习算法
JP2009134520A (ja) ソーシャルネットワーク表示システム、方法、及びプログラム
CN112905906B (zh) 一种融合局部协同与特征交叉的推荐方法及***
CN115803727A (zh) 实体解析***中匹配字段的自动检测
JP6616854B2 (ja) 移行単位分析装置、移行単位分析方法及び移行単位分析プログラム
Joulaei et al. Classifying fuzzy flexible measures in data envelopment analysis
JP7412307B2 (ja) 作成支援装置、作成支援方法、および作成支援プログラム
KR102375668B1 (ko) 그래프 표현 학습 모델의 생성 방법
Papachristou Sublinear domination and core–periphery networks
Yousif et al. Shape clustering using k-medoids in architectural form finding
McGee et al. Towards visual analytics of multilayer graphs for digital cultural heritage
JP2014096086A (ja) 文書分類システムおよび方法
CN105373561B (zh) 识别非关系数据库中的记录模式的方法和设备
JP6775740B1 (ja) 設計支援装置、設計支援方法及び設計支援プログラム
CN112540973A (zh) 一种基于关联规则的网络可视化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190603

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191108

R150 Certificate of patent or registration of utility model

Ref document number: 6616854

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250