Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Resolution of Anaphora Procedure (RAP)

Ähnliche Präsentationen


Präsentation zum Thema: "Resolution of Anaphora Procedure (RAP)"—  Präsentation transkript:

1 Resolution of Anaphora Procedure (RAP)
Algorithmus von Lappin und Leass (L&L) für pronominale Anaphernauflösung Resolution of Anaphora Procedure (RAP) Nataliya Kutsenko Philipp Kriependorf Artjom Klein

2 Inhalt 1. Einführung 2. L&L Algorithmus 3. RAP 4. Ergebnisse und Evaluierung 5. Literatur und Ressourcen

3 1. Einführung 1.1. Motivation 1.2. L&L kurz 1.3. Ziel des Projekts 1.4. Systemarchitektur 1.5. Korpus

4 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

5 Voraussetzung ist die Vorverarbeitung des Textes :
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) kurz sagen: was L&L ist

6 1.3 Ziel des Projekts L&L für Deutsch nachimplementieren Mit einem Gold-Standart-Input evaluieren

7 1.4 Systemarchitektur Parser Konverter RAP Evaluierer Parser Output
rap.input.xml RAP gold.rap.input.xml rap.ouput.xml Evaluierer anaphora.keys.xml Eval Output

8 1.5 Korpus Tübinger Korpus des geschriebenen Deutschen Sätze Zwei Versionen, die wir verwendet haben tuebadz3-anaphora.xml Phasenstrukturannotation: morphologische Informationen, Anaphernreferenz tuebadz3-malt.xml Dependenzstrukturannotation: Grammatische Rollen

9 2. L&L Algorithmus 2.1. Überblick (Kurzbeschreibung) 2.2. Salienzwerte 2.3. Morphologischer Filter 2.4. Syntaktischer Filter 2.5. Beispiel

10 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 Zur Identifikation des Antezedenten werden zunächst mögliche Antezedenten, d. h. in der Regel Nomen im Kontxt gesucht und in einer Liste potentieller Kandidaten zusammen gefasst. Über diese Liste laufen dann verschiedene Filter (morfologischer Filter, syntaktischer Filter, Salienzgewichtung), die unwahrscheinliche bzw. unmögliche kandidaten aussortieren. Wenn nach dieser Filterung mehr als ein Kandidat übrig bleibt, wird der Kandidat mit dem größten Salienzwert ausgewählt und als Antezedent des aufzulösenden Pronomens angegeben. Unterschied zum Englischen: Kontext nach dem aktuellen Satz wird in Betracht genommen

11 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 Der finale Salienzwert setzt sich aus syntaktischen und positionalen Salienzwerten zusammen. Je höher der finale Salienzwert ist, desto bevorzugter ist der Kandidat der Antezedent des Pronomens zu sein. Unterschied zum Englischen erwähnen (!)‏

12 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

13 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

14 2.5 L&L Algorithmus: 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]

15 2.5 L&L Algorithmus: 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

16 2.5 L&L Algorithmus: 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

17 2.5 L&L Algorithmus: 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

18 3.4. Input: XML-Definition 3.5. Input: PoS und grammatische Rollen
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 Ich werde über das Programm erzählen, das wir implementiert haben. Was dieses Programm einliest, was es ausgibt. Wie man dieses Programm verwendet.

19 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 Es geht um diesen Teils der Systemarchitektur. Das Programm fasst Anaphoraauflösung und Evaluierung zusammen. Das Programm haben wir in Java implementiert und haben es kurz RAP gennant. rap.ouput.xml Evaluierer anaphora.keys.xml Eval Output

20 3.2 RAP: Java-Klassen Hier sind die Klassen, die realisiert wurden.
Das ist Word-Klasse. Jedes Wort hat eine Form und eine Menge von Informationen. Der Satz ist eine Menge von Wörtern. Referent-Klasse repräsentiert Diskursreferent dar. AnaphoraPair-Klasse dient um die Ergebnisse/Ergebniss-Paaren zu speichern. Diese Basisklassen werden in Diskurs-Klasse verwendet. Diskurs enthält die Anapernauflösungsmodule. RAP-Klasse ist eine Main-Klasse. Sie liest Eingabe, initialisiert einen Diskurs, löst die Anaphern auf und speichert die Ergebnisse. Evaluierungsklasse realisiert die Evaluierung.

