Einführung Kopora in NLTK Übungsaufgaben Softwarepraktikum Korpora in NLTK Franz Matthies Lehrstuhl für Computerlinguistik Institut für Germanistische Sprachwissenschaft Friedrich-Schiller-Universität Jena www.julielab.de Sommersemester 2016 – Sitzung 3 Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Überblick 1 Einführung Was ist eigentlich . . . Korpustypen Annotationstool 2 Kopora in NLTK Beispielhafte Korpora Python API 3 Übungsaufgaben Python Idiome Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Was ist eigentlich . . . Korpustypen Annotationstool Überblick 1 Einführung Was ist eigentlich . . . Korpustypen Annotationstool 2 Kopora in NLTK Beispielhafte Korpora Python API 3 Übungsaufgaben Python Idiome Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Was ist eigentlich . . . Korpustypen Annotationstool Was ist eigentlich . . . (oder auch) “Recap”: Korpus: für eine Analyse gesammelte (annotierte) Sprachdaten Annotation: Beschreibung/Analyseergebnis für (Teile von) Sprachdaten POS-Tag: POS = “part of speech” → Annotation mit der Wortart, dabei werden typischerweise 30–50 Wortarten unterschieden Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Was ist eigentlich . . . Korpustypen Annotationstool Korpustypen . . . sind einteilbar nach (u.a.): Annotationsskopus: Wortarten, Emotionen, . . . Medium: geschrieben, gesprochen, Video, multimedial, . . . Domäne: Zeitungstexte, Telefongespräche, E-Mails, wissenschaftliche Artikel, . . . Sprache: monolingual, multilingual (parallel/vergleichbar) Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Was ist eigentlich . . . Korpustypen Annotationstool Beispiel-Annotationstool BRAT http://brat.nlplab.org/ Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Beispielhafte Korpora Python API Überblick 1 Einführung Was ist eigentlich . . . Korpustypen Annotationstool 2 Kopora in NLTK Beispielhafte Korpora Python API 3 Übungsaufgaben Python Idiome Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Beispielhafte Korpora Python API Korpora laden NLTK ermöglicht das einfache Herunterladen diverser (annotierter) Korpora Herunterladbar durch nltk.download() Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Beispielhafte Korpora Python API Beispielhafte Korpora Brown Corpus Projekt Gutenberg Movie Reviews Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Beispielhafte Korpora Python API Beispielhafte Korpora Brown Corpus Amerikanisches Englisch (1960er) aus gemischten Domänen erstes Korpus mit 1 Million Wörtern Nachträglich mit POS annotiert Projekt Gutenberg von Freiwilligen digitalisierte gemeinfreie, literarische Texte keine Annotationen http://www.gutenberg.org Movie Reviews Filmkritiken; eingeteilt in positiv und negativ Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Beispielhafte Korpora Python API Python API NLTK stellt Methoden zur Interaktion mit Korpora zur Verfügung: fileids() listet alle Dateien, aus denen das Korpus besteht raw() bietet den blanken Text words(),sents(),paras() entsprechend die Wörter, Sätze und Paragraphen bei annotierten Korpora kann über tagged words(),tagged sents(),tagged paras() jeweils eine Liste aus Tupeln (Token, Tag) mit Annotationen ausgegeben werden siehe auch http://www.nltk.org/howto/corpus.html für detaillierte Informationen Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Python Idiome Überblick 1 Einführung Was ist eigentlich . . . Korpustypen Annotationstool 2 Kopora in NLTK Beispielhafte Korpora Python API 3 Übungsaufgaben Python Idiome Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Python Idiome Python Idiome Tuple Unpacking Dateien lesen & schreiben “list comprehensions” “generator expressions” Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Python Idiome Python Idiome Tuple Unpacking Dateien lesen & schreiben “list comprehensions” “generator expressions” Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Python Idiome Python Idiome Tuple Unpacking Dateien lesen & schreiben “list comprehensions” “generator expressions” Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Python Idiome Python Idiome Tuple Unpacking Dateien lesen & schreiben “list comprehensions” “generator expressions” Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Python Idiome Python Idiome Tuple Unpacking Dateien lesen & schreiben “list comprehensions” “generator expressions” Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Python Idiome Python Idiome Tuple Unpacking Dateien lesen & schreiben “list comprehensions” “generator expressions” Franz Matthies Softwarepraktikum Einführung Kopora in NLTK Übungsaufgaben Python Idiome Übungsaufgaben Für die folgenden Übungen sei auf das NLTK Corpus HowTo verwiesen: http://www.nltk.org/howto/corpus.html Sowie das Kapitel 2 des NLTK Buchs (Unterkapitel 1 & 2) Was ist das 1728te Wort im Brown Corpus? Benutzen Sie die POS Annotationen im Brown Corpus und eine Frequency Distribution um die 20 häufigsten Adjektive zu ermitteln (Tags: JJ, JJR, JJS, JJT – if muss verwendet werden) Benutzen Sie diese Adjektivliste gemeinsam mit einer Conditional Frequency Distribution basierend auf den movie reviews um eine Tabelle zu erstellen, die diese Wörter und ihre Häufigkeit zeigt Franz Matthies Softwarepraktikum