説明

頻出変化パターン抽出装置

【課題】時々刻々変化するネットワーク構造から頻出する変化パターンを抽出する。
【解決手段】頂点がデータに対応し、辺がデータ間の繋がりに対応するグラフの時間的変化を示す複数のグラフからなるグラフ系列毎に、当該グラフ系列に含まれる第1のグラフから当該第1のグラフと時間的に連続する第2のグラフへの変化を、前記第1のグラフを前記第2のグラフに変更するのに必要な操作を示す操作オペレータで表現することにより、前記グラフ系列を前記操作オペレータの系列に変換する変換部12と、複数の前記グラフ系列に対応する複数の前記操作オペレータの系列に対して、Aprioriアルゴリズムで用いられる逆単調性を適用することにより、前記複数の操作オペレータの系列に所定回数以上出現する操作オペレータの系列を抽出する抽出部18とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、グラフで示されたデータのデータマイニング技術に関し、特に、グラフの時間的な変化系列から当該変化系列に頻出する変化のパターンを抽出する頻出変化パターン抽出装置に関する。
【背景技術】
【0002】
近年、膨大なデータの中から有用な、あるいは興味のあるパターンを知識として発掘しようとするデータマイニングの研究が盛んに行われている。有用性は人それぞれ異なるので定義するのは難しいが、一般に多くの事例を説明できる知識は有用と考えられる(例えば、非特許文献6参照)。1994年に複数のアイテム集合からなるデータから頻出アイテム集合を列挙するAprioriアルゴリズム(例えば、非特許文献1参照)が提案されて以来、様々なデータ構造に対して頻出パターン列挙アルゴリズムが提案されている。近年では、グラフのような複雑な構造に頻出する部分構造パターンを高速列挙する手法が提案されている(例えば、非特許文献9参照)。
【0003】
図14〜図16は、Aprioriアルゴリズムを用いた頻出アイテム集合の列挙方法の一例について説明するための図である。Aprioriアルゴリズムを使用することにより、例えば、複数のデータ組に頻出するデータの組み合わせを高速に抽出することができる。
【0004】
図14に示すように4つのデータ組{R,Y,P}、{B,Y,G}、{R,B,Y,G}及び{B,G}の中から、2回以上出現するデータの組み合わせを抽出する場合について考える。これらのデータ組には、R、B、Y、P及びGという5種類のデータが存在する。したがって、データの組み合わせとしては、データ数が1つの組み合わせが5(=51)種類、2つの組み合わせが10(=52)種類、3つの組み合わせが10(=53)種類、4つの組み合わせが5(=54)種類、5つの組み合わせが1(=55)種類それぞれ存在し、計31種類のデータの組み合わせが存在する。
【0005】
図15は、各頂点が1種類のデータの組み合わせに対応する探索木を示す図である。同図に示す頂点ラベルは、データの組み合わせとともに、その組み合わせを含むデータ組の個数を示している。例えば、データの組み合わせ{R,Y}が出現するデータ組は2つ({R,Y,P}及び{R,B,Y,G})存在する。このため、頂点ラベルに「RY2」と記載されている。同図では、根に近づくほどデータ数が少なくなり、葉に近づくほどデータ数が多くなる。また、辺で接続された頂点について着目すると、子の頂点のデータの組み合わせは、親の頂点のデータの組み合わせに1つデータを付加したものになっている。総当りで探索木の探索を行なうためには、31種類のデータの組み合わせについて出現回数の計算を行なわなければならない。
【0006】
図16は、Aprioriアルゴリズムにより、2回以上出現するデータの組み合わせの抽出方法について説明するための図である。まず、データ数が1つのデータの組み合わせ({R}、{B}、{Y}、{P}及び{G})について上述の出現回数を計算すると、それぞれ2回、3回、3回、1回及び3回となる。データの組み合わせ{P}の出現回数は1回であるため、組み合わせ{P}を含む他の組み合わせについても出現回数は2回未満である。このため、組み合わせ{P}を含む他の組み合わせ(探索木では頂点ラベルP1の子孫の頂点)については、探索を行なう必要がないため、出現回数の計算を打ち切る。同様に、データ数が2つのデータの組み合わせのうち、組み合わせ{R,B}及び{R,G}の出現回数は1回であるため、これらの組み合わせを含む他の組み合わせについても出現回数の計算を打ち切る。これにより、高速に出現回数が2回以上のデータの組み合わせを求めることができる。以上説明したように、Aprioriアルゴリズムでは、目標に到達する見込みがないパターンの探索を途中で打ち切ることにより、高速に頻出パターンを探索することができる。
【0007】
これまでグラフマイニングが対象としてきたグラフは、主に時間とともに変化しないグラフである。
【非特許文献1】R. Agrawal, R. Srikant. Fast Algorithms for Mining Association Rules in Large Databases. Proc. of Very Large Data Base, pp. 487-499, 1994.
【非特許文献2】A. Inokuchi et. al. An Apriori-based Algorithm for Mining Frequent Substructures from Graph Data. Proc. of European Conf. on Principles of Data Mining and Knowledge Discovery, pp. 13-23, 2000.
【非特許文献3】A. Inokuchi, T. Washio, Y. Nishimura, & H. Motoda. A Fast Algorithm for Mining Frequent Connected Subgraphs. IBM Research Report, RT0448 Feb., 2002.
【非特許文献4】M. Kuramochi & G. Karypis. Frequent Subgraph Discovery. Proc. of Int'l Conf. on Data Mining, pp.313-320, 2001.
【非特許文献5】M. Kuramochi & G. Karypis: Finding Frequent Patterns in a Large Sparse Graph. Proc. of SIAM Data Mining, 2004.
【非特許文献6】元田浩. 明示的理解に魅せられて 人工知能学会学会誌 pp. 615-625, 1999.
【非特許文献7】S. Nijssen & J. Kok. A Quickstart in Frequent Structure Mining can Make a Difference. Proc. of Int'l Conf. on Knowledge Discovery and Data Mining, pp. 647-652, 2004.
【非特許文献8】J. Pei, et. al. PrefixSpan: Mining Sequential Patterns by Prefix-Projected Growth. Pro. of Int'l Conf. on Data Engineering, pp. 215-224, 2001.
【非特許文献9】T. Washio & H. Motoda. State of the Art of Graph-based Data Mining. SIGKDD Explorations, Vol. 5, No. 1, pp. 59-68, 2003.
【非特許文献10】X. Yan & J. Han. gSpan: Graph-Based Substructure Pattern Mining. Proc. of Int'l Conf. on Data Mining, pp. 721-724, 2002.
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかし、例えば、グラフが1つの表現法である人間関係ネットワークに於いて将来ハブ(中核、中心)となる人は、ネットワーク参加時からハブの役割を果たしているわけでなく、時間とともにネットワーク構造を変化させながらハブとなりうる位置に変化していく。人間関係ネットワークにおいては、1つのコミュニティをグラフ全体だと考えると、人の参加、脱退が頂点の増減であり、そこで変化する関係の変化が辺の増減である。ホームページによって構成されるネットワーク構造も同様に、発展の過程において、ホームページやハイパーリンクの増減によって、その構造を変化させている。また遺伝子ネットワークにおいても、新規遺伝子の獲得、欠落、突然変異を含む進化の過程においてネットワーク構造が変化している。ディスカッションスレッドに於いては、新たな発言が新たな頂点の発生であり、以前のコメントに対する参照が辺の発生となる木、あるいは有向非巡回グラフの成長だとみなせる。このようなネットワーク構造の変化に関する研究は、今後重要なテーマの1つになると考えられる。
【0009】
しかしながら、従来の部分構造パターンを高速列挙する手法は、静的なデータ構造を対象としているため、時々刻々変化するネットワーク構造から頻出する変化パターンを抽出することができなかった。
【0010】
本発明は、上述の課題を解決するためになされたものであり、時々刻々変化するネットワーク構造から頻出する変化パターンを抽出する頻出変化パターン抽出装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するために、本発明に係る頻出変化パターン抽出装置は、頂点がデータに対応し、辺がデータ間の繋がりに対応するグラフの時間的変化を示す複数のグラフからなるグラフ系列に含まれる第1のグラフから当該第1のグラフと時間的に連続する第2のグラフへの変化を、前記第1のグラフを前記第2のグラフに変更するのに必要な操作を示す操作オペレータで表現することにより、前記グラフ系列を前記操作オペレータの系列に変換する変換部と、前記操作オペレータの系列に対して、Aprioriアルゴリズムで用いられる逆単調性を適用することにより、前記操作オペレータの系列に所定回数以上出現する操作オペレータの系列を抽出する抽出部とを備えることを特徴とする。
【0012】
具体的に、前記操作オペレータは、前記頂点の挿入、前記頂点の削除、前記頂点のラベルの変更、前記辺の挿入、前記辺の削除及び前記辺のラベルの変更の少なくとも1つを含むことを特徴とする。
【0013】
この構成によると、グラフの変化を操作オペレータにより表現している。このため、グラフ(ネットワーク構造)の変化をオペレーション系列でとらえることができ、Aprioriアルゴリズムで用いられる逆単調性を適用することにより、頻出する操作オペレータの系列を抽出することができる。操作オペレータの系列は、グラフの変化を表しているため、頻出するグラフの変化パターンを抽出することができる。
【0014】
好ましくは、上述の頻出変化パターン抽出装置は、さらに、前記グラフ系列に含まれる前記複数のグラフの頂点の和集合及び辺の和集合からなるグラフから他の頂点と接続されない頂点が除外されたグラフである和グラフに対応する操作オペレータの系列を作成する和グラフ対応系列作成部を備え、前記抽出部は、前記和グラフ対応系列作成部で作成された前記操作オペレータの系列に対して、Aprioriアルゴリズムで用いられる逆単調性を適用することにより、当該操作オペレータの系列に所定回数以上出現する操作オペレータの系列を抽出することを特徴とする。
【0015】
和グラフに接続されないグラフは、人間にとって理解困難なグラフと解すことができる。このため、和グラフに接続されたにグラフを除外し、和グラフに含まれる操作オペレータの系列のみを処理の対象とすることにより、人間にとって有用な操作オペレータの系列(グラフの変化パターン)のみを抽出することができる。また、抽出部が評価すべき操作オペレータの系列数を減らすことができ、処理を高速に行なうことができる。
【0016】
さらに好ましくは、上述の頻出変化パターン抽出装置は、さらに、前記変換部で変換された前記操作オペレータの系列で示されるグラフの時間的変化が頂点数が増加するような時間的変化となるように、当該系列に含まれる操作オペレータの順序を変更する順序変更部を備え、前記抽出部は、前記順序変更部で変更された後の前記操作オペレータの系列に対して、Aprioriアルゴリズムで用いられる逆単調性を適用することにより、当該操作オペレータの系列に所定回数以上出現する操作オペレータの系列を抽出することを特徴とする。
【0017】
オペレータの操作順序を入れ替えることにより、Aprioriアルゴリズムで用いられる逆単調性を適用し易くなる。
【0018】
なお、本発明は、このような特徴的な手段を備える頻出変化パターン抽出装置として実現することができるだけでなく、頻出変化パターン抽出装置に含まれる特徴的な手段をステップとする頻出変化パターン抽出方法として実現したり、頻出変化パターン抽出方法に含まれる特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM(Compact Disc-Read Only Memory)等の記録媒体やインターネット等の通信ネットワークを介して流通させることができるのは言うまでもない。
【発明の効果】
【0019】
本発明によると、時々刻々変化するネットワーク構造から頻出する変化パターンを抽出する頻出変化パターン抽出装置を提供することができる。
【発明を実施するための最良の形態】
【0020】
本発明では、グラフマイニング手法を基にして、時間とともに変化するグラフ系列からなるデータに埋もれた頻出変化パターンを効率良く列挙する手法を提案する。
【0021】
本発明が対象とするグラフ変化は、頂点や辺が増減することで起こる構造変化を考慮する。つまり、ネットワーク(グラフ)上を流れる情報や、頂点間の距離なども、構造の変化の原因となりうる重要な要素ではあるが、問題の簡単化のために、本発明では、グラフの構造のみに着目して、議論する。
【0022】
以下、図面を参照しながら本発明の実施の形態に係る頻出変化パターン抽出装置について説明する。
【0023】
図1は、本発明の実施の形態に係る頻出変化パターン抽出装置の機能的な構成を示すブロック図である。
【0024】
頻出変化パターン抽出装置100は、時間とともに変化するグラフ系列の中から頻出する変化パターンを抽出する装置であり、グラフ変化系列記憶部10と、変換部12と、和グラフ対応系列作成部14と、順序変更部16と、抽出部18と、系列候補作成部20と、出現回数算出部22とを備えている。頻出変化パターン抽出装置100は、コンピュータにより構成され、グラフ変化系列記憶部10は、コンピュータ上のメモリ又はハードディスク等の外部記憶装置から構成される。その他の処理部の処理は、コンピュータのCPU上でプログラムを実行させることにより実現される。
【0025】
グラフ変化系列記憶部10は、頂点がデータに対応し、辺がデータ間の繋がりに対応するグラフの時間的変化を示す複数のグラフからなるグラフ系列を複数記憶している記憶装置である。
【0026】
変換部12は、グラフ変化系列記憶部10に記憶されているグラフ変化系列毎に、当該グラフ系列に含まれる第1のグラフから当該第1のグラフと時間的に連続する第2のグラフへの変化を、第1のグラフを第2のグラフに変更するのに必要な操作を示す操作オペレータで表現することにより、グラフ系列を操作オペレータの系列に変換する処理部である。
【0027】
和グラフ対応系列作成部14は、複数の操作オペレータの系列毎に、当該操作オペレータの系列に対応するグラフ系列に含まれる複数のグラフの頂点の和集合及び辺の和集合からなるグラフから他の頂点と接続されない頂点が除外されたグラフである和グラフに対応する操作オペレータの系列を作成する処理部である。
【0028】
順序変更部16は、和グラフ対応系列作成部14で作成された操作オペレータの系列毎に、当該系列で示されるグラフの時間的変化が頂点数が増加するような時間的変化となるように、当該系列に含まれる操作オペレータの順序を変更する処理部である。
【0029】
抽出部18は、複数のグラフ系列に対応する複数の操作オペレータの系列に対して、Aprioriアルゴリズムで用いられる逆単調性を適用することにより、複数の操作オペレータの系列に所定回数以上出現する操作オペレータの系列を抽出する処理部であり、系列候補作成部20と、出現回数算出部22とを含む。
【0030】
系列候補作成部20は、含まれる操作オペレータの数を1つずつ増やしながら操作オペレータの系列候補を作成する処理部である。
【0031】
出現回数算出部22は、複数の操作オペレータの系列における操作オペレータの系列候補の出現回数を算出する処理部である。
【0032】
なお、系列候補作成部20は、操作オペレータの系列候補のうち、出現回数算出部22で算出された出現回数が所定回数以上の操作オペレータの系列候補に対してのみ、操作オペレータの数を1つ増やし、操作オペレータの系列候補を更新する。
【0033】
以上のように構成された頻出変化パターン抽出装置100の処理について、以下に説明する。
【0034】
<1.問題定義>
図2に、グラフ変化系列記憶部10に記憶されているグラフ変化系列の例を示す。g(t)は系列の中でt番目のグラフであり、各g(t)はラベル付きグラフである。本発明では、このようなグラフ変化系列から、頻出変化パターンを列挙するアルゴリズムを提案することを目的とする。この問題を解決するために、課題として考えられるのは、1点目としてグラフ系列の変化を如何に簡潔に表現し、同時に可能な表現の多様性を小さくすることで探索すべき空間を小さくするかが課題となる。図2のg(1)とg(2)は3頂点からなる部分構造が共通であるので、各tにおいて全ての頂点、辺の情報を保持することは簡潔な表現であるとはいえない。そこで本発明では、g(t)とg(t+1)の差分に注目した記述によってグラフ変化系列を表すことを考える。
【0035】
2点目の課題として、どのような特徴をもつパターンp=<gs(1)…gs(m)>を探索するのかが課題となる。例えば、探索するグラフ系列の各グラフgs(t)を制約のないグラフとした場合、探索すべきパターン数が膨大になり、さらに出力されたパターンを理解可能であるとは限らない。例えば、gs(t)に非連結グラフを認めると図3のようなパターンが出力される可能性がある。図3をホームページのネットワーク構造だとした場合に、頂点のBとCは鷲尾研究室のページ、Aはブラジルのある組織のホームページという構造など、至る所に存在しうる部分系列であるので、頻出パターンとして取り出される可能性が大きいが、AとBには何の関連もないために、このようなパターンの意味を理解することは一般には困難であり、人間の興味から外れる場合がある。一方で、各tに於けるグラフが連結であると制約を課すと、図2のようなパターンは探索されない。頂点33と頂点34は各tに於けるグラフ内では繋がっていないが、それらは頂点35を介してなんらかの関係があると理解でき、このようなパターンは探索の対象としたい。汎用性の観点からは、探索対象とするパターンはより制約が少ないパターンであるほうがよいと考えられる。このように、本発明のような問題で探索すべきパターンも自明ではないために、パターンの定義についても議論を行う。
【0036】
ラベル付きグラフgはg=(V、E、L、f)で定義される。ここでV={v1,v2,…,vn}は頂点集合、
【数1】

