Zum Inhalt springen

Tree Adjoining Grammar

aus Wikipedia, der freien Enzyklopädie
Beispiel-Baumadjunktionsgrammatik bestehend aus drei Elementarbäumen (). Gezeigt ist zudem, wie diese den Satz Rumo schnarcht nie erzeugt.

Tree-adjoining grammars (TAG), auch Baumadjunktions-Grammatiken, sind formale Grammatiken, die von Aravind Joshi eingeführt wurden[1] und in der Computerlinguistik für die Beschreibung von natürlichen Sprachen verwendet werden.

TAGs ähneln kontextfreien Grammatiken, verwenden aber Bäume statt Symbole als kleinste Elemente. Diese Elementarbäume werden nach festgelegten Regeln, Substitution und Adjunktion, miteinander zu immer größeren Bäumen kombiniert. Am Ende des Prozesses kann an den Blättern des entstandenen Baumes ein Satz als Folge von Worten abgelesen werden. Die Menge der durch eine konkrete Baumadjunktionsgrammatik beschreibbaren Sätze bildet die Sprache dieser TAG.

TAGs werden als schwach kontextsensitiv (mildly context-sensitive) beschrieben; sie sind also stärker als kontextfreie Grammatiken, aber schwächer als kontextsensitive Grammatiken in der Chomsky-Hierarchie.[2] Daher sind sie vermutlich stark genug, um natürliche Sprachen zu erzeugen, aber auch schwach genug, um noch effizient parsebar zu sein.

Einstiegsbeispiel

[Bearbeiten | Quelltext bearbeiten]

Eine Baumadjunktionsgrammatik, die sowohl den Satz Rumo schnarcht als auch Rumo schnarcht nie verarbeiten kann, lässt sich zum Beispiel mit drei Elementarbäumen darstellen:

  • ein Initalbaum für die Nominalphrase für das Wort Rumo. Der Baum besteht aus dem Symbol NP (einem Nichtterminalsymbol), welches zu dem Wort Rumo (einem Terminalsymbol) expandiert.
  • ein Initalbaum für das Verb schnarcht. Der Baum zeigt an, dass dem Verb zu einem ganzen Satz noch eine Nominalphrase (NP) fehlt. Der Baumknoten NP ist mit als Substitutionsknoten markiert, um zu signalisieren, dass an dieser Stelle noch ein Baum mit einer NP als Wurzel eingesetzt werden muss. Ansonsten besteht der -Baum noch aus einer Verbalphrase (VP), welche wiederum aber lediglich aus dem Verb schnarcht besteht.
  • ein Auxiliarbaum für das Adverb nie. Der Baum besteht neben dem Adverb nie noch aus zwei weiteren VP-Knoten. Jeder Auxiliarbaum besitzt einen speziellen Fußknoten, markiert durch , der das gleiche Nichtterminal wie die Wurzel des Baums aufweisen muss. In diesem Fall ist das eine VP. Dieser Baum kann also dazu genutzt werden, um Verbalphrasen zu modifizieren.

Um den Satz Rumo schnarcht zu erhalten, müssen nur die zwei Initialbäume und mittels Substitution miteinander kombiniert werden. Dazu wird der Substitutionsknoten mit der Wurzel des NP-Baums ersetzt. Soll der Satz um das Adverb nie erweitert werden, kommt die Adjunktion zum Einsatz, die den Baumadjunktionsgrammatiken auch ihren Namen gab. Bei der Adjunktion wird der Baum des bisherigen Satzes am VP-Knoten quasi in zwei Teile gerissen. Der Teilbaum des Satzes oberhalb des ursprünglichen VP-Knotens endet nun in der Wurzel des Auxiliarbaums , während der unter Teilbaum nun an dem ehemaligen Fußknoten des Auxiliarbaums beginnt. Theoretisch kann diese Adjunktion beliebig oft wiederholt werden (Rumo schnarcht nie nie nie nie ...).

Eine TAG ist ein 5-Tupel bestehend aus[3]

  • , einer endlichen Menge von Terminalsymbolen;
  • , einer endlichen Menge von Nichtterminalsymbolen, die mit der Menge der Terminale disjunkt ist;
  • , einer endlichen Menge von Initialbäumen. Initialbäume sind solche Bäume, die
    • als innere Knoten Nichtterminale besitzen und
    • als Blätter Nichtterminale oder Terminale, wobei Nichtterminale mit markiert sind, um Substitution anzuzeigen.
  • , einer endlichen Menge an Auxiliarbäumen. Auxiliarbäume sind solche Bäume, die
    • als innere Knoten Nichtterminale besitzen und
    • als Blätter Nichtterminale oder Terminale, wobei Nichtterminale üblicherweise mit markiert werden, um Substitution anzuzeigen. Einer der Nichtterminalblätter ist hingegen nicht zur Substitution bestimmt, sondern ein Fußknoten (markiert als ) mit dem gleichen Nichtterminal wie die Wurzel des Auxiliarbaums.
  • , dem speziellen Startsymbol der TAG, welches ein Nichtterminal ist:

