Clustering Gruppen (Cluster) ähnlicher Elemente bilden Elemente in einem Cluster sollen sich möglichst ähnlich sein, u. den Elementen in anderen Clustern möglichst unähnlich im Gegensatz zu Kategorisierung unüberwacht, d.h. anfangs keine Kategorien vorhanden Kategorienbildung
Clustern von Dokumenten Wörtern semantische (distributionelle) Ähnlichkeit syntaktische Ähnlichkeit (Wortarten, z.b. [1]) graphematische Ähnlichkeit Phoneme Morpheme Sätze...
Clustern im IR Dokumente explorative Datenanalyse (Text Mining) (semi-)automatisch Kategorienmodell erzeugen Terme Thesaurusgenerierung Suchergebnisse nur Ergebnisliste (cutoff) statt n Dokumente Ergebnisdarstellung www.clusty.com Relevance Feedback: nur Terme aus ausgew. großen Clustern hinzufügen
Clustern: Voraussetzungen Menge von Elementen Ähnlichkeitsmaß zwischen allen Elementen Vektorähnlichkeit (Kosinus) bei Dokumenten distributionelle Ähnlichkeit bei Phonemen, Morphemen, Wörtern Schwellwert für Ähnlichkeit
Dokumente clustern
Dokumente clustern
Dokumente clustern
Dokumente clustern
Dokumente clustern
Clusteringmethoden Nicht-hierarchisch (flach) erzeugend aktualisierend Hierarchisch agglomerativ (bottom-up) partitionierend (top-down)
Clusteringmethoden Nicht-hierarchisch (flach) erzeugend Clique Single Link Star String aktualisierend k-means (Reallocation) EM One Pass Hierarchisch agglomerativ (bottom-up) partitionierend (top-down)
Clusteringmethoden Nicht-hierarchisch (flach) erzeugend aktualisierend Hierarchisch agglomerativ (bottom-up) Single Link Complete Linkage Group Average partitionierend (top-down) Wards Methode
Clusteringmethoden Hard Clustering jedes Element in genau einem Cluster keine überlappenden Cluster Soft Clustering Elemente können in mehreren Clustern sein Grade der Clusterzugehörigkeit überlappende Cluster
Dokumente clustern Voraussetzungen: Menge von n Dokumenten bzw. Dokumentvektoren Ähnlichkeit zwischen allen n Dokumentvektoren n x n Ähnlichkeitsmatrix hoher Rechenaufwand O(n²) gekürzte Dokumentvektoren Ähnlichkeitsschwellwert Relationsmatrix: ähnliche Dokumente = 1, unähnliche = 0 speichern als Adjazenzstruktur n(n-1)/2 Elemente
Ähnlichkeitsmatrix
Relationsmatrix
Nicht-hierarchische Methoden erzeugen neue Cluster Vorteil: Anzahl Cluster muss nicht vorher angegeben werden Laufzeit mindestens O(n²) auf Basis vorhandener Cluster vorhandene Cluster werden aktualisiert Anzahl Cluster muss vorher angegeben werden Laufzeit linear O(n)
Nicht-hierarchische Methoden zum Erzeugen neuer Cluster: Clique Single Link Star String
Clique Jedes Element jedem anderen Element im Cluster ähnlich Ein Element kann in mehrere Cluster gruppiert werden erzeugt viele kleine Cluster aus untereinander ähnlichen Elementen Cluster enthält nur Prototypen Laufzeit O(n³)
Clique-Algorithmus for i = 1 to n do d i in neues Cluster for r = i+1 to n do for k = r to n do if d k zu allen d im akt. Cluster ähnlich then füge d k zu akt. Cluster hinzu lege neues Cluster mit d i an if akt. Cluster enthält nur d i und d i bereits in anderen Clustern then lösche Cluster eliminiere doppelte Cluster oder Untermengen
Clique-Cluster
Single Link neues Element wird Cluster hinzugefügt, wenn es irgendeinem Element im Cluster ähnlich ist findet verbundene Komponenten (connected components) keine überlappenden Cluster erzeugt niedrige Anzahl großer Cluster zwei Elemente im gleichen Cluster müssen sich nicht unbedingt ähnlich sein alle Elemente fungieren als Prototypen Laufzeit O(n²)
Single Link-Algorithmus for i = 1 to n do platziere d i in neues Cluster for r = i+1 to n do for k = r to n do if d k ähnlich zu irgendeinem d im Cluster then füge d k zu Cluster hinzu bilde neues Cluster mit d i, falls noch in keinem Cluster
Single Link-Cluster
Star neues Element wird ins Cluster aufgenommen, wenn es dem ersten Element im Cluster ähnlich ist bildet überlappende Cluster Clusteranzahl u. -Größe zwischen Clique und Single Link erstes Clusterelement fungiert als Prototyp
Star-Algorithmus for i = 1 to n do platziere d i in neues Cluster for r = i+1 to n do for k = r to n do if d k ähnlich zu d i then füge d k zu Cluster hinzu bilde neues Cluster mit d i, falls noch in keinem Cluster
Star-Cluster
String neues Element muss dem zuletzt hinzugefügten Element ähnlich sein Elemente kettenweise zu Clustern verbinden Ketten sind zyklenfreie Pfade durch Relationsgraphen keine überlappenden Cluster Cluster hängen von der Reihenfolge ab Cluster enthalten nur Prototypen
String-Algorithmus for i = 1 to n do platziere d i in neues Cluster for r = i+1 to n do for k = r to n do if d k ähnlich zu d i und d k noch in keinem Cluster then füge d k zu Cluster hinzu d r = d k bilde neues Cluster mit d i, falls noch in keinem Cluster
String-Cluster
Nicht-hierarchische erzeugende Methoden: Vergleich Clique erzeugt homogenste kleinste Cluster in hoher Zahl Single Link erzeugt wenige große Cluster mit schwacher Ähnlichkeit Star und String liegen zwischen den beiden Extremen überlappende Cluster: Clique, Star disjunkte Cluster: Single Link, String
Nicht-hierarchische Methoden auf Basis vorhandener Cluster k-means (Reallocation) One Pass kommen aus ohne vorausberechnete Ähnlichkeitsmatrix Einsatz von Zentroiden geringerer Rechenaufwand Laufzeit O(n) anfängliche Clusterung vorgegeben iterative Revision der Zuordung Dokumente zu Cluster
k-means Anzahl der Cluster am Anfang festgelegt werden zufällig erzeugt alle Elemente werden einem Cluster zugeordnet keine Überlappung Einsatz von Zentroiden
k-means-algorithmus zufällige Cluster erzeugen wiederholen bis Cluster stabil: Zentroide der Cluster berechnen Ähnlichkeit Dokumente Zentroide berechnen Dokumente den Clustern mit ähnlichsten Zentroiden zuweisen
One-Pass-Assignment schnellste Laufzeit: O(n) alle Dokumente werden in einem Durchlauf zugeordnet eignet sich auch für sehr große Dokumentensammlungen es werden aber keine optimalen Cluster gefunden nicht alle Elemente im Cluster sind sich gegenseitig ähnlich Clustering hängt von der Reihenfolge ab
One-Pass-Algorithmus Erstes Dokument ins erste Cluster platzieren Wiederholen bis alle Doks zugewiesen: Zentroid des neuen Clusters berechnen Ähnlichkeit des nächsten Terms mit allen Zentroiden berechnen wenn Ähnlichkeit Dokument-Zentroid über Schwellwert: Dokument ins ähnlichste Cluster sonst Dokument in neues Cluster
Clusteringmethoden Nicht-hierarchisch (flach) erzeugend aktualisierend Hierarchisch agglomerativ (bottom-up) Single Link Complete Linkage Group Average partitionierend (top-down) Wards Methode
Hierarchisches Clustering partitionierend: Wards Methode: Kleinste-Quadrate-Methode in der Praxis schlechte Ergebnisse [4] wird kaum angewandt
Hierarchisches Clustering agglomerativ geringerer Rechenaufwand: mit jeder Bildung eines neuen Clusters wird Zahl der Vergleiche eingeschränkt Laufzeit O(n²) erzeugt baumartige Hierarchien
Hierarchisches agglomeratives Clustering allgemeiner Algorithmus: wiederhole bis nur noch ein Cluster übrig: finde zwei Cluster mit größter Ähnlichkeit vereine beide Cluster Ähnlichkeit zwischen neuem Cluster und übrigen Clustern neu berechnen
Hierarchisches agglomeratives Clustering Ähnlichkeit zwischen zwei Clustern: Single Link: Ähnlichkeit ist maximale Ähnl. zwischen zwei beliebigen Doks aus den Clustern Verbindung durch die beiden ähnlichsten Elemente zweier Cluster Complete Linkage: Ähnlichkeit ist minimale Ähnl. zwischen zwei beliebigen Doks aus den Clustern Group Average: Durchschnittsähnlichkeit aller Doks im Cluster
Vergleich hierarchischagglomerativer Methoden Single Link große Cluster schwach ähnliche Elemente nicht alle Elemente sind sich ähnlich bildet auch langgestreckte Cluster Complete Linkage kleine Cluster sehr ähnliche Elemente Group Average wie Complete Linkage
Dendrogramm
Literaturangaben [1] R. Rapp (1996): Die Berechnung von Assoziationen: Ein korpuslinguistischer Ansatz. Olms Verlag. [2] G. Kowalski (1997): Information Retrieval Systems: Theory and Implementation. Kluwer Academic Publishers. [3] K. Haenelt: Kursfolien: http://kontext.fraunhofer.de/haenelt/kursfolien.html#ircluster [4] A. Hotho, A. Nürnberger, G. Paass (2005): A brief survey of text mining. In LDV-Forum, 20(1).