は辺集合、Lはラベル集合であり、
【数2】

である。本発明で提案する手法は無向グラフについて議論するが、有向グラフにも適用可能である。グラフgとgs=(Vs,Es,Ls,f)が
【数3】

を満たすような関数φが存在するとき、gsをgの部分グラフと呼び、
【数4】

と表す。頂点viからvjに至る辺の集合をパスという。グラフの任意の2頂点間にパスがあるとき、そのグラフを連結グラフという。グラフ系列をd=<g(1)(2)…g(n)>と表す。本発明の目的は入力としてグラフの系列dが与えられたときに、頻出系列p=<gs(1)s(2)…gs(m)>を探索・発見する手法を提案することである。ここで、1≦j1<j2…<jm≦nに対して、
【数5】

であり、この時、
【数6】

と書く。
【0037】
<例1.> 例えば、ホームページのネットワークは、各ページが頂点、ハイパーリンクを辺とするグラフ構造である。グラフの構造は、編集されるたびに構造が変化する。例えば、g(t)はあるサイトにおける第t期目のグラフ構造である。また、各ページはラベルを持たない構造として扱ってもよいが、『大学のページ』、『金融系企業ページ』、『製造業企業ページ』などのようなラベルをもつグラフとして扱ってもよい。ラベルは分析の意図に応じて設定されるものであり、本発明では具体的に特定はしない。
【0038】
どのようなパターンを探索するかについて議論するために和グラフ(Union Graph)を定義する。グラフの各頂点viはユニークID id(vi)を持ち、ユニークIDは時間が経過しても変わらないものとする。前述のホームページの例では、URLがユニークIDに相当する。グラフ集合{g1,…,gn}が与えられたとき
【数7】