Die Menge an Initial- und Auxiliarbäumen wird Menge der Elementarbäume genannt.

Zur Kombination von Bäumen stehen zwei Operationen zur Verfügung: Substitution und Adjunktion:

  • Substitution: bei dieser Operation wird ein Nichtterminalblatt eines Baumes durch die Wurzel eines anderen Baumes, der aus Initialbäumen abgeleitet wurde, ersetzt und damit die beiden Bäume verbunden.

Schematische Darstellung der Substitution: Ausgangspunkt sind zwei Bäume. Ein Baum alpha mit Wurzelsymbol Y und einem Blatt-Knoten X markiert zur Substitution. Ein zweiter Baum beta mit einem Blatt mit Nichtterminal X als Wurzel. Ein Pfeil zeigt von der Wurzel von beta auf den X-Knoten von alpha und deutet damit an, wo die Bäume kombiniert werden. Ebenfalls gezeigt ist das Resultat der Substitution: der Baum wurzelt immer noch in Symbol Y wie ursprünglich alpha, allerdings ist am ehemaligen Blatt-Knoten mit Symbol X jetzt der zweite Baum angedockt.

  • Adjunktion: bei dieser Operation wird ein Auxiliarbaum in einen anderen Baum eingefügt. Dieser zweite Baum muss dafür ein Nichtterminal besitzen, welches der Wurzel und dem Fußknoten des Auxiliarbaums entspricht. Adjunktion an für die Substitution markierten Blättern ist nicht erlaubt. Adjunktion sieht dabei wie folgt aus:

Schematische Darstellung der Adjunktion: Ausgangspunkt sind zwei Bäume. Ein Baum alpha mit Wurzelsymbol Y und einem inneren Knoten mit Symbol X. Ein zweiter Baum (Auxiliarbaum!) beta mit Wurzelsymbol X und einem Fußknoten mit Symbol X. Ein Pfeil zeigt von der Wurzel von beta auf den inneren X-Knoten von alpha und deutet damit an, wo die Bäume kombiniert werden. Ebenfalls gezeigt ist das Resultat der Adjunktion: der Baum wurzelt immer noch in Symbol Y, allerdings ist am inneren Knoten mit Symbol X jetzt der ehemalige Auxiliarbaum eingefügt und der vormalige X-wurzelnde Teilbaum von alpha ist an dem ehemaligen Fußknoten von beta angedockt. So gibt es jetzt zwei interne Knoten mit dem Symbol X und der Baum ist dadurch tiefer geworden.

Daneben gibt es noch die Möglichkeit, Adjunktions-Constraints für Knoten einzuführen:[3]

  • Selektive Adjunktion (SA(T)): nur eine bestimmte Teilmenge T an Auxiliarbäumen darf an diesem Knoten adjungieren.
  • Null Adjunktion (NA): an einem mit NA markierten Knoten darf nicht adjungiert werden.
  • Obligatorische Adjunktion (OA(T)): an einem mit OA markierten Knoten muss adjungiert werden. Dazu muss ein Auxiliarbaum aus einer bestimmten Teilmenge T verwendet werden.

In der Definition von Joshi et al. (1975)[1] gab es hingegen noch keine Constraints und Substitutionsknoten.[3]

Obwohl TAGs aus Bäumen bestehen, fokussiert sich dieser Abschnitt auf die String-Sprachen von TAGs. Das sind die Sprachen, die sich an den Blättern der Bäume aus den Terminalsymbolen ablesen lassen.

Relation zu kontextfreien Grammatiken

[Bearbeiten | Quelltext bearbeiten]

Zu jeder kontextfreien Grammatik (CFG, für englisch context-free grammar) kann eine TAG erzeugt werden, die die gleiche String-Sprache akzeptiert. Damit können TAGs alle kontextfreien Sprachen beschreiben.[1]

Schwach kontextsensitive Sprachen

[Bearbeiten | Quelltext bearbeiten]

TAGs können aber mehr Sprachen beschreiben als kontextfreie Grammatiken. Denn mit TAGs können auch einige, aber nicht alle kontextsensitiven Sprachen beschrieben werden, wie folgende Beispiele verdeutlichen.

