ppt

Werbung
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
 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
 Konkatenation
 Vereinigung
 Sternbildung
usw.

a
ab
a|b
a*
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 beschreiben
z.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 Cascades
http://citeseer.nj.nec.com/abney96partial.html
Gregory Grefenstette, Light Parsing as Finite State
Filtering
http://citeseer.nj.nec.com/grefenstette96light.html
Negra-Korpus
http://www.coli.uni-sb.de/sfb378/negra-corpus/
Xerox-Seite
http://www.xrce.xerox.com/competencies/contentanalysis/fsCompiler/home.en.html
Herunterladen