【数8】

と定義する。ここでV(gi)、E(gi)はそれぞれ、グラフgiの頂点集合、辺集合である。
【0039】
【数9】

の頂点数は{g1,…,gn}の頂点のユニークIDの異なり数になる。以上の定義より本発明が対象とするパターンを以下のように定義できる。パターンをp=<gs(1)s(2)…gs(m)>とするとき、
【数10】

が連結であるグラフ系列pを探索する。また、この条件を満たすグラフ系列pに含まれる頂点は、“互いに関連している”という。パターンに現れる各グラフgs(i)は非連結かもしれないが、パターンに現れる任意の2頂点は、対象とする期間で互いに関連しているので、出力されるパターン全てが可読(理解可能)であり、先に述べた目的に反しない。
【0040】
文献(例えば、非特許文献5参照)では時間変化のない巨大なグラフを対象として頻出部分グラフをマイニングするSIGRAMを提案している。SIGRAMは頻度集計法を提案しているがパターン列挙法は既存のグラフマイニング手法であるFSG(例えば、非特許文献4参照)を用いている。すなわちパターン列挙法と頻度集計法は別に定義できるものであり、本発明が対象としている問題でも同様である。従って、本発明ではパターン列挙法に主眼をおき、その効率の良い列挙法について提案する。入力データベースDBはグラフ系列diとデータ識別子tidiの集合として、DB={(tidi,di)|di=<gi(1)i(2)…gi(ti)>}とする。このようなデータベースに対し、支持度を
【数11】

