410 likes | 588 Views
情報知識ネットワーク特論 Data Mining 3: Frequent Tree Mining algorithm. 有村 博紀 , 喜田拓也 北海道大学大学院 情報科学研究科 コンピュータサイエンス専攻 email: {arim,kida}@ist.hokudai.ac.jp http://www-ikn.ist.hokudai.ac.jp/ikn-tokuron/ http://www-ikn.ist.hokudai.ac.jp/~arim .. ( DEWS2003 ミニサーベイ) 半構造データマイニングに関する研究動向. 浅井達哉
E N D
情報知識ネットワーク特論Data Mining 3:Frequent Tree Mining algorithm 有村 博紀,喜田拓也 北海道大学大学院 情報科学研究科 コンピュータサイエンス専攻email: {arim,kida}@ist.hokudai.ac.jphttp://www-ikn.ist.hokudai.ac.jp/ikn-tokuron/http://www-ikn.ist.hokudai.ac.jp/~arim .
(DEWS2003 ミニサーベイ)半構造データマイニングに関する研究動向 浅井達哉 (九州大学 大学院システム情報科学府)
people person person name tel email @age @id @id name #text #text #text 25 608 609 #text John 555-4567 john@abc.com Mary 半構造データ • 大量のウェブページやXML文書が蓄積 • 半構造データ [Abiteboul, Buneman, Suciu 00] • XML [2nd ed, W3C 00] • Tag • Attribute • Text <people> <person age=“25” id=“608”> <name>John</name> <email>john@abc.com</email> </person> <person id=“609”> <name>Mary</name> <tel>555-4567</tel> </person> </people> • 大規模な半構造データの集積から,有益な情報を自動的に抽出する要求が高まっている(半構造データマイニング) 浅井達哉 「半構造データマイニングに関する研究動向」
people person person name tel email @age @id @id name #text #text #text 25 608 609 #text John 555-4567 john@abc.com Mary 半構造データのモデル • ラベルつき順序木 • Each node has a label, which corresponds to: • Markup tag • Attribute & value • Text string • The children of a node are ordered from left to right by the sibling relation • Each node can have unbound number of children (unranked) • ラベルつき無順序木 • ラベルつきグラフ <people> <person age=“25” id=“608”> <name>John</name> <email>john@abc.com</email> </person> <person id=“609”> <name>Mary</name> <tel>555-4567</tel> </person> </people> 浅井達哉 「半構造データマイニングに関する研究動向」
P #text B FONT #text #text @color @face #text blue Times 半構造データマイニングとは? 与えられたラベルつき木やグラフの集合から,特徴的な部分グラフ(パターン)を発見すること • 特徴的なパターン • 頻出パターン多くの文書に共通して出現するパターン • 最適パターン2種類の文書集合を,うまく区別するパターン Minsup = 5(%) 浅井達哉 「半構造データマイニングに関する研究動向」
半構造データマイニングの応用 • スキーマ発見 • 情報抽出 • 文書分類 • 検索の効率化 • データ圧縮 • 複雑な構造をもつデータからの知識発見 • 化学物質 • 遺伝子ネットワーク • ネットワークログ • インターネットのリンク構造 • 電子回路 浅井達哉 「半構造データマイニングに関する研究動向」
半構造データマイニングの歴史 MDL原理にもとづく部分グラフ発見アルゴリズムSubdue [Holder et al. (KDD’94)] ~1995 1996 1997 1998 1999 2000 2001 2002 頻出パス列発見手法[Wang and Liu (KDD’97)] 半構造スキーマ発見手法[Nestrov, Abiteboul et al. (SIGMOD’98)] 頻出部分グラフ発見アルゴリズムAGM [Inokuchi et al. (PKDD’00)] 頻出部分グラフ発見アルゴリズムFSG [Kuramochi et al. (ICDM’01)] 頻出順序木発見アルゴリズムFREQT [Asai et al. (SDM’02)],Treeminer [Zaki (KDD’02)] 頻出部分グラフ発見アルゴリズム[Venetik, Gudes, et al. (ICDM’02)],gSpan [Yan and Han (ICDM’02)] 浅井達哉 「半構造データマイニングに関する研究動向」
半構造データマイニングのさきがけ • Holder, Cook, Djoko [KDD’94] • グラフマイニングシステムSUBDUE • すべての出現を取り除いて得られるグラフの大きさが最小となるような部分グラフを発見(MDL原理) • グラフの圧縮に応用 • Nestrov, Abiteboul, Motwani [SIGMOD’98] • 論理プログラムを用いたグラフマイニング • 入力グラフをできるだけ広く覆うパターンを計算 • 半構造データからのスキーマ発見に応用 浅井達哉 「半構造データマイニングに関する研究動向」
木構造データからの頻出パターン発見手法 • Wang & Liu [KDD’97; TKDE, 2000] , Cong, Yi, Liu, Wang [SDM’02] • 木を経路の集合とみなして,頻出パス列を発見 • 各経路をアイテムとみなしたApriori風のアルゴリズム • Miyahara, et al. [PAKDD’01,PAKDD’02] • グラフ変数つき順序木・無順序木パターンを発見 • 高速なマッチング手法+単純な生成テスト法 X Y 浅井達哉 「半構造データマイニングに関する研究動向」
木構造データからの頻出パターン発見手法 頻出順序木パターンを発見する効率のよいアルゴリズム • FREQT [Asai et al. (SDM’02, PKDD’02)] • 最右拡張を用いた効率のよい順序木の枚挙 • 最右葉出現の漸増的な更新 • Treeminer [Zaki (SIGKDD’02)] • 効率のよい順序木の枚挙 • 我々の研究とは独立 浅井達哉 「半構造データマイニングに関する研究動向」
C C X X H H H グラフ構造データからの頻出パターン発見手法 • Inokuchi, Washio, Motoda [PKDD’00] • AGM: “An Apriori-based Algorithm for Mining Frequent Substructures from Graph Data” • Kuramochi & Karypis [ICDM’01, ICDM’02] • FSG: “Frequent Subgraph Discovery” • Vanetik, Gudes, Shimony [ICDM’02] • “Computing frequent graph patterns from Semi-structured data” • Yan & Han [ICDM’02] • gSpan: “gSpan: Graph-based substructure pattern mining” 浅井達哉 「半構造データマイニングに関する研究動向」
people person person name tel email @age @id @id name #text #text #text 25 608 609 #text John 555-4567 john@abc.com Mary 頻出パス列発見手法 [Wang and Liu (KDD’97)] • 順序木をパスの列に分解 • 各パスをアイテムとみなして,Apriori風に頻出パス列を発見 浅井達哉 「半構造データマイニングに関する研究動向」
person person people people people people people people people 頻出パス列を発見 person person person person person @id name person person name tel Apriori #text email @age @id @id name #text #text #text 25 608 609 person #text John 555-4567 john@abc.com @id name Mary 再構造化 #text 頻出パス列発見手法 [Wang and Liu (KDD’97)] • 順序木をパスの列に分解 • 各パスをアイテムとみなして,Apriori風に頻出パス列を発見 パスのワイルドカードを扱えるよう拡張 [Cong, Liu, Yi, Wang (SDM2002)] 浅井達哉 「半構造データマイニングに関する研究動向」
頻出パス列発見手法 [Wang and Liu (KDD’97)] この手法の問題点 • 兄弟が同一ラベルをもつ場合,木の枝分かれ構造が失われる • Apriori風に解候補の探索を行うため,効率が悪い すべての頻出順序木を厳密に発見する計算効率のよいアルゴリズムが必要 浅井達哉 「半構造データマイニングに関する研究動向」
頻出順序木発見アルゴリズムFREQT[Asai et al. (SDM2002)] • 与えられた順序木の集合から,すべての頻出順序木パターンを効率よく発見するアルゴリズム • 最右拡張を用いた効率のよい順序木の枚挙 • 最右葉出現の漸増的な更新 浅井達哉 「半構造データマイニングに関する研究動向」
FREQTの概要 Fk :サイズkのすべて頻出パターンの集合 Ck : Fkの候補集合 • F1を計算 • Fk-1 からFk を計算 • 効率のよい順序木の枚挙(Fk-1から Ck) • 同時に,その出現位置リストを更新 • 頻出パターンを選択(Ckから Fk) 浅井達哉 「半構造データマイニングに関する研究動向」
ステージ1 ステージ2 ステージ3 ステージ4 F1 F2 F3 F4 解候補の探索 浅井達哉 「半構造データマイニングに関する研究動向」
Fk-1 からFk を計算 ステージ k Fk-1 Ck Fk 頻出? 頻出 (k-1)パターン 頻出 kパターン 頻出 kパターンの候補 浅井達哉 「半構造データマイニングに関する研究動向」
FREQTの概要 Fk :サイズkのすべて頻出パターンの集合 Ck : Fkの候補集合 • F1を計算 • Fk-1 からFk を計算 • 効率のよい順序木の枚挙(Fk-1から Ck) • 同時に,その出現位置リストを更新 • 頻出パターンを選択(Ckから Fk) 浅井達哉 「半構造データマイニングに関する研究動向」
集合枚挙木 [Bayardo (SIGMOD’98)] • 有限集合Aのすべての部分集合を重複なく枚挙する手法 A = {1,2,3,4} の集合枚挙木 φ {1} {2} {3} {4} {1,2} {1,3} {1,4} {2,3} {2,4} {3,4} {1,2,3} {1,2,4} {1,3,4} {2,3,4} {1,2,3,4} 浅井達哉 「半構造データマイニングに関する研究動向」
集合枚挙木 [Bayardo (SIGMOD’98)] • 有限集合Aのすべての部分集合を重複なく枚挙する手法 A = {1,2,3,4} の集合枚挙木 φ {1} {2} {3} {4} {1,2} {1,3} {1,4} {2,3} {2,4} {3,4} {1,2,3} {1,2,4} {1,3,4} {2,3,4} {1,2,3,4} Apriori [Agrawal 94] 浅井達哉 「半構造データマイニングに関する研究動向」
順序木Sの最右拡張T • (d,l)-expansion T of tree S • The tree T obtained by attaching new node k to the rightmost branch of S. • k is the rightmost leaf of T. • (d, l): depth and label of k 1 d -1 k l S k-1 浅井達哉 「半構造データマイニングに関する研究動向」
順序木パターンの探索木 A generalization of set enumeration tree [Bayardo 97] for ordered trees ⊥ B (0,B) (1,B) (1,B) B B B B (0,A) B (1,A) (1,A) A B B (2,B) (1,A) (1,B) (2,A) B A A B A B A • The root is the empty tree. • Each node is an ordered tree, and has its (d, l)-expansions as its children. B B B A B A 浅井達哉 「半構造データマイニングに関する研究動向」
FREQTの概要 Fk :サイズkのすべて頻出パターンの集合 Ck : Fkの候補集合 • F1を計算 • Fk-1 からFk を計算 • 効率のよい順序木の枚挙(Fk-1から Ck) • 同時に,その出現位置リストを更新 • 頻出パターンを選択(Ckから Fk) 浅井達哉 「半構造データマイニングに関する研究動向」
パターンの出現数の計算 ルート出現 OccD(T) = {4, 7} パターンT データ木D A 1 r マッチング関数φ C B 2 C A 7 3 11 8 10 B A C A B 4 9 C B B 最右葉出現RMOD(T) = {6, 11} 5 6 浅井達哉 「半構造データマイニングに関する研究動向」
最右葉出現の漸増的な更新 • Scan the list of old rightmost-leaf occurrences • For each old occurrence x, • Go upward to the (p-1)th parenth of x • Starting from h, scan its proper younger siblings. • Add siblings with label A to the new rightmost occ. list. (p,A)-expansion of T Data Tree D k p p h A p - 1 A B C A A Pattern T proper younger siblings k-1 An occurrence of T x List of Old Right-most occurrences An old occurrence 浅井達哉 「半構造データマイニングに関する研究動向」
FREQTの性能評価 • Scalability • Dataset: citeseers • Minimum support: s=3.0(%) fixed • Increasing the data size from 0.3MB to 5.6MB. 178,285ノードに対して 1.39秒 Runtime (sec) # of nodes 浅井達哉 「半構造データマイニングに関する研究動向」
最適パターン発見アルゴリズムOPTT[Abe et al. (PKDD’02)] • 最適パターン発見では、以下をみたすパターンを見つける • positiveに頻出,negativeに非頻出 • positiveにもnegativeにも同程度で出現するパターンは見つけない • 木やグラフの分類に応用 Pattern P matched unmatched Positive data Negative data 浅井達哉 「半構造データマイニングに関する研究動向」
実験2:映画データベースからの構造抽出 データ:IMDB (アクション映画×50)データサイズ:1.05 MB/102,493 ノードパターンサイズ:1218ノード(サポート50%)深さ優先探索版FREQT 応用例:FREQTウェブページからの頻出部分構造発見 実験1:CGI生成されたウェブページからの反復構造抽出 <a href=“_”> <font color=“#6F6F6F”> #text_1 </font> </a> <p> #text_2 <b> #text_3 <!-- CITE--> <font color=“green”> #text_4 </font> #text_5 </b> #text_6 <br /><br /> <font color=“#999999”> #text_7 <i> #text_8 </i> #text_9 </font> </p> • スキーマ発見に有効 • DataGuide [Widom, Garcia-Molina et al. (VLDB’97)] 浅井達哉 「半構造データマイニングに関する研究動向」
見つかった最適パターンの例 出現数:正例 10,負例 0<movie> <certification> <certif> sweden:15 </certif> </certification></movie> 出現数:正例 1,負例 12<movie> <title /> <genre> animation <genre></movie> 応用例: OPTTXMLデータからの最適パターン発見 正例:アクション映画15タイトル 負例:ファミリー映画15タイトル アルゴリズムOPTT • 文書分類に有効 浅井達哉 「半構造データマイニングに関する研究動向」
Treeminer [Zaki (SIGKDD’02)] • 効率のよい頻出順序木パターン発見アルゴリズム • FREQTと類似 • 順序木の枚挙法は,FREQTと同じ最右拡張 • 木のマッチングは, FREQTと異なる • Treeminerでは,親子関係にギャップを許したマッチングを採用 • 我々の研究とは独立 浅井達哉 「半構造データマイニングに関する研究動向」
5938 16470 24754 24755 24756 47387 47397 応用例:ウェブログからのアクセスパターン発見 あるユーザのウェブアクセスログ <userSession name=”ppp0-69.ank2.isbank.net.tr” …><uedge source=“5938” target=“16470” utime=“7:53:46”/><uedge source=“16470” target=“24754” utime=“7:56:13”/><uedge source=“16470” target=“24755” utime=“7:56:36”/><uedge source=“24755” target=“47387” utime=“7:57:14”/><uedge source=“24755” target=“47397” utime=“7:57:28”/><uedge source=“16470” target=“24756” utime=“7:58:30”/> ウェブ閲覧木 実験:1009件のウェブアクセスログから頻出パターンを発見 Path/sair_listesi.html 見つかったパターンの例 Path/poems/akgun_akova/index.html Akova/biyografi.html Akova/picture.html Akova/contents.html 浅井達哉 「半構造データマイニングに関する研究動向」
Cl Cl C C Cl H Cl C Cl C Cl H Cl 0 1 0 0 0 0C 1 0 1 2 0 0Cl 0 1 0 0 0 0C 0 2 0 0 1 1Cl 0 0 0 1 0 0H 0 0 0 1 0 0 AGM [Inokuchi, Washio, Motoda (PKDD’00)] • AGM = Apriori-based Graph Mining • 隣接行列表現を用いて,Apriori風に頻出部分グラフを発見するアルゴリズム • パターンの生成法 • 隣接行列の正準形を効率よく計算 隣接行列の正準形 行と列を入れ替えてCodeが最小となるような隣接行列 トリクロロエチレン Code = 101020000100010 浅井達哉 「半構造データマイニングに関する研究動向」
A A A B FSG [Kuramochi & Karypis (ICDM’01)] • FSG = Frequent SubGraph discovery • 隣接行列表現を用いて,Apriori風に頻出部分グラフを発見するアルゴリズム v1 v2 v3 v4 v1 0 1 0 0 v2 1 0 1 2v3 0 1 0 0v4 0 2 0 0 v1 v4 v3 v2 v1 0 0 0 1 v4 0 0 0 2v3 0 0 0 1v2 1 2 1 0 v1 v2 v4 v3 各ノードを,ラベルとランクの組ごとに分割 浅井達哉 「半構造データマイニングに関する研究動向」
[Vanetik, Gudes, Shimony (ICDM’02)] • 頻出パスにbijective sumとspliceの操作を繰り返し,Apriori風に頻出部分グラフを発見するアルゴリズム Bijective sum Splice 浅井達哉 「半構造データマイニングに関する研究動向」
gSpan [Yan & Han (ICDM’02)] • gSpan = graph-based Substructure pattern mining • 頻出部分グラフ発見アルゴリズム • グラフのDFS木を効率よく生成 浅井達哉 「半構造データマイニングに関する研究動向」
H X C C H C C C C C C X X H H H 応用例:化学物質データからの知識発見 化学物質の発ガン性を判定するルールを発見 データ300種類の化学物質(うち185種類が発ガン性あり) 発ガン性あり 発ガン性あり 見つかったルール 浅井達哉 「半構造データマイニングに関する研究動向」
これからの展望 • 半構造データ(ラベルつき木やグラフ)の検索とデータマイニング • ますます注目度アップ • Algorithms and Applications of Tree and Graph Searching(PODS’02チュートリアル)[Shasha, Wang, Giugno] • 化学物質や遺伝子ネットワークからのデータマイニング • オンラインデータマイニング • Models and Issues in Data Stream Systems(PODS’02招待講演)[Motwani] 浅井達哉 「半構造データマイニングに関する研究動向」