Einführung in Text Mining

Slides:



Advertisements
Ähnliche Präsentationen
Kohonennetze für Information Retrieval mit User Feedback
Advertisements

Informatik II: Algorithmen und Datenstrukturen SS 2013
Eine dynamische Menge, die diese Operationen unterstützt,
Polynomial Root Isolation
Dr. Brigitte Mathiak Kapitel 10 Physische Datenorganisation.
TECHNISCHE UNIVERSITÄT DARMSTADT Naive Bayes for Ranking
Seminar Textmining WS 06/07 Themen Übung 9 Multilingualität Weitere Termine: 13.7.Symbolfolgen und PageRank Findlinks mitstreiter gesucht!
3. Kapitel: Komplexität und Komplexitätsklassen
WS 05/06Automatische Akquisition linguistischen Wissens1 Partielles Wissen erweitern 1.Zusammenhang mit bisherigen Algorithmen 2.Vom offensichtlichen zum.
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Inhaltlich orientierter Zugriff auf unstrukturierte Daten
Problemlösekompetenz nachhaltig entwickeln - aber wie?
Konzeption und Realisierung eines Text- Analysesystems zur Automatisierung der Bewerberauswahl von diesem Datenformat jede beliebige Anwendung adaptieren.
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Qualitätskriterien zur Beurteilung von Dokumentationen
Indexierung - Verschlagwortung
Berufsinformationswoche am KFG
Themenfeld „Daten und Zufall“ – arithmetisches Mittel – Klassenstufe 5/6 Ariane Dubiel, Azida Shahabuddin, Sandra Mense.
Bayes‘sche Verfahren (Mitchell Kap. 6), Teil 1
Maschinelles Lernen und automatische Textklassifikation
Maschinelles Lernen Bayessche Verfahren (Mitchell Kap. 6), Teil 1.
Entitäten Extraktion Einführung
Kakuro Regeln und Strategien
DÄMONEN Dämonen existieren nicht! Sie entstehen in unserem Kopf!
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
1 Knowledge Discovery mit Wordnet und Alembic Workbench (Julia Faion) (Markus Reiter)
Beste Beziehungen zu Banken
Liebe Marla,   es hat lange Zeit gedauert, Dir diesen Brief zu schreiben, so wie es oft lange dauert, sich für etwas zu entscheiden.Als mir Antje die Frage.
Text Mining Dr. Brigitte Mathiak.
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Die Struktur von Untersuchungen
Wie lerne ich die deutsche Sprache?!
Erfindervon Fuzzy Logic
Bereit ???? Nimm dir 10 Minuten Zeit. Ich versuche es dir zu erklären.
Wahrscheinlichkeitsrechnung
Geschichte eines Japanischen Gartens 日本庭園.
Dynamische Webseiten-Generierung
Using latent semantic analysis to find different names for the same entity in free text Präsentation und Diskussion des Papers Im Rahmen des PS Web-Information.
Elternabend der Schule … vom …
Information Retrieval, Vektorraummodell
Sensible Themen Was Sie tun können, wenn die Unzufriedenheit mit dem Aussehen für eine/n Lernende/n oder KollegIn ein Problem darstellt LIFELONG LEARNING.
Analyse der Laufzeit von Algorithmen
Messergebnis Das Messergebnis ist der Näherungswert für den wahren Wert der Messgröße, der durch Auswertung der mit einer Messeinrichtung gewonnenen Messwerte.
Grammatikalische Begriffe im Unterricht
Lexikalische Semantik
Niko Zenker1 Besondere Aspekte in Multimedia-Datenbanken Methoden zur iterativen Anfrageverfeinerung (Relevanz Feedback)
Gliederung der Vorlesung
Berufsinformationswoche am KFG Anleitung für das Anmeldesystem.
Subnetting.
Referat am Thema: Familientherapeutisch- systemische Ansätze Seminar: ADS mit und ohne Hyperaktivität.
Binärbäume.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Text Mining auf annotierten Texten
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 2 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
ResA am Arbeitsplatz Das Vorgehen ist angelehnt an „5 S“ und bietet Ihnen die Möglichkeit das Konzept der 5 Disziplinen ressourcenschonenden Arbeitens.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 1 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
CL Tree MW 31.1 Business Intelligence Wintersemester 2015 / 2016 Stanislav Prokupetz.
Bibliotheksarbeit im Fach Natur und Technik: „Der Hund“ Beispiel für eine Unterrichtseinheit in der 5. Jahrgangsstufe des Gymnasiums Susanna Räde, Maximilian-von-Montgelas.
PCA Principal Component Analysis. Gliederung PCA – Warum eigentlich? PCA – Was ist zu tun? Was passiert eigentlich? Anwendungen Zusammenfassung.
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
Ich wünsche dir Leben ! Berge kommen nicht zusammen, Menschen schon !
Emanuel Mistretta Lukas Schönbächler
Einführung: Statistische Verfahren der automatischen Indexierung
 Präsentation transkript:

Einführung in Text Mining Prof. 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

Workflow Visualization Evaluation Data Analysis Feature Extraction Acquisition Preprocession Feature Extraction Data Analysis Evaluation Visualization

Je nach Aufgaben macht es Sinn nur Teile zu nehmen Acquisition Preprocession Feature Extraction Data Analysis Evaluation Visualization 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 Bayes classification for high-precision spam detection," Softw., Pract. Exper., 39(11): 1003-1024, 2009.

Formatumwandlung (PDF, Text, Metadaten) Coding Probleme beachten Acquisition Preprocession Feature Extraction Data Analysis Evaluation Visualization Korpus Formatumwandlung (PDF, Text, Metadaten) Coding Probleme 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)

Meistens Bag-of-Words Ansatz (nur Worthäufigkeit, ohne Reihenfolge) Acquisition Preprocession Feature Extraction Data Analysis Evaluation Visualization Bearbeiteter Korpus Meistens Bag-of-Words Ansatz (nur Worthäufigkeit, ohne Reihenfolge) Worthäufigkeitsnormalisierung (z.B. tf idf) Zusätzliche Features dazu nehmen Spamfilter: Ein Bag für Subject und Textbody, ACR anstatt idf, dazu natürlich noch die Information wie Nutzer gelabelt haben

Klassifikation oder Clustering oder etwas exotisches Acquisition Preprocession Feature Extraction Data Analysis Evaluation Visualization Dokumentvektoren Klassifikation oder Clustering oder etwas exotisches Jeweils mit einer Menge möglicher Algorithmen Spamfilter: Klassifikation Spam/nicht Spam mit Hilfe von cascading Naïve Bayes und synthetic minority over-sampling (SMOTE)

Um Overfitting zu vermeiden muss das Ergebnis überprüft werden Acquisition Preprocession Feature Extraction Data Analysis Evaluation Visualization 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)

Bei Clustering manchmal einfach mit Tags Acquisition Preprocession Feature Extraction Data Analysis Evaluation Visualization 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-12198 Anzahl 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-12198 Anzahl 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 tf idf = term frequency*document frequency-1 i steht für inverse

Ausflug: Latent Semantic Indexing Annahme: Worte im selben Dokument sind semantisch näher aneinander als andere Worte Daher kann man mit Matrizenzerlegung die 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 relevant Wenn 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 0 geeignet für kurze Texte tf term frequency: Wie oft kommt das Wort vor geteilt durch die Länge des Dokuments tf idf = term frequency*document frequency-1 Latent semantic indexing Topic models (kompliziert…)

Data Mining Klassifikation: (supervised) Clustering: (unsupervised) Der Computer lernt verschiedene 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 Vector Machine (SVM bzw. SVO) Rule-based Learning (JRip bei Weka, es gehen auch decision trees) Naive Bayes (nicht zu verwechseln mit Naive Bayes networks 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: Cosine simililarity Tanimoto similarity 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