と定義する。指定された閾値σ´以上の支持度をもつパターンを頻出パターンと呼ぶ。
【0041】
次に、1つ目のパターン列挙問題について説明する。
【0042】
〈パターン列挙問題1(Simple Problem)〉
グラフの系列の集合DB={(tidi,di)|di=<gi(1)…gi(ti)>}とσ´が入力として与えられた時、
【数12】

が連結である頻出パターンp=<gs(1)…gs(m)>を全て列挙することである。
【0043】
パターンであるグラフの系列を構成する各グラフgs(t)は必ずしも連結であるとは限らない。パターン列挙アルゴリズムとして最も単純な方法は、非連結グラフも出力する頻出部分グラフ列挙アルゴリズムを動かし、各頻出部分グラフをアイテムとして既存の系列パターンマイニングを動作させ、和グラフが連結でないパターンを後処理で除く手法である。しかし、この方法では後処理の直前の段階で、パターンの和グラフが連結であるという条件を満たさないパターンが大量に得られるので非効率である。
【0044】
また、従来の系列パターンマイニング(例えば、非特許文献8参照)のように時間順にアイテムikを1つずつ追加して拡張する方法を考える。取り出したいパターンがi12(i23)i4だとすると、i1,i12,i12(i2),i12(i23),i12(i23)i4、と順にパターンを拡張していく。新たに追加されるアイテムは時間順にみて、必ず最後に発生したアイテムが追加される。しかし、分析の対象がグラフの場合、頻出パターンの1つとして図2が頻出であると事前に分かっていれば、図2のgs(1)に赤い頂点を追加してgs(2)を生成できるが、<gs(1)s(2)>が頻出で、<gs(1)s(2)s(3)>が非頻出の場合には、赤色の頂点を加えたことが無駄であり、非効率である。事前にどのようなパターンが頻出であるか分からない状態で探索するので、上記の目的を達成するには効率の良い探索手法が必要となる。
【0045】
既存の頻出部分グラフマイニング問題との関連を述べると、パターン列挙問題1のtiが全て1であれば、AcGM(例えば、非特許文献3参照)、FSG(例えば、非特許文献4参照)、gSpan(例えば、非特許文献10参照)が対象とした問題と同一となる。また、ti=1でかつ、和グラフの制約を除き、取り出されるパターンがデータベース中のグラフに誘導部分グラフとして含まれるという制約を課すとAGM(例えば、非特許文献2参照)が対象とした問題と同一である。
【0046】
<2.グラフ変更操作オペレータ>
変換部12は、グラフの変化を表現するために、グラフの編集距離を決める手法の1つを用いてg(t)とg(t+1)の差分のみを保持する。具体的には、2グラフの類似度は頂点、辺の追加、削除、ラベルの変更を2グラフが同一なるまで繰り返し適用した最短数により決められる。表1の6種の操作を変更操作オペレータと呼ぶ。
【0047】
【表1】

