240 likes | 342 Views
Flaches Parsing mit endlichen Automaten Referat und Implementierung Jutta Jäger 24.06.2002. Übersicht. Einführung Vorhandene Systeme/Ansätze Implementierung. Partielles oder Flaches Parsing. Anwendungsbereiche z.B. Information Retrieval oder Information Extraction
E N D
Flaches Parsing mit endlichen AutomatenReferat und ImplementierungJutta Jäger24.06.2002
Übersicht • Einführung • Vorhandene Systeme/Ansätze • Implementierung
Partielles oder Flaches Parsing • Anwendungsbereiche z.B. Information Retrieval oder Information Extraction • Implementierung durch endliche Automaten bzw. Reguläre Ausdrücke statt kontextfreier Grammatiken
Eigenschaften • Keine Baumstrukturen, sondern inkrementelles Erkennen von Teilstrukturen • Keine Rekursion
Eigenschaften • Robust • Schnell • Leichtes Entwerfen und Anpassen des Parsers • Keine 100%ige Abdeckung
Reguläre Ausdrücke • Symbole a • Konkatenation ab • Vereinigung a|b • Sternbildung a* usw.
Weitere Operatoren • Rechter und linker Kontext • A => L _ R • Left-to right, longest match mark up • A @ B ... C • Perl: andere Notation
Vorgehensweisen • Tokenizierung • POS-Tagging • Mehrere einfache Finite State Transducer werden aufeinander bezogen • Von einfachen Strukturen (NPs oder NounGroups) zu syntaktischen Rollen (z.B. Subjekt)
Abney – Finite State Cascades • Phrasen auf einem höheren Level werden durch Phrasen aus einem niedrigeren Level zusammengesetzt • Es werden keine Tags in den Text gesetzt, sondern die erkannten Sequenzen des Inputs werden durch ein Label ersetzt
Philosophie • Easy-first parsing • Islands of certainty • Containment of ambiguity
Grefenstette – Finite State Filters • Noun- und Verb-Groups • HeadNouns werden markiert • Syntaktische Funktionen werden herausgefiltert
Implementierung fürs Deutsche • Perl • 2 Ansätze: • Parsre.pl • Subj_filter.pl
Ansatz 1 (Parsre.pl) • Freier, nicht tokenisierter oder getaggter Text • NP-Detector • Reguläre Ausdrücke beschreiben einfache NPs • Alles, was matcht, wird ausgegeben (Filter)
Reguläre Ausdrücke Geschlossene Wortartenklassen aus dem Negra-Korpus => vorkompilierte Pattern z.B. $ART = qr/das|dem|den|der|des|die|einem|einen|einer|eines|eine|ein/;
Regulärer Ausdruck für NP Vereinfacht: ($ART | $PPOSAT)? ($ADJE (\, | ([\n ] $KON)) ? )* $SUBST
Evaluierung • Ersten 100 Sätze aus Negra-Korpus • Im Korpus getaggte NPs: • 349 • Durch den regulären Ausdruck erkannte: • 395
Ansatz 2 – Mark up • Nutzen der POS-Tags • Regulärer Ausdruck für NPs • NP-Tags werden eingefügt • PP-Tags werden eingefügt
Diskontinuität • Mit Mark-up kann man diskontinuierliche Konstituenten (z.B. Prädikate) nicht erfassen, da Einfügen von Klammern oder Tags unmöglich • Im Deutschen sind viele Prädikate diskontinuierlich, z.B. Passivkonstruktionen, Perfekt, Verbzusatz • Lösung: Filter (?)
Ansatz 2 – Filter (Subj_filter.pl) • Erste NP vor einem finiten Verb=> Subjekt • ABER: Im Deutschen sind verschiedene Satzbaupläne möglich, z.B. Adverb – finites Verb – NP (=SUBJ) Kongruenzprüfung nötig
Regulärer Ausdruck für Subjekt und Prädikat NP (=SUBJ) (NP|PP|ADV)* VVFIN (=PRÄD) ODER NP (=SUBJ) (NP|PP|ADV)* VAFIN (=PRÄD) (NP|PP|ADV)* (ADJD|VVPP) (=PRÄD) • unvollständig, da Testcharakter
Diskontinuität II • Perl bietet Möglichkeit, Teile einer RegEx zu speichern • Keine Möglichkeit, komplexe Teilausdrücke zu negieren, etwa [^(ADJD|VVPP) ], um auf diese Art Konstituenten zu „überspringen“, also: positive und fast zwangsläufig unvollständige Aufzählung
Evaluierung • NP/PP-Erkennung • im Negra-Korpus getaggte • NPs und PPs 349 • davon PPs 144 • durch die Transducer getaggte • NPs 321 • davon PPs 120
Resümee • Verschachtelte Strukturen sind durch einen Regulären Ausdruck nicht zu beschreibenz.B. eine PP innerhalb einer NP[NP die [PP vom Baum ] gefallene Katze] • diskontinuierliche Konstituenten sind problematisch, Verben bzw. Prädikate sind im Deutschen sehr häufig diskontinuierlich • Für das Herausfiltern von „Chunks“ sehr geeignet, aber kein komplettes Parsen
Links & Literatur • Steven Abney, Partial Parsing via Finite State Cascadeshttp://citeseer.nj.nec.com/abney96partial.html • Gregory Grefenstette, Light Parsing as Finite State Filteringhttp://citeseer.nj.nec.com/grefenstette96light.html • Negra-Korpushttp://www.coli.uni-sb.de/sfb378/negra-corpus/ • Xerox-Seite http://www.xrce.xerox.com/competencies/content-analysis/fsCompiler/home.en.html