290 likes | 485 Views
Algorithmus von Lappin und Leass (L&L) für pronominale Anaphernauflösung Resolution of Anaphora Procedure (RAP) Nataliya Kutsenko Philipp Kriependorf Artjom Klein. Inhalt. 1. Einführung 2. L&L Algorithmus 3. RAP 4. Ergebnisse und Evaluierung 5. Literatur und Ressourcen.
E N D
Algorithmus von Lappin und Leass (L&L) für pronominale Anaphernauflösung Resolution of Anaphora Procedure (RAP) Nataliya Kutsenko Philipp Kriependorf Artjom Klein
Inhalt 1. Einführung 2. L&L Algorithmus 3. RAP 4. Ergebnisse und Evaluierung 5. Literatur und Ressourcen
1. Einführung 1.1. Motivation 1.2. L&L kurz 1.3. Ziel des Projekts 1.4. Systemarchitektur 1.5. Korpus
1.1 Motivation • Anaphernbeispiel (1 Satz, deutsch z. B. „Peter kocht. Er macht Spaghetti.“) • Es werden die Pronomina der 3. Person in allen Kasusformen aufgelöst • Regelnbasierter Ansatz: L&L Ansatz
1.2 L&L Algorithmus: Kurz • Regelbasiert • Alle möglichen Antezedenten werden gesucht, dann ausgefiltert und der „wahrscheinlichste“ bleibt. • Voraussetzung ist die Vorverarbeitung des Textes : • morphologische Informationen: Kasus, Numerus, Genus • grammatische Rollen (Subjekt, Objekt usw.) • Dependenzrelationen (Dependenzbäume)
1.3 Ziel des Projekts • L&L für Deutsch nachimplementieren • Mit einem Gold-Standart-Input evaluieren
1.4 Systemarchitektur Parser Parser Output Konverter rap.input.xml RAP gold.rap.input.xml rap.ouput.xml Evaluierer anaphora.keys.xml Eval Output
1.5 Korpus • Tübinger Korpus des geschriebenen Deutschen • 27 000 Sätze • Zwei Versionen, die wir verwendet haben • tuebadz3-anaphora.xml Phasenstrukturannotation: morphologische Informationen, Anaphernreferenz • tuebadz3-malt.xml Dependenzstrukturannotation: Grammatische Rollen
2. L&L Algorithmus 2.1. Überblick (Kurzbeschreibung) 2.2. Salienzwerte 2.3. Morphologischer Filter 2.4. Syntaktischer Filter 2.5. Beispiel
2.1 Lappin & Leass Algorithmus: Überblick • Verarbeitung der Sätze von links nach rechts 2. Alle möglichen Antezedenten im Kontext (4 Sätze vor und nach dem aktuellen Satz) finden 3. Salienzwerte berechnen 4. Anwenden der Filter, die aus der Liste der Kandidaten-NPn unmögliche Antezedenten aussortieren - morphologischer Filter - syntaktischer Filter 5. Die NP mit dem größten Salienzwert wird als Antezedens ausgewählt
2.2 Lappin & Leass Algorithmus: Salienzwerte Der Salienzwert gibt an wie aktuell oder wie stark hevorgehoben ein Referent(eine Person, ein Objekt) zu einem bestimmten Moment der Textwiedergabe ist. Für Pronomenauflösung werden Referenten mit dem hohen Salienzwert bevorzugt. SUBJECTEMPHASIS = 170 ACCUSATIVE OBJECTEMPHASIS = 70 DATIVE OBJECT EMPHASIS = 50 GENETIVE OBJECT EMPHASIS = 50 HEAD NOUN EMPHASIS = 80 CURRENT SENTENCE REWARD = 20 PARALLELISM REWARD = 25 SHORT DISTANCE CATAPHORA PENALTY = -80 LONG DISTANCE CATAPHORA PENALTY = -175
2.3 Lappin & Leass Algorithmus: Morphologischer Filter Prüft, ob Pronomen und NP in Genus und Numerus übereinstimmen (satzintern und satzextern) Peter(i) erwartet, daß sie(k) einen Brief bekommt
2.4 Lappin & Leass Algorithmus: Syntaktischer Filter Der syntaktische Filter prüft Paare Pronomen-NP, die im selben Satz stehen (satzintern). Voraussetzung: der Satz wird als Dependenzbaum dargestellt. Für Deutsche Sprache (Strube & Hahn). Der Ansatz basiert auf Constraints. Dabei werden folgende Punkte berücksichtigt: • die Knoten und Relationen im syntaktischen Baum • die Position im Satz relativ zueinander • ob N und P Argumente vom selben Verb sind • ob N und P im Nebensatz oder im Hauptsatz stehen
2.5 L&L Algorithmus: Beispiel Beispiel: Peter(?) hat einen schönen Wagen(?) in der Halle(?) gesehen. Er(i) hat ihn seinem Bruder(?) gezeigt. 1.Die potenziellen Antezedenten finden und Salienzwerte berechnen: [Peter = 160, Wagen = 75, Halle = 40, Bruder = 150]
2.5 L&L Algorithmus: Beispiel Beispiel: Peter(?) hat einen schönen Wagen(?) in der Halle(k) gesehen. Er(i) hat ihn seinem Bruder(?) gezeigt. 2. Morphologischen Filter anwenden [Peter = 160, Wagen = 75, Halle = 40, Bruder = 150] [Peter = 160, Wagen = 75, Bruder = 150] Morph. Filter
2.5 L&L Algorithmus: Beispiel Beispiel: Peter(?) hat einen schönen Wagen(?) in der Halle(k) gesehen. Er(i) hat ihn seinem Bruder(m) gezeigt. 3. Syntaktischen Filter anwenden [Peter = 160, Wagen = 75, Bruder = 150] [Peter = 160, Wagen = 75] hat Syntakt. filter Bruder gezeigt ihn Er seinem
2.5 L&L Algorithmus: Beispiel Beispiel: Peter(i) hat einen schönen Wagen in der Halle gesehen. Er(i) hat ihn seinem Bruder gezeigt. 4. Den Kandidat mit dem größten Salienzwert auswählen [Peter = 160, Wagen = 75] [Peter = 160] Auswahl
3. RAP 3.1. In Systemarchitektur 3.2. rap.jar 3.3. config.cfg 3.4. Input: XML-Definition 3.5. Input: PoS und grammatische Rollen 3.6. Key-File 3.7. Output
3.1 RAP in Systemarchitektur Parser • RAP und Evaluierungstool in einem • In Java implementiert • => RAP-Programm Parser Output Konverter rap.input.xml RAP gold.rap.input.xml RAP-Programm rap.ouput.xml Evaluierer anaphora.keys.xml Eval Output
3.3 RAP: rap.jar Ausführen in Konsole: $ java –jar rap.jar <test ordner> • Input: <test ordner> Testordner enthält: - config.cfg (Konfiguration-Datei) - rap.input.xml (Geparster Text) - anaphora.keys.xml (Key-Datei) • Output: eval.txt / Konsole
3.4 RAP: config.cfg Durch config.cfg wird RAP „gesteuert“. Dort werden die Salienzwerte eingestellt und man kann die Filter (morphologischen und syntaktischen) ein- und ausschalten. SENTENCESBUFFERSIZE = 9 MORPHOLOGICFILTER = true SYNTACTICFILTER = true SUBJECTEMPHASIS = 170 ACCUSATIVEOBJECTEMPHASIS = 70 DATIVEOBJECTEMPHASIS = 50 GENETIVEOBJECTEMPHASIS = 50 HEADNOUNEMPHASIS = 80 CURRENTSENTENCEREWARD = 20 PARALLELISMREWARD = 25 SHORTDISTANCECATAPHORAPENALTY = -80 LONGDISTANCECATAPHORAPENALTY = -175
3.4 RAP: Input: XML-Definition Der Input ist eine Menge von Sätzen, jeder Satz ist eine Menge von Wörtern, jedes Wort wird wie folgt definiert: Jedes Wort hat 6 Attribute: • id = einheitliche Identität innerhalb eines Satzes • form = Wortform • postag = Part-of-speech • head = Syntaktischer Kopf (Wort-Id). • deprel = Abhängigkeitsbeziehung zum/vom Kopf • morph = morphologische Informationen
3.5 RAP: Input: Beispiel Beispiel: “Veruntreute die AWO Spendengeld?” <sentence id="1"> <word id="1" form="Veruntreute" postag="VFIN" head="0" deprel="ROOT" morph="-"> <word id="2" form="die" postag=“-" head="3" deprel=“-" morph="-"> <word id="3" form="AWO" postag="N" head="1" deprel="SUBJ" morph="nsf"> <word id="4" form="Spendengeld" postag="N" head="1" deprel="OBJA" morph="asn"> <word id="5" form="?" postag=“-" head="4" deprel="-" morph="-"></word> </sentence>
3.6 RAP: PoS und grammatische Rollen PoS Kategorien: • postag=“PPER3“ – Personalpronomen in der 3. Person singular und plural + in allen Kasusformen (er, sie, es, ihn, ihr, ...) • postag=“N“ – alle Nomina einschiesslich Eigennamen • postag=“VFIN“ – finites Verb einschließlich modale Verben und Hilfsverben (z.B. lacht, erwartet, konnte, hat usw.) • postag=“PREP“ – alle Präpositionen (z.B. über, zu, nach usw.) • postag=“DETPOS“ - Vorangestellte Possessivpronomina (mein Hund) Grammatische Kategorien (Dependenzrelation zwischen dem Wort und seinem direkten Kopf): • deprel=“SUBJ“ Subjekt • deprel=“OBJA“ Akkusativobjekt • deprel=“OBJD“ Dativobjekt • deprel=“OBJG” Genitivobjekt Alle vier sind obligatorische Argumente eines verbalen Prädikats. • deprel=”GMOD” – vorangestelltes sowie nachgestelltes Substantiv im Genitiv mit nominalem Kopf (z.B. Peters Blume, Blume des Peters ) • deprel=“PPATT“ – Präposition PREP bei einem nominalen Kopf (die Wut auf den Lehrer) • deprel= „DETPOSATT“ - Possessiv Pronomen DETPOS zum nominalen Kopf (z. B. Seine Blume)
3.7 Key-File: anaphora.keys.xml (rap.output.xml) <anaphorapairs> <pair id=„1" type="anaphoric"> <anaphora sid="9" form="sie" pos="PPER3" wid="25"></anaphora> <antecedent sid=„8" form=" Ute Wedemeier"></antecedent> </pair> <pair id=„2" type=„cataphoric"> <anaphora sid="33" form="er" pos="PPER3" wid="12"></anaphora> <antecedent sid="34" form=" Koring"></antecedent> </pair> </anaphorapairs> Die Anaphorapaare (Pronomen und Antezedent) wurden aus dem Tübinger Korpus mit Hilfe eines Moduls exktrahiert.
3.8 RAP: Output (a) pairs in key file = die Anzahl von Anaphorapaaren im Key-File, d. h. mit anderen Worten, die Anzahl der im Testkorpus vorkommenden Anaphern (b) proposed pairs in rap output = die Anzahl von Personalpronomina im Input, die für die Auflösung vorgeschlagen worden sind; Anzahl der gefundenen Anaphern (c) correct resolved pairs = die Anzahl von Personalpronomina, für die ein korrekter Antezedent gefunden wurde. • recall = Anzahl der korrekt aufgelösten Anaphern im Verhältnis zur Anzahl der im Testkorpus vorkommenden Anaphern • precision = Anzahl der korrekt aufgelösten Anaphern im Verhältnis zur Anzahl der gefundenen Anaphern
Literatur • [1]. Algorithmus von Lappin und Leass für Englisch: http://acl.ldc.upenn.edu/J/J94/J94-4002.pdf • [2]. Algorithmus von Lappin und Leass für Deutsch http://www.sfs.uni-tuebingen.de/~wunsch/lingev06_wunsch.pdfhttp://www.sfs.uni-tuebingen.de/~wunsch/treebanks_car.pdf • [3]. Anleitung für die Implementierung des syntaktischen Filters für Deutsch http://www.aclweb.org/anthology-new/E/E95/E95-1033.pdf • [4]. Stylebook für Tübinger Korpus von geschriebenem Deutsch http://www.sfs.uni-tuebingen.de/resources/sty.pdf • [5] Studienprojekteinleitung. /src/doc/Studienprojekteinleitung.pdf