【0048】
(1)とその後の差分を保持するのも1つの手ではあるが、g(0)を頂点数がゼロのグラフだと考え、g(0)とg(1)の差分を含め、データを保持することで、データを統一的にあつかう。以後、g(0)
【数13】

と表す。各グラフが比較的大きな場合でも、その変更箇所が少なければ、簡潔にデータを保持できる。
【0049】
<例2.> 例えば、図4のような系列を考える。図4は図5のように、頂点、辺の追加、削除の系列によって表すことができる。各頂点の右肩の数字は頂点のユニークIDを表している。このとき、グラフの変化を以下のように表すことができる。
【0050】
【数14】

データベース中のデータdiをdi=<gi(1)i(2)…gi(n)>で表すことをグラフ系列表記と呼び、
【数15】

で表すことを変更操作表記、
【数16】

を変更操作系列表記と呼ぶ。変更操作系列表記sに、ある操作オペレータ
【数17】

が含まれるとき、
【数18】

と書き、グラフ系列表記dに対する変更操作系列表記をseq(d)と書く。変更操作系列表記
【数19】

から幾つかのオペレータを除いて生成される系列s´をsの部分系列であると呼び、
【数20】

で表す。s´がsの部分系列であり、その対応関係をφで表すと、
【数21】

に対し、
【数22】

である。
【0051】
<仮定1.> 変更操作オペレータはg(t)とg(t+1)の最短の編集距離から生成される。従って、1つの変更操作表記中の
【数23】


【数24】

に対して、頂点を追加して、即座に削除というようなt1=t2かつo1=o2という値の組み合わせはないものとする。
【0052】
変更操作系列表記
【数25】

が与えられたとき、sに対する和グラフG=(V、E)を
【数26】

と定義する。また、DB={(tidi,di)|di=<gi(1)…gi(ti)>}に対し、変更操作系列表記のパターンsの支持度を
【数27】

とする。和グラフGは、和グラフ対応系列作成部14により作成される。
【0053】
<パターン列挙問題2.(Extended Problem)>
グラフ系列の集合DB={(tidi,di)|di=<gi(1)…gi(ti)>}とσ´が入力として与えられた時、和グラフが連結であるグラフ変更操作系列表記の頻出パターン
【数28】

を全て列挙することである。この処理は、抽出部18により実行される。
【0054】
<定理1> 支持度はパターンの系列長に対し、逆単調性の性質を持つ。
【0055】
<定理2> グラフデータの系列の集合DB={(tidi,di)|di=<gi(1)i(2)…gi(ti)>}とσ´が与えられた時、パターン列挙問題1、および2で出力される全パターンの集合をそれぞれP1、P2とすると、
【数29】

である。
【0056】
前述のように、本発明では可読なパターンでかつ、制約が少ない(汎用的な)パターンをマイニングすることを目的としている。変更操作系列表記の和グラフの定義より、変更操作系列表記の和グラフが連結であれば、変更操作系列表記中の2頂点viとvjは関連しているといえる。従って、パターン列挙問題2で出力されるパターンは可読性がある。紙面の都合上証明は省略するが、定理2より、パターン列挙問題1で出力されるパターンは、パターン列挙問題2で出力されるパターンに制約を課す(増やす)ことで出力可能であると考える。よって、以降ではパターン列挙問題2について議論する。
【0057】
操作オペレーションOPを定義した際、その適用順序の詳細までは議論しなかった。以下では、操作オペレータの可換性について述べる。ラベルの変更を含む性質は紙面の都合上省略するが同様に定義可能である。以下の説明で、t<t´<t´´を前提とする。なお、操作オペレータの順序変更は、順序変更部16により行なわれる。
【0058】
<頂点の追加→頂点の追加>
ユニークIDがiとjの頂点を追加する場合を考える。グラフg(t)にユニークIDがiの頂点を追加し、続いてjの頂点を追加してグラフg(t´´)が生成されるとき、その追加の順序を以下のように入れ替えても同型のグラフg(t´´)が生成される。
【0059】
【数30】

【0060】
<頂点の追加→頂点の削除>
ユニークIDがiである頂点を追加し、続いてjである頂点を削除する場合を考える。i≠jの場合、この操作でg(t´´)が生成されるとき、その追加の順序を以下のように入れ替えても同型のグラフg(t´´)が生成される。一方、i=jの場合は、追加した頂点を削除する操作なので、順序を入れ替えることはできない。
【0061】
【数31】

【0062】
<頂点の削除→頂点の追加>
ユニークIDがiである頂点を削除し、次にjである頂点を追加する。削除される頂点はユニークIDがiでない頂点から選ばれるので、順序を入れ替え可能である。
【0063】
【数32】

【0064】
<頂点の追加→辺の変更>
辺の追加は
【数33】

、辺の削除は
【数34】

で表されるが、ここでは辺の変更を
【数35】

と表す。
【0065】
【数36】

【0066】
<辺の変更→頂点の追加>
【数37】

【0067】
<頂点の削除→頂点の削除>
【数38】

【0068】
<頂点の削除→辺の変更>
【数39】

【0069】
<辺の変更→頂点の削除>
【数40】

【0070】
<辺の変更→辺の変更>
【数41】

【0071】
<3.パターン列挙アルゴリズム>
前節で示したようにグラフの変化は操作オペレータによって表すことができる。またそれら操作の可換性について示した。パターン列挙アルゴリズムの詳細を示す前に具体例でイメージを示す。なお、パターンの列挙は、抽出部18に含まれる系列候補作成部20及び出現回数算出部22により行なわれる。図6を出力されるパターンの1つとすると、
【数42】

で表される。各オペレータの適用毎に分けて表したのが表2である。可換な範囲でこれらのオペレータの順序を入れ替えることを考える。入れ替えの1つとしては表3であり、それを図示したのが図7である。図7を見ると1つの頂点の追加とそれに付随する幾つかの辺を1つのまとまりとしてグラフを徐々に拡張していくのが分かる。各オペレータの適用順に再度並び替えることで、元のグラフ変化系列パターン(1)が得られる。
【0072】
【表2】

