Resolution of Anaphora Procedure (RAP)

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

1. 2 Untersuchungsdesign Zielgruppe:Bevölkerung ab 14 Jahre Befragungsgebiet:Land Brandenburg Stichprobe:Soll:3.000 Befragte Ist:3.052 Befragte Auswahl:telefonische.
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten KMP, BM.
B-Bäume.
Das Substantiv (das Nomen)
Verifizieren versus Berechnen
Kapitel 4 Syntaktische Analyse: LR Parsing.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java: Objektorientierte Programmierung
Algorithmentheorie 04 –Hashing
Suche in Texten: Suffix-Bäume
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Geometrisches Divide and Conquer
Die Beschreibung der Insula Ostia in XML
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
Fakten, Regeln und Anfragen
Flaches Parsing mit endlichen Automaten Referat und Implementierung Jutta Jäger
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 9 Claudio Moraga; Gisbert Dittrich FBI Unido
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Lexikalisch-Funktionale-Grammatik
Klausur „Diskrete Mathematik II“
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Christian Schindelhauer
NPGrammar NPGrammar. Nominalphrasenextraktion.
1 Reverse Engineering WS 07 / 08 A. Zündorf. Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 2 Organisatorisches.
NPGrammar NPGrammar. Abschlussvortrag.. NPGrammar Programmgerüst.
DVG Klassen und Objekte
Kennlinie Lichtregelung in JavaNNS Version 1.1
Grundschutztools
Heute: Scherenzange zeichnen
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
Titelmasterformat durch Klicken bearbeiten Formatvorlage des Untertitelmasters durch Klicken bearbeiten Die formalen Sprachen bei ETAP Teil II.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
TWS/Graph HORIZONT Produkt-Präsentation Software für Rechenzentren
Proseminar an der TU München Martin Levihn
I Cases accusative (review) + dative
...ich seh´es kommen !.
HORIZONT 1 XINFO ® Das IT - Informationssystem Java Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
DEUTSCH Hauptsatz Prädikat  nächste Seite
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Algorithmus von Dijkstra. 0 Algorithmus von Dijkstra s Priority Queue PQ: Knoten, Priorität Weglänge Kandidatenmenge.
Auslegung eines Vorschubantriebes
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Analyseprodukte numerischer Modelle
Using latent semantic analysis to find different names for the same entity in free text Präsentation und Diskussion des Papers Im Rahmen des PS Web-Information.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Formulare in HTML.
Der Erotik Kalender 2005.
Wie alt bist du? Ich bin __ Jahre alt..
Der Geburtstag Komm Mit! 1 Kapitel 11.
KLASSIFIZIERUNG DER VERBEN NACH MORPHOLOGISCHEN KRITERIEN
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Grammatikalische Begriffe im Unterricht
Satzgliedstellung. Postavení větných členů.
1 Tagesüberblick 5 Lösung Hausaufgabe/Fragen Assoziative Felder Funktionen zu Variablenbehandlung.
Kurs: Leseverstehen Kursleiter: Dr
Merkmale und Merkmalstrukturen
Lexikalische Semantik
Das Relativpronomen Das Relativpronomen  ist ein Wort, das einen Relativsatz einleitet, dabei im Relativsatz die Funktion einer Substantivgruppe übernimmt.
Arbeiten mit WordSmith 4. Inhalt 1. Arbeiten mit der Funktion Wortliste (im getaggten Korpus) 1. Arbeiten mit der Funktion Wortliste (im getaggten Korpus)
Determiners: Artikeln & Pronomen Durrell, S
 Präsentation transkript:

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

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

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

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

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

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 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

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 (!)‏

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 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 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 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 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.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.

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

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.

$ 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.

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).

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

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.

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.

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.

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

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%

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