Bäume um die Copy-Sprache mit zu generieren. Das leere Wort ist als dargestellt. An den mit Subskript na annotierten Nichtterminal-Knoten kann nicht adjungiert werden.

Zu den Beispielen von kontextsensitiven Sprachen, die von TAGs akzeptiert werden können, zählen folgende:

  • Die Copy-Sprache kann von TAGs mit Adjunktionsconstraints ausgedrückt werden.[4][5] Wenn das Vokabular ist, reichen nur drei Bäume aus, um die Sprache zu beschreiben. Ein Baum für das leere Wort und je ein weiterer für das Symbol a und b. Zur Sprache gehören Sätze wie abab und abaaba.
Bäume für die COUNT-4-Sprache. Der Baum links generiert nur das leere Wort ().
  • Die Count-4-Sprache,[5] bei der genau gleich viele Symbole a, b, c und d generiert werden sollen, kann auch von TAGs mit Adjunktionsconstraints beschrieben werden. Formal ist diese definiert als und lässt sich mit nur zwei Bäumen generieren.[5]

Zwei Beispiele für kontextsensitive Sprachen, die TAGs nicht beschreiben können, sind die Count-5-Sprache ( und die doppelte Copy-Sprache .[5]

TAGs können die gleichen schwach kontextsensitiven Sprachen von Strings wie zum Beispiel kombinatorische Kategorialgrammatiken (Combinatory Categorical Grammars, CCGs) erzeugen.[2]

TAGs können mit einem CKY- oder Early-ähnlichen[4][6] Parsing-Algorithmus geparst werden. Sie sind daher noch in polynomieller Zeit, genauer in , parsebar (siehe Landau-Notation).[3]

Varianten und Erweiterungen

[Bearbeiten | Quelltext bearbeiten]
  • Lexikalisierte TAG (LTAG): bei einer LTAG enthält jeder Elementarbaum mindestens ein Terminalsymbol, welches auch (lexikalischer) Anker genannt wird.[3]
  • Feature-TAG (FTAG): Bäume werden mit Merkmalsstrukturen annotiert, um Kongruenz zu erzwingen, zum Beispiel zwischen einem Verb im Singular und dem Subjekt, das auch im Singular sein soll.[7]
  • XTAG project, verwendet eine TAG für natürliche Sprache
  • Seminar zu TAG von Laura Kallmeyer und Simon Petitjean für das Wintersemester 2015/16 mit Foliensätzen zu verschiedenen Bereichen von TAGs.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. a b c Aravind K. Joshi, Leon S. Levy, Masako Takahashi: Tree adjunct grammars. In: Journal of Computer and System Sciences. Band 10, Nr. 1, Februar 1975, S. 136–163, doi:10.1016/S0022-0000(75)80019-5 (englisch, sciencedirect.com).
  2. a b David Jeremy Weir: Characterizing mildly context-sensitive grammar formalisms. University of Pennsylvania, United States Januar 1988 (englisch, acm.org – Dissertation in Computer and Information Science).
  3. a b c d e Aravind K. Joshi, Yves Schabes: Tree-Adjoining Grammars and Lexicalized Grammars. University of Pennsylvania Department of Computer and Information Science, 1. März 1991 (upenn.edu – Technical Report No. MS-CIS-91-22.).
  4. a b K. Vijay-Shankar, Aravind K. Joshi: Some Computational Properties of Tree Adjoining Grammars. In: Strategic Computing - Natural Language Workshop: Proceedings of a Workshop Held at Marina del Rey, California, May 1-2, 1986. Mai 1986, S. 212–223 (englisch, aclanthology.org [PDF]).
  5. a b c d Aravind K. Joshi: Tree adjoining grammars: How much context-sensitivity is required to provide reasonable structural descriptions? In: D. Dowty, L. Karttunen, and A. Zwicky (Hrsg.): Natural Language Parsing. Cambridge University Press, 1985, S. 206–250 (englisch, sfu.ca [PDF; abgerufen am 23. Juni 2025]).
  6. Yves Schabes, Aravind K. Joshi: An Earley-Type Parsing Algorithm for Tree Adjoining Grammars. In: 6th Annual Meeting of the Association for Computational Linguistics. Association for Computational Linguistics, Buffalo, New York, USA Juni 1988, S. 258–269, doi:10.3115/982023.982055 (englisch, aclanthology.org [PDF]).
  7. K. Vijay-Shanker, A.K. Joshi: Feature Structures Based Tree Adjoining Grammars. In: Coling Budapest 1988 Volume 2: International Conference on Computational Linguistics. 1988 (englisch, aclanthology.org [abgerufen am 26. Juni 2025]).