【0073】
一方、表4、及び図8は1つの辺の追加、あるいは1つの辺の追加を頂点の追加を1つのまとまりとしてグラフを拡張させる方法である。適用順序tなどを無視したトポロジーのみの成長のみに着目すると、前者はAcGM(例えば、非特許文献3参照)のパターン成長(AcGM、FSGはPattern Growth法ではなく、Candidate & Test法であるが、ここではどちらもパターン成長という言葉を使う。)であり、後者はgSpan(例えば、非特許文献10参照)のパターン成長法である。また異なるオペレータ順序によってGaston(例えば、非特許文献7参照)のように、パス、根無し木、グラフの順にパターンを成長させることも可能である。以上のように提案手法はオペレータの入れ替えにより様々な既存の頻出グラフマイニング法を統合可能な非常に汎用的な手法である。
【0074】
変更操作系列表記sの骨格(scaffold)系列s´を
【数43】

に対し、t1<t2かつo1=o2であるとき、s´は
【数44】

によって構成されるsの部分系列であると定義する。表3のg1からg8までで形成される操作オペレータ、及び表4のg1からg8までで形成される操作オペレータが、それぞれの系列の骨格である。
【0075】
【表3】

【0076】
<定理3.> 変更操作系列表記パターンsとその骨格系列をs´とし、その対応関係をφとすると、以下が満たされる。
【0077】
【数45】

【0078】
<定理4.> 変更操作系列表記であるパターンsの和グラフとsの骨格系列から得られる和グラフは同型である。
【0079】
以上より、変更操作系列表記で表される頻出パターンsを得るための1つの手段として、sの骨格系列s´を生成し、s´のグラフ和を変えない範囲でs´に変更操作オペレータを加えて拡張していく方法が考えられる。実際、表3のg9以降、及び表4のg9以降の操作オペレータは、骨格の和グラフを変えない範囲でパターンを拡張しているのが分かる。従って、
1.はじめに取り出すべき全パターンの骨格系列を全列挙すること、
2.骨格系列の和グラフを変えない範囲で、骨格系列に含まれない操作オペレータを付け加えてパターンを順次拡張していくこと
の2点からなるアルゴリズムが考えられる。上記のステップ1で骨格系列sの拡張操作をexpand(s)と書く。
【0080】
【表4】

【0081】
<3.1.骨格系列の拡張>
図9は和グラフの頂点数が2までの骨格系列を探索した探索木の一部を表している。図の三角形も探索空間を示しているが、紙面の都合上省略する。骨格系列の探索は、系列候補作成部20及び出現回数算出部22により行なわれる。頂点ラベルの種類はAとBの2種、辺ラベルの種類は−の1種とし、ラベル変更はないものとする。系列候補作成部20が1頂点のパターン候補を作成し、出現回数算出部22が骨格パターンの出現回数を算出することにより、はじめに1頂点のパターンから探索する。このとき、探索木のルートノードの子ノードとして、1頂点で存在可能な全骨格パターン
【数46】

に相当するノードが生成される。パターン内の頂点のユニークIDは1からはじまる整数値とする。続いて、
【数47】

を拡張して、その子ノードを生成する。パターン拡張は、変更操作オペレータの適用順序tが増えるように拡張するのではなく、骨格パターンの和グラフが連結であるように拡張する。拡張法がAcGMであれば、1つの頂点とそれに付随する辺を追加する。拡張法が、FSG、gSpan、Gastonのいずれかであれば、1つの辺とそれに付随する頂点で拡張する。骨格に既に含まれるoをもつ変更操作オペレータでは拡張しない。
【0082】
注意すべきパターンとしては、
【数48】

である。パターン(2)は、t=0でラベルがA、ユニークIDが1である頂点を追加し、同時に頂点対(1,2)に辺を追加する。続いて、t=1でラベルがA、ユニークIDが2である頂点を追加するというパターンである。この情報だけをみると、ユニークIDが2である頂点を追加する前に、辺(1,2)を追加しているため、辺の追加が不可能のように思える。しかし、
【数49】

が頻出であれば、支持度の逆単調性より、その部分系列であるパターン(2)も頻出であるので、パターン(2)も列挙する必要がある。
【0083】
また、パターン(3)は
【数50】

を拡張することで生成されたパターンであるが、ユニークIDが1である頂点の追加順序が変更されている。パターンの操作オペレータ
【数51】

のtは、2つの操作オペレータの適用順序の情報を示すものであるので、このようにパターン中の操作オペレータの適用順序はパターンを拡張するに従って変更されうることに注意されたい。
【0084】
探索木の中で、同型のパターンが唯一現れるとは限らない。例えば、2つの系列
【数52】

は同型である。同型のパターンであるが表記が異なるパターンが何度も生成されると効率が悪くなる。この場合は、骨格パターンの和グラフとその頂点のユニークIDから生成されるグラフコードが正準形(canonical code)であるときに、そのパターンを探索空間に残す。グラフコードは、骨格パターン拡張にAcGM、gSpan、FSG、Gastonなどいずれの手法を使うかに依存する。
【0085】
<3.2.射影データからのパターン拡張>
前節で述べた手法を用いて骨格系列sを生成し、続いて本節で述べるようにsの和グラフを変えない範囲で、骨格系列に含まれない操作オペレータを加えて拡張していく。図4のg8まで、及び図5のg8までがパターンの骨格であり、本節では、g9以降の手続きについて説明する。
【0086】
ある骨格系列sとそれを含むデータ(tidi,di)、その対応関係をφとする。このとき、射影関数projectを
【数53】

と定義する。ここで、d´iは以下を満たす。
【0087】
【数54】

【0088】
<例3.> ある骨格系列sと系列データdiの変更操作系列表記を、それぞれ以下の式であるとする。
【0089】
【数55】