21 $ java –jar rap.jar <test ordner> Input: <test ordner>
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 Als Ergebniss der Implementierung entstand rap.jar Programm. Das Programm kann man folgenderweise in Konsole ausführen. Es liest einen <test ordner> ein und speichert Ergebnisse in einem Textfile und wiedergibt auf der Konsole. Der Testordner muss drei Dateien enthalten: eine Konfigurationsdatei, den geparsten Text in XML-Format und den Anaphora-Key-File, anhand dessen die Ergebnisse evaluiert werden.

22 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 Durch config.cfg wird RAP „gesteuert“. Dort werden die Salienzwerte eingestellt und man kann die Filter (morphologischen und syntaktischen) ein- und ausschalten. Man kann auch die Puffergröße einstellen. Als default ist 9. Also 4 Sätze vor- und 4 Sätze nach dem Satz, der verarbeitet wird. (Verarbeitet bedeutet: wenn im Satz ein Pronomen für die Auflösung gibt, wird der Satz verarbeitet).

23 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

24 Beispiel: “Veruntreute die AWO Spendengeld?”
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> Das ist ein Beispiel eines Satzes. Ein Word besteht aus dem ID (Position im Satz), einer Form, PoS, Anweisung, was das Kopf ist und Dependenzrelation zwischen dem Wort und dem Kopf, das entspricht der grammatischer Rolle. Head 0 und ROOT bedeutet, dass es die Wurzel des Dependenzbaums ist. Wie man sieht, fehlen einige Informationen: z.B.bei dem artikel „die“ fehlen PoS Grammatische Rolle und morphologische Information. Das kommt dort vor, wo diese Information für Anaphernauflösung irrelevant ist. Somit muss diese Information bei der Vorverarbeitung nicht obligatorisch markiert sein. DIe Information, die für die Anaphernauflösung relevant ist und bei der Vorverarbeitung markiert werden muss, kann man der nächster Folien entnehmen.

25 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) Hier sind die PoS Kategoriwen und Grammatische Rollen, die unbedingt markiert werden müssen.

26 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> </anaphorapairs> Die Anaphorapaare (Pronomen und Antezedent) wurden aus dem Tübinger Korpus mit Hilfe eines Moduls exktrahiert. Die Ergebnisse der Anaphernaufösung werden anghand des Key-File evaluiert. Das ist ein XML-Datei. Die Datei enthält Menge von Anaphorapaaren. Jedes Paar besteht aus dem Pronomen und einem Antezedent.

27 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 Der Output ist 5 Zahlen, 5 Werte. Ich möchte es mit Mengen-Diagrammen erklären. 1. Erstens,es ist die Anzahl der im Korpus vorkommenden Anaphern, das entspricht der Anzahl don Anaphorapaaren im Key-File. 2. Dann die Anzahl der Anaphern im Input. D.h. Die Anaphern, die vom Parser im Text gefunden wurden 3. Die anzahl der korrekt aufgelösten Anaphern Dann noch Recal und precision Racall ist Verhältnis

28 4. Ergebnisse pairs in key file proposed pairs in rap output
correct resolved pairs recall precision 5000 Sätze „Gold“-Input 884 512 58% 27000 Sätze 3837 2494 65%

29 Literatur [1]. Algorithmus von Lappin und Leass für Englisch:
[2]. Algorithmus von Lappin und Leass für Deutsch [3]. Anleitung für die Implementierung des syntaktischen Filters für Deutsch [4]. Stylebook für Tübinger Korpus von geschriebenem Deutsch [5] Studienprojekteinleitung. /src/doc/Studienprojekteinleitung.pdf


Herunterladen ppt "Resolution of Anaphora Procedure (RAP)"

Ähnliche Präsentationen


Google-Anzeigen