Automatisiertes Annotieren in CATMA Thomas Bögel 1, Evelyn Gius 2, Marco Petris 2, Jannik Strötgen 3 1 Universität Heidelberg 2 Universität Hamburg 3 Max-Planck-Institut für Informatik jannik.stroetgen@mpi-inf.mpg.de DHd Leipzig 8. März 2016
Motivation Es gibt verschiedene Arten von Annotationen komplexe Annotationsaufgaben Flashbacks, Prolepsen, Analepsen,... einfache Annotationsaufgaben Sätze, Wortarten, Tempus, Zeitausdrücke,... Manuelles Erstellen von einfachen Annotationen langsam langweilig Konzentration auf komplexe Aufgaben; einfache Annotationen automatisiert DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 1 / 9
Natural Language Processing Automatisiertes Verarbeiten textueller Daten Viele Tools für zahlreiche Aufgaben: Satzgrenzen, Wortarten,... Zeitausdrücke erkennen und normalisieren UIMA UIMA: Unstructured Information Management Architecture Framework zum Verarbeiten unstrukturierter Daten (z.b. Text) hilft (unterschiedlichste) Tools miteinander zu verknüpfen alle Komponenten basieren auf der gleichen Datenstruktur (Common Analysis Structure, ) UIMA funktioniert nach dem Pipeline-Prinzip DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 2 / 9
Komponenten einer UIMA Pipeline Collection Readers Analysis Engines Consumers Zeitausdrücke Textdokumente Korpora UIMA Pipeline 3 Komponententypen Collection Readers Analysis Engines consumers DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 3 / 9
Komponenten einer UIMA Pipeline Collection Readers Analysis Engines Consumers Document Reader Zeitausdrücke Textdokumente Korpora UIMA Pipeline Collection Reader liest Dokumente von einer Quelle (z.b.: Filesystem, Datenbank) erstellt Objekt für jedes Dokument DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 3 / 9
Komponenten einer UIMA Pipeline Collection Readers Analysis Engines Consumers Document Reader Sentence Splitter Tokenizer Part-of-Speech Tagger Temporal Tagger Zeitausdrücke Textdokumente Korpora UIMA Pipeline Analysis Engines typischerweise mehrere Analysis Engines DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 3 / 9
Komponenten einer UIMA Pipeline Collection Readers Analysis Engines Consumers Document Reader Sentence Splitter Tokenizer Part-of-Speech Tagger Temporal Tagger Zeitausdrücke Textdokumente tokens tokens w. pos tokens w. pos timexes Korpora UIMA Pipeline Analysis Engines lesen den Inhalt des Objekts analysieren die Dokumente fügen Annotationen zum Objekt hinzu DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 3 / 9
Komponenten einer UIMA Pipeline Collection Readers Analysis Engines Consumers Document Reader Sentence Splitter Tokenizer Part-of-Speech Tagger Temporal Tagger Writer Zeitausdrücke Textdokumente tokens tokens w. pos tokens w. pos timexes Korpora UIMA Pipeline Consumers führen die finale Verarbeitung durch (Indexierung, Evaluation,...) DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 3 / 9
Komponenten einer UIMA Pipeline Collection Readers Analysis Engines Consumers Document Reader Sentence Splitter Tokenizer Part-of-Speech Tagger Temporal Tagger Writer Zeitausdrücke Textdokumente Korpora UIMA Pipeline Warum eine UIMA Pipeline? einzelne Komponenten sind nicht direkt miteinander verbunden DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 3 / 9
Komponenten einer UIMA Pipeline Collection Readers Analysis Engines Consumers Document Reader Sentence Splitter Tokenizer Part-of-Speech Tagger Temporal Tagger Writer Zeitausdrücke Textdokumente tokens tokens w. pos tokens w. pos timexes Korpora UIMA Pipeline Warum eine UIMA Pipeline? einzelne Komponenten sind nicht direkt miteinander verbunden verbunden über das Objekt DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 4 / 9
Beispiele für Annotationsaufgaben Zeitausdrücke Temporal Tagging: Extraktion und Normalisierung 8. März 2016 2016-03-08 heute, ( today, hoy,...) 2016-03-08 DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 5 / 9
Der Temporal Tagger HeidelTime HeidelTime: mehrsprachiger, domänen-sensitiver Temporal Tagger Domänen: u.a. news, narrative,... Sprachen: englisch, spanisch, deutsch, französisch, italienisch, niederländisch, arabisch, vietnamesisch, chinesisch, russisch, kroatisch, estnisch, portugiesisch, (plus 200 weitere) Frei verfügbar: UIMA & Standalone Versionen, online demo https://github.com/heideltime/heideltime/ DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 6 / 9
Zeitausdrücke in Literatur häufig in literarischen Texten? DHd 2015: Analyse expliziter Datumsangaben tiwoli today in world literature literarische Zitate für jeden Tag explizite Datumsangaben nicht zu häufig in CATMA: temporal signals DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 7 / 9
Temporal Signals Manuelles Annotieren schön um mit CATMA vertraut zu werden langweilig und mühsam bei viel Text DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 8 / 9
Manuelles Annotieren Temporal Signals schön um mit CATMA vertraut zu werden langweilig und mühsam bei viel Text Alternative: UIMA Workflow Collection Readers Analysis Engines Consumers Document Reader Sentence Splitter Tokenizer Part-of-Speech Tagger Temporal Tagger Writer Zeitausdrücke Textdokumente tokens tokens w. pos tokens w. pos timexes Korpora UIMA Pipeline DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 8 / 9
Manuelles Annotieren Temporal Signals schön um mit CATMA vertraut zu werden langweilig und mühsam bei viel Text Alternative II: UIMA aus CATMA starten Collection Readers Analysis Engines Consumers CATMA COLLECTION READER Sentence Splitter Tokenizer Part-of-Speech Tagger Temporal Tagger CATMA CONSUMER tokens tokens w. pos tokens w. pos timexes UIMA Pipeline DHd 16, Leipzig Automatisiertes Annotieren in CATMA c Jannik Strötgen 8 / 9