chwach kontextsensitive Grammatik-Formalismen Petra chmidt 22.03.2007
Inhalt Linguistische Motivation Grammatikformalismen TAG: Beschreibung, Beispielgrammatik und Analyse CCG: Beschreibung, Beispielgrammatik und Analyse LIG: Beschreibung, Beispielgrammatik und Analyse Beweis Äquivalenz von TAG, CCG und LIG chluss Literatur Anhang (formale Definitionen) 2
Linguistische Motivation Natürliche prachen sind nicht kontextfrei Beispielsatz aus dem Holländischen: ik haar hem de nijlpaarden zag helpen voeren (dass) ich sie ihm die Nilpferde sah helfen füttern Idee: Charakterisierung einer Klasse formaler Grammatikformalismen die auch prachen wie Holländisch vollständig abdecken, deren nicht kontextfreie, überkreuzende syntaktische Abhängigkeiten beschreiben kann dabei aber immer noch effizient verarbeitbar sind (polynomielle Parsingalgorithmen) 3
Grammatikformalismen Typische Vertreter der schwach-kontextsensitiven Grammatikformalismen, die auf unterschiedlichen Paradigmen beruhen: TAG: Baumersetzungssystem CCG: CG, die eingeschränkte Komposition von Kategorien hinzufügt LIG: CFG, die die Möglichkeit bietet, die Nichtterminale mit einem tack zu versehen TAG und CCG sind die beiden Formalismen, die in der Computerlinguistik wirklich genutzt werden LIG ist eher theoretischer Natur, wird für Beweise und Parsingalgorithmen eingesetzt 4
TAG: Beschreibung TAG wurde hauptsächlich von Aravind Joshi entwickelt (Joshi et al. 1975 und Joshi and Vijay-hanker 1985) besteht aus Initialbäumen und Auxiliarbäumen anwendbare Operationen: Adjunktion von Auxiliarbäumen in Auxiliarbäume ubstitution eines Blattes A durch Initialbäume mit Root A (durch Adjunktion modellierbar) 5
TAG: Beispielgrammatik Beispielsatz (aus Folie 3): ik haar hem de nijlpaarden zag helpen voeren Beispielgrammatik G = <V N, V T, T ini,t aux,> V N = {, NP, V 1, V 2, V 3 } V T = {ik, haar, hem, de nilpaarden, zag, helpen, voeren} T ini = { 1 } T aux = { 1, 2 } 6
TAG: Beispielgrammatik ( 1 ) NP V 3 voeren de nijlpaarden ( 1 ) ( 2 ) NP V 2 ik NP NP * helpen haar * V 1 hem zag 7
TAG: Analyse ( 1 ) ( 1 ) NP de nijlpaarden V 3 voeren V 2 V 3 voeren ( 2 ) V 2 NP hem helpen NP de nijlpaarden NP * helpen hem 8
( 1 ) TAG: Analyse ( 2 ) V 2 V 3 voeren V 3 NP hem NP de nijlpaarden helpen NP ik NP V 2 voeren helpen ( 1 ) haar V 1 NP ik NP haar * V 1 NP hem zag NP de nijlpaarden zag 9
CCG: Beschreibung CCG wurde von teedman entwickelt (erste Papiere 80er Jahre, The syntactic process 2000) besteht aus: einer endl. Menge von atomaren Kategorien (z.b. s für atz, n für Namen ) Konnektoren (/, \) mittels denen aus atomaren Kategorien rekursiv komplexe Kategorien gebildet werden können (z.b. s\n für fliegt) einem Lexikon, das Wörter auf Kategorien abbildet z.b. Hans := n, fliegt := s\n 10
CCG:Beschreibung syntaktische Regeln (Kombinationsregeln), die die Kombination von Kategorien definieren Applikation Rückwärtsapplikation (<): y x\y x (Bsp: Hans fliegt: n s\n s) Vorwärtsapplikation (>): x/y y x Komposition Rückwärtskomposition (B < ): x\y y\z x\z Vorwärtskomposition (B > ): x/y y/z x/z Rückwärtskreuzkomposition (B < *): x\y y/z Vorwärtskreuzkomposition (B > *): x/y y\z x/z x\z 11
CCG: Beschreibung syntaktische Regeln (Kombinationsregeln), die die Kombination von Kategorien definieren Applikation Rückwärtsapplikation (<): y x\y x (Bsp: Hans fliegt: n s\n s) Vorwärtsapplikation (>): x/y y x Komposition Rückwärtskomposition (B < ): x\y y\z x\z Vorwärtskomposition (B > ): x/y y/z x/z Rückwärtskreuzkomposition (B < *): x\y y/z Vorwärtskreuzkomposition (B > *): x/y y\z x/z x\z 12
CCG: Beispielgrammatik Beispielsatz (aus Folie 3): ik haar hem de nijlpaarden zag helpen voeren Lexikon ik, haar, hem, de nilpaarden := np zag := s\np\np/vp helpen := vp\np/vp voeren := vp\np 13
CCG: Analyse helpen vp\np/vp voeren vp\np 14
CCG: Analyse helpen voeren vp\np/vp vp\np B> * B>*: x/y y\z x\z 15
CCG: Analyse helpen voeren vp\np/vp vp\np\np vp\np B > * B>*: x/y y\z x\z 16
CCG: Analyse zag helpen voeren s\np\np/vp vp\np/vp vp\np vp\np\np B > * 17
CCG: Analyse zag helpen voeren s\np\np/vp vp\np/vp vp\np vp\np\np B > * B > * B>*: x/y y\z x\z 18
CCG: Analyse zag helpen voeren s\np\np/vp vp\np/vp vp\np vp\np\np s\np\np\np\np B > * B > * B>*: x/y y\z x\z 19
CCG: Analyse de nijlpaarden zag helpen voeren np s\np\np/vp vp\np/vp vp\np vp\np\np s\np\np\np\np B > * B > * 20
CCG: Analyse de nijlpaarden zag helpen voeren np s\np\np/vp vp\np/vp vp\np vp\np\np s\np\np\np\np B > * B > * < <: y x\y x 21
CCG: Analyse de nijlpaarden zag helpen voeren np s\np\np/vp vp\np/vp vp\np vp\np\np s\np\np\np\np s\np\np\np B > * B > * < <: y x\y x 22
CCG: Analyse hem de nijlpaarden zag helpen voeren np np s\np\np/vp vp\np/vp vp\np vp\np\np s\np\np\np\np s\np\np\np B > * B > * < 23
CCG: Analyse hem de nijlpaarden zag helpen voeren np np s\np\np/vp vp\np/vp vp\np vp\np\np s\np\np\np\np s\np\np\np B > * B > * < < <: y x\y x 24
CCG: Analyse hem de nijlpaarden zag helpen voeren np np s\np\np/vp vp\np/vp vp\np vp\np\np s\np\np\np\np s\np\np\np s\np\np B > * B > * < < <: y x\y x 25
CCG: Analyse haar hem de nijlpaarden zag helpen voeren np np np s\np\np/vp vp\np/vp vp\np vp\np\np s\np\np\np\np s\np\np\np s\np\np B > * B > * < < 26
CCG: Analyse haar hem de nijlpaarden zag helpen voeren np np np s\np\np/vp vp\np/vp vp\np vp\np\np s\np\np\np\np s\np\np\np s\np\np B > * B > * < < < <: y x\y x 27
CCG: Analyse haar hem de nijlpaarden zag helpen voeren np np np s\np\np/vp vp\np/vp vp\np vp\np\np s\np\np\np\np s\np\np\np s\np\np s\np B > * B > * < < < <: y x\y x 28
CCG: Analyse ik haar hem de nijlpaarden zag helpen voeren np np np np s\np\np/vp vp\np/vp vp\np vp\np\np s\np\np\np\np s\np\np\np s\np\np s\np B > * B > * < < < 29
CCG: Analyse ik haar hem de nijlpaarden zag helpen voeren np np np np s\np\np/vp vp\np/vp vp\np vp\np\np s\np\np\np\np s\np\np\np s\np\np s\np B > * B > * < < < < <: y x\y x 30
CCG: Analyse ik haar hem de nijlpaarden zag helpen voeren np np np np s\np\np/vp vp\np/vp vp\np vp\np\np s\np\np\np\np s\np\np\np s\np\np s\np s B > * B > * < < < < <: y x\y x 31
LIG: Beschreibung (Aho 1968) (Gazdar 1988) wie kontextfreie Grammatik plus Indizes an Nonterminalen Indizes beschreiben den tack im Unterschied zur IG nach Aho werden Indizes nur an ein Nonterminal weitergegeben 32
LIG: Beispielgrammatik Regeln: [..] ik haar A[..z] A[..] hem B[..h] B[..] de nijlpaarden C[..v] C[..v] C[..] voeren C[..h] C[..] helpen C[..z] C[ ] zag C[ ] 33
LIG: Analyse [] ik haar A[z] hem B[zh] de nijlpaarden C[zhv] C[zh] voeren C[z] helpen C[] zag 34
Äquivalenzbeweis CCG, LIG, TAG zeige die Äquivalenz in Bezug auf die tringsprachen der Grammatikformalismen CCG, LIG und TAG durch zyklische Inklusion (Vijay-hanker und Weir 1994): zeige CCG LIG zu einer CCG gibt es eine LIG, die die gleiche prache erzeugt zeige LIG TAG zu einer LIG gibt es eine TAG, die die gleiche prache erzeugt zeige TAG CCG zu einer TAG gibt es eine CCG, die die gleiche prache erzeugt CCG LIG TAG 35
Beweis: CCG LIG Ideen zur Überführung einer CCG in eine LIG CCG-Kategorien können interpretiert werden als Nonterminal +tack (z.b. [], /a [/a]) Applikation entspricht push Komposition entspricht pop 36
Beweis: CCG LIG Konstruktion der LIG zur bestehenden CCG alle Kategorien des Lexikons werden als entsprechende LIG- Produktion angelegt zum Beispiel zag := s\np\np/vp Produktionen aus den Instanzen der Rückwärtsapplikation np x\np np [..] np [..\np] Produktionen aus den Instanzen der Vorwärtskreuzkomposition x/vp vp\(np/vp) x\(np/vp) [..\np/vp] [../vp] vp[\np/vp] 37
Beweis: LIG TAG Idee für den Beweis: zunächst LIG normalisieren jede Regel pusht und poppt maximal ein Item auf den/vom tack alle tacks sind zu Anfang und am Ende einer Ableitung leer Konstruktion der TAG TAG-Nichtterminale kodieren die tackoperationen Adjunktionsknoten werden mit elementaren tackoperationen markiert Eingabe-Nonterminal Transitionstyp (keine Transition, pushen oder poppen) Ausgabe-Nonterminal 38
Beweis: LIG TAG Konstruktion der TAG Initialbäume A für alle Nonterminale A, B [A,, B]/OA B A für Regeln der Form A[ ] x x Beispiel für A[ ] B [ ] c D[ ] B A c D 39
Konstruktion der TAG Beweis: LIG TAG Auxiliarbäume: für alle Nonterminale A, B, C, D und alle tacksymbole a: [A,, A]/NA [A,, B]/NA [A,, B]/NA [A,, C]/OA [A, +a, C]/OA [C,, B]/OA [C,, D]/OA [A,, B]/NA [D, -a, B]/OA [A,, B]/NA 40
Konstruktion der TAG Beweis: LIG TAG weitere Auxiliarbäume für LIG-Regeln keine tack-op: push: pop: A[..] x B[..] y A[..] x B[..a] y A[..a] x B[..] y [A,, B]/NA [A, +a, B]/NA [A, -a, B]/NA X [A,, B]/NA y x [A, +a, B]/NA y x [A, -a, B]/NA y 41
Beweis: LIG TAG Beispiel LIG-Regel (a n b n c n d n ) [..] a [..i] d TAG-Regel [, +i, ]/NA a [, +i, ]/NA d [..] T[..] [,, T]/NA [,, T]/NA T[..i] b T[..] c [T, -i, T]/NA b [T, -i, T]/NA c T[ ] T 42
Beweis: LIG TAG Beispiel Initialbäume für Nonterminale und T T T [,, ]/OA [,, T]/OA [T,, ]/OA [T,, T]/OA T T Die Auxiliarbäume werden nicht angegeben, da durch die Konstruktion zu viele entstehen. Für zwei Nonterminale und ein tacksymbol werden bereits 2 4 = 16 tack-auxiliarbäume erzeugt. 43
Beweis: LIG TAG Beispiel Ableitung für das Wort aabbccdd [,, T]/OA T [,, T]/NA [, +i, ]/OA [,, T]/OA [T, -i, T]/OA [,, T]/NA T [,, T]/NA [, +i, ]/NA a [, +i, ]/NA d [,, T]/OA [T, -i, T]/OA [,, T]/NA T 44
Beweis: LIG TAG Beispiel [,, T]/NA [, +i, ]/NA a [, +i, ]/NA d [,, T]/OA [T, -i, T]/NA b [T, -i, T]/NA c [,, T]/NA T [,, T]/NA [, +i, ]/NA a [, +i, ]/NA d [,, T]/NA [, +i, ]/OA [,, T]/OA [T, -i, T]/OA [,, T]/NA [T, -i, T]/NA b [T, -i, T]/NA c [,, T]/NA T 45
Beweis: LIG TAG Beispiel [,, T]/NA [, +i, ]/NA a [, +i, ]/NA d [,, T]/NA [, +i, ]/NA a [, +i, ]/NA d [,, T]/OA [T, -i, T]/OA [,, T]/NA [T, -i, T]/NA b [T, -i, T]/NA c [,, T]/NA T [,, T]/NA [, +i, ]/NA a [, +i, ]/NA d [,, T]/NA [, +i, ]/NA a [, +i, ]/NA d [,, T]/OA [T, -i, T]/NA b [T, -i, T]/NA c [,, T]/NA [T, -i, T]/NA b [T, -i, T]/NA c [,, T]/NA T 46
Beweis: LIG TAG Beispiel [,, T]/NA [, +i, ]/NA a [, +i, ]/NA d [,, T]/NA [, +i, ]/NA a [, +i, ]/NA d [,, T]/NA [,, T]/NA [T, -i, T]/NA b [T, -i, T]/NA c [,, T]/NA [T, -i, T]/NA b [T, -i, T]/NA c [,, T]/NA T [,, T]/NA [, +i, ]/NA a [, +i, ]/NA d [,, T]/NA [, +i, ]/NA a [, +i, ]/NA d [,, T]/NA [,, T]/NA [T, -i, T]/NA b [T, -i, T]/NA c [,, T]/NA [T, -i, T]/NA b [T, -i, T]/NA c [,, T]/NA T 47
Beweis: TAG CCG Idee zur Überführung: Adjunktion entspricht Komposition TAG muss in Normalform vorliegen, d.h. höchstens binär verzweigend alle inneren Knoten sind entweder NA oder OA alle OA-Knoten liegen auf dem spine oder sind chwesterknoten vom spine alle chwesterknoten vom pine haben eine einzige Tochter: das leere Wort A alle TAGs können in Normalform überführt werden A 48
Beweis: TAG CCG Algorithmus zur Überführung TAG nach CCG (überführt nur einzelne Auxiliarbäume nach CCG) Initialisierung: pos = root (t) = A c = A oder c = Â bis das Blatt des Baumes t erreicht ist: wenn die Non-spine-Tochter von pos linke Tochter mit Marke B/OA ist, ergänze c um /B wenn die Non-spine-Tochter von pos rechte Tochter mit Marke B/OA ist, ergänze c um \B wenn die spine-tochter von pos Marke C/OA hat, ergänze c um C pos = spine-tochter von pos ^ 49
Beweis: TAG CCG Algorithmus zur Überführung TAG nach CCG Beispiel: A:OA :OA D:OA B:OA C:OA ^ 50
Beweis: TAG CCG Algorithmus zur Überführung TAG nach CCG Beispiel: A:OA :OA D:OA B:OA \A C:OA ^ \A 51
Beweis: TAG CCG Algorithmus zur Überführung TAG nach CCG Beispiel: A:OA :OA D:OA B:OA \A C:OA ^ \A 52
Beweis: TAG CCG Algorithmus zur Überführung TAG nach CCG Beispiel: A:OA :OA D:OA B:OA \A/D C:OA ^ \A/D 53
Beweis: TAG CCG Algorithmus zur Überführung TAG nach CCG Beispiel: A:OA :OA D:OA B:OA \A/D/ C:OA ^ ^ ^ \A/D/ 54
Beweis: TAG CCG Algorithmus zur Überführung TAG nach CCG Beispiel: A:OA :OA D:OA B:OA \A/D/\B C:OA ^ ^ ^ \A/D/\B 55
Beweis: TAG CCG Algorithmus zur Überführung TAG nach CCG Beispiel: A:OA :OA D:OA B:OA \A/D/\B C:OA ^ ^ ^ \A/D/\B 56
Beweis: TAG CCG Algorithmus zur Überführung TAG nach CCG Beispiel: A:OA :OA D:OA B:OA \A/D/\B/C C:OA ^ ^ ^ \A/D/\B/C 57
Beweis: TAG CCG Algorithmus zur Überführung TAG nach CCG Beispiel: A:OA :OA D:OA B:OA \A/D/\B/C C:OA ^ ^ ^ \A/D/\B/C 58
Beweis: TAG CCG Algorithmus zur Überführung TAG nach CCG Beispiel: A:OA :OA D:OA B:OA \A/D/\B/C C:OA ^ ^ ^ \A/D/\B/C 59
Beweis: TAG CCG Konstruktion einer CCG aus einer TAG in Normalform: Lexikon: für jeden lexikalischen Auxiliarbaum der Form A/NA w A/NA konstruiere einen Lexikoneintrag der Form w := A für jede aus einem nicht-lexikalischen Auxiliarbaum gewonnene Kategorie c (Algorithmus) konstruiere ein Lexikoneintrag := c 60
Beweis: TAG CCG Konstruktion einer CCG aus einer TAG in Normalform Regeln Vorwärts- und Rückwärtsapplikation modellieren Adjunktion von Auxiliarbäumen in pine-chwestern: x/a A x A x\a x für jedes Nonterminal A Komposition modelliert die Adjunktion von nicht-lexikalischen Bäumen in das pine: für jedes Nonterminal A und i n, wobei n die Länge des längsten pine eines Auxiliarbaums der TAG ist: x/â Â 1 z 1 2. i z i x 1 z 1 2 i z i ( {/, \}) Dachkategorien stellen sicher, dass nur nicht-lexikalische Auxiliarbäume in den pine von anderen nicht-lexikalischen Auxiliarbäumen adjungiert werden dürfen 61
chluss schwach kontextsensitive Grammatikformalismen sind eine leichte Erweiterung der kontextfreien Grammatiken mit dem Ziel, nicht kontextfreie Phänomene (z.b. kreuzende Abhängigkeiten im Holländischen) beschreiben zu können, aber dennoch effizient sind vorgestellt wurden TAG, CCG und LIG die drei Grammatikformalismen beruhen auf völlig unterschiedlichen Paradigmen: TAG: Baumersetzungssystem CCG: Kategorialgrammatik LIG: CFG mit tack der Beweis von Vijay-hanker und Weir (1994) zeigt, dass alle drei äquivalent bzgl. Ihrer tringsprachen sind hier nicht gezeigt: Alle drei können in n 6 geparst werden (Vijay-hanker und Weir 1993) 62
Literatur Gerhard Jäger & Jens Michaelis (ommerschule ELLI 2004 Nancy) An Intoduction to mildly context sensitive grammar formalisms Klaus von Heusinger: Kategoriale Unifikationsgrammatik 2005 Volker Kaatz: Linear indizierte Grammatiken und prachen 2005 K. Vijay-hanker, David J. Weir 1994: The Equivalence of Four Extensions of Context-free Grammars. Mathematical ystems Theory 27(6): 511-546 63
weitere Literaturreferenzen Alfred V. Aho, 1968. Indexd Grammars and extension of context-free grammars. Journal of the Accociation for Computing Machinery 15, 647-671. Bar-Hillel, Yehoshua 1953: A Quasi-Artithmetical Notation for yntactic Description Language, 29, 4758 Gerald Gazdar, 1988. Applicability of indexed grammars to natural languages. In U. Reyle and C. Rohrer, editors, Natural Language Parsing and Linguistic Theories, pages 69-94. Doredrecht: Reidel. Aravind K. Joshi, Leon. Levy, Masako Takahashi, 1975: Tree Adjunct Grammars. Journal of Computer and ystem cience. 10(1): 136-163 Aravind K. Joshi, K. Vijay-hanker, 1985: ome Computional Properties of Tree Adjoining Grammars. ACL 1985: 82-93 Mark teedman 2000: The yntactic Process. Cambridge, MA, MIT Press. K. Vijay-hanker, David J. Weir 1993: Parsing ome Constrained Grammar Formalisms. Computional Linguistics 19(4): 591-636 64
Anhang I: Definition TAG I G = <V N, V T, T ini,t aux,> mit V N eine endl. Menge von Nonterminalen V T eine endl. Menge von Terminalen T ini eine endl. Menge von Initialbäumen T aux eine endl. Menge von Auxiliarbäumen V N ein unterscheidbares Nonterminalsymbol (tart- ymbol) 65
Anhang II: Definition TAG II Initialbäume: t ist ein endl. markierter Baum < N t, * t, t, Marke t > mit A A V N w trings (V N { } V T ) w Auxiliarbäume: t ist ein endl. markierter Baum < N t, * t, t, Marke t > mit A A V N w 1,w 2 trings (V N { } V T ) w 1 A* w 2 66
Anhang III:Definition CCG I CCG G = <V T, V N,, f, R> V T endl. Menge von Terminalen (lexikalische Items) V N endl. Menge von Nonterminalen (atomare Kategorien) V N und V T disjunkt V N f Funktion, die Elemente aus V T { } auf endl. ubmengen von C(V N ) mapped mit C(V N ): Menge der Kategorien mit V N C(V N ) c 1, c 2 C(V N ) (c 1 /c 2 ) C(V N ) und (c 1 \c 2 ) C(V N ) R endl. Menge von Kombinationsregeln 67
Anhang IV:Definition CCG II vier Typen von Kombinationsregeln X, y, z 1, Variablen über C(V N ), i {/,\} Vorwärtsapplikation (x/y)y x Rückwärtsapplikation y(x\y) x generalisierte Vorwärtskomposition für n 1: (x/y) ( (y 1 z 1 ) 2 n z n ) ( (x 1 1 z 1 ) 2 n z n ) generalisierte Rückwärtskomposition für n 1: ( (y 1 z 1 ) 2 n z n ) (x\y) ( (x 1 1 z 1 ) 2 n z n ) 68
Anhang V: Definition LIG IG G = (V N,V T,V,,P) V N endl. Menge von Nonterminalen V T endl. Menge von Terminalen V endl. Menge von tacksymbolen V N,V T,V disjunkt V N tartsymbol P endl. Menge von Produktionen der Form A[..x] 1 n X V * für alle 1 i n, i = A[..y], i = A[z] oder i = mit A V N, V T * und y,z V * Nur ein Nonterminal auf der rechten eite darf den tack von der rechten eite betreten 69
Anhang VI: Definition MCFG G = < V N, V O,F, R, > mit G ist generalisierte CFG V O = i 1m trings (V T ) i, V T Menge von Terminalen Für jedes f F gibt es Zahlen n und d 1,,d n, r mit f: trings (V T ) d 1 x x trings (V T ) d n trings (V T ) r f ist total und regulär 70
Anhang VII: Definition LCFR G = < V N, V O,F, R, > mit V N Menge von Nonterminalen V O Menge von (linguistischen Objekten) F n 0 F n, Menge von Funktionen mit F n Menge nichtleerer part. Funktionen von V On nach V O F 0 Menge aller Konstanten in V O R n 0 (F F n ) x V N n+1, endl. Menge von (beschreibenden) Regeln V N ein unterscheidbares Nonterminal (tartsymbol) 71