Tree Mining 2 Warum Tree-Mining? Tree-Mining Philipp Große Theoretische Probleme des Graphminings: Kein effektiver Algorithmus zur systematischen Nummerierung von Subgraphen bekannt Kein effizienter Algorithmus zu Ermittlung isomorphen Subgraphen bekannt Jedoch in der Praxis: Häufig wenige Zyklen, oder gar Azyklisch Tree Mining 3 Tree Mining 4 Anwendungsgebiete Programmablauf Optimierung Web Mining ioinformatik Data Mining XML Dokument Mining aumtypen Free tree Rooted unordered tree Rooted ordered tree 0 1 2 3
Tree Mining 5 Kanonische Repräsentation für beschriftete äume Rooted ordered trees Pre-order String: AD0E0F00CG000 Depth sequences: D E F C G ((0,A),(1,),(2,D),(2,E),(2,F),(1,C),(2,G)) Rooted unordered trees Sorted pre-order string Free trees A ottom-up ST D E F Induced ST D F Embedded ST Tree Mining 6 Subtreetypen A C D E F G A D F C ottom-up ST Induced ST Embedded ST Tree Mining 7 Mining Frequent Subtree Gegeben: Grenzwert minfreq Klasse von äumen C transitive subtree Relation P T zwischen P,T C Endlichen Datensatz D C Problem: Finde alle P C so dass Keine 2 P isomorph zueinander P P : sup(p,d) = Σ T D d(p,t) minfreq T C : d(p,t) d(p,t) wenn P P Einfachster Fall: Tree Mining 8 naive Lösung für ottom-up subtree Mining 1. ringe D in pre-ordered string Format O( V D ) 2. Inizalisiere Array von Pointern O( V D ) auf alle Knoten der D 3. Sortiere Pointer durch O(m V D log V D ) vergleich der Strings der Subtrees 4. Zähle die Häufigkeit O( V D ) V D = Anzahl der Knoten in der D D m = Anzahl der Knoten im größen aum der D D sup(p,d) oder sup(p,d)/ D
Tree Mining 9 Tree Mining 10 Generelles Vorgehen Naive Lösung nicht für Induced und Embedded ST möglich Generat-and-test Methode: (1) erechne sup(p) für alle T D, P T (2) P = succ(p), goto (1) Kein effizienter Algorithmus sollte höhere Komplexität haben Rooted Ordered Embedded Subtrees Nützt Eigenschaft der Stringdarstellung von rooted ordered trees: Löschen einer der 2 letzen Knoten im String erzeugt einen Embedded Subtree t3,t4,t5,t6 durch-löschen t1 oder t2 t1 und t2 teilen gleiches (k-1)-präfix Tree Mining 11 Tree Mining 12 Diese Eigenschaft nutzt man nun Umgekehrt Indem man Schrittweise Pattern Trees mit gleichen (k-1)-prefix joint Aufzählung Datenbasis der Pattern Trees Zur Ermittlung des Supports verwendet TreeMinder Scopelisten (t, M, S) t = TransaktionsId M = Liste von Knoten auf die (k-1) von P gemapped wird S = Scope des rightmost Vertex von P Scopes der Knoten Scope-List Join
Tree Mining 13 Tree Mining 14 FreqT Problem: Scopelist kann größer als Texttree werden eispiel: Rooted Ordered Induced Subtrees Nutzt einen extension-only Ansatz zur Erzeugung der Pattern Trees Vorverarbeitungsschritt: Ermittlung aller frequent Labels Schrittweise anhängen eines neuen Knotens an den rightmost path Obwohl T nur m Subtrees hat Gibt es Untermengen von T auf die P abgebildet werden kann. Daher ist es möglich das schlechtere Komplexität als der Naive Algorithmus Tree Mining 15 FreqT Zur Ermittlung des Supports verwendet FreqT occurrence lists Datenbasis Occurence List Tree Mining 16 Der Datensatz: Web Access Trees einer Homepage Anzahl der Labels: L=100 Anzahl der Knoten des Mastertrees : M=10.000 Anzahl der Knoten in der D: N=2.563.796 Maximale Tiefe: D=10 Maximale Verzeigungen: F=10 Anzahl der Subtrees: T=1.000.000 Occurence List ist sehr gut skalierbar da unabhängig von Größe der frequent ST und durch V D beschränkt
Tree Mining 17 Tree Mining 18 Tree Mining 19 Tree Mining 20 Vielen Dank für eure Aufmerksamkeit
Tree Mining 21 Quellen Yun Chi, Richard R. Muntz, Siegfried Nijssen, Joost N. Kok: Frequent Subtree Mining An Overview; 2005 T. Asai, K. Abe, S. Kawasoe, H. Arimura, H. Sakamoto, S. Arikawa: Efficient Substructure Discovery from Large Semistructured Data; April 2002 Mohammed J. Zaki: Efficiently Mining Frequent Trees in a Forest; July 2002