Institut für Informatik
Text Mining -
Wissensrohstoff Text
Gerhard Heyer
Universität Leipzig [email protected]
Clustering
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 2
Clustering und Klassifikation –
Grundlegende Unterscheidungen, Definitionen
Clustering
Zuordnung/Einteilung von Instanzen zu/in
Klassen
• Klassifikation: Klassen sind vorher bekannt, z.B.
aus Trainingsmenge berechnet
• Clustering: Klassen sind vorher nicht bekannt.
Ziele
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 Text Mining – Wissensrohstoff Text 5
Clustering
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 6
Clustering
Clustering
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.
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 verschie-
denen Clustern sollten zueinander möglichst unähnlich sein.
Vertiefende Aufgabenstellung
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 7
Clustering
Clustering ist nicht trivial. Teilen Sie die folgenden 4 Begriffe in je zwei
Klassen:
• Strauß, Wal, Pinguin, Zebra
• Enkel, Enkelin, Oma, Opa
Vertiefende Aufgabenstellung
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 8
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 9
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 _ | | | Uhr, abend, Samstag, Nacht, Montag, kommenden, morgen, nachmittag, vergangenen
Freitag _|_|_|_____________ | Uhr, abend, Ende, Jahres, Samstag, Anfang, Freitag, Sonntag, heutigen, worden
Januar _________________ | | Uhr, Ende, Jahres, Anfang, Mitte, Samstag, Mai, August, März, Januar
August _______________ | | | Uhr, Ende, Jahres, Anfang, Mitte, Samstag, Mai, August, Januar, März
Juli _____________ | | | | Uhr, Jahres, Ende, Anfang, Mitte, Mai, Samstag, August, Januar, März
März ___________ | | | | | Uhr, Ende, Jahres, Anfang, Mitte, Samstag, Mai, Januar, März, April
Mai _________ | | | | | | Uhr, Ende, Jahres, Anfang, Mitte, Samstag, März, Januar, Mai, vergangenen
September _______ | | | | | | | Uhr, Ende, Jahres, Anfang, Mitte, Mai, Januar, März, Samstag, vergangenen
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 _ | | | | | | | | | | Uhr, Ende, Jahres, Mai, Anfang, März, Mitte, Prozent, Samstag, Hauptversammlung
Juni _|_|_|_|_|_|_|_|_|_|_|_
Wo wird abgeschnitten?
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 10
Clustering
Beispiel: Chefs und Äußerungsverben
Chefs Präsident _________ sagte, Boris Jelzin, erklärte, stellvertretende, Bill Clinton, stellvertretender,
Vorsitzender _______ | 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 _|_|_ | | sagte, erklärte, stellvertretende, Richter, Abteilung, bestätigte, Außenministeriums,
Chef _ | | | Abteilung, Instituts, sagte, sagt, stellvertretender, Professor, Staatskanzlei, Dr.
Leiter _|___|_|_|_
Äußerungsverben verwies _____________ Sprecher, werde, gestern, Vorsitzende, Polizei, Sprecherin, Anfrage, Präsident, gebe
mitteilte ___________ | Sprecher, werde, gestern, Vorsitzende, Polizei, Sprecherin, Anfrage, Präsident, Montag
meinte _______ | | Sprecher, werde, gestern, Vorsitzende, Sprecherin, Anfrage, Präsident, gebe, Interview
bestätigte_____ | | | Sprecher, werde, gestern, Vorsitzende, Sprecherin, Anfrage, Präsident, gebe, Interview
betonte ___ | | | | Sprecher, werde, gestern, Vorsitzende, Sprecherin, Präsident, gebe, Interview, würden,
sagte _ | | | | | Sprecher, werde, gestern, Vorsitzende, Sprecherin, Präsident, gebe, Interview, würden
erklärte _|_|_|_|_ | | Sprecher, werde, gestern, Vorsitzende, Sprecherin, Präsident, Anfrage, gebe, Interview
warnte _ | | | Präsident, Vorsitzende, SPD, eindringlich, Ministerpräsident, CDU, Außenminister,
sprach _|_______|_|_|_
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 11
Clustering
hard disjunkte Cluster - Jedes Element wird genau
einem Cluster zugeordnet.
soft sich überlappende Cluster - Ein Element kann
mehreren Clustern zugeordnet werden. Der Grad
der Zugehörigkeit bzw. die Wahrscheinlichkeit
der Mitgliedschaft lässt sich für jedes Cluster
zusätzlich angeben.
hierarchisch vs. nicht-hierarchisch
inkrementell vs. global
Grundlegende Methoden
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 12
Clustering
Top-down vs. Bottom-up
Single-link: minimaler Abstand zweier Elemente
Complete-link: maximaler Abstand
Group-averaging: Durchschnittsabstand
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
Verfahren für Clusteringalgorithmen
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 13
Clustering
• 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
Abstands- und Ähnlichkeitsfunktionen
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 14
Clustering
Varianten der Bestimmung der Ähnlichkeit von Clustern A und B anhand
der enthaltenen Elemente
L1-
Norm
L2-
Norm
Cosinus
Dice
Jaccard
n
i
ii yxyxLyxd1
1 ,,
n
i
ii yxyxyxLyxd1
2
2 ,,
1
2 2
1 1
, cos ,
n
i i
i
n n
i i
i i
x yx y
sim x y x yx y
x y
1
2 22 2
1 1
22
,
n
i i
i
n n
i i
i i
x yx y
sim x yx y
x y
1
2 22 2
1 1 1
,
n
i i
i
n n n
i i i i
i i i
x yx y
sim x yx y x y
x y x y
Bemerkung
Umwandlung von sim(x,y)
d(x,y):
d(x,y) = 1- sim(x,y), wenn
sim(x,y) im Bereich von 0 bis 1
liegt.
Ähnlichkeitsmaße
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 15
Clustering
• 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.
Abstandfunktionen
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 16
Clustering
Maße zur Bestimmung des Abstandes zwischen Individuen bzw.
zwischen einem Individuum und einem Centroiden:
Single Linkage
Complete Linkage
Average Linkage
Average Group
Linkage
Centroid Methode
Ward‘s Methode
,
, min ,singlea A b B
d A B d a b
,
, max ,completea A b B
d A B d a b
,
1, ,average
a A b B
d A B d a bA B
, ,
1, ,averagegroup
x y C C A B
d A B d x yC
, ,centroidd A B d a b
'
,,
1 1ward s
d a bd A B
A B
minimaler Abstand zweier
Elemente
maximaler Abstand zweier
Elemente
durchschnittlicher Abstand der
Elementepaare
durchschnittlicher Abstand der
Elementepaare der
Vereinigung
Abstand der Mittelwerte
Zunahme der Varianz durch
Vereinigung
Abstandsfunktionen für Cluster
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 17
Clustering
Ähnlichkeit von Clustern
single linkage
elongated
clusters
complete linkage
compact clusters
average linkage
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 18
Clustering
d1 d2
d3
d4
d5
d6
Centroid after first step.
Centroid after
second step.
Centroid after
fourth step.
Centroid after
third step.
Beispiel Average Linkage
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 19
Clustering
average linkage
),(),,(min),( 3121321 CCdistCCdistCCCdist
),(),,(max),( 3121321 CCdistCCdistCCCdist
32132132
3
32
2,),( CCCdistCCCdistCC
C
CC
C
single linkage
complete linkage
Aktualisierung von Abständen
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 20
Clustering
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
Aufwandsabschätzung
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 21
Clustering
• 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.
Nicht-hierarchische Clusteringalgorithmen
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 22
Clustering
Initialisierung
Element
Clusterschwerpunkt
erste
Zuordnung
erste Neuberechnung
der
Clusterschwerpunkte
zweite Zuordnung
zweite Neuberechnung
der Clusterschwerpunkte
Legende:
k-means-Clustering
Clustering
• 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
k-means-Clustering - Probleme
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 24
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.
Hierarchisches Clustering
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 25
Clustering
Wie viele Cluster wurden gefunden?
• 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
Darstellung: Dendogramme
Clustering
Alternative Darstellung: Topographien
Quelle: Gerik Scheuermann und Patrick Oesterling,
cf. SPP Visual Analytics
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 27
Clustering
Alternative Darstellung: Topographien
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 28
Quelle: Gerik Scheuermann und Patrick Oesterling,
cf. SPP Visual Analytics
Clustering
Alternative Darstellung: Topographien
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 29
Quelle: Gerik Scheuermann und Patrick Oesterling,
cf. SPP Visual Analytics
Clustering
• Element für Element wird Clustern zugeteilt, gegebenenfalls
wird neues Cluster erzeugt
• 1 (schneller) Durchlauf (über die Menge der Elemente)
allgemeines Verfahren
1. initiale Menge der Cluster: leer
2. zufällige Auswahl des nächsten Elements
3. Zuweisung zum ähnlichsten Cluster, wenn Schwellwert
überschritten, sonst Erstellung eines neuen Clusters
4. Wenn noch weitere Elemente vorhanden: gehe zu 2.
Single-pass-Clustering
Komplexität O(n*k) Abstandsberechnungen, k Cluster, n Dokumente
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 30
Clustering
Initialisierung:
jedes Element bildet
ein eigenes Cluster
c1
c2 c3
c4
c5
c6
Ähnlichste Cluster c4
und c5 bilden neues
Cluster c7
c1
c2 c3
c4
c5
c6
c7
Ähnlichste Cluster c1
und c2 bilden neues
Cluster c8
c1
c2 c3
c4
c5
c6
c7
c8
Ähnlichste Cluster c3
und c8 bilden neues
Cluster c9
c1
c2 c3
c4
c5
c6
c7
c8 c9
Ähnlichste Cluster c6
und c7 bilden neues
Cluster c10
c1
c2 c3
c4
c5
c6
c7
c8 c9
c10
c11
Ähnlichste Cluster c9
und c10 bilden neues
Cluster c11
c1
c2 c3
c4
c5
c6
c7
c8 c9
c10
buttom up, single linkage - Clustering
Clustering
• Darstellung der Analyse als Dendrogramm
• Ähnlichkeit der Cluster ist an der Scala abzulesen
Dendrogramm
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 32
Clustering
• 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.
Ziel der Analyse
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 33
Clustering
Testdaten
fliegen schwimmen laufen Lunge Kiemen
Pinguin 0.2 4.8 1.8 1.0 0.0
Wal 0.1 4.6 0.0 1.0 0.0
Delphin 0.2 4.8 0.0 1.0 0.0
Eisbär 0.0 3.7 3.6 1.0 0.0
Hecht 0.0 4.9 0.0 0.0 1.0
Pelikan 3.8 3.3 1.7 1.0 0.0
Huhn 1.5 0.0 3.5 1.0 0.0
Beispiel (ASV Toolbox)
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 34
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
Explanations • 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
Properties • Time-linear in number of edges: very
efficient
• Randomized, non-deterministic
• Parameter-free
• Numbers of clusters found by
algorithm
• Small World graphs converge fast
A
L1L3
D
L2
E
L3
B
L4
C
L3
5 8
6 3
Chinese Whispers Graph Clustering (C. Biemann)
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 42
Clustering
Algorithmus
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 43
Clustering
Beispiel – Small Worlds der Antike
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 44
Clustering
Nützliche Links
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 45
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/
Clustering
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.
Literatur
Prof. Dr. G. Heyer Text Mining – Wissensrohstoff Text 46
Clustering
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, GLDV-
Journal for Computational Linguistics and Language Technology, 20:1, pp: 19-
62.
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.
Literatur 2