330 likes | 569 Views
Text Mining. Dr. Brigitte Mathiak. Was ist Text Mining?. Die Kunst aus Text etwas maschinenverwertbares zu machen Methodisch an der Schnittstelle zwischen Natural Language Processing und Data Mining Grundkenntnisse in Computerlinguistik, aber auch in KI sind hilfreich.
E N D
Text Mining Dr. Brigitte Mathiak
Was ist Text Mining? • Die Kunst aus Text etwas maschinenverwertbares zu machen • Methodisch an der Schnittstelle zwischen Natural Language Processing und Data Mining • Grundkenntnisse in Computerlinguistik, aber auch in KI sind hilfreich
Was kann man mit Text Mining machen? • Klassische sind Textklassifikation (z.B. Spam) und Themenanalyse (z.B. für Verzeichnisse) • Man kann allerdings auch andere Daten miteinbeziehen (z.B. Zeit) und dann Trendanalysen machen • Oft sucht man nicht nach Klassen, sondern versucht besonders ähnliche oder besonders unähnliche Dokumente zu finden • Mit Hilfe von Extrawissen, z.B. Wortdatenbanken, kann man auch spezielle Einschätzungen machen, z.B. ob jemand ein Thema positiv oder negativ sieht
Was kann man nicht mit Text Mining machen? • Die Datenstruktur sollte idealerweise mindestens 100 Dokumente enthalten, die jeweils mindestens 100 Worte enthalten • Die Dokumente sollte Sacheinheiten bilden. Grenzen und Regionen innerhalb von Dokumenten zu finden ist mit der Methodik schwierig (aber möglich) • Es ist sehr schwierig zwischen sprachlichen Unterschieden und sachlichen Unterschieden zu unterscheiden
Quellen • PubMed (medizinisch/biologische Texte) • Gutenberg Projekt (Literatur) • Pressemitteilungen • Twitter • Je nach Aufgaben macht es Sinn nur Teile zu nehmen • Spamfilter1: Testdatensätze von TREC und hotmail 1 nach Yang Song, Aleksander Kolcz, C. Lee Giles, "Better Naive Bayesclassificationfor high-precisionspamdetection," Softw., Pract. Exper., 39(11): 1003-1024, 2009.
Korpus • Formatumwandlung (PDF, Text, Metadaten) • Codingsprobleme beachten • Daten auf Konsistenz überprüfen und ob der gewünschte Inhalt tatsächlich enthalten ist • Spamfilter: Qualität der Daten überprüfen (tatsächlich enthielt der hotmail Datensatz 2-5% Fehler wegen falscher Nutzereingabe)
Bearbeiteter Korpus • Meistens Bag-of-Words Ansatz (nur Worthäufigkeit, ohne Reihenfolge) • Worthäufigkeitsnormalisierung (z.B. tfidf) • Zusätzliche Features dazu nehmen • Spamfilter: Ein Bag für Subjectund Textbody, ACR anstatt idf, dazu natürlich noch die Information wie Nutzer gelabelt haben
Dokumentvektoren • Klassifikation oder Clustering oder etwas exotisches • Jeweils mit einer Menge möglicher Algorithmen • Spamfilter: Klassifikation Spam/nicht Spam mit Hilfe von cascadingNaïveBayesund syntheticminorityover-sampling (SMOTE)
Ergebnis • Um Overfitting zu vermeiden muss das Ergebnis überprüft werden • Gemessen wird die Quote der falsch erkannten (Precision) und die der nicht gefundenen (Recall) • Spamfilter: Für Spam ist Precision sehr viel wichtiger als Recall (wenn Spam durchrutscht ist es nicht so schlimm, wie wenn eine echte Email im Spamordner landet), daher Messung von AUC für niedrige Precision (0..0,14)
Ergebnis • Bei Klassifikation häufig sehr einfach (z.B. unterschiedliche Farben oder Ordner) • Bei Clustering manchmal einfach mit Tags • Netzwerke zum Teil sehr komplex • Spamfilter: Spam kommt in den Spamordner
Was muss ich wissen? • Was ist ein Wort? • Die statistisches Eigenschaften von Sprache • Die relevanten linguistischen Eigenschaften von Sprache • Welches Modell benutze ich für die Repräsentation? • Welchen Algorithmus benutze ich? • Wie funktioniert die Evaluation?
Was ist ein Wort? • Normalerweise definiert als der String zwischen zwei Leerzeichen ohne Satzzeichen • Ist ‚3.14‘ ein Wort? • Ist ‚qwerty‘ ein Wort? • Ist ‚:-)‘ ein Wort? • Ist ‚Die‘ gleich ‚die‘? • Ist ‚Erfahrung‘ gleich ‚Erfarung‘? • Wie viele Worte hat ‚das Bundesland Rheinland-Pfalz‘? • Wie viele Worte hat ‚Donaudampfschiffahrtskapitän‘? • Den Prozess der Wortextraktion nennt man Tokenization • Die obigen Fragen können nur nach Bedeutung geklärt werden
Statistische Linguistik (1/4) • Zipf‘s Gesetz: Worte folgen einer Exponentialverteilung Quelle: http://searchengineland.com/the-long-tail-of-search-12198Anzahl der Worte in Moby Dick von Melville
Statistische Linguistik (2/4) • Konsequenzen aus Zipf‘s Gesetz: • Das häufigste Wort kommt etwa zweimal so oft vor wie das zweithäufigste, dreimal so oft wie das dritthäufigste, … • Sehr häufige Worte wie der, und, die machen einen Großteil der Worte insgesamt aus (>50%), tragen aber nur wenig Sinn • Es gibt sehr viele, sehr seltene Worte, wenn diese aber zu selten vorkommen (z.B. nur einmal), dann kann man da auch keinen Sinn erkennen
Statistische Linguistik (3/4) • Wir suchen daher nach dem Wal Quelle: http://searchengineland.com/the-long-tail-of-search-12198Anzahl der Worte in Moby Dick von Melville
Statistische Linguistik (4/4) • Annahme: Signifikant für ein Dokument sind insbesondere die Worte, die in diesem Dokument überdurchschnittlich häufig vorkommen • Mathematisch kann man dies durch das höhergewichten solcher Worte ausdrücken • tfidf = termfrequency*documentfrequency-1 i steht für inverse
Ausflug: Latent SemanticIndexing • Annahme: Worte im selben Dokument sind semantisch näher aneinander als andere Worte • Daher kann man mit Matrizenzerlegungdie Matrix auf eine kleinere Matrix reduzieren • Diese ist dann sogar eine bessere Repräsentation des Dokuments, obwohl sie weniger Information enthält
Linguistik • Es ist also von Vorteil zu wissen, welche Worte gleich, ähnlich und wenn ja wie ähnlich sind • Die Linguistik hilft da z.B.: • Grammatik: Baum und Bäume ist von der Bedeutung her fast gleich, solche grammatikalisch begründeten Endungen können also systematisch eliminiert werden (stemming) • Wortdatenbanken, wie WordNet, enthalten Informationen über ähnliche Worte und deren Bedeutung
Wortbedeutung • Synonyme: Bereich, Gebiet • Homonyme: Bank (Geldinstitut), Bank (Sitzgelegenheit) • Fast jedes Wort hat synonymischen und homonymischen Charakter • Suche teilt sich homonymisch auf in: • Ermittlung • Verfolgung • Untersuchung • Nachstellung • Was wiederum Synonyme sind • Die tatsächliche Bedeutung ist (für Menschen) aus dem Kontext erkennbar (Kontext Geld vs. Spaziergang) • Die Bedeutung bleibt aber immer unscharf, da der Kontext nie vollständig bekannt ist (auch nicht für Menschen) Faustregel: Statistische Verfahren werden immer besser je mehr Daten zur Verfügung stehen, wenn also nicht viele Daten da sind, dann sollte man sich linguistische Gedanken machen, bei vielen Dokumenten und hoher Datenqualität ist das nicht so relevantWenn allerdings die Ergebnisse ganz schlecht sind, dann kann einen die Linguistik im Allgemeinen auch nicht mehr retten
Modelle (1/2) • Für die Benutzung von Data Mining Algorithmen brauchen wir Vektoren von möglichst unabhängigen Variablen • Der klassische Weg dabei ist der Bag-of-Words Ansatz • Dabei wird die Reihenfolge der Worte bewusst weggelassen • Trotzdem gibt es noch eine Reihe von Möglichkeiten Dokumente und Worte miteinander mit Zahlen zu verknüpfen
Modelle (2/2) • Binäres Modell: Wort da 1, sonst 0geeignet für kurze Texte • tftermfrequency: Wie oft kommt das Wort vor geteilt durch die Länge des Dokuments • tfidf = termfrequency*documentfrequency-1 • Latent semanticindexing • Topic models (kompliziert…)
Data Mining • Klassifikation: (supervised) • Der Computer lernt verschiede Label und kann sie dann selbstständig zuordnen • Benötigt möglichst viele Trainingsdaten • Clustering: (unsupervised) • Die Label werden ohne Trainingsdaten rein aufgrund der Nähe von Dokumenten untereinander vergeben
Algorithmen • Es gibt eine Reihe von Bibliotheken für Data Mining Algorithmen: • Weka (Java, nur Data Mining) • Mallet (Java Bibliothek speziell für Text Mining, enthält auch einiges für Text Pre-processing) • Alle Algorithmen haben individuelle Stärken und Schwächen um sicher zu gehen sollte man mindestens Algorithmen aus den folgenden Familien ausprobieren: • Support VectorMachine (SVM bzw. SVO) • Rule-based Learning (JRip bei Weka, es gehen auch decisiontrees) • Naive Bayes (nicht zu verwechseln mit Naive Bayesnetworks oder cascades) • Maximum Entropy Der Vorteil bei regelbasierten Algorithmen ist, dass man direkt sehen kann, was passiert
Evaluation • Die Bibliotheken machen normalerweise gleich eine Evaluation der Daten (mittels cross-validation) • Die wichtigsten Begriffe: • Precision, Recall, F-Measure sind alles Begriffe aus dem Information Retrieval und messen für binäre Klassifikation die Anzahl der korrekten Klassifikationen • Accuracy ist dasselbe für mehrere Klassen • Am Besten sind in der Regel große Werte nah an 1
Dokumentähnlichkeit • Manchmal braucht man nur die Ähnlichkeit zwischen zwei Dokumenten, Termen, Themen, … • Bei Vektorbasierten Modellen gibt es wieder ein paar Methoden dafür: • Cosinesimililarity • Tanimotosimilarity • Mutual information • Google/Wikipedia distance (für Terme) • …
Sentiment Analysis • Anhand von Wörterbüchern kann man die Meinung des Schreibers extrahieren • Das wird z.B. für Reviews verwendet • Achtung! Das funktioniert nicht so gut, wie man gemeinhin erwarten würde
Pattern • Beim der Suche nach bestimmten Wörtern werden Pattern eingesetzt • „X ist mein Geburtstag“ findet Zeitangaben (lt. Google 2xMorgen, 7xHeute, 1xbald ) • Aber Achtung „X ist eine Krankheit“ -> Demütigung, Homosexualität, Hartz-IV, Arroganz, … • Dies ist gut um einen Spezialkorpus von Wörtern aufzubauen • Wenn man bereits Beispiele hat, dann kann man auch umgekehrt die Pattern lernen und dann wieder anwenden um mehr solche Worte zu finden
Themen • http://dl.dropbox.com/u/117871/gesis/tms/index.html • Wie viele Antworten hat ein Twitter Post? • Worüber reden Politiker auf Facebook? • Welches Sentiment herrscht auf Twitter/Facebook gegenüber Politikern? • Party Manifestos (CD) • Welches Parteiprogramm gehört zu welcher Partei? (mehrsprachig) • Welcher publisher ist am nächsten an welchem Parteiprogramm? (s. auch dropbox oben) • http://wintersresearch.wordpress.com/qes-britain/ • Was halten die von Gordon Brown?
Der Aufbau • Zweier- oder Dreiergruppen mit gemischten Erfahrungen • Thema soll praktisch bearbeitet werden • Es wird evtl. keine „gute“ Lösung geben, daher ist es wichtig den Weg zu dokumentieren • Eine der angewendeten Lösungsmethoden soll theoretisch aufgearbeitet werden • Im Vortrag und im Seminar wird dann beides vorgestellt
Vortrag und Ausarbeitung • Vortrag: 20 min + 10 min Diskussion • Einen Entwurf der Folien brauche ich spätestens eine Woche vor dem Vortragstermin • 2 bis 3 Vortragstermine • Ausarbeitung: • Ca. 20 Seiten • Mindestens 3 echte wissenschaftliche Papiere referenzieren • Abgabe am Ende des Semesters (für alle)
Bewertung • Eigenständiges Arbeiten und Recherchieren • Witzige Ideen • Gute Kommunikation • Fleiß • Schönes Layout • Gute Ergebnisse
Themen • http://dl.dropbox.com/u/117871/gesis/tms/index.html • Wie viele Antworten hat ein Twitter Post? • Worüber reden Politiker auf Facebook? • Welches Sentiment herrscht auf Twitter/Facebook gegenüber Politikern? • Party Manifestos (CD) • Welches Parteiprogramm gehört zu welcher Partei? (mehrsprachig) • Welcher publisher ist am nächsten an welchem Parteiprogramm? (s. auch dropbox oben) • http://wintersresearch.wordpress.com/qes-britain/ • Was halten die von Gordon Brown?