ich war hier: TutoriumMobileMustererkennung » TutoriumDokumentwortanalyseHaeufigkeitsanalyseSS18

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.


text

text


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.

text

text

text

text

text

text


N-gram-Beispiel


  • Hier werden n - Gramme erstellt und Grafisch ausgegeben.


text

text



CategoryTutorienFKITSS18





Diese Seite wurde noch nicht kommentiert.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki