View
88
Download
0
Category
Preview:
DESCRIPTION
Georg Rehm. Zur texttechnologischen Modellierung linguistischer Korpora. Ruhr-Universität Bochum, Germany, July 2007. July 9, 2007. Invited talk.
Citation preview
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 1/35
Zur texttechnologischen Modellierung���linguistischer Korpora
Georg Rehm
georg.rehm@gmail.com http://georg-re.hm
Ruhr-Universität Bochum, 9. Juli 2007
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 2/35
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 3/35
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 4/35
Von SGML und XML zur Texttechnologie
• Traditionell das primäre Anwendungsgebiet von SGML/XML: Electronic Publishing; seit 1990er Jahren: das Web.
• Texttechnologie:
Die linguistisch motivierte Informationsanreicherung und Verarbei-tung digitaler Texte mit standardisierten Auszeichnungssprachen. ���(Rehm, 2004)
<!ELEMENT article (date, body)> <!ELEMENT date (month, day, year, time)> <!ELEMENT body (headline, paragraph+)> ... article
date body
headline paragraph month day year time
08 08 2003 12:00 Der ... Die ...
DTD-Fragment:
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 5/35
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 6/35
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 7/35
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 8/35
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 9/35
W3C Semantic Web: Stack of Standards
Von der Bandbreite der zahlreichen W3C-Standards wird derzeit im text- und korpustechnologischen Bereich ���noch kein Gebrauch gemacht.
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 10/35
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 11/35
Anwendungen linguistischer Korpora
Korpus3 Tusnelda
Korpus4 XCES
Korpusn …
Korpus1 TEI
Korpus2 Exmaralda
Suche Suche Suche Suche Suche
Status Quo
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 12/35
Anwendungen linguistischer Korpora
Korpus3 Tusnelda
Korpus4 XCES
Korpusn …
Korpus1 TEI
Korpus2 Exmaralda
best case scenario
Erzeugung von Interoperabilität durch eine Korpus-Datenbank
Browsing Suche etc. Transformieren (ODF)
Visualisieren (SVG)
…
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 13/35
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 14/35
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 15/35
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 16/35
Ziel: Annotationen mit mehrwurzligen Bäumen
word word word word word word word word orth: the man bought these toys for his children pos: DT NN VBD DT NNS IN PP$ NNS
man NP
syntax
toy NP
syntax
child NP
syntax
:hlem
:prep :cat PP
child
for
syntax
buy VP
syntax
cat: S syntax
buy frame
pat felement
ben felement
agt felement
antecedent
tobi: H* prosody
tobi: H*L prosody
phase: prep gphase
stroke gphase
hold gphase
retract gphase
deictic type: target: hand:
toys right
gesture
discursive type: hand: left
gesture
0.0 1.0 2.0 3.0 t [s]
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 17/35
Verarbeitung der Korpusdaten: Phase 1 (von 2)
Korpus1
Korpus2
Korpusn
Format x (tag set)
Format y (tag set)
Format z (tag set)
Tool1 Tool2 Tool3
mehrwurzliger Baum
mehrwurzliger Baum
mehrwurzliger Baum
XML Datenbank
semiautomatische Verarbeitung der Ebene der physikalischen XML-Annotationsschichten
Beispiel: Leveler
Beispiel: Tusnelda
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 18/35
Leveler: Separierung von Annotationsschichten
• PHP und diverse���XSLT-Stylesheets
• Verarbeitet beliebige XML-Dateien
• Ablauf (vereinfacht):
1. Korpus-Upload
2. Benennung der Annotations-schichten
3. Zuordnung der���XML-Elemente���zu den Schichten���(nächste Folie)
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 19/35
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 20/35
Leveler: Anwendung
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 21/35
Leveler: Anwendung – <orth> Elemente
Die Primärdaten (der eigentliche Textinhalt)
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 22/35
Leveler: Anwendung – #PCDATA Inhalt
Primärdaten ≠ PCDATA-Inhalt
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 23/35
Leveler: Ergebnis der Anwendung
... token .............................. token
... POS: noun .............................. POS: verb
... Desc. .............................. Desc.
... Morph:acc .............................. Morph:participle
... Orth .............................. Orth
Die Schwester t habe ich gestern von Sarah t kennengelernt
... --- .............................. ntNodeCat
... --- .............................. funct=head
... --- .............................. ntNode
Tokenweise Abbildung der Primärdaten auf Annotationsschichten
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 24/35
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 25/35
Verarbeitung der Korpusdaten: Phase 2 (von 2)
Korpus1
Korpus2
Korpus3
Format x (tag set)
Format y (tag set)
Format z (tag set)
Tool1 Tool2 Tool3
mehrwurzliger Baum
mehrwurzliger Baum
mehrwurzliger Baum
XML Datenbank
semiautomatische Verarbeitung der Ebene der physikalischen XML-Annotationsschichten
Annotations- schema z
Annotations- schema y
Annotations- schema x
Formales Mo- dell z (OWL)
Formales Mo- dell y (OWL)
Formales Mo- dell x (OWL)
OWL-basierte Referenz-Ontologie linguistischer Termini und Konzepte
Manuelle Analyse der konzeptuellen Annotationsebenen und ihre Formalisierung als OWL-Ontologien
Verk
nüpf
ung
Verk
nüpf
ung
Verk
nüpf
ung
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 26/35
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
importiert
stts-link.rdf
susanne.owl
susanne-link.rdf
menota.owl
menota-link.rdf
...
model.rdf verwendetes Modell
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 27/35
Szenario: Querying schematisch
XML-11 XML-12 XML-13 XML-14
Drei Korpora, die aus je vier Annotationsebenen bestehen, somit in drei mal ���vier separate XML-Dateien aufgeteilt wurden und nun angefragt werden sollen.
Anfrage
XML-21 XML-22 XML-23 XML-24
XML-31 XML-32 XML-33 XML-34
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 28/35
Konzeption der Query-Schnittstelle
XML-11 XML-12 XML-13 XML-1n
XQuery-Engine
XML-21 XML-22 XML-23 XML-2n
XML-n1 XML-n2 XML-n3 XML-nm
Input (XQuery) Output (XML)
Visualisierung-1
Visualisierung-2
Visualisierung-n
Ontologie
Freie XQuery-Eingabe Grafischer Baukasten (Abfrage-Templates)
Kompilierung einer���Zwischenrepräsentation
Die Ontologie erzeugt einschrän- kende Klauseln für die XQuery-Formel.
Querying mehrwurzliger Bäume mit XQuery-Anfragen erfordert zusätzlichen Aufwand, der z.B. durch eine Erweiterung von eXist realisiert werden kann.
eXist XML-Output kann wieder als Input dienen.
Dateinamen der beteiligten Annotationsebenen etc.
XML-Repräsentation der Abfrage-Templates
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 29/35
Querying mehrwurzliger Bäume
• Technologische Basis: XQuery; native XML-Datenbank eXist
• Erweiterung von eXist: Drei Funktionen, implementiert in Java
- ds:layer() Liefert das Wurzelelement eines Layers
- seq:overlapping() Liefert überlappende Elemente
- txt:get-text() 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 30/35
Beispiel I: Grammatik/Intonation
<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> <layer id="text_into.clause"> <clauses> <clause comp="cont" rel="init"> <seg s="0" e="23" sig="A">Okay well you turn right</seg></clause> <clause comp="cont" rel="para"> <seg s="25" e="53" sig="A">and you go along the corridor</seg></clause> <clause comp="cont" rel="para"> <seg s="55" e="103" sig="A">and you turn left into the second little corridor</seg></clause> <clause comp="cont" rel="hypo"> <seg s="105" e="130" sig="A">and as soon as you do that</seg></clause> <clause comp="fin"> <seg s="132" e="172" sig="A">the office will be straight on your right</seg></clause> <clauses> </layer> <layer id="text_into.inton"> <inton-units> <inton-unit tone="t3"> <t><seg s="0" e="17" sig="A">Okay well you turn</seg></t> <emph><seg s="19" e="23" sig="A">right</seg></emph> </inton-unit> <inton-unit tone="t3"> <t><seg s="25" e="44" sig="A">and you go along the</seg></t> ... </inton-unit> </inton-units> </layer>
Primary Data
Clause Layer
Intonation Layer
Finde alle Intonationseinheiten, die eine Phrasengrenze beinhalten: let $c := ds:layer('text_into.clause')//clause for $i in ds:layer('text_into.inton')//inton-unit/t where count(seq:overlapping($i, $c)) gt 1 return <iunit>{txt:get-text($i)}</iunit>
<iunit>ridor and</iunit>
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 31/35
Beispiel II: Parallele Texte
<signal id="C.1">Er schloss das Tor ab</signal> <signal id="C.2">He locked the gate</signal> <layer id="test_en_de.align"> <alignment> <align> <i role="de"><seg s="0" e="1" sig="C.1">Er</seg></i> <i role="en"><seg s="0" e="1" sig="C.2">He</seg></i> </align> <align> <i role="de"> <seg s="3" e="9" sig="C.1">schloss</seg> <seg s="19" e="20" sig="C.1">ab</seg> </i> <i role="en"><seg s="3" e="8" sig="C.2">locked</seg></i> </align> <align> <i role="de"><seg s="11" e="13" sig="C.1">das</seg></i> <i role="en"><seg s="10" e="12" sig="C.2">the</seg></i> </align> <align> <i role="de"><seg s="15" e="17" sig="C.1">Tor</seg></i> <i role="en"><seg s="14" e="17" sig="C.2">gate</seg></i> </align> </alignment> </layer>
Zwei Signale bzw. Primärdaten
Alignment Layer
Part-of-speech Layer (nicht dargestellt)
Finde alle englischen Verbformen (sowie ihre jeweiligen deutschen Über-setzungen), die sich ein oder zwei Tokens links von einem Artikel befinden: 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 <t> <eng>{txt:get-text($eng)}</eng> <ger>{txt:get-text($aln//i[@role='de'])}</ger> </t>
<t> <eng>locked</eng> <ger>schloss ab</ger> </t>
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 32/35
Beispiel III: Querying mit der Ontologie
• Der OntoClient expandiert abstrakte Bezeichnungen linguistischer Konzepte und erzeugt auf diese Weise Query-Constraints:
• Homogenisierung heterogener Auszeichnungssprachen durch Abstraktion über die tatsächlichen Elementnamen.
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 […]
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 {$eng in Verb} and {$next in Determiner} return […]
Ursprüngliche Query
Modifizierte Query Vorverarbeitung durch OntoClient erzeugt XQuery-Formel
Georg Rehm: Zur texttechnologischen Modellierung linguistischer Korpora 33/35
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 34/35
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 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 36/35
Q/A
Zur texttechnologischen Modellierung���linguistischer Korpora
Georg Rehm
georg.rehm@gmail.com http://georg-re.hm
Ruhr-Universität Bochum, 9. Juli 2007
Recommended