Post on 06-Apr-2015
transcript
Repräsentation und Abfrage von multi-layer Korpora
Elke Teich, FR 4.6, UdSSilvia Hansen, FR 4.7, UdS
Peter Fankhauser, FhG-IPSI, Darmstadt
Hintergrund• Multi-layer Korpora – Repräsentation und
Abfrage• Kontext: vermehrt Annotation verschiedener
Arten von linguistischer Information für verschiedene Zwecke– Trainieren statistischer Verfahren– Referenzkorpora für automatische Verfahren– linguistische Abfragen– Informationsextraktion
• Fragen– multi-layer – was ist das?– Anforderungen: Datenmodell– Anforderungen: Extraktionsmechanismen
linguistischeDatenbanken
Vortragsüberblick
• Ausgangssituation– zwei Analyseszenarien
– Anforderungen an linguistische Datenbanken
• State-of-the-art: Zwei Methoden der Korpusrepräsentation
• Ein Ansatz zur Repräsentation und Abfrage von multi-layer Korpora
• Zusammenfassung und Ausblick
Ausgangssituation: Analyseszenarium (1)
• Kontrastive Analyse, Analyse von Übersetzungen• Übersetzungskorpus populärwissenschaftliche Texte
E-D• Beispiel: nicht-agentive NP-Subjekte
E-O: Textbooks write this process as HCl H++ Cl-. D-Ü: Lehrbücher beschreiben diesen Prozess als
HCl H++ Cl-. D-Ü: In Lehrbüchern wird dieser Prozess als
HCl H++ Cl- dargestellt.
Ausgangssituation: Analyseszenarium (1)
Englishoriginal texts (E-O)
Germanoriginal texts (G-O)
German translations (G-T)
parallel corpus monolingually
comparable corpora
multilingually comparable corpus
Englishtranslations (E-T)
parallel corpus
Merkmale• nonagentive• NP/NN• subject
Ausgangssituation: Analyseszenarium (1)
(S (NP-SB (NN2 Textbooks) ) (VP-HD (VV0 write) (NP-OA (DD1 this) (NN1 process) ) (PP-MO (II as) (NP1 HCl H++ Cl-) ) ) (YC .))
<?xml version="1.0"> <clause semfeat="nonagentive"> <phrase synform="NP" synfunc="SB"> <word pos="NN2">Textbooks</word> </phrase> <phrase synform="VP" synfunc="HD"> <word pos="VV0">write</word> <phrase synform="NP" synfunc="OA"> <word pos="DD1">this</word> <word pos="NN1">process</word> </phrase> <phrase synform="PP" synfunc="MO"> <word pos="II">as</word> <word pos="NP1">HCl H++ Cl-</word> </phrase> </phrase> <word pos="YC">.</word> </clause>
Ausgangssituation: Analyseszenarium (2)
• Interaktion von Grammatik und Intonation• Beispiel: Interaktion Satzkomplexität und
Tonhöhenverlauf • Problem: überlappende Segmente• Korpus route descriptions (E), MRI, Macquarie
Universityokay 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
• Merkmale: cont(inuing), init(ial), fin(al), para(tactic), hypo(tactic); tone
Ausgangssituation: Analyseszenarium (2)
(clause:cont-init okay well you turn right) (clause:cont+para and you go along the corridor) (clause:cont+para and you turn left into the second littlecorridor) (clause:cont+hypo and as soon as you do that)(clause:fin the office will be straight on your right)
//tone:t3 okay well you turn RIGHT//tone:t3 andyou go along the CORridor and //tone:t3 you turn LEFT//tone:t3 into the second little CORridor//tone:t2 andas soon as you do THAT//tone:t1 the office will bestraight on your RIGHT//
Anforderungen an linguistische Datenbanken
• Expressiveness: Repräsentation so mächtig wie nötig, um die relevanten Beziehungen ausdrücken zu können
• Simplicity: Repräsentation so orthogonal wie möglich, um Annotation, Verwaltung und Analyse zu unterstützen
• Integrity: Integrität der Annotation sollte gewährleistet sein
• Searchability: Abfragemechanismen müssen in der Lage sein, den linguistisch relevanten Beziehungen Rechnung zu tragen
State-of-the-art: Zwei Methoden der Korpusrepräsentation
• State-of-the-art: zwei Ansätze auf konzeptuell unterschiedlicher Grundlage
• Dominanz: gerichtete azyklische Graphen (DAG, Baum; treebanks, XML, EMU, und v. a.)
• Temporalität: annotation graphs (Bird & Liberman 2001)
• expressiveness, simplicity, integrity, searchability
Beispiel treebank
<clause> <phrase synform="NP" synfunc="SB"> <word pos="NN2">Textbooks</word> </phrase> <phrase synform="VP" synfunc="HD"> <word pos="VV0">write</word> <phrase synform="NP" synfunc="OA"> <word pos="DD1">this</word> <word pos="NN1">process</word> </phrase> <phrase synform="PP" synfunc="MO"> <word pos="II">as</word> <word pos="NP1">HCl H++ Cl-</word> </phrase> </phrase> <word pos="YC">.</word> </clause>
(S (NP-SB (NN2 Textbooks) ) (VP-HD (VV0 write) (NP-OA (DD1 this) (NN1 process) ) (PP-MO (II as) (NP1 HCl H++ Cl-) ) ) (YC .))
Beispiel annotation graph
11
316
529
421
210
845
W/textbooks W/write
T/S
W/this W/process
632
744
W/as W/HCl H++ Cl-
T/VP-HD
T/NP-SB
W/.
P/NN2 P/VV0 P/DD1 P/NN1 P/II P/NP1 P/YC
T/NP-OA T/PP-MO
State-of-the-art: Zwei Methoden der Korpusrepräsentation
• Stärken/Schwächen von AGs:+Temporale Abfolge von Segmenten
+Multi-layer Repräsentation durch Bezug auf eine gemeinsame timeline
– Hierarchie?
• Stärken/Schwächen von DAGs (XML):+Hierarchie
~Temporale Abfolge (Ordered DAGs)
– XML: Überlappende Hierarchien/multi-layer?
State-of-the-art: Zwei Methoden der Korpusrepräsentation
• Expressiveness: Augmentierte AGs und ODAGs (XML) äquivalent
• Simplicity: AGs, ODAGs orthogonaler als XML– AGs keine Unterscheidung Temporalität u. Hierarchie– XML: Viele Modellierungsoptionen (Element vs. Attribut,
Elementname vs. Elementinhalt)?
• Integrity: Tools für XML zur Überprüfung und Validierung
• Searchability: Tradeoff– Spezialsyntax (AGs, Mate) „einfache“ Querysprache– SQL (AGs), XQuery, XSLT (XML) mehr Tools
Repräsentation und Querying von multi-layer Korpora
• Modell: Nutzen der Stärken von AGs und ODAGs – AGs: multi-layer (separate layers, gemeinsame
timeline)
– ODAGs: Hierarchie (wenn sie Sinn macht)
• Format: XML; Vorteile: verfügbare Werkzeuge zum Editieren, Validieren, Transformieren
Repräsentation und Querying von multi-layer Korpora
• Korpus: flaches Textfile (whitespace-normalisiert)• layers: separate XML-Files (+ DTDs)• elements: Attribute start und end markieren die
character offsets der Elementinhalte (Elemente höher in der Hierarchie „erben“ diese Attribute)
• ids zum sharing von Elementen (plus Attribut-Wert) über multiple Hierarchien hinweg
• Variante von stand-off markup (Thompson & McKelvie 97)
• Demo: Alinierung
Repräsentation und Querying von multi-layer Korpora
• Querying: XQuery (XSLT)• XQuery: Standardisierung durch W3C (W3C
2001b); Basis: XPath• Beziehungstypen: (dominate =>) contain;
overlap; 2 Funktionen:define function my:contains (AnyElement? $x, AnyElement? $y): Boolean{(($x/descendant-or-self::*[@start])[1]/@start <= ($y/descendant-or-self::*[@start])[1]/@start) and (($x/descendant-or-self::*[@end])[last()]/@end >= ($y/descendant-or-self::*[@end])[last()]/@end)}
define function my:overlaps (AnyElement? $x, AnyElement? $y): Boolean{(($x/descendant-or-self::*[@start])[1]/@start <= ($y/descendant-or-self::*[@end])[last()]/@end) and (($y/descendant-or-self::*[@start])[1]/@start <= ($x/descendant-or-self::*[@end])[last()]/@end)}
Repräsentation und Querying von multi-layer Korpora
• Demo: 2 Queries (XQuery)– containment: Einheiten, die mit nonagentive und NP/SB (NN)
annotiert sindfor $c in document('clauses1.xml')//clause[@semfeat='nonagentive']where some $p in $c/phrase[@synfunc="SB"] satisfies
some $w in document('pos.xml')//word[my:contains($p,.)] satisfies substring($w/@pos,1,2)='NN'
return $c
– overlap: Einheiten, die mit tone3 und cont annotiert sindfor $c in document('clauses2.xml')//clause[@comp='cont']
where some $i in document('inton-unit.xml')//inton-unit satisfies my:overlaps($c,$i) and @tone='t3'
return $c
Zusammenfassung und Ausblick
• `State-of-the-art´ multi-layer Korpusrepräsentation: (Ordered) Directed Acyclic Graphs, Annotation Graphs
• Ausgangssituation– kontrastive Analyse/Übersetzungen– Grammatik-Intonation Schnittstelle– Ableitung von Erfordernissen für die Korpusrepräsentation:
Datenmodell, Abfrage
• Lösung: Kombination von Eigenschaften ODAGs und AGs; XML, XSLT, XQuery
Zusammenfassung und Ausblick• Annotierte Korpora als linguistische Datenbanken:
– Linguistik • Welche Arten von Beziehungen? Dominanz, lineare
Abfolge, binding, Kohäsion, semantische Relationen...• Verschiedene Perspektiven auf ein Korpus
– Abfragen auf mehreren Annotierungsschichten– Vergleich verschiedener Annotierungen desselben Korpus
– Informatische Techniken• superimposed information• Querysprachen
• Tool kit:– Skripts „externe“ tools (TSV, Baum, AG, your-XML) –
our-XML– Definition von Querytypen (XQuery; XSLT)– zusätzliche layers; mehr Daten
Teich E., S. Hansen & P. Fankhauser, Representing and querying multi-layer annotated corpora. In Proceedings of IRCS Workshop on Linguistic Databases, University of Pennsylvania, Philadelphia, December 2001http://www.ldc.upenn.edu/annotation/database/proceedings.html