Multilingual Europe in late 2016 – A Strategic Research and Innovation Agenda...
Zur texttechnologischen Modellierung linguistischer Korpora
1. Zur texttechnologischen Modellierung
linguistischer Korpora
Georg Rehm
georg.rehm@gmail.com
http://georg-re.hm
Georg Rehm: Zur texttechnologischen Modellierung linguistischerBochum, 9. Juli 2007
Ruhr-Universität Korpora
1/35
2. Gliederung
•
•
SGML und XML: Metasprachen für
Auszeichnungssprachen
Auszeichnungssprachen für die Annotation von Korpora
-
-
Anwendungen
-
Probleme
-
•
Überblick
Lösungsansatz
Schlussfolgerungen und Ausblick
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
2/35
3. Markup-Sprachen – Auszeichnungssprachen
•
Erlauben die Verknüpfung von Text (Primärdaten) und Metadaten.
•
Beispiele: HTML, LaTeX, SGML, XML, troff, TexMecs, LMNL.
•
SGML und XML sind Metasprachen zur Definition von
Auszeichnungssprachen wie z.B. XHTML oder DocBook.
- SGML (1987): Standard Generalized Markup Language (ISO)
- XML (1998): Extensible Markup Language (W3C)
- Dokumentgrammatiken (z.B. DTDs) spezifizieren Regeln für gültige
Kombinationen von Elementen und Attributen.
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
3/35
4. Von SGML und XML zur Texttechnologie
•
Traditionell das primäre Anwendungsgebiet von SGML/XML: Electronic
Publishing; seit 1990er Jahren: das Web.
DTD-Fragment:
!ELEMENT article (date, body)
!ELEMENT date
(month, day, year, time)
!ELEMENT body
(headline, paragraph+)
...
article
body
date
month
•
Texttechnologie:
day
year
time
headline
paragraph
08
08
2003
12:00
Der ...
Die ...
Die linguistisch motivierte Informationsanreicherung und Verarbei-tung
digitaler Texte mit standardisierten Auszeichnungssprachen.
(Rehm, 2004)
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
4/35
5. Gliederung
•
SGML und XML: Metasprachen für Auszeichnungssprachen
•
Auszeichnungssprachen für die Annotation von Korpora
- Überblick
- Anwendungen
- Probleme
- Lösungsansatz
•
Schlussfolgerungen und Ausblick
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
5/35
6. Auszeichnungssprachen für die Korpusannotation
•
•
“The nice thing about standards is that you have so many to chose from;
furthermore, if you do not like any of them, you can just wait for next
year’s model.” (Andrew Tanenbaum, 1981)
Es existieren zahlreiche Werkzeuge, Formate und Standards zur
Auszeichnung von Korpora, z.B.:
AGTK, Alembic Workbench, annotate, ATLAS, CES/XCES, CHILDES/
CHAT, CLaRK, CLinkA, CWB/CQP, ELAN, Exmaralda, GATE, HCRC
Map Task, ISLE, LACITO, LAF/DCR, LDC, MATE/NITE, MMAX, MUC,
NIST, NITE XML Toolkit, PALinkA, Partitur, Paula, Praat, SUSANNE/
CHRISTINE, Switchboard, Systemic Coder, TASX, TEI, TIMIT,
Treebank, TreeBanker, Tusnelda, WordFreak.
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
6/35
7. Auszeichnungssprachen für die Korpusannotation
•
1. Generation
- Einfache ASCII-Formate (z.B. csv oder tsv)
- Lisp-ähnliche Klammerformate (z.B. Penn Treebank)
- Linguistische Beschreibung: Wortarten, Syntax
•
2. Generation
- SGML-, später auch XML-Anwendungen (z.B. TEI, CES, XCES)
- Zwei Paradigmen: Zeitachsen vs. Hierarchien
- Linguistische Beschreibung: Wortarten, Syntax, Semantik
•
3. Generation
- Strikt Unicode- und XML-basiert
- Stand-off Annotation: Multiple linguistische Annotationsebenen beziehen sich auf ein
Set von Primärdaten (z.B. NITE, Paula)
- Einsatz weiterer Standards der XML-Familie (XPointer, XPath)
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
7/35
8. Zwei Paradigmen: Zeitachse vs. Hierarchie
•
Annotationsparadigma I: Zeitachse
- Die primäre Relation zwischen zwei Elementen ist definiert durch
ihre Positionen auf einer Zeitachse.
- Entspricht Annotationsgraphen (Bird und Liberman, 2001).
- Primär verwendet für Transkription gesprochener Sprache.
•
Annotationsparadigma II: Hierarchie
- Die primäre Relation zwischen zwei Elementen ist definiert durch
ihre Positionen in einer geordneten Hierarchie.
- Text als OHCO (“ordered hierarchy of content objects”).
- Primär verwendet für geschriebene Sprache.
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
8/35
9. W3C Semantic Web: Stack of Standards
Von der Bandbreite der zahlreichen W3CStandards wird derzeit im text- und
korpustechnologischen Bereich
noch kein Gebrauch gemacht.
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
9/35
10. Anwendungen linguistischer Korpora
•
Was Linguisten, Computerlinguisten, Informatiker etc. heutzutage gerne
mit linguistischen Korpora anstellen würden:
- Finden – um es z.B. zu vermeiden, unter Umständen extrem viel
Arbeit in den Aufbau eines Korpus zu investieren, wenn bereits ein
vergleichbares Korpus existiert.
- Recherche in Metadaten einer großen Korpuskollektion.
- Browsing und Visualisierung – Exploration eines Korpus bzw.
einer Gruppe von Korpora.
- Querying – Komplexe Anfragen stellen, und zwar an mehrere,
heterogen annotierte Korpora gleichzeitig.
- Ausdrucken bzw. in Publikationen übernehmen –
Multiple Ausgabeformate sollten unterstützt werden (auch Print und
gängige Textverarbeitungsformate).
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
10/35
11. Anwendungen linguistischer Korpora
Status Quo
Korpus1
Korpus2
Korpus3
Korpus4
Korpusn
Suche
Suche
Suche
Suche
Suche
TEI
Exmaralda
Tusnelda
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
XCES
…
11/35
12. Anwendungen linguistischer Korpora
best case scenario
Korpus1
TEI
Korpus2
Exmaralda
Korpus3
Tusnelda
Korpus4
XCES
Korpusn
…
Erzeugung von Interoperabilität durch eine Korpus-Datenbank
Visualisieren (SVG)
Browsing
Suche etc.
Transformieren (ODF)
…
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
12/35
13. Formate zur Korpusannotation – Probleme
•
Heterogenität: Es existieren sehr viele Formate.
•
Formate nehmen immer Bezug auf eine linguistische Theorie:
- Theorie hat Einfluss auf Namen von Elementen und Attributen.
- Viele Formate sind daher konzeptionell nicht vereinbar
(z.B. Konstituenz vs. Dependenz).
•
•
•
Mangelnde Interoperabilität: Ein gemeinsames Format, das alle Formate
subsumiert, kann nicht geschaffen werden
(z.B. zeitachsensbasierte vs. hierarchische Annotation).
Meist parallele Annotation mehrerer linguistischer Beschreibungs-ebenen
(Kompromisse gerade bei 2G-Ansätzen).
Schlechte Anwendung von XML, z.B. PCDATA-Inhalt, der für
Primärdaten und für Annotationen gleichzeitig benutzt wird.
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
13/35
14. Formate zur Korpusannotation – Lösungsansatz
•
Homogenisierung für die Interoperabilität:
- Konzeptionelle Angleichung der jeweiligen Notationsarten.
§ XML-Ebene:
Elemente, Attribute, Text (PCDATA)
§ Datenebene:
Primärdaten, Metadaten (d.h. Annotationen)
- Separierung der Annotationsebenen von single-file Korpora.
§ Wesentliches Problem: Überlappende Annotationen.
•
Standard-konforme Datenhaltung (W3C, ISO TC37 SC4).
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
14/35
15. Formate zur Korpusannotation – Szenario
•
Ziel ist die Zusammenführung und Homogenisierung der Formate
- Tusnelda
SFB 441 „Linguistische Datenstrukturen“
- Exmaralda
SFB 538 „Mehrsprachigkeit“
- Paula
•
SFB 632 „Informationsstruktur“
Generalisierung über diese Formate, d.h. insbesondere über
- Hierarchische Annotation (Tusnelda) und
- Graphen-basierte Annotation (Exmaralda).
•
Konzeptionelle Anlehnung an Nite Object Model (Carletta, Kilgour,
O‘Donnell, Evert, Heid und Voormann, 2003) als Datenmodell.
- NOM erlaubt es, mehrere Bäume über Blätter zu spannen.
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
15/35
16. Ziel: Annotationen mit mehrwurzligen Bäumen
cat:
tobi:
frame
buy
syntax
S
syntax
VP
buy
prosody
H*
felement
agt
felement
pat
felement
ben
syntax
PP
for
child
antecedent
:hlem
word
man
NN
0.0
word
bought
VBD
word
these
DT
1.0
phase:
word
toys
NNS
word
for
IN
2.0
gphase
prep
gphase
stroke
hand:
target:
type:
gphase
hold
gesture
right
toys
deictic
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
tobi:
prosody
H*L
syntax
NP
child
syntax
NP
toy
syntax
NP
man
word
orth: the
pos: DT
:cat
:prep
word
his
PP$
word
children
NNS
3.0
t [s]
gphase
retract
gesture
hand:
left
type: discursive
16/35
17. Verarbeitung der Korpusdaten: Phase 1 (von 2)
semiautomatische Verarbeitung der Ebene
der physikalischen XML-Annotationsschichten
Korpusn
Korpus2
Korpus1
Beispiel: Tusnelda
Format x
(tag set)
Format y
(tag set)
Format z
(tag set)
Beispiel: Leveler
Tool1
Tool2
Tool3
mehrwurzliger
Baum
mehrwurzliger
Baum
mehrwurzliger
Baum
XML Datenbank
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
17/35
18. Leveler: Separierung von Annotationsschichten
•
•
•
PHP und diverse
XSLT-Stylesheets
Verarbeitet beliebige
XML-Dateien
Ablauf (vereinfacht):
1. Korpus-Upload
2. Benennung der
Annotationsschichten
3. Zuordnung der
XML-Elemente
zu den Schichten
(nächste Folie)
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
18/35
19. Leveler: Separierung von Annotationsschichten
•
•
•
Separierung eines Korpus in
einzelne Schichten
Von einem single-rooted tree zu
einem multi-rooted tree
Im Folgenden:
- Beispiel aus dem SFB 441,
Projekt A3 „Suboptimale
syntaktische Strukturen“
(Wolfgang Sternefeld)
- Annotationsformat: Tusnelda
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
19/35
21. Leveler: Anwendung – orth Elemente
Die Primärdaten (der eigentliche Textinhalt)
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
21/35
22. Leveler: Anwendung – #PCDATA Inhalt
Primärdaten ≠ PCDATA-Inhalt
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
22/35
23. Leveler: Ergebnis der Anwendung
Tokenweise Abbildung der Primärdaten auf Annotationsschichten
Die Schwester t habe ich gestern von Sarah t kennengelernt
... Orth
.............................. Orth
... token
.............................. token
... POS: noun .............................. POS: verb
... Desc.
.............................. Desc.
... Morph:acc .............................. Morph:participle
... ---
.............................. ntNode
... ---
.............................. ntNodeCat
... ---
.............................. funct=head
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
23/35
24. Der Lösungsansatz im Detail
•
XML-basierte Korpora werden in einzelne XML-Dateien separiert.
- Diese Dateien entsprechen Annotationsschichten.
- Sie sind – einzeln – mit XML-Standardverfahren anfragbar.
•
•
Problem: Die Menge von n XML-Dateien, die n Ebenen beschreiben, ist
nicht mit XML-Standardverfahren anfragbar.
Zusätzliche Schwierigkeit:
- Die Korpora besitzen unterschiedliche Annotationsformate, d.h.
- Bezeichnungen von XML-Elementen und XML-Attributen sind nicht
einheitlich.
- Macht effizientes Querying nahezu unmöglich.
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
24/35
25. Verarbeitung der Korpusdaten: Phase 2 (von 2)
Manuelle Analyse der konzeptuellen Annotationsebenen
und ihre Formalisierung als OWL-Ontologien
semiautomatische Verarbeitung der Ebene
der physikalischen XML-Annotationsschichten
Korpus3
Korpus2
Korpus1
Format x
(tag set)
Format y
(tag set)
Format z
(tag set)
Formales Mo-
dell z (OWL)
Formales Mo-
dell y (OWL)
Formales Mo-
dell x (OWL)
Tool1
Tool2
Tool3
mehrwurzliger
Baum
mehrwurzliger
Baum
mehrwurzliger
Baum
Verknüpfung
Annotations-
schema x
Verknüpfung
Annotations-
schema y
Verknüpfung
Annotations-
schema z
OWL-basierte Referenz-Ontologie
linguistischer Termini und Konzepte
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
XML Datenbank
25/35
26. OWL-Ontologie zur Integration von Terminologien
•
Die Ontologie setzt die Elemente und Attribute von
Auszeichnungssprachen zueinander in Beziehung.
•
Initiale Exemplifizierung an part-of-speech tags.
•
Terminologische Referenz: EAGLES.
•
Status Quo: Integration von neun tag sets.
•
GOLD und DOLCE können als upper models
eingesetzt werden.
eagles.owl
stts.owl
susanne.owl
menota.owl
stts-link.rdf
...
susanne-link.rdf
menota-link.rdf
importiert
verwendetes Modell
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
model.rdf
26/35
27. Szenario: Querying schematisch
Drei Korpora, die aus je vier Annotationsebenen bestehen, somit in drei mal
vier separate XML-Dateien aufgeteilt wurden und nun angefragt werden sollen.
XML-11
XML-12
XML-13
XML-14
XML-21
XML-22
XML-23
XML-24
XML-31
XML-32
XML-33
XML-34
Anfrage
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
27/35
28. Konzeption der Query-Schnittstelle
XML-11
XML-12
XML-13
Querying mehrwurzliger Bäume mit XQuery-Anfragen erfordert zusätzlichen
Aufwand, der z.B. durch eine Erweiterung von eXist realisiert werden kann.
XML-1n
XML-21
XML-22
XML-23
XML-2n
XML-n1
XML-n2
XML-n3
XML-nm
XQuery-Engine
Ontologie
Input (XQuery)
Output (XML)
XML-Output kann wieder
als Input dienen.
eXist
Die Ontologie erzeugt einschrän-
kende Klauseln für die XQuery-Formel.
Visualisierung-1
Dateinamen der beteiligten
Annotationsebenen etc.
Kompilierung einer
Zwischenrepräsentation
Visualisierung-2
Visualisierung-n
XML-Repräsentation der
Abfrage-Templates
Grafischer Baukasten
(Abfrage-Templates)
Freie XQuery-Eingabe
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
28/35
29. Querying mehrwurzliger Bäume
•
Technologische Basis: XQuery; native XML-Datenbank eXist
•
Erweiterung von eXist: Drei Funktionen, implementiert in Java
- ds:layer()
- seq:overlapping()
- txt:get-text()
•
Liefert das Wurzelelement eines Layers
Liefert überlappende Elemente
Liefert die Primärdaten für Elemente
Prinzip der Formulierung von Querys:
- Spezifizierung der Annotationsebenen mittels XPath
- Ergebnisse der XPath-Anfragen werden durch Referenzen auf ein
gemeinsames Signal kombiniert (mittels seq:overlapping)
- Retrieval eines Teils der Primärdaten zur Generierung eines
Resultats (mittels txt:get-text)
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
29/35
30. Beispiel I: Grammatik/Intonation
Primary Data
signal id=A
Okay well you turn right and you go along the corridor and you turn left into the second little
corridor and as soon as you do that the office will be straight on your right
/signal
Clause Layer
layer id=text_into.clause
clauses
clause comp=cont rel=init
Finde alle Intonationseinheiten, die eine Phrasengrenze beinhalten:
seg s=0 e=23 sig=AOkay well you turn right/seg/clause
clause comp=cont rel=para
seg s=25 e=53 sig=Aand you go along the corridor/seg/clause
let
$c := ds:layer('text_into.clause')//clause
clause comp=cont rel=para
$i in ds:layer('text_into.inton')//inton-unit/t
seg s=55 e=103for
sig=Aand you turn left into the second little corridor/seg/clause
clause comp=cont rel=hypo
where count(seq:overlapping($i, $c)) gt 1
seg s=105 e=130 sig=Aand as soon as you do that/seg/clause
clause comp=fin return iunit{txt:get-text($i)}/iunit
seg s=132 e=172 sig=Athe office will be straight on your right/seg/clause
iunitridor and/iunit
clauses
/layer
layer id=text_into.inton
inton-units
inton-unit tone=t3
tseg s=0 e=17 sig=AOkay well you turn/seg/t
emphseg s=19 e=23 sig=Aright/seg/emph
/inton-unit
inton-unit tone=t3
tseg s=25 e=44 sig=Aand you go along the/seg/t
...
/inton-unit
/inton-units
/layer
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
Intonation Layer
30/35
31. Beispiel II: Parallele Texte
signal id=C.1Er schloss das Tor ab/signal
signal id=C.2He locked the gate/signal
Zwei Signale bzw. Primärdaten
layer id=test_en_de.align
Alignment Layer
alignment
align
i role=deseg s=0 alle englischen Verbformen (sowie ihre jeweiligen deutschen Über-setzungen),
Finde e=1 sig=C.1Er/seg/i
Part-of-speech Layer
i role=enseg s=0 e=1 sig=C.2He/seg/i
die sich ein oder zwei Tokens links von einem Artikel befinden:
(nicht dargestellt)
/align
align
for
$eng in ds:layer('test_en.pos.tnt')//token,
i role=de
$aln in ds:layer('test_en_de.align')//align
seg s=3 e=9 sig=C.1schloss/seg
seg s=19 e=20 sig=C.1ab/seg
let
$next := $eng/following::token[position()2]
/i
where seq:overlapping($eng, $aln//i[@role='en'])
i role=enseg s=3 e=8 sig=C.2locked/seg/i
and starts-with($eng/@pos, 'V')
/align
and starts-with($next/@feature, 'DT')
align
return
i role=deseg s=11 e=13 sig=C.1das/seg/i
t
i role=enseg s=10 e=12 sig=C.2the/seg/i
eng{txt:get-text($eng)}/eng
/align
align
ger{txt:get-text($aln//i[@role='de'])}/ger
i role=deseg s=15 e=17 sig=C.1Tor/seg/i
/t
i role=enseg s=14 e=17 sig=C.2gate/seg/i
/align
t
/alignment
englocked/eng
/layer
gerschloss ab/ger
/t
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
31/35
32. Beispiel III: Querying mit der Ontologie
•
Der OntoClient expandiert abstrakte Bezeichnungen linguistischer
Konzepte und erzeugt auf diese Weise Query-Constraints:
for
$eng in ds:layer('test_en.pos.tnt')//token,
$aln in ds:layer('test_en_de.align')//align
let
$next := $eng/following::token[position()2]
where seq:overlapping($eng, $aln//i[@role='en'])
and starts-with($eng/@pos, 'V')
and starts-with($next/@feature, 'DT')
return […]
$eng in ds:layer('test_en.pos.tnt')//token,
$aln in ds:layer('test_en_de.align')//align
let
$next := $eng/following::token[position()2]
where seq:overlapping($eng, $aln//i[@role='en'])
and {$eng in Verb}
and {$next in Determiner}
return […]
Ursprüngliche Query
for
•
Modifizierte Query
Vorverarbeitung durch OntoClient
erzeugt XQuery-Formel
Homogenisierung heterogener Auszeichnungssprachen durch
Abstraktion über die tatsächlichen Elementnamen.
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
32/35
33. Gliederung
•
SGML und XML: Metasprachen für Auszeichnungssprachen
•
Auszeichnungssprachen für die Annotation von Korpora
- Überblick
- Anwendungen
- Probleme
- Lösungsansatz
•
Schlussfolgerungen und Ausblick
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
33/35
34. Zusammenfassung
•
•
Es existieren hunderte von Korpusannotationsformaten.
Lösungsansatz zur nachhaltigen Interoperabilität XML-annotierter
linguistischer Korpora:
- Separierung der eigentlichen Annotations-
schichten mit Werkzeugen (Leveler;
Splitter für Zeitachsen-Daten).
- OWL-Ontologie gewährleistet
Interoperabilität.
- Querying mehrwurzliger Bäume
erfordert Mehraufwand gegen-
über dem traditionellen
XML-Paradigma.
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
34/35
35. Aktuelle Arbeiten und Ausblick
•
Implementierung einer nutzerfreundlichen Query-Schnittstelle
•
Implementierung der Web-basierten Korpus-Plattform
•
•
•
Vollständige Aufbereitung der existierenden XML-basierten Korpora
und Import in die Korpus-Plattform
Verarbeitung von legacy data – Korpora, die in anderen Formaten
vorliegen (z.B. MS Access, ASCII, IBM DB/2, MySQL etc.)
Verarbeitung anderer Datentypen (semantische Lexika und mittels
Umfragen und Fragebögen erhobene Sprecherurteile)
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora
35/35
36. Q/A
Zur texttechnologischen Modellierung
linguistischer Korpora
Georg Rehm
georg.rehm@gmail.com
http://georg-re.hm
Georg Rehm: Zur texttechnologischen Modellierung linguistischerBochum, 9. Juli 2007
Ruhr-Universität Korpora
36/35