Softwarepraktikum

Werbung
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
Softwarepraktikum
Textanalyse mit Java/Python
Franz Matthies
Lehrstuhl für Computerlinguistik
Institut für Germanistische Sprachwissenschaft
Friedrich-Schiller-Universität Jena
www.julielab.de
Sommersemester 2016 – Sitzung 1
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
Überblick
1
Organisatorisches
Voraussetzungen
Prüfungsaspekte
2
Vorüberlegungen
Pipelines
Formate
3
Systeme im Überblick
openNLP
NLTK
4
Aufgaben
Hinweise
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
Voraussetzungen
Prüfungsaspekte
Überblick
1
Organisatorisches
Voraussetzungen
Prüfungsaspekte
2
Vorüberlegungen
Pipelines
Formate
3
Systeme im Überblick
openNLP
NLTK
4
Aufgaben
Hinweise
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
Voraussetzungen
Prüfungsaspekte
Voraussetzungen
Programmierkenntnisse?
Laptop?
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
Voraussetzungen
Prüfungsaspekte
Prüfungsaspekte
Aufgabenblätter: Ausgabe in Praktikumssitzung
je nach Umfang Abgabe ein oder zwei Wochen später
umfangreichere Abschlussarbeit am Ende
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
Pipelines
Formate
Überblick
1
Organisatorisches
Voraussetzungen
Prüfungsaspekte
2
Vorüberlegungen
Pipelines
Formate
3
Systeme im Überblick
openNLP
NLTK
4
Aufgaben
Hinweise
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
Pipelines
Formate
Komponenten bilden eine Pipeline
Text
Sentence Splitter
Tokenizer
POS-Tagger
Output
Texte werden schrittweise analysiert; es kommen nach und
nach neue Annotationen hinzu
nicht jedes System bietet Komponenten für alle Schritte einer
Pipeline
Komponenten aus verschiedenen Quellen können aber (i.d.R.)
zusammen genutzt werden
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
Pipelines
Formate
Text vs. interne Formate
Die gewonnen Informationen können auf 2 Arten von einer
Komponente zur nächsten gelangen:
Komponenten produzieren Textdateien mit in-line
Annotationen, diese werden zum Input anderer Komponenten.
Die Komponenten kommunizieren indirekt über einen
zentralen Container. Jede Komponente meldet dort ihre
Ergebnisse, bzw. holt sich dort den Text und die für sie
nötigen Annotationen.
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
Pipelines
Formate
Stärken der Ansätze
Textbasiert
die Arbeit jeder Komponente kann einfach betrachtet, bzw.
anderweitig verwendet werden
weniger Overhead
Interne Formate
direkte Kommunikation zwischen einzelnen Komponenten
durch das einheitliche Format sind beim Einbinden fremder
Komponenten weniger Übersetzungsschritte notwendig
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
Pipelines
Formate
Beispiele
Systeme mit Textinput/-output:
openNLP
Übergangsform
NLTK
Systeme mit internen Formaten
GATE (https://gate.ac.uk/)
UIMA (http://uima.apache.org/)
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
openNLP
NLTK
Überblick
1
Organisatorisches
Voraussetzungen
Prüfungsaspekte
2
Vorüberlegungen
Pipelines
Formate
3
Systeme im Überblick
openNLP
NLTK
4
Aufgaben
Hinweise
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
openNLP
NLTK
openNLP
http://opennlp.apache.org/
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
openNLP
NLTK
openNLP: Prinzip
(fast) alle Tools benötigen oder produzieren Modelle
Modelle beinhalten gewichtete Entscheidungskriterien für die
Zuordnung eines Phänomens zu einer Klasse
fertige Modelle finden sich unter:
http://opennlp.sourceforge.net/models-1.5/
(kombatibel mit openNLP 1.6)
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
openNLP
NLTK
openNLP: Verwendung
Skripte für Windows und Linux um openNLP per
Kommandozeile zu verwenden
alternativ kann das Java Paket auch direkt in Java
Programme eingebunden werden
für UIMA gibt es fertige Wrapper-Klassen
die meisten Tools können für das Training und einige auch zur
Evaluation verwendet werden
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
openNLP
NLTK
openNLP: Fazit
openNLP stellt für die meisten Aufgaben Tools zur
Verfügung
für das Deutsche gibt es nur Modelle für Sentence Detector,
Tokenizer und POS-Tagger
Manche sind über Kommandozeile nicht sinnvoll nutzbar (z.B.
fehlende Dokumentation für Dokument Klassifizierer)
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
openNLP
NLTK
NLTK
http://www.nltk.org/
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
openNLP
NLTK
NLTK: Python “hard facts”
einfache(re), leicht lesbare Sprache
interaktive Benutzung möglich
quelloffen & frei → gut für Forschung & Lehre
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
openNLP
NLTK
NLTK: Python “Ressourcen”
Anaconda (https://www.continuum.io/why-anaconda)
iPython Notebook (http://ipython.org/notebook.html)
(see http://jupyter-notebook.readthedocs.org for a
short introduction)
NLTK Buch (http://www.nltk.org/book/)
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
openNLP
NLTK
NLTK: Python “Lernen”
Codecademy
ThinkPython Buch
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
openNLP
NLTK
NLTK: Was ist das?
quelloffene Python-Bibliothek für NLP
entwickelt mit Lehre im Sinn
viele vorgefertigte nützliche Methoden
. . . wie auch einige Corpora
ausführliche Dokumentation/Tutorial
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
openNLP
NLTK
NLTK: Beispiele
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
Hinweise
Überblick
1
Organisatorisches
Voraussetzungen
Prüfungsaspekte
2
Vorüberlegungen
Pipelines
Formate
3
Systeme im Überblick
openNLP
NLTK
4
Aufgaben
Hinweise
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
Hinweise
Aufgaben: Allgmeines
Abgabe bis spätestens im Laufe des Donnerstags, 14.04.2016, als
iPython Notebook (.html/.pdf) via E-Mail an:
[email protected]
1
Anaconda (mit Python 3.5) installieren
https://www.continuum.io/downloads
2
Kapitel 1 des NLTK Buchs “durcharbeiten”
http://www.nltk.org/book/ch01.html
3
darauf aufbauend Übung 6 dieses Kapitels lösen
http://www.nltk.org/book/ch01.html#exercises
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
Hinweise
Aufgaben: Hinweise
Um die “Dispersionsgrafik” im Notebook anzuzeigen und nicht als
“pop-up” zu öffnen, sollte folgender Befehl an den Anfang des
Notebooks gestellt (und ausgeführt) werden:
Magic Command
%pylab inline
pylab.rcParams[’figure.figsize’] = (14.0, 10.0)
Die zweite Zeile bestimmt die Standardgröße der Grafiken.
Franz Matthies
Softwarepraktikum
Organisatorisches
Vorüberlegungen
Systeme im Überblick
Aufgaben
Hinweise
Um Notebooks im PDF-Format zu speichern, wird Pandoc und
LATEX benötigt.
Franz Matthies
Softwarepraktikum
Herunterladen