【0090】
このときproject((tidi,di),s)は、以下で表される。
【0091】
【数56】

【0092】
操作オペレータの適用順序tが同じ操作オペレータを括弧で括り、tを除いて系列(4)を記すと
【数57】

となり、オペレータをアイテムとする系列パターンマイニングの系列表記と見なすことができる。入力データ集合と骨格パターンsより
【数58】

を生成し、系列パターンマイニングの入力とすることで、骨格系列sの和グラフを変えない範囲で、パターンを順次拡張することができる。
【0093】
<3.3.擬似コード>
図10に、頻出変化パターン抽出装置100により実行される提案手法の擬似コードを示す。入力として、系列データの集合DBと支持度の閾値σ´を与える。7行目で骨格系列を拡張する。9行目で、骨格系列sが正準形であるかをチェックする。これはgSpanの擬似コードの「if s=min(s)」に相当する手続きである(例えば、非特許文献10参照)。列挙された骨格系列を用いて、15行目で射影データを生成し、系列パターンマイニング手法を用いて、骨格系列の和グラフと同型な和グラフをもつ全パターンを列挙する。図10は、深さ優先探索でパターンを列挙する手法であるが、同様に深さ優先探索で列挙する手法も設計可能である。
【0094】
<4.評価実験、考察>
前節までに述べた手法をC++で実装し、CPUが Core Duo 1.66GHz、メモリが1。5GBのパーソナルコンピュータ(PC)を用いて評価実験を行った。系列パターンマイニングにはPrefixSpan(例えば、非特許文献8参照)を用いた。表5は本実験で用いた人工データのパラメータの意味とその基本設定値を要約したものである。はじめに平均|Vavg|個の頂点をもつラベル付きグラフをN個生成する。頂点ラベルはLv個のラベルから等確率で、2頂点間の辺存在確率はpeで決められる。これが基本パターンの和グラフとなる。各基本パターンについて、
【数59】

からはじめて、操作系列の和グラフが先に生成した和グラフと同型になるまで、変更操作オペレータを1つずつ加えていき、基本パターンの操作系列を生成する。オペレータは、頂点、辺の追加、削除のみとし、操作する頂点、辺をランダムに選択し、確率piで追加か、削除を決定する。同様にして、|DB|個のグラフ系列を生成し、各
【数60】

に対して基本パターンの1つを上書きする。
【0095】
【表5】

【0096】
結果の一部を図11〜図13に示す。図11は、|DB|の変化に対する計算時間の変化である。データ数が増加すると計算時間はそれに比例することが分かる。図12は、p´iを変化させたときの計算時間の変化である。ただし、横軸は、系列中の平均オペレータ数を表している。p´iを減少させると、平均オペレータ数は増加し、計算時間は指数関数的に増加する。図13は、σ´の変化に対する計算時間の変化である。σ´を減少させると、計算時間は増加する。
【0097】
以上説明したように、本発明では、ラベル付きグラフ系列に含まれる、可読な頻出変化グラフ系列パターン列挙法を提案した。グラフ変更操作オペレーションを定義し、その適用順序を入れ替えることで、効率良く列挙することを可能となる。また、人工データを用いて提案方法の評価実験を行い、データ特性の違いによる計算時間の変化を示した。
【0098】
本発明によると、グラフの変化を操作オペレータにより表現することができる。このため、グラフ(ネットワーク構造)の変化をオペレーション系列でとらえることができ、Aprioriアルゴリズムで用いられる逆単調性を適用することにより、頻出する操作オペレータの系列を抽出することができる。操作オペレータの系列は、グラフの変化を表しているため、頻出するグラフの変化パターンを抽出することができる。
【0099】
また、和グラフに接続されないグラフは、人間にとって理解困難なグラフと解すことができる。このため、和グラフに接続されたにグラフを除外し、和グラフに含まれる操作オペレータの系列のみを処理の対象とすることにより、人間にとって有用な操作オペレータの系列(グラフの変化パターン)のみを抽出することができる。また、抽出部が評価すべき操作オペレータの系列数を減らすことができ、処理を高速に行なうことができる。
【0100】
また、順序変更部16がオペレータの操作順序を入れ替えることにより、Aprioriアルゴリズムで用いられる逆単調性を適用し易くなる。
【0101】
なお、上述の実施の形態では、グラフ変化系列記憶部10には、複数のグラフ系列が記憶されているものとして説明を行なったが、1つのグラフ系列のみが記憶されているものであっても良い。この場合には、頻出変化パターン抽出装置100によって、1つのグラフ系列を変換した操作オペレータの1つの系列の中に所定回数以上出現する操作オペレータの系列が抽出される。
【0102】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【0103】
本発明は、時々刻々変化するネットワーク構造に頻出する変化パターンを抽出する頻出変化パターン抽出装置に適用でき、特に、遺伝子構造の変化に頻出する変化パターンを抽出することにより、創薬を支援する創薬支援装置や、人間関係ネットワークにおいてハブとなる人物に共通する人間関係の変化パターンを抽出することにより、幹部候補を発見することを支援する幹部候補発見支援装置等に適用することができる。
【図面の簡単な説明】
【0104】
【図1】本発明の実施の形態に係る頻出変化パターン抽出装置の機能的な構成を示すブロック図である。
【図2】グラフ系列の一例を示す図である。
【図3】不可読なパターンの一例を示す図である。
【図4】入力系列の一部を示す図である。
【図5】グラフ変更操作オペレータによる系列表現の一例を示す図である。
【図6】出力パターンの一例を示す図である。
【図7】表3のグラフ系列表記の一例を示す図である。
【図8】表4のグラフ系列表記の一例を示す図である。
【図9】探索木の一例を示す図である。
【図10】幅優先探索による手法の擬似コードを示す図である。
【図11】|DB|の変化に対する計算時間の変化を示す図である。
【図12】p´iの変化に対する計算時間の変化を示す図である。
【図13】σ´の変化に対する計算時間の変化を示す図である。
【図14】データ組の一例を示す図である。
【図15】探索木と探索木を総当り探索した結果を示す図である。
【図16】Aprioriアルゴリズムにより探索を行なった結果を示す図である。
【符号の説明】
【0105】
10 グラフ変化系列記憶部
12 変換部
14 和グラフ対応系列作成部
16 順序変更部
18 抽出部
20 系列候補作成部
22 出現回数算出部
33、34、35 頂点
100 頻出変化パターン抽出装置

【特許請求の範囲】
【請求項1】
頂点がデータに対応し、辺がデータ間の繋がりに対応するグラフの時間的変化を示す複数のグラフからなるグラフ系列に含まれる第1のグラフから当該第1のグラフと時間的に連続する第2のグラフへの変化を、前記第1のグラフを前記第2のグラフに変更するのに必要な操作を示す操作オペレータで表現することにより、前記グラフ系列を前記操作オペレータの系列に変換する変換部と、
前記操作オペレータの系列に対して、Aprioriアルゴリズムで用いられる逆単調性を適用することにより、前記操作オペレータの系列に所定回数以上出現する操作オペレータの系列を抽出する抽出部と
を備えることを特徴とする頻出変化パターン抽出装置。
【請求項2】
前記操作オペレータは、前記頂点の挿入、前記頂点の削除、前記頂点のラベルの変更、前記辺の挿入、前記辺の削除及び前記辺のラベルの変更の少なくとも1つを含む
ことを特徴とする請求項1に記載の頻出変化パターン抽出装置。
【請求項3】
さらに、前記グラフ系列に含まれる前記複数のグラフの頂点の和集合及び辺の和集合からなるグラフから他の頂点と接続されない頂点が除外されたグラフである和グラフに対応する操作オペレータの系列を作成する和グラフ対応系列作成部を備え、
前記抽出部は、前記和グラフ対応系列作成部で作成された前記操作オペレータの系列に対して、Aprioriアルゴリズムで用いられる逆単調性を適用することにより、当該操作オペレータの系列に所定回数以上出現する操作オペレータの系列を抽出する
ことを特徴とする請求項1又は2に記載の頻出変化パターン抽出装置。
【請求項4】
さらに、前記変換部で変換された前記操作オペレータの系列で示されるグラフの時間的変化が頂点数が増加するような時間的変化となるように、当該系列に含まれる操作オペレータの順序を変更する順序変更部を備え、
前記抽出部は、前記順序変更部で変更された後の前記操作オペレータの系列に対して、Aprioriアルゴリズムで用いられる逆単調性を適用することにより、当該操作オペレータの系列に所定回数以上出現する操作オペレータの系列を抽出する
ことを特徴とする請求項1〜3のいずれか1項に記載の頻出変化パターン抽出装置。
【請求項5】
前記抽出部は、
含まれる操作オペレータの数を1つずつ増やしながら操作オペレータの系列候補を作成する系列候補作成部と、
前記操作オペレータの系列における前記操作オペレータの系列候補の出現回数を算出する出現回数算出部とを備え、
前記系列候補作成部は、操作オペレータの系列候補のうち、前記出現回数算出部で算出された前記出現回数が前記所定回数以上の前記操作オペレータの系列候補に対してのみ、前記操作オペレータの数を1つ増やし、前記操作オペレータの系列候補を更新する
ことを特徴とする請求項1〜4のいずれか1項に記載の頻出変化パターン抽出装置。
【請求項6】
前記グラフ系列は複数存在し、
前記変換部は、グラフ系列毎に、当該グラフ系列に含まれる第1のグラフから当該第1のグラフと時間的に連続する第2のグラフへの変化を、前記第1のグラフを前記第2のグラフに変更するのに必要な操作を示す操作オペレータで表現することにより、前記グラフ系列を前記操作オペレータの系列に変換し、
前記抽出部は、複数の前記グラフ系列に対応する複数の前記操作オペレータの系列に対して、Aprioriアルゴリズムで用いられる逆単調性を適用することにより、前記複数の操作オペレータの系列に所定回数以上出現する操作オペレータの系列を抽出する
ことを特徴とする請求項1〜5のいずれか1項に記載の頻出変化パターン抽出装置。
【請求項7】
頂点がデータに対応し、辺がデータ間の繋がりに対応するグラフの時間的変化を示す複数のグラフからなるグラフ系列に含まれる第1のグラフから当該第1のグラフと時間的に連続する第2のグラフへの変化を、前記第1のグラフを前記第2のグラフに変更するのに必要な操作を示す操作オペレータで表現することにより、前記グラフ系列を前記操作オペレータの系列に変換するステップと、
前記操作オペレータの系列に対して、Aprioriアルゴリズムで用いられる逆単調性を適用することにより、前記操作オペレータの系列に所定回数以上出現する操作オペレータの系列を抽出するステップと
を含むことを特徴とする頻出変化パターン抽出装置。
【請求項8】
頂点がデータに対応し、辺がデータ間の繋がりに対応するグラフの時間的変化を示す複数のグラフからなるグラフ系列に含まれる第1のグラフから当該第1のグラフと時間的に連続する第2のグラフへの変化を、前記第1のグラフを前記第2のグラフに変更するのに必要な操作を示す操作オペレータで表現することにより、前記グラフ系列を前記操作オペレータの系列に変換するステップと、
前記操作オペレータの系列に対して、Aprioriアルゴリズムで用いられる逆単調性を適用することにより、前記操作オペレータの系列に所定回数以上出現する操作オペレータの系列を抽出するステップと
をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2009−205269(P2009−205269A)
【公開日】平成21年9月10日(2009.9.10)
【国際特許分類】
【出願番号】特願2008−44602(P2008−44602)
【出願日】平成20年2月26日(2008.2.26)
【出願人】(504176911)国立大学法人大阪大学 (1,536)
【Fターム(参考)】