Download Aspectos formales en la lexicalización de CFG mediante TAG

Document related concepts

Árbol de sintaxis abstracta wikipedia , lookup

Trie wikipedia , lookup

Transcript
UN ALGORITMO DE LEXICALIZACIÓN DE CFG
MEDIANTE TAG
Díaz Madrigal, Víctor Jesús
Toro Bonilla, Miguel
Departamento de Lenguajes y Sistemas Informáticos
Universidad de Sevilla
e-mail: [email protected]
Carrillo Montero, Vicente
Departamento de Lenguajes y Sistemas Informáticos
Universidad de Cádiz
e-mail: [email protected]
Abstract
Most current linguistic theories give lexical accounts of several phenomena that used to be considered purely syntactic.
A lexicalized grammar consists of a lexicon where each lexical item is associated with a finite number of structures for
which that item is the anchor and a set of rules which tell us how these structures are composed. In general, Context
Free Grammars (CFG) are not lexicalized, but the operation of adjuntion , the base operation in Tree Adjoining
Grammars (TAG), give us the freedom to lexicalize CFGs. In this paper we present an algorithm that given a CFG G,
constructs a TAG that generates the same language and tree set as G.
1 Introducción
Un número importante de formalismos gramaticales tienden a desviar al lexicón cierta clase de
información que anteriormente era contemplada a nivel sintáctico. Dentro de este grupo podemos
nombrar, entre otras, las gramáticas funcionales léxicas LFG o las gramáticas de estructuras de
frases generalizadas GPSG.
Este nuevo escenario ha propiciado el estudio de cómo rentabilizar el aumento de información
léxica en el procesamiento de formalismos gramaticales. Esta rentabilidad puede obtenerse de una
forma natural mediante las gramáticas lexicalizadas.
Definición
Una gramática está lexicalizada [Shabes90 si consta de:
1. Un conjunto finito de estructuras, cada una de ellas asociada a un ítem léxico, al cual se
denomina ancla. Las estructuras definen el dominio de localidad sobre el que se
especifican las restricciones.
2. Un conjunto de operaciones de composición de estructuras.
Como restricciones adicionales hay que imponer que el tamaño de dichas estructuras sea finito y
que las operaciones conduzcan también a un número finito de resultados. Estas imposiciones nos
garantizan, por una parte, que las gramáticas lexicalizadas sean finitamente ambiguas, es decir, que
toda sentencia finita puede ser analizada mediante un número finito de formas. Y, por otra, que el
problema del reconocimiento de una sentencia por una gramática lexicalizada sea decidible.
El lexicón, desde este punto de vista, es un conjunto de estructuras ancladas, que
denominaremos estructuras elementales. Mientras a las estructuras obtenidas mediante
composiciones de éstas las denominaremos estructuras derivadas.
En el siguiente apartado definiremos el formalismo TAG y veremos como se enmarca dentro de
las gramáticas lexicalizadas.
2 Gramáticas TAG
Las gramáticas de adjunción de árboles TAG1 (Tree Adjoining Grammars) están basadas en un
sistema de reescritura de árboles frente a los sistemas de reescritura de cadenas habituales. Una
TAG [Joshi75] se define como una quíntupla (, NT, I, A, S), donde:
1.  es un conjunto finito de símbolos terminales
2. NT es un conjunto finito de símbolos no terminales
  NT =  ,   NT = V
3. S es un símbolo no terminal distinguido S  NT
4. I es un conjunto finito de árboles finitos sobre V, llamados árboles iniciales, que están
caracterizados de la siguiente forma:
 Los nodos interiores están etiquetados con símbolos no terminales y el nodo raíz con
S.
 Los nodos situados en la frontera del árbol están etiquetados mediante símbolos
terminales.
5. A es un conjunto finito de árboles finitos sobre V, llamados árboles auxiliares, que están
caracterizados de la siguiente forma:
 Los nodos interiores están etiquetados con símbolos no terminales.
 Los nodos situados en la frontera del árbol están etiquetados mediante símbolos
terminales, salvo uno, denominado nodo pie. El nodo pie será marcado con * y su
etiqueta debe coincidir con la etiqueta de la raíz.
Los árboles en I  A se denominan árboles elementales, y se corresponden con las mencionadas
estructuras elementales. En general, un árbol elemental presenta en su frontera varios ítems léxicos,
de forma que disponemos de diversas opciones en la decisión de cuál de ellos jugará el papel de
ancla.
En el formalismo TAG se define una operación básica de composición llamada adjunción. Los
árboles construidos mediante la composición de otros árboles se denominan árboles derivados, y se
corresponden con las mencionadas estructuras derivadas.
La adjunción construye un nuevo árbol ´ a partir de un árbol auxiliar  y otro árbol  (inicial,
auxiliar o derivado). Sea  un árbol que contiene un nodo n cuya etiqueta es X. Sea  un árbol cuya
Este formalismo fue presentado por Joshi, Levy y Takahashi [Joshi75]. Para más detalles sobre aspectos lingüísticos y
computacionales remitimos a [KroJos85] , [Vijay88] y [VijJos85].
1
raíz está etiquetada con X. El árbol resultante de adjuntar  en el nodo n de  se obtiene de la
siguiente forma (ver figura 1):
1. Se poda el subárbol de  dominado por n, dejando una copia de n. Denominemos a este
subárbol t.
2. El árbol  se copia sobre el nodo n, identificando su nodo raíz con n.
3. El subárbol t se copia sobre el nodo pie de , identificando la raíz de t con el nodo pie de .
Aunque la operación de adjunción es suficiente para componer estructuras derivadas , se
presenta una compactación importante al añadir la operación de sustitución al formalismo TAG.
Detalles significativos del empleo de esta operación en las TAG se pueden encontrar en [Abeille91.
Observando la definición anterior podemos deducir que las gramáticas de adjunción de árboles
TAG se encuentran dentro de la categoría de gramáticas lexicalizadas.

´
X
X
t
X
X

t
X*
Figura 1 Operación de adjunción
3 Lexicalización de CFG
En contraposición a lo que sucede con las gramáticas TAG, no todas las gramáticas CFG están
lexicalizadas. Basta con que alguna de sus reglas (estructuras elementales) no contenga ningún
símbolo terminal a la derecha para que la gramática no se encuentre lexicalizada. Teniendo esto en
cuenta, si tenemos una gramática GCFG, bastaría transformarla a su forma normal de Greibach
[Greiba65 para obtener una versión lexicalizada GCFG’ de la misma. Sin embargo, lo que
obtenemos es una gramática GCFG’ con solo una equivalencia en sentido débil a GCFG . Por tanto,
podemos decir que la forma normal de Greibach no es un método general de lexicalización.
Para permitir que aparezcan ítems léxicos en las estructuras elementales es necesario extender el
dominio de localidad [JosVij89. Para conseguirlo se pueden usar gramáticas basadas en sistemas de
reescritura de árboles y utilizar éstas como formalismo de lexicalización de CFG. En [Shabes90 se
demuestra que dada una gramática GCFG finitamente ambigua es posible obtener otra GTAG que es
equivalente en sentido fuerte a GCFG y está lexicalizada naturalmente. Es decir, las gramáticas TAG
tiene la capacidad de lexicalizar a las CFG.
Como dijimos, la definición de gramáticas lexicalizadas implican que son finitamente
ambiguas. Debido a ello las reglas recursivas derivadas (X * X) o simples (X  X) no se permiten,
ya que generan ramas infinitamente ambiguas.
Considerando que el formalismo CFG es la base teórica de una gran parte de formalismos
lingüísticos y que la lexicalización aporta las ventajas ya comentadas, creemos interesante la
búsqueda de un método general que nos permita la conversión de gramáticas CFG a gramáticas
TAG.
4 Algoritmo
Nuestro objetivo consiste justamente en desarrollar un algoritmo que, dada una gramática GCFG ,
obtenga una gramática GTAG que cumpla los requisitos expuestos en el punto anterior. Para ello
nuestro interés consistirá en la captura de todas aquellos árboles de análisis que se adapten a las
siguientes clases de derivaciones
S * 
X *  X 
siendo S y X símbolos no terminales (el primero de ellos además inicial), y  y  cadenas de
símbolos terminales. De esta forma los árboles de análisis se corresponden con los árboles
elementales de una gramática TAG.
El algoritmo se basará en la generación de los árboles de análisis relacionados con todas las
posibles derivaciones aplicables entre las distintas estructuras elementales de la gramática CFG,
considerando de partida que sus reglas son árboles de altura unitaria y las derivaciones se obtienen
aplicando la operación de sustitución en alguno de sus nodos frontera. En una etapa determinada
dispondremos de un conjunto de árboles de análisis asociados a derivaciones de la forma X  ,
siendo X un no terminal y  una cadena de terminales y no terminales. El objetivo del algoritmo
consiste en alcanzar derivaciones de las dos formas expuestas inicialmente.
El algoritmo que a continuación detallaremos se fundamenta en el siguiente teorema de Joshi,
Levy y Takahashi [Joshi75].
Teorema
Para toda gramática GCFG existe otra GTAG con equivalencia en sentido fuerte. Además dicha
GTAG cumple las siguientes restricciones:
1. Si  es un árbol inicial, entonces en cualquiera de sus ramas ningún no terminal aparece más
de una vez.
2. Si  es un árbol auxiliar, entonces en cualquiera de sus ramas ningún no terminal aparece
más de una vez, no siendo considerado el no terminal que etiqueta el nodo raíz de .
Este teorema, por una parte, nos garantiza la existencia de una gramática TAG dada una
gramática CFG. Pero también nos aporta un mecanismo de rechazo de generación de árboles, ya que
para cada nueva sustitución bastará comprobar si el árbol resultante cumple o no esta propiedad.
En el momento que un árbol cumpla la propiedad de ser elemental quedará agotado. Si fuera
inicial, todos sus nodos frontera serian terminales y no habría posibilidad de aplicar nuevas
sustituciones. Si fuera auxiliar, todos sus nodos frontera serian terminales salvo el nodo pie. Sin
embargo, nuevas sustituciones sobre dicho nodo implicaría la duplicación de, al menos, el símbolo
raíz, lo cual supondría la violación del teorema anteriormente expuesto.
Esta reflexión nos conduce a que si en el proceso de construcción de las nuevas estructuras
algunos de los árboles son elementales, podemos incorporarlos a la gramática final e ignorarlos en
la siguiente etapa.
El proceso de construcción es finito y su demostración se basa de nuevo en el teorema anterior.
Supongamos que la gramática tiene un alfabeto de símbolos no terminales NT de tamaño finito n, si
el proceso lleva a cabo más de n sustituciones sobre un árbol de análisis, al menos en una de las
ramas habrá un símbolo no terminal repetido, lo que viola el teorema y provoca la eliminación de
dicho árbol. Por tanto, el número máximo de iteraciones del algoritmo coincide con la cardinalidad
de NT.
El algoritmo que proponemos para llevar a cabo el proceso de construcción es el siguiente
{Precondición: CFG sin reglas espúreas}
LEX := {P}
CFG := {P}
TAG := 
mientras LEX  
LEX’ := 
para cada t1  LEX
si
es_elemental(t1) :
TAG := TAG  {t1}
otras :
C := 
para cada t2  CFG
C := C  sustituciones_válidas(t2 , t1)
fpara
LEX’ := LEX’  C
fsi
fpara
LEX := LEX’
fmientras
{Postcondición: TAG equivalente fuerte a CFG}
La estructuras de datos que usa el algoritmo son árboles y conjunto de árboles. Son árboles t1 y
t2 , y conjuntos de árboles las variables CFG, TAG, LEX, LEX’ y C.
 CFG es un conjunto de tamaño fijo que contiene los árboles de altura unitaria que
representan las reglas de la gramática CFG (P).
 TAG es el conjunto en el que se van almacenando los árboles agotados (elementales) que
formarán la gramática TAG a la finalización del proceso.
 LEX es el conjunto formado por los árboles de análisis en cada etapa del proceso.
 LEX’ es el conjunto formado por todos los árboles que se derivan a partir del conjunto LEX
en cada etapa del proceso.
 C es el conjunto de árboles que se derivan a partir de un árbol de LEX en cada etapa del
proceso.
Se utilizan dos funciones en el proceso
 es_elemental(árbol) devuelve el valor Cierto si árbol es un árbol inicial o auxiliar.
 sustituciones_válidas(árbol2, árbol1) devuelve el conjunto de árboles derivados a partir de
todas las posibles sustituciones de árbol2 en árbol1. Si un árbol derivado no cumple el
teorema descrito anteriormente, no se incluye en el conjunto.
5 Un ejemplo
Para ilustrar el funcionamiento del algoritmo supongamos la siguiente gramática CFG
S  NP VP
VP  adv VP  v
NP  n
Veamos como evolucionan los conjuntos TAG y LEX en cada etapa del algoritmo. Para ello
determinaremos sus valores en el comienzo del bucle mientras.
Etapa 0
TAG = 
LEX = CFG = { (1) , (2) , (3) , (4) }
S
VP
(1)
VP
(2)
NP
VP
adv
(3)
VP
NP
(4)
v
n
Inicialmente se transforman las reglas de la CFG en árboles de altura unitaria.
Etapa 1
TAG = { (2) }
VP
(2)
adv
VP*
El árbol (2) de la etapa 0 es un árbol auxiliar.
LEX = { (1.3) , (1.4) }
S
S
(1.3)
(1.4)
NP
VP
NP
v
n
VP
El árbol (1.2), resultado de sustituir (2) en (1), no es incluido por existir un no terminal (VP)
duplicado en una de sus ramas. Los árboles (3) y (4) no son árboles elementales y tampoco
generan árboles derivados, por tanto, en esta etapa desaparecen como árboles de análisis. Los
árboles (1.3) y (1.4) son productos de las sustituciones de (3) y (4) sobre los nodos etiquetados
VP y NP en (1), respectivamente.
Etapa 2
TAG = { (2) }
LEX = { (1.3.4) }
S
(1.3.4)
NP
VP
n
v
El árbol (1.4.2) no se incluye por existir un no terminal (VP) duplicado en una de sus ramas. El
árbol (1.4.3) si se incluye, sin embargo, es igual a (1.3.4) y la operación de unión (LEX’ :=
LEX’  C) evita que se repita.
Etapa 3
TAG = { (2) , (1.3.4) }
LEX = 
VP
S
(2)
adv
(1.3.4)
VP*
NP
VP
n
v
Este conjunto de árboles forman la gramática TAG que lexicaliza nuestra gramática CFG de
ejemplo.
6 Conclusiones
El formalismo TAG, en sentido puro, conduce necesariamente a gramáticas lexicalizadas, lo que
supone una clara inclusión en las últimas tendencias en lingüística computacional. El hecho de que
el formalismo TAG incluya la operación de adjunción nos permite, por una parte, lexicalizar
naturalmente las gramáticas CFG, y por otra, la eliminación de las restricciones que imponen las
gramáticas CFG en la elección de los ítems léxicos. El algoritmo que presentamos aporta un método
de transformación de gramáticas CFG a TAG.
7 Referencias
Abeill91 Abeille, A. (1991). “Une grammaire lexicalisée d'Arbres adjoints pour le Français:
Application à l'analyse automatique”. Tesis doctoral: Université Paris 7, Paris, France.
Greiba65 Greibach, S. A. (1965). “A new normal-form theorem for context-free phrase-structure
grammars”. J.ACM 12:42-52
Joshi75 Joshi, A. J.; Levy, L.; Takahashi, M. (1975). “Tree Adjunct grammars”. Journal of
Computer and System Science. 10(1) Pags. 136-163.
JosVij89 Joshi, A. K. ; Vijay-Shanker, K. (1989). “Treatment of Long Distance Dependencies in
LFG and TAG: Functional Uncertainty in LFG is a Corollary in TAG”. Proceedings 27th
Annual Meeting of ACL. Pags. 220-227.
JosSha92 Joshi, A. K.; Shabes Y. (1992). “Tree Adjoining Grammars and Lexicalized Grammars”.
En Tree Automata and Lenguages, ed. Nivat M. y Podelsky A. Pags. 409-431. Elservier
Science Publishers B.V.
KroJos85 Kroch, A.; Joshi, A. K. (1985). “Linguistic Relevance of Tree Adjoining Grammars”.
Technical Report MS-CIS-85-18, Department of Computer and Information Science,
University of Pennsylvania.
Shabes90 Shabes, Y. (1990). “Mathematical and Computational Aspects of Lexicalized
Grammars”. Tesis doctoral: University of Pennsylvania, Philadelphia, USA.
VijJos85 Vijay-Shanker, K.; Joshi, A. K. (1985). “Some Computacional Properties of Tree
Adjoining Grammars”. 3rd Meeting of ACL. Pags. 82-93.
Vijay88 Vijay-Shanker, K. (1988). “A Study of Tree Adjoining Grammars”. Tesis doctoral:
University of Pennsylvania, Philadelphia, USA.