Automatisiertes Annotieren in CATMA

Transcrição

Automatisiertes Annotieren in CATMA
Automatisiertes Annotieren in CATMA
Thomas Bögel1 , Evelyn Gius2 , Marco Petris2 , Jannik Strötgen3
1 Universität
Heidelberg
Hamburg
3 Max-Planck-Institut für Informatik
[email protected]
2 Universität
DHd Leipzig – 8. März 2016
Motivation
NLP & UIMA
UIMA-CATMA
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
Motivation
NLP & UIMA
UIMA-CATMA
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, CAS)
UIMA funktioniert nach dem Pipeline-Prinzip
DHd’16, Leipzig
Automatisiertes Annotieren in CATMA
c Jannik Strötgen
2/9
Motivation
NLP & UIMA
UIMA-CATMA
Komponenten einer UIMA Pipeline
Collection Readers
Analysis Engines
CAS Consumers
Textdokumente
Korpora
Zeitausdrücke
Output
UIMA Pipeline
3 Komponententypen
Collection Readers
Analysis Engines
CAS consumers
DHd’16, Leipzig
Automatisiertes Annotieren in CATMA
c Jannik Strötgen
3/9
Motivation
NLP & UIMA
UIMA-CATMA
Komponenten einer UIMA Pipeline
Collection Readers
Analysis Engines
CAS Consumers
Document
Reader
Textdokumente
Korpora
CAS
document text
Zeitausdrücke
Output
UIMA Pipeline
Collection Reader
liest Dokumente von einer Quelle (z.B.: Filesystem, Datenbank)
erstellt CAS Objekt für jedes Dokument
DHd’16, Leipzig
Automatisiertes Annotieren in CATMA
c Jannik Strötgen
3/9
Motivation
NLP & UIMA
UIMA-CATMA
Komponenten einer UIMA Pipeline
Collection Readers
Document
Reader
Textdokumente
Korpora
Analysis Engines
Sentence Splitter
Tokenizer
Part-of-Speech
Tagger
CAS Consumers
Temporal Tagger
CAS
document text
Zeitausdrücke
Output
UIMA Pipeline
Analysis Engines
typischerweise mehrere Analysis Engines
DHd’16, Leipzig
Automatisiertes Annotieren in CATMA
c Jannik Strötgen
3/9
Motivation
NLP & UIMA
UIMA-CATMA
Komponenten einer UIMA Pipeline
Collection Readers
Document
Reader
Textdokumente
Korpora
Analysis Engines
Sentence Splitter
CAS
document text
Tokenizer
CAS
document text
sentences
Part-of-Speech
Tagger
CAS
document text
sentences
tokens
CAS Consumers
Temporal Tagger
CAS
document text
sentences
tokens w. pos
CAS
document text
sentences
tokens w. pos
timexes
Zeitausdrücke
Output
UIMA Pipeline
Analysis Engines
lesen den Inhalt des CAS Objekts
analysieren die Dokumente
fügen Annotationen zum CAS Objekt hinzu
DHd’16, Leipzig
Automatisiertes Annotieren in CATMA
c Jannik Strötgen
3/9
Motivation
NLP & UIMA
UIMA-CATMA
Komponenten einer UIMA Pipeline
Collection Readers
Document
Reader
Textdokumente
Korpora
Sentence Splitter
CAS
document text
CAS
document text
sentences
Tokenizer
Part-of-Speech
Tagger
CAS
document text
sentences
tokens
Analysis Engines
CAS Consumers
Temporal Tagger
Output
Writer
CAS
document text
sentences
tokens w. pos
CAS
document text
sentences
tokens w. pos
timexes
Zeitausdrücke
Output
UIMA Pipeline
CAS Consumers
führen die finale Verarbeitung durch (Indexierung, Evaluation, ...)
DHd’16, Leipzig
Automatisiertes Annotieren in CATMA
c Jannik Strötgen
3/9
Motivation
NLP & UIMA
UIMA-CATMA
Komponenten einer UIMA Pipeline
Collection Readers
Document
Reader
Sentence Splitter
Tokenizer
Part-of-Speech
Tagger
Analysis Engines
CAS Consumers
Temporal Tagger
Output
Writer
Textdokumente
Korpora
Zeitausdrücke
Output
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
Motivation
NLP & UIMA
UIMA-CATMA
Komponenten einer UIMA Pipeline
Collection Readers
Document
Reader
Textdokumente
Korpora
Sentence Splitter
CAS
document text
Tokenizer
CAS
document text
sentences
Part-of-Speech
Tagger
CAS
document text
sentences
tokens
Analysis Engines
CAS Consumers
Temporal Tagger
Output
Writer
CAS
document text
sentences
tokens w. pos
CAS
document text
sentences
tokens w. pos
timexes
Zeitausdrücke
Output
UIMA Pipeline
Warum eine UIMA Pipeline?
einzelne Komponenten sind nicht direkt miteinander verbunden
“verbunden” über das CAS Objekt
DHd’16, Leipzig
Automatisiertes Annotieren in CATMA
c Jannik Strötgen
4/9
Motivation
NLP & UIMA
UIMA-CATMA
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
Motivation
NLP & UIMA
UIMA-CATMA
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
Motivation
NLP & UIMA
UIMA-CATMA
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
Motivation
NLP & UIMA
UIMA-CATMA
“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
Motivation
NLP & UIMA
UIMA-CATMA
“Temporal Signals”
Manuelles Annotieren
→ schön um mit CATMA vertraut zu werden
→ langweilig und mühsam bei viel Text
Alternative: UIMA Workflow
Collection Readers
Document
Reader
Textdokumente
Korpora
DHd’16, Leipzig
Sentence Splitter
CAS
document text
CAS
document text
sentences
Tokenizer
Part-of-Speech
Tagger
CAS
document text
sentences
tokens
UIMA Pipeline
Automatisiertes Annotieren in CATMA
Analysis Engines
CAS Consumers
Temporal Tagger
Output
Writer
CAS
document text
sentences
tokens w. pos
CAS
document text
sentences
tokens w. pos
timexes
Zeitausdrücke
Output
c Jannik Strötgen
8/9
Motivation
NLP & UIMA
UIMA-CATMA
“Temporal Signals”
Manuelles Annotieren
→ schön um mit CATMA vertraut zu werden
→ langweilig und mühsam bei viel Text
Alternative II: UIMA aus CATMA starten
Collection Readers
CATMA
COLLECTION
READER
Sentence Splitter
CAS
document text
CAS
document text
sentences
Tokenizer
Part-of-Speech
Tagger
CAS
document text
sentences
tokens
Analysis Engines
CAS Consumers
Temporal Tagger
CATMA
CAS
CONSUMER
CAS
document text
sentences
tokens w. pos
CAS
document text
sentences
tokens w. pos
timexes
UIMA Pipeline
DHd’16, Leipzig
Automatisiertes Annotieren in CATMA
c Jannik Strötgen
8/9