Text Mining Peter Kolb 25.6.2012
Übersicht Big Data Information Retrieval vs. Text Mining Anwendungen Dokumentenähnlichkeit Termähnlichkeit Merkmalsauswahl und -Gewichtung Kategorisierung Clustering
Big Data täglich 230 Millionen Tweets (12TB) facebook: 35 Mio. Status-Updates täglich Google hat seit 2003 450 Milliarden unterschiedliche Suchanfragen beantwortet 25TB Logdaten täglich von großen Internetfirmen 1. Quartal '12 144 Mio. Smartphones verkauft 30 Milliarden RFID-Tags in Umlauf Turbine eines Airbus A300 produziert 10TB Daten alle 30 Minuten
Big Data
Big Data a tidal wave of unstructured consumer communications : consumer interaction directly via website, call centers, and stores; via email to the company, or, via open social media such as Twitter or Facebook. (Oracle)
Big Data Big data information gleaned from non-traditional sources such as blogs, social media, email, sensors, photographs, video footage, etc., and therefore typically unstructured and voluminous holds the promise of giving enterprises deeper insight into their customers, partners, and businesses. This data can provide answers to questions they may have not even thought to ask. (Oracle)
Information Retrieval Wiederauffinden von bekannter Information in großen Dokumentensammlungen Suche in unstrukturierten Daten (Texten) strukturierte Daten: Datenbanken Verfahren zur Relevanzbewertung der Treffer Suchmaschinen Entwicklung grundlegender Ansätze in den 1960er und 70er Jahren
Text Mining automatisierte Entdeckung neuer und relevanter Informationen aus Textdaten mit statistischen und linguistischen Mitteln erschließt Textmining-Software aus Texten Informationen, die die Benutzer in die Lage versetzen soll, ihr Wissen zu erweitern oder ihre Handlungen daran auszurichten zielorientierte Form der Textanalyse, die eine effektive und effiziente Nutzung verfügbarer Textarchive ermöglicht Entdeckung versteckter Beziehungen zwischen Texten und Textfragmenten
Text Mining vs. Information Retrieval Retrieval: Wiederauffinden von Information Text Mining soll den Benutzer in die Lage versetzen, Informationen zu finden, von denen er gar nicht wusste, dass es sie gibt assoziative Suche Text Mining zielorientierter und angepasst an neue Medien/Textsorten (Blogs, Diskussionsforen)
Text Mining: Beispiel google.de
Text Mining: Beispiel kartoo.com
Text Mining: Beispiel
Text Mining: Beispiel Verfolgung von Referenzen auf Personen, Institutionen etc. in Pressetexten und in der Blogosphäre http://www.textmap.com
Text Mining: Beispiel Verfolgung von Referenzen auf Personen, Institutionen etc. in Pressetexten und in der Blogosphäre http://www.textmap.com
Ranking von Treffern Text-externe Kriterien Datum, Klickrate, Domain... Googles PageRank S. Brin u. L. Page (1998): The Anatomy of a Large-Scale Hypertextual Web Search Engine D. Lewandowski (2005): Web Information Retrieval, Kapitel 8. Text-interne Kriterien Relevanz der in den Dokumenten enthaltenen Terme Grad der inhaltlichen Ähnlichkeit zwischen Anfrage und Dokumenten
WWW-Suchmaschine
WWW-Suchmaschine
WWW-Suchmaschine
WWW-Suchmaschine
WWW-Suchmaschine
WWW-Suchmaschine
WWW-Suchmaschine
Vektorraummodell Statt Eingrenzung durch exakte Treffermenge inhaltliche Ähnlichkeit zwischen Anfrage und Dokumenten Annahme: Inhalt eines Dokuments wird durch verwendete Wörter ausgedrückt Bag of words : keine Beachtung der Syntax
Term-Dokument-Matrix
Boolesches Modell Anfrage Q: Auto UND Batterie d 1 relevant, d 2 nicht relevant
Vektormodell d 1 ist der Anfrage Q ähnlicher als d 2
Vektorraum Terme spannen n-dimensionalen Vektorraum auf Jeder Term ergibt eine Dimension Dokumente und Anfragen sind Punkte (Vektoren) im Raum Räumliche Nähe = semantische Nähe Relevante Dokumente zu Anfrage = benachbarte Dokumente im Raum = Dokumente mit ähnlicher Vektordarstellung = Dokumente mit ähnlichem Wortgebrauch
Vektorraum (geometrisch)
Vektorrechung
Vektorrechnung Vektorähnlichkeit: Skalarprodukt
Vektorähnlichkeit Kosinus-Maß: hohe Werte für Vektoren, die in die gleiche Richtung zeigen Abstrahiert von Dokumentlänge Weitere Maße: Dice-Koeffizient Jaccard-Koeffizient City-Block-Metrik Kullback-Leibler-Divergenz...
Termgewichtung Bisher Frequenz (tf = Term-Frequenz) Nachteil: hohe Werte für inhaltsarme Funktionswörter Idee: tf dividieren durch Dokumenthäufigkeit (df = Anzahl der Dokumente, in denen der Term vorkommt) Ein Term ist umso relevanter, je öfter er im Dokument vorkommt und je seltener er insgesamt ist TF-IDF = tf * log(n/(df+0,1))
Termgewichtung Wortfrequenzen (tf) in Zwilling -Artikel:, 94. 90 der 60 und 58 die 44 Zwillinge 30 df-werte: der 9726 Zwillinge 29 tf-idf Zwillinge rückt vor auf Platz 1
Dokumentenraum
ähnliche Dokumente finden Dokumentvektor des Ausgangsdokuments mit allen anderen Dokumentvektoren auf Ähnlichkeit vergleichen per Kosinus-Maß n Dokumente, t Terme: O(n*t) Rangfolge der ähnlichsten Dokumente Duplikate, Versionen und Plagiate finden (Schwellwert?)
Löschen irrelevanter Dimensionen
Termähnlichkeit Term-Dokument-Matrix: Spalten = Dokumentvekoren Zeilen = Termvektoren Termvektoren mit Kosinus-Maß auf Ähnlichkeit vergleichen Liste mit ähnlichen Termen zum Ausgangsterm automatische Thesaurusgenerierung eigene, zweite Adjazenzstruktur nötig Manning u. Schütze (1999): Abschnitt 8.5
Termähnlichkeit schüchtern: scheu ängstlich zaghaft zögernd... Handy: Mobiltelefon Handys Bluetooth Notebook Mobiltelefone Festnetz WLAN Smartphone PDA... Cola: Limonade Bier Wodka Coca-Cola Mineralwasser Schnaps Tee Fruchtsaft Zitronenlimonade Kaffee Rum... (Quelle: DISCO)
Kategorisierung Dokument d Kategorie C Kategorien: Spam Sprache (dt., engl., frz.,...) Genre, Autor Meinung ( sentiment analysis ) inhaltliche Kategorien (benutzerdefiniert): Rubrik, Abteilung, Sachbearbeiter,... Anwendungen in Wissensmanagement und Text Mining: E-Mail Routing (CRM-Systeme) Web Content Filter IR-Systeme
Kategorisierungsverfahren Rocchio k-nearest neighbour (knn) Naive Bayes Support Vector Machines n-gramm-sprachmodelle
Kategorisierung: Voraussetzungen Kategorien (Kategorienmodell) z.b. binär: Spam vs. Nicht-Spam flaches Kategorienmodell: Politik, Kultur, Wirtschaft, Sport hierarchisches Kategorienmodell normalerweise benutzerdefiniert trainierbar mit Beispieldokumenten 2. Ähnlichkeitsmaß Dokument d Kategorie C aufgrund welcher Merkmale soll Ähnlichkeit gemessen werden?
Merkmalsauswahl Buchstaben-n-Gramme, Wörter, Phrasen, Dokumentlänge, Dokumentstruktur,... zur Festellung des Autors müssen auch Funktionswörter betrachtet werden bei inhaltlicher Kategorisierung werden sie als Stoppwörter entfernt statistische Signifikanztests
Ähnlichkeitsmaß Vektorähnlichkeit (z.b. Kosinus-Maß) sim(d 1, d 2 ) = cos(d 1, d 2 ) Ähnlichkeit zwischen Dokumenten aber Ähnlichkeit Dokument d Kategorie C?
Rocchio-Verfahren Zentroid-Methode: Kategorie C darstellen durch Durchschnittsvektor z (Zentroid) aller Dokumente d i in C Ähnlichkeitsvergleich d mit z für alle C i ein z i, Vergleich d mit allen z i Einordnung von d in ähnlichste Kategorie C i Rangliste, Schwellwert, Mehrfachzuordnung
k nearest neighbours k-nearest neighbours (knn) sim(d 1, d 2 ) = cos(d 1, d 2 ) Kategorienmodell mit Trainingsdokumenten Vergleiche zu klassifizierendes Dokument d mit allen Trainingsdokumenten auf Ähnlichk. Rangfolge der ähnlichsten Doks zu d betrachte nur die ersten k Doks in der Liste zu welcher Kategorie gehören die meisten davon? ordne d der Gewinner-Kategorie zu score(c i ) = Σ 1/r * sim(d, d i )
Naive Bayes Bedingte Wahrscheinlichkeit Totale Wahrscheinlichkeit Satz von Bayes P(K W) = (P(W K) P(K)) / P(W) naive Bayes-Kategorisierung: K max = argmax K P(w 1 k j )... P(w n k j ) P(k j ) naive Annahme: Vorkommen aller w i unabhängig voneinander
Kategorisierung mit Sprachmodellen Buchstaben-n-Gramme! keine Tokenisierung, Stoppwortfilterung oder sonstige Merkmalsauswahl nötig für jede Kategorie c є C ein Sprachmodell trainieren Wahrscheinlichkeit eines Dokuments D bzgl. aller Sprachmodelle berechnen wahrscheinlichstes Sprachmodell (Kategorie) gewinnt
Kategorisierung mit Sprachmodellen [4] Sprachidentifikat.: Bigramme 100% Acc. Autorerkennung: Trigramme 90% Acc. Genrekategoris.: Bigramme 86% Acc. Topic-Kategor.: 6-Gramme 89% Acc. (N-Gramme auf Wortebene erreichen 88%)
Kategorisierung mit Sprachmodellen Vorteile: Nachteil: keine Vorverarbeitung oder Merkmalsauswahl nötig gleiche Methode für verschiedene Kategorisierungsaufgaben Ergebnisse auf Stand der Technik für große Anzahl Kategorien sehr langsam
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 im Text Mining Dokumente Terme explorative Datenanalyse (Text Mining) (semi-)automatisch Kategorienmodell erzeugen 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
Clusteringmethoden Nicht-hierarchisch (flach) erzeugend aktualisierend Hierarchisch agglomerativ (bottom-up) partitionierend (top-down)
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
Dendrogramm
Big Data Werkzeuge paralleles Rechnen auf Computer-Clustern: Apache Hadoop maschinelle Lernverfahren auf Basis von Hadoop: Apache Mahout verteiltes Datenbanksystem: Apache Cassandra