Tutorium: Dokumentwortanalyse/Häufigkeitsanalyse
1. Tutoren:
Sebastian Prang
2. Ziel des Tutoriums:
- Verständnisgewinnung über "Bag of Words" Methode
- Worthäufigkeitanalyse an Dokumenten durchführen
- praktische Verwendung der Bag of Words Methode zur Klassifizierung von Dokumenten
3. Adressaten des Lehrangebotes:
4. Teilnahme:
5. Veranstaltungsdatum/-zeit/-ort:
6. Veranstaltungsinhalte:
- Theoretische Einführung in Bag of Words
- Praktische Vorstellung der Umsetzung in Matlab
7. Literaturhinweise:
8. Aufgaben:
- Grundlagen der "Bag of Words" Methode
- Vokabularerstellung
- Zählung auftretender Wörter
- Erklärung n-gram-model
- Bereinigung der Dokumente
- praktische Umsetzung in Matlab (Voraussetzung: Matlab2017b oder höher)
- Einlesen eines Dokuments
- Bereinigung und Filterung störender Zeichen und Stopwörter
- Erstellung von n-gram-models
- Visuelle Ausgabe des "Bag of Words"
Worthäufigkeiten mit Bag of Words
Theorie
Sinn der Worthäufigkeitsanalyse
- Klassifizierung von Dokumenten
- Dokumente in Kategorien einteilen
- Schwerpunkte herausfinden
Bag of Words
- Methode zur Merkmalsextraktion
- relativ einfaches Konzept
- Auflistung und Zählung auftretender Wörter in einem Dokument
- Erstellung des Vokabulars
- Vektoren erstellen
- Grammatik analysieren
Vokabular erstellen
- Mit Bag of Words erstellt man zunächst ein Vokabular aus allen Wörtern des Dokuments / der Dokumente.
- Jedes individuelle Wort kommt nur einmal im Vokabular vor, egal wie oft es zunächst verwendet wird.
- „Mobile Computing beschäftigt sich mit mobile Applications.“
- „Mobile Computing gehört zu Informatik.“
- „Informatik beschäftigt sich mit Programmieren.“
- -> voc = {„Mobile“,
„Computing“,
„beschäftigt“,
„sich“,
„mit“,
„Applications“,
„gehört“,
„zu“,
„Informatik“,
„Programmieren“}
Anzahl der Worte
- Durch Zählung wird summiert, welche Wörter wieoft im Dokument / in den Dokumenten vorkommen.
- „Mobile Computing beschäftigt sich mit mobile Applications.“
- „Mobile Computing gehört zu Informatik.“
- „Informatik beschäftigt sich mit Programmieren.“
- voc = {„Mobile“:3, „Computing“:2, „beschäftigt“:2, „sich“:2, „mit“:2, „Applications“:1, „gehört“:1, „zu“:1, „Informatik“:2, „Programmieren“:1};
n – gram – Modell
- Mit n - grams (n - Grammen) lassen sich Wortpaare bilden. Wortpaare sind aneinander stehende Wörter.
- dient zur Kontextgewinnung (BoW zunächst kontextlose Aufzählung)
- Bigram: „Mobile Computing“, „Computing beschäftigt“, „beschäftigt sich“
- Trigram: „Mobile Computing beschäftigt“, „Computing beschäftigt sich“
- Generell: n-gram
n – gram – Modell Beispiel
- „Mobile Computing beschäftigt sich mit mobile Applications.“
- „Mobile Computing gehört zu Informatik.“
- bigram = {„Mobile Computing“:2, „Computing beschäftigt“:1, „beschäftigt sich“:1, „Computing gehört“:1, „gehört zu“:1}
- „Mobile Computing“ kommt öfters zusammen vor -> gehört zusammen (Bezeichnung bestehend aus zwei Worten)
Filterung des Vokabulars
- Durch Filterung des Vokabulars werden unnötige Satzzeichen und unwichtige / nicht relevante Wörter entfernt.
- große/viele Dokumente -> großes Vokabular bzw. großer Vektor
- Reduzierung der Vektorgröße bspw. durch:
- ignorieren von „Stopp-Wörtern“ ('und', 'oder', 'doch', 'weil‘, 'an', 'in', 'von‘)
- Reduzierung auf Stammwort (gegangen, ging, geht -> gehen)
- Korrektur falsch geschriebener Wörter
Bag of Words in Matlab
- Einführung der Bag of Words Methoden: Version 2017b
- einfaches Einlesen verschiedener Dokumenttypen möglich
- Methoden zur Bereinigung der Texte bereits vorhanden
- Stopwords allerdings nur auf englisch verfügbar
- Visuelle Darstellung des „bag“ möglich
Ungefilterter Text
- In diesem Beispiel wird gezeigt, wie ein PDF Dokument eingelesen und ein Bag of Words erstellt werden kann.
- Dieser Bag kann in einer Wordcloud grafisch dargestellt werden.
- In dieser Wordcloud werden die am häufigsten verwendeten Wörter und (jetzt noch) Zeichen dargestellt.
- Die Farbe und Größe repräsentiert die jeweilige Anzahl.
Gefilterter Text
- In diesem Beispiel wird das Vokabular gefiltert.
- Die Punktuationen werden entfernt.
- Alle Wörter werden klein geschrieben.
- Stopworte werden entfernt.
- Alle Wörter, die kleiner gleich drei Buchstaben enthalten, werden entfernt.
- Durch eine Funktion lassen sich die am meist vorkommenden Worte in einer Variable speichern und in der Konsole ausgeben lassen.
N-gram-Beispiel
- Hier werden n - Gramme erstellt und Grafisch ausgegeben.
CategoryTutorienFKITSS18