"グラフ構造を有するデータから頻度の高い部分構造を抽出する方法であって、グラフデータベース、サブパターン記憶手段、縮約済グラフ記憶手段、頻出部分構造記憶手段、サブパターン候補抽出部、サブパターン選択部、グラフ縮約部、頻出部分構造抽出部および頻出部分構造表示部を用い、サブパターン候補抽出部が、グラフデータベースが保持するグラフを読み込み、同型性判定による頻度の高い部分構造を連結グラフとして抽出し、またその連結グラフの出現回数および頻度を算出し、その結果を連結グラフの該当箇所を特定する情報であるグラフ該当箇所情報とともにサブパターン記憶手段に保存する第1のステップと、サブパターン選択部が、サブパターン記憶手段が保持する連結グラフのうち着目する部分構造であるサブパターンとして使用するものを選択し、その選択結果をサブパターン記憶手段に保存する第2のステップと、グラフ縮約部が、グラフデータベースが保持しているグラフと、サブパターン記憶手段がサブパターンとして保持している連結グラフを読み込み、グラフデータベースが保持するグラフにおいて、サブパターンの連結グラフに該当しない箇所を匿名化するとともに統合し、縮約済グラフ記憶手段に保存する第3のステップと、頻出部分構造抽出部が、縮約済グラフ記憶手段が保持するグラフを読み込み、同型性判定による頻度の高い部分構造を連結グラフとして抽出し、またその出現回数および頻度を算出し、頻出部分構造記憶手段に保存する第4のステップと、頻出部分構造表示部が、頻出部分構造記憶手段が保持する連結グラフとその出現回数および頻度を表示する第5のステップとを含む、ことを特徴とする部分構造抽出方法。第2のステップにおけるサブパターンの選択は、所定のサブパターン選択関数に従って自動的に行う、または利用者からの指示に従って行うことを特徴とする請求項1に記載の部分構造抽出方法。利用者から分析の開始が指示された場合は第1乃至第5のステップを実行させ、利用者から分析の再実行が指示された場合には第2乃至第5のステップを実行させることを特徴とする請求項1または2に記載の部分構造抽出方法。計算機を用いてグラフ構造を有するデータから頻度の高い部分構造を抽出する方法であって、計算機が、パターンおよびデータベース中のグラフを、1個以上の着目する部分構造に相当する連結グラフと、これらを連結する0個以上の着目しない部分構造に相当する連結グラフとによって構成される連結グラフとして扱うとともに、計算機が、に対する匿名化および統合からなるグラフの縮約を行った上で、同型性判定によりデータベース中の部分構造がパターンに該当するかどうかを判定し、その判定結果に基づきパターンの出現回数および頻度を求めることで、互いに非連結な連結部分グラフの頻度の高い組合せを抽出する場合に、前記連結部分グラフに含まれるノード間の、データベース中のグラフにおける到達可能性を区別して出現回数および頻度を算出し、該当判定による頻度の高い部分構造を抽出することを特徴とする部分構造抽出方法。縮約を行う前のグラフにおいて、同型性判定による頻度の高い連結部分グラフを、着目する部分構造に相当する連結グラフの候補とすることを特徴とする請求項4に記載の部分構造抽出方法。同型性判定による頻度の高い連結部分グラフを、着目する部分構造に相当する連結グラフの候補とし、それに該当しない部分を、着目しない部分構造に相当する連結グラフとし、に対するグラフの縮約を挟んで、同型性判定による頻度の高い部分構造の抽出を多段階で行うことを特徴とする請求項4または5に記載の部分構造抽出方法。グラフ構造を有するデータから頻度の高い部分構造を抽出する装置であって、分析対象となるグラフを保持するグラフデータベースと、同型性判定による頻度の高い連結グラフ、当該連結グラフの該当箇所を特定する情報であるグラフ該当箇所情報、各連結グラフの出現回数および頻度、並びに各連結グラフのうちサブパターンとして使用することが選択された結果を保持するサブパターン記憶手段と、グラフデータベースが保持するグラフのうち、サブパターン記憶手段が保持するサブパターンとしての連結グラフに該当しない箇所を縮約した結果を保持する縮約済グラフ記憶手段と、縮約済グラフ記憶手段が保持するグラフのうち、同型性判定による頻度の高い連結グラフ、並びに当該各連結グラフの出現回数および頻度を保持する頻出部分構造記憶手段と、グラフデータベースからグラフを読み込み、同型性判定による頻度の高い部分構造を連結グラフとして抽出し、またその連結グラフの出現回数および頻度を算出し、その結果をグラフ該当箇所情報とともにサブパターン記憶手段に保存するサブパターン候補抽出部と、サブパターン記憶手段が保持する連結グラフのうち部分構造であるサブパターンとして使用するものを選択し、その選択結果をサブパターン記憶手段に保存するサブパターン選択部と、グラフデータベースが保持しているグラフと、サブパターン記憶手段がサブパターンとして保持している連結グラフを読み込み、グラフデータベースが保持するグラフにおいて、サブパターンの連結グラフに該当しない箇所を匿名化するとともに統合し、縮約済グラフ記憶手段に保存するグラフ縮約部と、縮約済グラフ記憶手段が保持するグラフを読み込み、同型性判定による頻度の高い部分構造を連結グラフとして抽出し、またその出現回数および頻度を算出し、頻出部分構造記憶手段に保存する頻出部分構造抽出部と、頻出部分構造記憶手段が保持する連結グラフとその出現回数および頻度を表示する頻出部分構造表示部とを少なくとも備えたことを特徴とする部分構造抽出装置。サブパターン記憶手段が保持する連結グラフのうち、部分構造であるサブパターンとして使用するものを、所定のサブパターン選択関数に従って自動的に選択し、または利用者からの指示に従って選択し、その選択結果をサブパターン記憶手段に保存するサブパターン選択部を備えたことを特徴とする請求項7に記載の部分構造抽出装置。利用者から分析の開始が指示された場合はサブパターン候補抽出部、サブパターン選択部、グラフ縮約部、頻出部分構造抽出部、頻出部分構造表示部をこの順に、前の処理の完了を待って呼び出し、実行させ、利用者から分析の再実行が指示された場合には、サブパターン選択部、グラフ縮約部、頻出部分構造抽出部、頻出部分構造表示部をこの順に、前の処理の完了を待って呼び出し、実行させる実行制御部を備えたことを特徴とする請求項7または8に記載の部分構造抽出装置。グラフ構造を有するデータから頻度の高い部分構造を抽出する装置であって、着目する部分構造に相当する連結グラフの候補を抽出および選択するサブパターン候補抽出部およびサブパターン選択部と、着目しない部分構造に相当する連結グラフに対する匿名化および統合からなるグラフの縮約を行うグラフ縮約部と、縮約されたグラフを対象として、同型性判定によりデータベース中の部分構造がパターンに該当するかどうかを判定し、その判定結果に基づきパターンの出現回数および頻度を求める頻出部分構造抽出部とを併せて備えることにより、パターンおよびデータベース中のグラフを、1個以上の着目する部分構造に相当する連結グラフと、これらを連結する0個以上の着目しない部分構造に相当する連結グラフとによって構成される連結グラフとして扱い、互いに非連結な連結部分グラフの頻度の高い組合せを抽出する場合に、前記連結部分グラフに含まれるノード間の、データベース中のグラフにおける到達可能性を区別して出現回数および頻度を算出し、該当判定による頻度の高い部分構造を抽出することを特徴とする部分構造抽出装置。縮約を行う前のグラフにおいて、同型性判定による頻度の高い連結部分グラフを、着目する部分構造に相当する連結グラフの候補とするサブパターン候補抽出部を備えたことを特徴とする請求項10に記載の部分構造抽出装置。着目しない部分構造に相当する連結グラフに対するグラフの縮約を行うグラフ縮約部を挟み、サブパターン候補抽出部および頻出部分構造抽出部において同型性判定による頻度の高い連結部分グラフを多段で抽出する構成を備えたことを特徴とする請求項10または11に記載の部分構造抽出装置。コンピュータを、請求項7乃至12のいずれかに記載の部分構造抽出装置の各手段として機能させるためのプログラム。例えば業務における処理や操作は、実行順序が異なれば実行結果が異なるだけでなく、処理や操作の実行可否も変わってくる。そのためデータベース中の各グラフが、各案件に対する処理や操作の手順を表現していて、業務効率改善や業務監査の目的でこれらのグラフを分析する場合、途中に他の処理や操作を挟んで行われた、処理や操作あるいはそのまとまり非連結部分グラフ中の連結部分グラフに相当の組合せの頻度だけでなく、それらの順序関係を区別した頻度を知ることが重要である。例えば受注した製品の見積書を発行する業務において、図11のように製品価格の参照操作9を見積書の作成および送付操作13~14の前に実行する手順の頻度が高い場合には問題ない。しかし、迅速性を重視するあまり、記憶を頼りに先に見積書を作成送付してしまい、後で製品価格を参照して確認する手順の頻度が高い場合には、製品価格の更改時に誤った見積書を多数発行する危険性がある。そのため、これらの手順は区別して頻度を算出すべきである。あるいはソフトウェア開発において、コンポーネント間の依存関係の向きが異なれば、あるコンポーネントの変更に起因する他のコンポーネントの変更や再試験の要否が異なる。そのためデータベース中の各グラフが、各ソフトウェア開発プロジェクトにおけるコンポーネントの依存関係を表現していて、複数のプロジェクトで利用されているコンポーネントの変更が全プロジェクトに与える影響を分析する場合、他のコンポーネントを介して依存関係にある、コンポーネントあるいはそのまとまり非連結部分グラフ中の連結部分グラフに相当の組合せの頻度だけでなく、それらの間接的な依存関係の向きを区別した頻度を知ることが重要である。一方、従来の手法では※1を実現する上で、パターンおよびそれに該当するデータベース中のグラフの部分構造を、着目する部分構造だけからなる非連結グラフとして扱っている。そのため、パターンの出現回数を数える際、非連結部分グラフ中の連結部分グラフ同士がデータベース中のグラフにおいてどのような関係にあるかを区別できない。その結果、データベース中のグラフの異なる箇所に出現する非連結部分グラフがパターンと同型であれば、たとえ非連結部分グラフ中の連結部分グラフ同士の関係が異なっていても同じパターンとみなされ、全てそのパターンの出現回数として数えられる。例えばデータベース中のグラフが図3であるとき、図12に示す非連結グラフがグラフG0~G4にそれぞれ1回ずつ、合計5回出現していることになる。しかし、図12の非連結グラフ中のノードa0~a4からなる連結グラフとノードa5~a6からなる連結グラフとの関係を区別して出現回数やそれをもとに算出される頻度を知ることはできない。そのため、ノードa0~a4からなる連結グラフとノードa5~a6からなる連結グラフとがどのような関係になっている場合が多いのかを知ることはできない。また、実際にはそれらの関係がまちまちで、それらの関係を区別するとそれぞれの頻度は低い可能性すらある。本発明では、以上の問題を解決するため、データベース中のグラフにおける互いに非連結な連結部分グラフ同士の関係を区別して頻度の高い組合せを抽出すること...※2を目的とする。例えばデータベース中のグラフが図3であるとき、図12のノードa0~a4で構成される連結グラフとノードa5~a6で構成される連結グラフとの関係には、図13のに示すようにノードa4がノードa5の間接的な遷移元である場合グラフG0~G2の3回、図13のに示すようにノードa3がノードa5の間接的な遷移元である場合グラフG3の1回、図13のに示すようにノードa6がノードa0の間接的な遷移元である場合グラフG4の1回、の3通りが存在する。従来の手法ではこれらを区別しないが、本発明ではこれらを区別する。なお、本発明は非循環有向グラフを分析対象とする。この場合、※2における互いに非連結な連結部分グラフ同士の関係とは、互いに非連結な連結部分グラフに含まれるノード間の、データベース中のグラフにおける到達可能性、つまり他のノードを経由しての遷移が可能かどうか、を意味する。また、ノードにはノードの種類や種別を表すラベルが付与されており、グラフの同型性判定時には、ノードと有向リンクからなる純粋なグラフ構造だけでなく、ノードに付与されているラベルも考慮するものとする。<概要>頻度の高い部分構造を抽出する際、データベース中のグラフにおける互いに非連結な連結部分グラフ同士の関係を区別するためには、着目する部分構造だけでなく、それらを連結している、着目しない部分構造も考慮してパターンに該当するかどうかを判定する必要がある。そのため、本発明ではまず、背景技術の[従来技術]においてパターンを着目する部分構造とする代わりに、パターンおよびそれに該当するデータベース中のグラフの部分構造を、1個以上の下記とこれらを連結する0個以上の下記によって構成される連結グラフとして扱う。着目する部分構造以下、サブパターンに相当する連結グラフ着目しない部分構造に相当する連結グラフまた、データベース中のグラフの部分構造がパターンに該当するかどうかを判定する際には、サブパターンが同型であり、かつサブパターンに含まれるノード間における到達可能性、つまり着目しない部分構造を経由して遷移が可能かどうか、が一致している場合に該当するとみなし、そうでない場合には該当しないとみなす。なお、ここではこの基準による判定を該当判定と呼ぶ。しかし、データベース中のグラフの部分構造がパターンに該当するかどうかを判定する際に、パターンと部分構造の同型性をそのまま判定すると、たとえサブパターンが同型であり、かつサブパターンに含まれるノード間における到達可能性が一致していたとしても、着目しない部分構造の差異により同型ではないと判定されてしまう。従って、サブパターン同士を連結する着目しない部分構造を、ノードのラベルだけでなく構造的にもワイルドカードとして置換しておくことで、その差異が同型性の判定に影響しないようにする必要がある。本発明では、サブパターン同士の関係を区別しつつ、それらを連結する着目しない部分構造の差異を区別しないようにするため、最初にデータベース中のグラフにおいてサブパターンに該当しない箇所を特許文献1におけるノードの匿名化および統合とほぼ同じ手法相違点については後述により縮約する。その上で同型の部分構造の出現回数が多く、それをもとに算出される頻度が高い部分構造を抽出する従来の手法を利用することで、結果的に該当判定による頻度の高い部分構造を抽出する。次に、サブパターンを決める方法について述べる。何らかの方法により※2を実現し、該当判定による頻度の高いパターンが抽出され、データベース中のグラフにおいてそれらのパターンに該当する部分構造の出現箇所が特定されているとすると、パターンに該当するデータベース中のグラフの部分構造は、1個以上の、下記とこれらを連結する0個以上の下記とによって構成される連結グラフになっている。同型の部分構造の出現回数が多く、それをもとに算出される頻度が高い以下、同型性判定による頻度が高い連結グラフ同型の部分構造の出現回数が少なく、それをもとに算出される頻度が低い以下、同型性判定による頻度が低い連結グラフデータベース中のグラフにおける部分構造が、該当判定による頻度の高いパターンに該当するかどうかは、その部分構造に含まれる連結グラフのうち、同型性判定による頻度の高い連結グラフのみによって決まり、同型性判定による頻度の低い連結グラフにはよらない。と考えられる。従って、本発明では、従来の手法などで抽出可能な、同型性判定による頻度の高い連結部分グラフをサブパターンとする。つまり上述のをとする。但し、実際には同型性判定による頻度の高い連結部分グラフが全て、該当判定による頻度の高い部分構造を抽出する上で着目すべき部分構造であるとは限らない。例えば、データベース中のグラフが、様々な案件に対する業務を行う際に、業務システムの端末に対して利用者が行った操作の手順を表現していて、その中から頻度の高い手順を知ろうとする場合において、端末に表示された業務システムのウィンドウの位置や大きさを変えるための一連の操作マウスのクリックボタンを押下し、マウスの位置を移動し、マウスのクリックボタンを離す、などの頻度が高いことがある。しかし、この一連の操作は、業務を遂行するためにどのような処理や操作をどのような手順で行っている場合が多いのかを知る上では重要ではなく、この一連の操作を表す部分構造は、サブパターンとしては不適切である。従って、本発明では、同型性判定による頻度の高い連結部分グラフの中から、サブパターンとして使用するものを利用者が繰り返し選択することもできるものとする。本発明では以下の手順により、サブパターンに該当しない箇所の縮約を挟んで同型性判定による頻度の高い部分構造の抽出を多段階で行うことで、互いに非連結な連結部分グラフの頻度の高い組合せを抽出する場合には、その関係を区別して頻度の高い部分構造を抽出する。サブパターン候補の抽出データベース中のグラフにおいて、同型性判定による頻度の高い連結グラフをサブパターン候補として、従来の手法などを利用して抽出する。サブパターンの選択の結果得られるサブパターン候補の連結グラフの中から、サブパターンとして使用するものを自動的または利用者からの指示により選択する。着目しない部分構造の縮約データベース中のグラフにおいて、サブパターンとしてで選択された連結グラフに該当しない箇所を、特許文献1におけるノードの匿名化処理および統合処理とほぼ同じ方法により縮約する但し、本発明におけるノードが特許文献1におけるアクティビティインスタンスに相当。詳細は後述する。。頻度の高い部分構造の抽出の結果の得られるグラフにおいて、同型性判定による頻度の高い連結グラフを、従来の手法などを利用して抽出し、利用者に提示する。また、利用者の要望に応じて~を繰り返し行うこともできる。本発明によれば、多数の、あるいは大規模な、ノードにラベルの付与された非循環有向グラフを対象として、頻度の高い部分構造を抽出できる。特に、頻度の高い連結した部分構造を連結グラフとして抽出するだけでなく、互いに非連結な連結部分グラフの頻度の高い組合せをそれらの関係、つまり連結部分グラフに含まれるノード間の、データベース中のグラフにおける到達可能性を区別して抽出できるようになる。さらに本発明を、業務効率改善や業務監査を目的とした、処理や操作の手順の分析に適用する場合には、途中に他の処理や操作を挟んで行われた、処理や操作あるいはそのまとまりの組合せの頻度を、それらの順序関係を区別して算出し、頻度の高い操作手順を抽出できる。これにより効果の高い業務効率改善や、精度の高い業務監査につながる。あるいは本発明を、例えばソフトウェア開発におけるコンポーネント変更の影響評価を目的とした、コンポーネント間の依存関係の分析に適用する場合には、他のコンポーネントを介して依存関係にある、コンポーネントあるいはそのまとまりの組合せの頻度を、それらの依存関係の向きを区別して算出し、頻度の高い依存関係を抽出できる。これによりコンポーネントを変更した場合の影響を高い精度で把握でき、変更するコンポーネントの選択や変更内容を適切に決定することで、開発コストの低減につながる。以下、前述した手順~を含む、本発明の構成要素およびその処理の詳細について説明する。<発明装置の構成および発明方法の処理手順>図1は本発明の、グラフ構造を有するデータから頻度の高い部分構造を抽出する装置の構成の一例、ここでは周知のコンピュータ計算機上に実現された例を示すもので、図中、1はグラフデータベース、2はサブパターン記憶手段、3は縮約済グラフ記憶手段、4は頻出部分構造記憶手段、5は実行制御部、6はサブパターン候補抽出部、7はサブパターン選択部、8はグラフ縮約部、9は頻出部分構造抽出部、10は頻出部分構造表示部である。グラフデータベース1は、永続的にデータを保持する計算機内のハードディスクに記憶されているファイルまたはそのファイルからの読み書きを制御するデータベースマネジメントシステムである。また、サブパターン記憶手段2、縮約済グラフ記憶手段3および頻出部分構造記憶手段4は、計算機内のメモリ、あるいは計算機のハードディスクに記憶されているファイルまたはそのファイルからの読み書きを制御するデータベースマネジメントシステムである。なお、グラフデータベース1、並びに各記憶手段2~4では、グラフ構造のデータを保持するが、グラフをどのようなデータ形式図、XML文書などの構造データ、リレーションテーブルなどで保持するのかについては限定しない。また、実行制御部5、サブパターン候補抽出部6、サブパターン選択部7、グラフ縮約部8、頻出部分構造抽出部9および頻出部分構造表示部10は、計算機内の演算装置で実行されるプログラムである。これらが全て一緒になった単一のプログラムなのか、全て別々のプログラムなのか、あるいはいくつかが1つのプログラムとなっているのかは、本発明では限定しない。さらにまた、以上の構成要素が同じ計算機内にあるか、あるいはネットワークを介して複数の計算機内にあるかについては、本発明では限定しない。本発明では、本発明装置の利用者が頻度の高い部分構造の抽出を指示する前に、グラフデータベース1にグラフ構造のデータが登録されているものとする。頻度の高い部分構造を抽出する際には、利用者が実行制御部5より分析の開始を指示し、サブパターン候補の抽出、サブパターンの選択、グラフの縮約、頻度の高い部分構造の抽出、頻度の高い部分構造の表示を、この順で実行する。また、利用者が実行制御部5より分析の再実行を指示した場合には、サブパターンの選択、グラフの縮約、頻度の高い部分構造の再抽出、頻度の高い部分構造の表示を、再度この順で実行する。利用者が実行制御部5より分析の終了を指示した場合には、処理を終了する。本発明の全体の処理フローを図2に示す。以下、各構成要素が保持する内容や、処理の手順の詳細、およびそれに従って本発明装置が利用されるときの例を説明する。発明装置の構成要素およびその処理の詳細以下、各構成要素が保持する内容や、処理の詳細について説明する。≪グラフデータベース≫グラフデータベース1は、分析対象となる多数のツリーやグラフの集合または1個の大規模なツリーやグラフ以下、単にグラフを保持する。なお、本発明で対象とするグラフは、ノードにラベルの付与された、非循環有向グラフとする。またデータベース1中のグラフのノードには一意な識別子0以上のノード番号が付与されているものとし、本明細書ではノード番号iのノードをniと表す。さらに説明の都合上、ラベルには一意な識別子0以上のラベル番号が付与されているものとし、ラベル番号lのラベルをalと表し、ノード番号iのノードniに付与されたラベルのラベル番号はノード番号iの関数lとして表す。つまりノードniのラベルはalと表現される。図3は、グラフデータベース1が保持する内容の一例である。≪サブパターン記憶手段≫サブパターン記憶手段2は、サブパターン候補抽出部6により抽出される、同型性判定による頻度の高い連結グラフサブパターン候補、グラフデータベース1が保持するグラフにおけるその連結グラフの該当箇所を特定する情報以下、グラフ該当箇所情報、並びに同じくサブパターン候補抽出部6により算出される、それぞれの連結グラフの出現回数および頻度を保持する。また、これらの連結グラフのうち、どれをサブパターンとして使用するかを、サブパターン選択部7により選択した結果も併せて保持する。グラフ該当箇所情報は、例えばノード番号の集合として保持することが考えられる。但し、他にも擬似的な接尾辞木サブパターン候補抽出部6の実現手法の一例として後述の中間頂点の番号のように、その情報からノード番号の集合を容易に得られるものであっても良く、限定しない。また、それぞれの連結グラフの頻度としては、サブパターン候補抽出部6を実現する、同型性判定による頻度の高い部分構造を抽出する手法により、出現回数をグラフデータベース1が保持するグラフの数で除した値を算出する場合、その代わりに部分構造の情報量などを算出する場合、あるいはそれらを含めた複数の値を算出する場合などが存在する。従って、頻度として複数の値を保持できるものとする。図4、図5、図6は、サブパターン記憶手段2が保持する内容の一例である。≪縮約済グラフ記憶手段≫縮約済グラフ記憶手段3は、グラフデータベース1が保持するグラフにおいて、サブパターンとしてサブパターン記憶手段2が保持する連結グラフに該当しない箇所を、グラフ縮約部8により縮約した結果を保持する。図7、図8は、縮約済グラフ記憶手段3が保持する内容の一例である。≪頻出部分構造記憶手段≫頻出部分構造記憶手段4は、頻出部分構造抽出部9により抽出される、縮約済グラフ記憶手段3が保持するグラフにおいて同型性判定による頻度の高い連結グラフ、並びに同じく頻出部分構造抽出部9により算出される、それぞれの連結グラフの出現回数および頻度を保持する。なお、サブパターン記憶手段2同様、それぞれの連結グラフの頻度として、複数の値を保持できるものとする。図9、図10は、頻出部分構造記憶手段4が保持する内容の一例である。≪実行制御部≫実行制御部5は、利用者に分析の開始や再実行を、本発明装置を実現する計算機の入出力装置を介して指示させる。利用者から分析の開始が指示された場合図2-s0には、サブパターン候補抽出部6を呼び出し、その後、サブパターン選択部7、グラフ縮約部8、頻出部分構造抽出部9、頻出部分構造表示部10をこの順に、前の処理の完了を待って呼び出し、実行させる。また、利用者から分析の再実行が指示された場合図2-s6には、サブパターン選択部7を呼び出し、その後、グラフ縮約部8、頻出部分構造抽出部9、頻出部分構造表示部10をこの順に、前の処理の完了を待って呼び出し、実行させる。≪サブパターン候補抽出部≫サブパターン候補抽出部6は、グラフデータベース1が保持するグラフを読み込み、同型性判定による頻度の高い部分構造を連結グラフとして抽出し、またその連結グラフの出現回数および頻度を算出し、その結果をグラフ該当箇所情報とともにサブパターン記憶手段2に保存する図2-s1。ここで、サブパターンの候補としては、頻度が高い、なるべく大きなノードを多数含む連結グラフをそのまま抽出できることが望ましく、グラフを対象とした従来の抽出手法例えば非特許文献1~6参照を利用することが考えられる。一方、サブパターン候補抽出部6では、グラフデータベース1が保持するグラフの中で、グラフ縮約部8において匿名化および統合しない部分構造の候補を抽出できれば良く、例えば図14の連結グラフG0を抽出する代わりに、ツリー構造でなるべく大きなグラフG0の部分構造T0とT1、あるいはリスト構造でなるべく大きなグラフG0の部分構造L0とL1、というように分割して抽出しても良い。従って、同型性判定に多くの計算量を要するグラフを対象とした抽出手法の代わりに、相対的に少ない計算量で処理可能な、ツリーを対象とした抽出手法、リスト列を対象とした抽出手法を利用することも考えられる。なお、抽出処理を調整するための、各抽出手法固有のパラメータについては、プログラムのパラメータとして予めコーディングされた値を用いる、本発明装置を実現する計算機のハードディスクに保存されたファイルで設定された値を用いる、サブパターン候補抽出部6の実行開始時に同計算機の入出力装置を介して利用者により設定された値を用いる、などが想定できるが、特に限定しない。本発明では、サブパターン候補抽出部6の処理を行う手法を特に限定しないが、同型性判定による頻度の高い部分構造を抽出する従来の手法をどのように利用できるかを示すため、リスト列を対象とした抽出手法の一例として、接尾辞木を利用する場合について具体的に説明する。なお、以下では∥N∥はグラフデータベース1が保持するグラフの全ノード数とする。またlist←、list←はリストlistのそれぞれ先頭、最後に要素xを追加する操作を、∥list∥はリストlistに含まれる要素の数を、listposはリストlistのpos番目最小は0の要素を、liststartPosendPosはリストlistにおいてstartPos番目の要素からendPos番目の要素までの部分リストを表すものとする。さらにset0∪set1はセット重複を許さない要素の集合set0とset1の和集合を、set0∩set1はセットset0とset1の積集合を、はセットset0からset1に含まれる要素を除いた集合を、∥set∥はセットsetに含まれる要素の数を、setposはセットsetのpos番目最小は0の要素を表すものとする。は空のリストまたはセットを表す。但し、リストにおける要素の並び順は要素の追加方法に従うが、セットにおける要素の並び順は必ずしも要素の追加順などになっていなくても良い。-グラフ中の経路の列挙-グラフデータベース1が保持するグラフにおいて、親ノードを持たないノード開始ノードから子ノードを持たないノード終了ノードまでの全ての経路をノード列経路中のノードのノード番号のリストとして列挙する。グラフ中の開始ノードを見つけ、そこからグラフの有向リンクに沿って終了ノードまでたどっていき、終了ノードが見つかったら直前の複数の子ノードを有するノードまで戻り、別の終了ノードまでたどることを繰り返すことで、ノード列を列挙する手順の一例を図25のリスト1に示す。例えば図3におけるグラフG0,G1,G2,G3,G4に対してノード列を列挙した結果は、それぞれ図15、図16、図17、図18、図19となる。-接尾辞木の作成-列挙した全てのノード列を対象として、同型の部分構造、つまりノードのラベルを順に並べてできるラベル列が一致する部分ノード列の出現回数と出現箇所を特定できるようにするため、擬似的な接尾辞木を作成する。ここで、擬似的な接尾辞木は、全てのノード列の全ての接尾辞ノード列の先頭から0個以上のノードを削除して得られる部分ノード列のラベル列を木構造で表現したものである。但し、グラフデータベース1が保持するグラフの構成要素であるノードやリンクと、擬似的な接尾辞木の構成要素であるノードやリンクを区別するため、接尾辞木の構成要素であるノードを頂点、有向リンクを枝と呼ぶ。また説明の都合上、親の頂点と子の頂点の両方を有する頂点中間頂点には一意な識別子0以上の頂点番号が、子の頂点を持たない頂点末端頂点にはそれとは別の一意な識別子0以上の頂点番号が付与されるものとし、頂点番号がmの中間頂点をum、頂点番号がnの末端頂点をvnで表す。便宜上、親の頂点を持たない頂点根頂点は、頂点番号が-1の中間頂点u1として扱う。さらに根頂点から各中間頂点までの経路中にある中間頂点の数根頂点と自身を含めないを、その中間頂点の階層数とする。便宜上、根頂点の階層数は-1とする。擬似的な接尾辞木の中間頂点はノードのラベルを保持する。これにより、任意のr階層目但し、r≧0の中間頂点umについて、根頂点から中間頂点umまでの経路中の中間頂点を階層数の小さい順にum,um,...,um,um、それぞれの中間頂点が保持するラベルをal,al,...,al,alとすると、根頂点から中間頂点umまでの経路、つまり頂点列um,um,...,um,umあるいは中間頂点um自身は、ラベル列al,al,...,al,alと一対一に対応する。また末端頂点は、その末端頂点へ延びる枝を有する中間頂点に対応するラベル列が、どのノード列の何番目のノードから開始するのかを特定する情報ノード列該当箇所情報を保持する。具体的には、ノード列該当箇所情報は、ノード列の識別番号0以上のノード列番号と、そのノード列における接尾辞の開始位置0以上の開始位置の組である。列挙した全てのノード列についてノードを順に走査しながら、並行して接尾辞木の枝に沿ってノードのラベルを保持する頂点をたどり、あるいはそのような頂点がなければ作成することで、この擬似的な接尾辞木を作成する手順の一例を図26のリスト2に示す。例えば図15、図16、図17、図18、図19におけるノード列において、ノード列L0のみに対して擬似的な接尾辞木を作成した結果は図20、その後、引き続き残りのノード列に対して接尾辞木を作成した結果は図21、図22となる図中の出現回数については後述。但し、全てのノード列に対して作成した接尾辞木は紙面に比べて大きくなるため、図21、図22には、図20で図示した部分と0階層目の中間頂点u47を根とする部分木以外は、グラフデータベース1が保持するグラフにおいて該当箇所が2箇所以上あるラベル列に対応する中間頂点とその末端頂点に限り図示してある。-出現回数の算出-接尾辞木の性質上、任意のr階層目但し、r≧0の中間頂点umに対応するラベル列al,al,...,al,alは、中間頂点umを根とする部分木の末端頂点が保持している、ノード列該当箇所情報によって示されるノード列およびその開始位置からr1個の箇所に出現する。従って、中間頂点umを根とする部分木の全ての末端頂点が保持するノード列該当箇所情報の数の合計が、ノード列におけるラベル列の出現回数となる。例えば図22において2階層目の中間頂点u185は、ラベル列a8,a7,a5に対応し、またu185を根とする部分木の末端頂点はv43,v49の2個であり、末端頂点v43にはノード列該当箇所情報5,4と8,1が、末端頂点v49にはノード列該当箇所情報6,4と9,1がそれぞれ保持されている。このことからラベル列a8,a7,a5は、5番目のノード列L5の4番目から3個の箇所、8番目のノード列L8の1番目から3個の箇所、6番目のノード列L6の4番目から3個の箇所、9番目のノード列L9の1番目から3個の箇所に出現していることがわかり但し、開始位置はいずれも0番目始まりであることに注意、ノード列におけるラベル列a8,a7,a5の出現回数は4回となる。しかし、ノード列はもともとグラフデータベース1が保持するグラフの開始ノードから終了ノードまでの経路を列挙して得たものであり、もとのグラフにおいて同一のノードや部分ノード列が異なるノード列に含まれる場合がある。そのため、ラベル列が一致する部分ノード列の出現回数をノード列ごとに別々に数え、足し合わせたのでは、別のノード列に含まれる共通の部分ノード列を重複して数えることになり、実際のグラフにおいてラベル列に該当する部分ノード列の出現回数よりも多くなってしまう。上述の例でも、5番目のノード列L5の4番目から3個の箇所、8番目のノード列L8の1番目から3個の箇所、6番目のノード列L6の4番目から3個の箇所、9番目のノード列L9の1番目から3個の箇所は、いずれもグラフG0中の部分ノード列n17,n18,n14であり、グラフデータベース1が保持するグラフにおいてラベル列a8,a7,a5が出現するのはこの1回だけある。このため、グラフデータベース1が保持するグラフにおいて各中間頂点に対応するラベル列に該当する部分ノード列以下、単に中間頂点のグラフ該当部分ノード列と呼ぶ。として一意なものを列挙し、その数によって各ラベル列の出現回数を求める必要がある。任意の中間頂点umについて、全ての枝の先にある中間頂点のグラフ該当部分ノード列を再帰的に調べ、また末端頂点が保持するノード列該当箇所情報から中間頂点umのグラフ該当部分ノード列を調べ、それらを合わせて一意な部分ノード列を求める手順の一例を図27のリスト3に示す。また0階層目の全ての中間頂点に対してリスト3を実行することで、1階層目以降も含めた全ての中間頂点についてグラフ該当部分ノード列の数を再帰的に求める手順の一例を図28のリスト4に示す。例えば、図22において0階層目の中間頂点u47に対してリスト3を実行した場合に、各中間頂点のグラフ該当部分ノード列は図24のようになり、これにより対応するラベル列の出現回数が求まる。また各中間頂点のグラフ該当部分ノード列の数を求めた結果を図21、図22中の各ノードの出現回数として、その階層別の和および総和を求めた結果を図23に示す。-頻度の算出と頻度の高いラベル列の判定-ラベル列が一致する部分ノード列の出現回数をもとにラベル列の頻度を算出し、抽出手法固有のパラメータである頻度の閾値と比較して大きいラベル列を頻度の高いラベル列と判定して、算出した出現回数および頻度とともにサブパターン記憶手段2に保存する。ここで、ラベル列の単純な頻度としては、ラベル列が一致する部分ノード列の出現回数を、全部分ノード列の出現回数で除した値ラベル列が一致する部分ノード列の出現回数を、含まれるノード数が同じ部分ノード列の出現回数で除した値が考えられる。また一般に、含まれるノード数が多くなるほど可能なラベル列の数が大きくなるため、この方法で算出した頻度では、含まれるノード数が多いラベル列の頻度は小さくなる傾向がある。そのため、で求まる頻度を、ノードのラベルが無作為に付与されることを仮定した場合の想定の頻度で除した値あるいはその対数値により、ノードのラベルが無作為に付与されることを仮定した場合に比べ、実際の単純な頻度がどの程度大きいのか、あるいは対数値をとった場合には、ラベル列が出現することの情報量がどの程度減少するのかを定量化し、それを頻度の値とすることなども考えられる。あるいは、これらの値のいくつかをそれぞれ算出し、抽出手法固有のパラメータであるそれぞれの対応する閾値と比較して大きいラベル列を頻度の高いラベル列だと判定することも考えられる。任意の中間頂点umに対応するラベル列について、上記~の値はr=vertexRankmとして以下により算出できる但し、ノードのラベルの数を∥A∥とする。なお、vertexRankは、図26のリスト2で使用されている各中間頂点の階層数のリストである。なお、vertexCount、rankCount、totalCountはそれぞれ、図28のリスト4で使用されている、各中間頂点のグラフ該当部分ノード列の数のリスト、長さ別の部分ノード列の数のリスト、全ての部分ノード列の数である。擬似的な接尾辞木の全ての中間頂点について、これらの値を算出し、抽出手法固有のパラメータとしてプログラム中にコーディング、または設定されたそれぞれの対応する閾値と比較することで、頻度の高いラベル列に対応する中間頂点が求まる。例えば図21の3階層目の中間頂点u12に対応するラベル列a0,a1,a2,a3の出現回数は5回であり、図23に示されているように全部分ノード列の出現回数は582回、3階層目の中間頂点のグラフ該当部分ノード列の出現回数の和は84回であり、ラベルはa0~a9の10種類であるため、の値は5/582、の値は5/84、の値自然対数値は4log10log5/84≒6.39と算出される。なお、このようにして任意のr階層目但し、r≧0の中間頂点umに対応するラベル列の頻度が高いと判定された際、実際にそのラベル列を求め、サブパターン記憶手段2に保存する手順については、その一例を図29のリスト5に示す。また上記により算出した頻度の閾値を11000として、それを上回るラベル列とその出現回数、頻度をサブパターン記憶手段2に保存した例を図4の候補番号連結グラフ出現回数頻度欄に示す。-グラフデータベースが保持するグラフにおける該当箇所の保存-頻度が高いと判定されたラベル列に対し、グラフデータベース1が保持するグラフにおいてそのラベル列に該当する部分ノード列を特定し、先に保存されているラベル列と対応付けてサブパターン記憶手段2に保存する。任意の中間頂点のグラフ該当部分ノード列を列挙する手順は既に述べたとおりであり、頻度が高いと判定されたラベル列に対応する中間頂点に対してこの手順を行う。ここでは、リスト5のように、頻度が高いと判定されたラベル列とその出現回数および頻度をサブパターン記憶手段2に保存する際に、そのラベル列に対応する中間頂点の頂点番号がセットfreqVertexSetに追加されているものとし、それに含まれる中間頂点に対してリスト3を実行することで、中間頂点のグラフ該当部分ノード列をグラフ該当箇所情報としてサブパターン記憶手段2に保存する手順の一例を図30のリスト6に示す。但し、freqVertexSetは階層数の小さい順に中間頂点の頂点番号を保持しているものとする。例えば、図22において0階層目の中間頂点u47を根とする部分木に含まれる任意の中間頂点が、仮に頻度が高いと判定されたラベル列に対応するとして、グラフ該当部分ノード列を列挙した結果を図24に示す。また頻度が高いと判定され、サブパターン記憶手段2に保存された図4のラベル列に対し、グラフにおける該当箇所を保存した結果を当該図4の該当箇所情報欄に示す。≪サブパターン選択部≫サブパターン選択部7では、サブパターン記憶手段2が保持する連結グラフのうちサブパターンとして使用するものを選択し、その選択結果をサブパターン記憶手段2に保存する図2-s2。サブパターンの選択は、サブパターン記憶手段2が保持する内容を入力とし、選択結果を出力する、本発明装置を実現する計算機上で動作するプログラム中の関数以下、サブパターン選択関数により行う。本発明ではサブパターン選択関数の実現方法を特に限定しないが、その例としては、サブパターン候補抽出部6により算出される各連結グラフの出現回数cと各種頻度p0,p1,...に対し、プログラム中の別の関数ここではφc,φ0,φ1,...とするを適用して得られる評価値φc,φ0,φ1,...と、プログラムのパラメータとして予めコーディングされた、それぞれの閾値の値を比較し、例えば全ての評価値が閾値より大きい連結グラフのみ、サブパターンとして選択する、サブパターン候補抽出部6により算出される各連結グラフの出現回数cと各種頻度p0,p1,...に対し、プログラム中の別の関数ここではψc,ψ0,ψ1,...とするを適用して得られる評価値ψc,ψ0,ψ1,...の和ψcψ0ψ1...を算出し、この値と、プログラムのパラメータとして予めコーディングされた閾値の値を比較し、例えば評価値の和が閾値より大きい連結グラフのみ、サブパターンとして選択する、上記関数において選択された連結グラフの中で、他の連結グラフの部分構造となっていない連結グラフのみ、サブパターンとして選択する。上記関数を組合せ、どの関数においても選択される連結グラフのみ、サブパターンとして選択する、などが考えられる。なお、上述の関数φc,φ0,φ1,...およびψc,ψ0,ψ1,...の例としては、プログラムのパラメータとして予めコーディングされた重みの値と、入力である出現回数あるいは頻度の値との積を算出する、サブパターン記憶手段2が保持する連結グラフ内における、出現回数あるいは頻度に関する順位小さい順を求め、それを連結グラフの数で除した値を算出する、などが考えられる。この他、サブパターン選択関数としては、上述の各関数において、プログラムのパラメータとして予めコーディングされた値を用いる代わりに、本発明装置を実現する計算機のハードディスクに保存されたファイルで設定された値、あるいはサブパターン選択部7の実行開始時に同計算機の入出力装置を介して利用者により設定された値を用いる、本発明装置を実現する計算機の入出力装置を介して連結グラフを表現した図、その連結グラフの出現回数および頻度の値、並びに現在の選択状態を一覧として利用者に表示し、選択状態をトグルにより切り替えさせる、なども考えられる。これらの関数で使用される閾値や重みなどのパラメータの値を変更する、あるいは適用する関数の組合せを変更することにより、サブパターン選択関数が変更される。例えば図4のサブパターン候補の連結グラフにおいて、プログラムあるいはファイルで頻度の閾値が51000、頻度の閾値が15、出現回数および頻度の閾値が0と設定されている場合、候補番号10,22,23,24,30が選択され、さらにこれらの中で、他の連結グラフの部分構造となっていない連結グラフを選択すると、候補番号10の連結グラフは候補番号23の部分構造であり、候補番号23の連結グラフは候補番号30の連結グラフであるため、最終的に候補番号22,24,30の連結グラフが選択され、この選択結果が選択状態欄に反映される図5。≪グラフ縮約部≫グラフ縮約部8では、グラフデータベース1が保持しているグラフと、サブパターン記憶手段2がサブパターンとして保持している連結グラフを読み込み、グラフデータベース1が保持するグラフにおいて、サブパターンの連結グラフに該当しない箇所を、特許文献1における匿名化処理により匿名化し、その後、特許文献1における統合処理により統合し、縮約済グラフ記憶手段3に保存する図2-s3。なお、特許文献1では、非循環有向グラフ特許文献1における業務プロセスインスタンスを分類する際に着目する部分としてノード特許文献1におけるアクティビティインスタンスに付与されたラベル特許文献1における処理名を利用者が指定し、指定されたラベルとは異なるラベルが付与されたノードのラベルを一律に匿名化する、つまり既存のラベルとは異なる同一のラベル例えばに変更している。一方、本発明では、サブパターン選択部7において1個のノードだけから構成される連結グラフがサブパターンとして選択されない限り、グラフデータベース1が保持しているグラフにおいてそのラベルが付与されたノードを一律に匿名化および統合の対象から除外することはしない。つまり、例えば図5において、候補番号22,24,30の連結グラフのみがサブパターンとして選択されていて、a0だけ、あるいはa1だけから構成される候補番号0,1の連結グラフがサブパターンとして選択されていない場合、図3のグラフのa0またはa1のラベルが付与されたノードのうち、匿名化および統合が除外されるのは候補番号22,24,30の連結グラフと同型の部分構造を構成するn1,n2,n22,n23,n37,n38,n48,n49,n63,n64のみで、それ以外のn0,n8,n25,n29,n41,n44,n52,n57,n62,n68は匿名化および統合の対象になる。また本発明では、グラフ縮約部8の前に実行されるサブパターン候補抽出部6およびサブパターン選択部7により、着目する部分構造が半自動的に決定される。例えばグラフデータベース1が保持するグラフが図3であり、サブパターン記憶手段2が保持しているサブパターンの選択結果が図5であるサブパターンとして選択されている連結グラフは候補番号22,24,30のみとする場合、候補番号22,24,30の連結グラフに該当しないノードを匿名化し、その後、統合した結果は図7となる。ここで、例えば候補番号22の連結グラフに該当する箇所は、サブパターン記憶手段2が保持するグラフ該当箇所情報図5の該当箇所欄により、n14,n15,n31,n32,n45,n46,n53,n54,n60,n61であることがわかる。同様に、候補番号24,30の連結グラフに該当する箇所もわかる。これにより、サブパターンとして選択されたどの連結グラフにも該当しなかったノードが特定され、それらを対象に匿名化および統合が行われる。≪頻出部分構造抽出部≫頻出部分構造抽出部9は、縮約済グラフ記憶手段3が保持するグラフを読み込み、グラフを対象とした、頻度の高い部分構造を抽出する従来の手法例えば非特許文献1~6により、同型性判定による頻度の高い部分構造を連結グラフとして抽出し、またその出現回数および頻度を算出し、頻出部分構造記憶手段4に保存する図2-s4。なお、この抽出処理を調整する、各抽出手法固有のパラメータについては、プログラムのパラメータとして予めコーディングされた値を用いる、本発明装置を実現する計算機のハードディスクに保存されたファイルで設定された値を用いる、サブパターン候補抽出部6の実行開始時に同計算機の入出力装置を介して利用者により設定された値を用いる、などを想定するが、特に限定しない。例えば縮約済グラフ記憶手段3が保持しているグラフが図7である場合、これらに対して頻度の高い連結部分グラフを抽出する従来の手法を適用した結果は図9となる。但し、この例では頻度として、出現回数をグラフデータベース1中のグラフの数で除した値を用いている。≪頻出部分構造表示部≫頻出部分構造表示部10は、利用者に、頻出部分構造記憶手段4が保持する連結グラフとその出現回数および頻度を、本発明装置を実現する計算機の出力装置を介して表示する図2-s5。連結グラフとその出現回数および頻度を表示する方法としては、連結グラフを表示した図と、その連結グラフの出現回数および頻度の値とを一覧として表示することを想定しているが、特に限定しない。発明装置の利用例以下、先に記載した本発明装置の構成要素の処理の詳細および具体的実現例に従って本発明装置が利用されるときの例を記載する。なお、いずれの場合も、本発明装置を用いて利用者が頻度の高い部分構造の抽出を指示する前にグラフデータベース1に図3で示されるグラフが保存されているものとする。≪利用例1≫ステップs0:実行制御部5において利用者により分析の開始が指示される。ステップs1:実行制御部5からサブパターン候補抽出部6が呼び出される。サブパターン候補抽出部6では、図3に示したグラフデータベース1内の全ての部分ノード列について、同型の部分ノード列の出現回数を調べ、その値をもとに以下の値を算出する。同型の部分ノード列の出現回数を、全部分ノード列の出現回数で除した値同型の部分ノード列の出現回数を、含まれるノード数が同じ部分ノード列の出現回数で除した値で求まる頻度を、ノードのラベルが無作為に付与されることを仮定した場合の想定の頻度で除した値の自然対数値その結果、の値が11000を超える部分ノード列を、出現回数、頻度、グラフ該当箇所情報とともにサブパターン記憶手段2に図4の内容で保存する。ステップs2:実行制御部5からサブパターン選択部7が呼び出される。サブパターン選択部7では、プログラムあるいはファイルで頻度の閾値が51000、頻度の閾値が15、出現回数および頻度の閾値が0と設定されている場合、図4の連結グラフの中から候補番号10,22,23,24,30が選択され、さらにこれらの中で他の連結グラフの部分構造となっていない連結グラフを選択すると、最終的に候補番号22,24,30の連結グラフが選択され、この選択結果がサブパターン記憶手段2の選択状態欄に反映される図5。ステップs3:実行制御部5からグラフ縮約部8が呼び出される。グラフ縮約部8では、グラフデータベース1が保持する図3のグラフについて、図5で選択されているサブパターンに該当しない箇所を縮約し、その結果を縮約済グラフ記憶手段3に図7の内容で保存する。ステップs4:実行制御部5から頻出部分構造抽出部9が呼び出される。頻出部分構造抽出部9では、縮約済グラフ記憶手段3が保持する図7の縮約済グラフに対して、頻度の高い部分構造を連結グラフとして抽出し、またその出現回数および頻度を算出し、頻出部分構造記憶手段4に図9の内容で保存する。ステップs5:実行制御部5から頻出部分構造表示部10が呼び出される。頻出部分構造表示部10では、頻出部分構造記憶手段4が保持する図9の連結グラフとその出現回数および頻度を、本発明装置を実現する計算機の出力装置を介して表示する。≪利用例2≫あるいは、利用例1のステップs2以降について以下のようにする場合もある。ステップs2:実行制御部5からサブパターン選択部7が呼び出される。サブパターン選択部7において、の閾値が20、それ以外の閾値は利用例1と同じ場合、図4の連結グラフの中から候補番号23,24,30が選択され候補番号10,22は選択されない、さらにこれらの中で他の連結グラフの部分構造となっていない連結グラフを選択すると、最終的に候補番号24,30の連結グラフのみが選択され、この選択結果がサブパターン記憶手段2の選択状態欄に反映される図6。ステップs3:実行制御部5からグラフ縮約部8が呼び出される。グラフ縮約部8では、グラフデータベース1が保持する図3のグラフについて、図6で選択されているサブパターンに該当しない箇所を縮約し、その結果を縮約済グラフ記憶手段3に図8の内容で保存する。ステップs4:実行制御部5から頻出部分構造抽出部9が呼び出される。頻出部分構造抽出部9では、縮約済グラフ記憶手段3が保持する図8の縮約済グラフに対して、頻度の高い部分構造を連結グラフとして抽出し、またその出現回数および頻度を算出し、頻出部分構造記憶手段4に図10の内容で保存する。ステップs5:実行制御部5から頻出部分構造表示部10が呼び出される。頻出部分構造表示部10では、頻出部分構造記憶手段4が保持する図10の連結グラフとその出現回数および頻度を、本発明装置を実現する計算機の出力装置を介して表示する。ステップs6:この例ではステップs5で利用者に表示されるのはいずれもa0~a4からなる連結グラフであり、互いに非連結な連結部分グラフ同士がどのような組合せおよび順序で出現する頻度が高いのかを知ることはできない。そのため、実行制御部5において利用者により分析の再実行が指示される。ステップs2’:実行制御部5からサブパターン選択部7が呼び出される。サブパターン選択部7では、サブパターン記憶手段2が保持する図6の連結グラフ、出現回数、頻度および選択状態が、本計算機を実現する計算機の出力装置を介して表示される。候補番号22の連結グラフがサブパターンとして利用者に追加で選択されると、その結果をサブパターン記憶手段2に図5の内容で保存する。ステップs3’:実行制御部5からグラフ縮約部8が呼び出される。グラフ縮約部8では、グラフデータベース1が保持する図3のグラフについて、図5で選択されているサブパターンに該当しない箇所を縮約し、その結果を縮約済グラフ記憶手段3に図7の内容で保存する。ステップs4’:実行制御部5から頻出部分構造抽出部9が呼び出される。頻出部分構造抽出部9では、縮約済グラフ記憶手段3が保持する図7の縮約済グラフに対して、頻度の高い部分構造を連結グラフとして抽出し、またその出現回数および頻度を算出し、頻出部分構造記憶手段4に図9の内容で保存する。ステップs5’:実行制御部5から頻出部分構造表示部10が呼び出される。頻出部分構造表示部10では、頻出部分構造記憶手段4が保持する図9の連結グラフとその出現回数および頻度を、本発明装置を実現する計算機の出力装置を介して表示する。"