Clustering Text Mining Wissensrohstoff Text Gerhard Heyer Universität Leipzig [email protected] Institut für Informatik Clustering Clustering und Klassifikation – Grundlegende Unterscheidungen, Definitionen Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 2 Clustering Ziele Zuordnung/Einteilung von Instanzen zu/in Klassen Klassifikation: Klassen sind vorher bekannt, z.B. aus Trainingsmenge berechnet • • Clustering: Klassen sind vorher nicht bekannt. Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 3 Clustering Aufgaben • Clustering: Finden von ähnlichen Datensätzen – • Wie lässt sich die Datenmenge so in mehrere Teile teilen, dass diese sich deutlich voneinander unterscheiden? Klassifikation: Zuordnung eines Datensatzes zu einem gegebenen Typ – – Die Klassen sind (evtl. durch Beispiel-Datensätze) vorgegeben. Ziel ist ein Verfahren, welches alle Datensätze auf diese Klassen verteilt. Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 4 Clustering Anwendungen • • • • • Gruppierung von Dokumenten nach semantischer Ähnlichkeit Gruppierung von Wörtern nach semantischer Ähnlichkeit Suche nach ähnlichen Dokumenten Untersuchung der enthaltenen Themen in einem gegebenen Korpus … Prof. Dr. G. Heyer 5 Text Mining – Wissensrohstoff Text Clustering Clustering Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 6 Clustering Vertiefende Aufgabenstellung Einteilung von Instanzen in „natürliche“ Gruppen (Cluster) • Gruppen werden nicht vorgegeben, sondern aus der Struktur der Menge der Instanzen abgeleitet • Die Anzahl der Gruppen kann fest vorgegeben sein oder muss vom Algorithmus ermittelt werden. Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 7 Clustering Vertiefende Aufgabenstellung Anforderungen an die Einteilung: ● ● Homogenität innerhalb der Cluster: Die Elemente eines Clusters sollten untereinander möglichst ähnlich sein. Heterogenität zwischen den Clustern: Elemente aus verschiedenen Clustern sollten zueinander möglichst unähnlich sein. Metriken Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 8 Clustering Vertiefende Aufgabenstellung Clustering ist nicht trivial. Teilen Sie die folgenden 4 Begriffe in je zwei Klassen: • Strauß, Wal, Pinguin, Zebra • Enkel, Enkelin, Oma, Opa Clustering ist heuristisch: Die optimale Einteilung zu finden ist NP-vollständig, deshalb verschiedene Clusteringverfahren mit verschiedenen Anwendungsgebieten Neben den Clusterverfahren ist die Auswahl der Objektmerkmale (features) entscheidend Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 9 Clustering Verfahren für Clustering und Evaluierung Verschiedene Modelle und Algorithmen • • • • Cluster sind disjunkt oder dürfen sich überlappen Verfahren sind deterministisch oder probabilistisch Cluster sind hierarchisch angeordnet oder nicht Der Algorithmus kann inkrementell lernen oder nur global. Evaluierung • • Gewöhnlich muß vom Menschen entschieden werden, ob das Clustering „gut“ war. Betrachtet man als Qualitätsmaß die Verteilung der Attribute auf die Cluster, ist eine automatische Bewertung möglich. Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 10 Clustering Beispiel: Tage und Monate Jahres _____________________ Uhr, Ende, abend, vergangenen, Anfang, Jahres, Samstag, Freitag, Mitte, Sonntag Donnerstag _ | Uhr, abend, heutigen, Nacht, teilte, Mittwoch, Freitag, worden, mitteilte, sagte Dienstag _|_ | Uhr, abend, heutigen, teilte, Freitag, worden, kommenden, sagte, mitteilte, Nacht Montag _ | Uhr, abend, heutigen, Dienstag, kommenden, teilte, Freitag, worden, sagte, morgen Mittwoch _|_|_ | Uhr, abend, heutigen, Nacht, Samstag, Freitag, Sonntag, kommenden, nachmittag Samstag ___ | Uhr, abend, Samstag, Nacht, Sonntag, Freitag, Montag, nachmittag, heutigen Sonntag _ Freitag _|_|_|_____________ Januar _________________ August _______________ Juli _____________ März ___________ Mai _________ September _______ Februar _ | | | | | | | | Uhr, Januar, Jahres, Anfang, Mitte, Ende, März, November, Samstag, vergangenen Dezember _|___ | | | | | | | | Uhr, Jahres, Ende, Anfang, Mitte, Mai, Januar, März, Samstag, vergangenen November _ | | | | | | | | | Uhr, Jahres, Ende, Anfang, Mitte, September, vergangenen, Dezember, Samstag Oktober _|_ | | | | | | | | | Uhr, Ende, Jahres, Anfang, Mai, Mitte, Samstag, September, März, vergangenen April _ Juni _|_|_|_|_|_|_|_|_|_|_|_ | | | | | Uhr, abend, Samstag, Nacht, Montag, kommenden, morgen, nachmittag, vergangenen | Uhr, abend, Ende, Jahres, Samstag, Anfang, Freitag, Sonntag, heutigen, worden | | Uhr, Ende, Jahres, Anfang, Mitte, Samstag, Mai, August, März, Januar | | | Uhr, Ende, Jahres, Anfang, Mitte, Samstag, Mai, August, Januar, März | | | | Uhr, Jahres, Ende, Anfang, Mitte, Mai, Samstag, August, Januar, März | | | | | Uhr, Ende, Jahres, Anfang, Mitte, Samstag, Mai, Januar, März, April | | | | | | Uhr, Ende, Jahres, Anfang, Mitte, Samstag, März, Januar, Mai, vergangenen | | | | | | | Uhr, Ende, Jahres, Anfang, Mitte, Mai, Januar, März, Samstag, vergangenen | | | | | | | | | | Uhr, Ende, Jahres, Mai, Anfang, März, Mitte, Prozent, Samstag, Hauptversammlung Wo wird abgeschnitten? Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 11 Clustering Beispiel: Chefs und Äußerungsverben Chefs Präsident _________ Vorsitzender _______ sagte, Boris Jelzin, erklärte, stellvertretende, Bill Clinton, stellvertretender, | sagte, erklärte, stellvertretende, stellvertretender, Richter, Abteilung, bestätigte Vorsitzende ___ | | sagte, erklärte, stellvertretende, Richter, bestätigte, Außenministeriums, teilte, Sprecher _ | | sagte, erklärte, Außenministeriums, bestätigte, teilte, gestern, mitteilte, Anfrage Sprecherin _|_|_ Chef _ Leiter _|___|_|_|_ | | | sagte, erklärte, stellvertretende, Richter, Abteilung, bestätigte, Außenministeriums, | | | Abteilung, Instituts, sagte, sagt, stellvertretender, Professor, Staatskanzlei, Dr. Äußerungsverben verwies _____________ mitteilte ___________ meinte _______ bestätigte_____ Sprecher, werde, gestern, Vorsitzende, Polizei, Sprecherin, Anfrage, Präsident, gebe | Sprecher, werde, gestern, Vorsitzende, Polizei, Sprecherin, Anfrage, Präsident, Montag | | Sprecher, werde, gestern, Vorsitzende, Sprecherin, Anfrage, Präsident, gebe, Interview | | | Sprecher, werde, gestern, Vorsitzende, Sprecherin, Anfrage, Präsident, gebe, Interview | | | | Sprecher, werde, gestern, Vorsitzende, Sprecherin, Präsident, gebe, Interview, würden, betonte ___ sagte _ erklärte _|_|_|_|_ warnte _ sprach _|_______|_|_|_ | | | Prof. Dr. G. Heyer | | Sprecher, werde, gestern, Vorsitzende, Sprecherin, Präsident, gebe, Interview, würden | | Sprecher, werde, gestern, Vorsitzende, Sprecherin, Präsident, Anfrage, gebe, Interview | | | Präsident, Vorsitzende, SPD, eindringlich, Ministerpräsident, CDU, Außenminister, Text Mining – Wissensrohstoff Text 12 Clustering Grundlegende Konzepte Klassische Kombination der Faktoren Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 13 Clustering Grundlegende Konzepte Klassische Ansätze für die Berechnung der Komponenten Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 14 Clustering Verfahren für Clusteringalgorithmen Verarbeitungsrichtung Top-down vs. Bottom-up Ähnlichkeitsabstände Single-link: minimaler Abstand zweier Elemente Complete-link: maximaler Abstand Group-averaging: Durchschnittsabstand Clusteringprozess Single-Pass-Clustering (SPC) - jedes Element wird nur ein Mal betrachtet - entweder Dazuclustern oder neues Cluster aufmachen Iteratives Verbessern 1. Initiale Clustereinteilung C(0) bestimmen, t=0 2. Zuordnung aller Elemente zu Clustern aus C(t) 3. Cluster optimieren, t++, neue Einteilung C(t) 4. Falls noch zu viel Änderung, gehe zu Schritt 2 Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 15 Clustering Abstands- und Ähnlichkeitsfunktionen • • • Einfachster Fall: Ein numerisches Attribut – Wähle die Differenz der Werte (oder eine Funktion davon) Mehrere numerische Attribute – Normiere die Attribute – Wähle den Euklidischen Abstand Nominale Attribute – Abstand 0 oder 1 je nachdem, ob die Werte gleich oder verschieden sind – Gewichte die Werte nach lokaler, globaler oder normierter Relevanz Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 16 Clustering Ähnlichkeitsmaße Varianten der Bestimmung der Ähnlichkeit von Clustern A und B anhand der enthaltenen Elemente L1Norm L2Norm n d x, y L1 x, y xi yi i 1 d x, y L2 x, y x y n x y 2 i i 1 i n Cosinus x× y sim ( x, y ) = cos a ( x, y ) = = x y n Dice Jaccard Prof. Dr. G. Heyer 2x × y sim ( x, y ) = 2 2 = x +y 2å xi yi åx y i =1 Bemerkung i i n n å xi 2 å yi 2 i =1 i =1 d(x,y) = 1- sim(x,y), wenn sim(x,y) im Bereich von 0 bis 1 liegt. i =1 n n i =1 i =1 å xi 2 + å yi 2 x× y sim ( x, y ) = 2 2 = x + y - x× y Umwandlung von sim(x,y) d(x,y): n åx y n i =1 n i =1 i =1 i i n å xi 2 + å yi 2 - å xi yi Text Mining – Wissensrohstoff Text i =1 17 Clustering Abstandfunktionen • • Bei Abstand zwischen Clustern wird ein Cluster durch eines seiner Elemente oder durch ein fiktives Element (Zentroid) vertreten. Zentroid: Betrachte fiktives Element mit Attributwerten berechnet als Mittelwert der (numerischen) Attribute der Elemente Sind alle Attribute gleich wichtig? Eine unterschiedliche Gewichtung der Attribute ist möglich. Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 18 Clustering Abstandsfunktionen für Cluster Maße zur Bestimmung des Abstandes zwischen Individuen bzw. zwischen einem Individuum und einem Centroiden: Single Linkage Complete Linkage d single ( A, B ) = min {d ( a, b )} minimaler Abstand zweier Elemente d complete ( A, B ) = max {d ( a, b )} maximaler Abstand zweier Elemente aÎA,bÎB aÎ A,bÎB Average Linkage Average Group Linkage d average ( A, B ) = 1 A B d averagegroup ( A, B ) = å d ( a, b ) aÎ A,bÎB 1 C å x , yÎC , C = AÈ B Centroid Methode Ward‘s Methode ( ) dcentroid ( A, B ) = d a, b d ward ' s ( A, B ) = Prof. Dr. G. Heyer ( ) d a, b 1 1 + A B Text Mining – Wissensrohstoff Text d ( x, y ) durchschnittlicher Abstand der Elementepaare durchschnittlicher Abstand der Elementepaare der Vereinigung Abstand der Mittelwerte Zunahme der Varianz durch Vereinigung 19 Clustering Ähnlichkeit von Clustern single linkage elongated clusters complete linkage compact clusters average linkage Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 20 Clustering Beispiel Average Linkage Centroid after fourth step. d6 d5 d4 d3 Centroid after third step. Centroid after second step. d1 d2 Centroid after first step. Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 21 Clustering Aktualisierung von Abständen single linkage dist (C1 , C2 C3 ) mindist (C1 , C2 ), dist (C1 , C3 ) complete linkage dist (C1 , C2 C3 ) maxdist (C1 , C2 ), dist (C1 , C3 ) average linkage dist (C1 , C2 C3 ) dist C1 , C Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text C2 2 C3 C2 C 22 C3 2 C3 C3 Clustering Aufwandsabschätzung O(n2) Ähnlichkeitsberechnungen pro Zusammenfügungsschritt, insgesamt O(n3) Ähnlichkeitsberechnungen Zu komplex für große Textmengen Approximationen: Finde den beinahe nächsten Punkt, z.B. project on k random lines find closest projections Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 23 Clustering Nicht-hierarchische Clusteringalgorithmen • • • arbeiten meist iterativ initiale Einteilung der Elemente in Cluster wird sukzessive verbessert Beispiele: k-means-Clustering, Expectation Maximization (EM) allgemeines Verfahren 1.Erzeugen einer initialen Clustereinteilung: Die Anzahl k der zu erzeugenden Cluster wird festgelegt und k initiale Repräsentanten für die Cluster werden – zufällig oder durch Vorberechnungen – bestimmt. 2. (Neu-) Zuordnung aller Elemente zu den Clustern anhand der Clusterrepräsentanten. 3. Berechnung neuer Clusterrepräsentanten anhand der einem Cluster zugeordneten Elemente. 4. Test einer Abbruchbedingung. Bei Nichterfüllung Gehe zu 2. Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 24 Clustering k-means-Clustering Initialisierung erste Zuordnung erste Neuberechnung der Clusterschwerpunkte Legende: zweite Zuordnung zweite Neuberechnung der Clusterschwerpunkte Element Clusterschwerpunkt Clustering Darstellung: Topographien Quelle: Gerik Scheuermann und Patrick Oesterling, cf. SPP Visual Analytics Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 26 Text Mining – Grundlagen und Anwendungen Kontext „automobiler Transport“: Prof. Dr. G. Heyer 28.331 Patente, 11.2006 – 11.2009 Auto-Uni, Wolfsburg, November 201 Vgl. Heyer & Walde, Web Mining und Digital Intelligence, Quadriga Hochschule Berlin, Februar 2012 27 Antriebstechnologie Text Mining – Grundlagen und Anwendungen n Sicherheit, Komfort Kühlsysteme Stromversorgung, Abgasreinigung Getriebe, Kupplungen, Bremssysteme Schließsysteme Bereifung Spezielle Materialien Radlager Beleuchtung Sensoren, Signalverarbeitung Mobile Anwendungen Prof. Dr. G. Heyer Navigation, Datenverarbeitung Kontext „automobiler Transport“: 28.331 Patente, 11.2006 – 11.2009 Auto-Uni, Wolfsburg, November 201 Vgl. Heyer & Walde, Web Mining und Digital Intelligence, Quadriga Hochschule Berlin, Februar 2012 28 Clustering k-means-Clustering - Probleme • • • Bestimmung der richtigen Anzahl k an Clustern Konvergenz ist nicht gesichert Erreicht evtl. nur ein lokales Minimum – nicht unbedingt das globale Das Clustering muss nicht optimal sein Abhilfe: Algorithmus mehrfach starten Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 29 Clustering Hierarchisches Clustering • • • Verfahren erzeugen Hierarchie von Clustern arbeiten agglomerativ oder divisiv agglomerativ (buttom up) – Anfangszustand: alle Elemente bilden jeweils eigenes Cluster – Iteration: Verschmelzung der ähnlichsten beiden Cluster zu neuem Cluster – nach Ende: Cluster der höchsten Hierarchieebene enthält alle Elemente divisiv (top down) – Anfangszustand: ein Cluster enthält alle Elemente – Iteration: Teilung des Clusters mit der geringsten Kohärenz – nach Ende : alle 1-elementigen Cluster der untersten Hierarchieebene wurden erzeugt Beide Algorithmen erzeugen ein Dendrogramm. Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 30 Clustering Darstellung: Dendogramme • Cluster werden zu Instanzen, die wieder mit verarbeitet werden • Cluster können zu größeren Clustern zusammengefasst werden • Zeigt die Beziehungen zwischen den Clustern mit an • Eine Analyse führt i.d.R. zu verschiedenen möglichen Interpretationen Wie viele Cluster wurden gefunden? Clustering Dendrogramm • • Darstellung der Analyse als Dendrogramm Ähnlichkeit der Cluster ist an der Scala abzulesen Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 32 Clustering buttom up, single linkage - Clustering c5 c4 c6 c1 c2 c3 c5c7 Ähnlichste Cluster c4 und c5 bilden neues Cluster c7 c4 c6 Ähnlichste Cluster c3 und c8 bilden neues Cluster c9 Ähnlichste Cluster c1 und c2 bilden neues Cluster c8 c10 c5c7 c8 c9 c1 c2 c3 c4 c6 c8 c1 c2 c3 c1 c2 c3 Initialisierung: jedes Element bildet ein eigenes Cluster c4 c6 c5c7 c5c7 c4 c6 c8 c1 c2 c3 c9 Ähnlichste Cluster c6 und c7 bilden neues Cluster c10 c10 c5c7 c4 c6 c8 c9 c1 c2 c3 c11 Ähnlichste Cluster c9 und c10 bilden neues Cluster c11 Clustering Single-pass-Clustering • • Element für Element wird Clustern zugeteilt, gegebenenfalls wird neues Cluster erzeugt 1 (schneller) Durchlauf (über die Menge der Elemente) allgemeines Verfahren 1. 2. 3. 4. initiale Menge der Cluster: leer zufällige Auswahl des nächsten Elements Zuweisung zum ähnlichsten Cluster, wenn Schwellwert überschritten, sonst Erstellung eines neuen Clusters Wenn noch weitere Elemente vorhanden: gehe zu 2. Komplexität O(n*k) Abstandsberechnungen, k Cluster, n Dokumente Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 34 Clustering Ziel der Analyse • sind nicht die Cluster auf der höchsten bzw. niedrigsten Hierarchieebene • Finde Kompromiss zwischen möglichst kleiner Clusteranzahl und möglichst großer Homogenität innerhalb der einzelnen Cluster • Interessant sind die mittleren Verarbeitungsschritte, in denen die geforderte Homogenität in den Clustern noch vorhanden ist, bei denen aber jede weitere Vereinigung von Clustern zu sehr inhomogenen Clustern führen würde. Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 35 Clustering Beispiel (ASV Toolbox) Testdaten fliegen schwimmen laufen Lunge 1.8 0.0 0.0 3.6 0.0 1.7 3.5 1.0 1.0 1.0 1.0 0.0 1.0 1.0 Kiemen Pinguin Wal Delphin Eisbär Hecht Pelikan Huhn Prof. Dr. G. Heyer 0.2 0.1 0.2 0.0 0.0 3.8 1.5 4.8 4.6 4.8 3.7 4.9 3.3 0.0 Text Mining – Wissensrohstoff Text 36 0.0 0.0 0.0 0.0 1.0 0.0 0.0 Clustering Clusteringtool: L1-Norm + single linkage Clustering Clusteringtool: L1-Norm + complete linkage Clustering Clusteringtool: L1-Norm + average linkage Clustering Clusteringtool: L1-Norm + average group linkage Clustering Clusteringtool: L1-Norm + Ward‘s method Clustering Clusteringtool: L2-Norm + single linkage Clustering Clusteringtool: L2-Norm + complete linkage Clustering Chinese Whispers Graph Clustering (C. Biemann) Explanations • • B L4 5 8 D L2 • A L1L3 C L3 6 3 E L3 Properties • • • • • Prof. Dr. G. Heyer Nodes have a class and communicate it to their adjacent nodes A node adopts one of the majority class in its neighborhood Nodes are processed in random order for some iterations Time-linear in number of edges: very efficient Randomized, non-deterministic Parameter-free Numbers of clusters found by algorithm Small World graphs converge fast Text Mining – Wissensrohstoff Text 44 Clustering Algorithmus Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 45 Clustering Beispiel – Small Worlds der Antike Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 46 Clustering Nützliche Links ASV toolbox http://wortschatz.uni-leipzig.de/~ cbiemann/software/toolbox/index.htm http://asv.informatik.uni-leipzig.de/asv/21 carot http://project.carrot2.org/ Lingpipe http://alias-i.com/lingpipe/ Rapid http://rapid-i.com/content/view/10/69/lang,en/ Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 47 Clustering Literatur Baker, D., McCallum, A.K (1998): Distributional clustering of words for text classification. Proc. SIGIR98. E.Charniak, Statistical Language Learning, MIT Press: Cambridge (Mass.) 1993 Cutting,D., D. Karger, J. Pedersen, and J. Tukey (1992): Scatter-gather: A cluster-based approach to browsing large document collections. Proc. SIGIR'92. Dhillon, I., "Co-clustering documents and words using bipartite spectral graph partitioning", ACM Knowledge Discovery Data Mining KDD 01, pp. 269 – 274 C. Manning und H.Schütze, Foundations of Statistical Natural Language Processing, MIT Press: Cambridge (Mass.) 1999 (32000) D.Juravsky, J.Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition, Prentice Hall: San Francisco 2000 Sebastiani, F. (2002): Machine Learning in Automated Text Categorization. ACM Computing Surveys, Vol. 34, No. 1, March 2002, pp. 1–47. Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 48 Clustering Literatur 2 Joachims, T., (2002)Learning to Classify Text using Support Vector Machines. Kluwer. Hand, D., Mannila, H., Smyth, P. (2001), Principles of Data Mining, MIT Press. Hastie, T., Tibshirani, R., Friedman, J. (2001): The Elements of Statistical Learning. Springer Verlag. Hofmann, T. (2001): Unsupervised Learning by Probabilistic Latent Semantic Analysis. Machine Learning, Vol. 42, p.177-196. Hotho,A., A. Nürnberger and G. Paaß (2005): A Brief Survey of Text Mining, GLDVJournal for Computational Linguistics and Language Technology, 20:1, pp: 1962. Sebastiani, F. (2002): Machine Learning in Automated Text Categorization. ACM Computing Surveys, Vol. 34, No. 1, March 2002, pp. 1–47. Shawe-Taylor, J., Cristianini, N. (2004): Kernel Methods for Pattern Analysis. Cambridge University Press. Vapnik, V. (1995). The Nature of Statistical Learning Theory. Springer-Verlag, New York. Vapnik, V. N. and Chervonenkis, A. Y. (1971): On the uniform convergence of relative frequencies of events to their probabilities. Theory Probab. Apl., 16, 264--280. Xu, J., W. B. Croft. (1996): Query expansion using local and global document analysis. In Proc. SIGIR.