Modelos Formales No Transformacionales MFNT Gramáticas de Cláusula Definida DCG (Definite Clause Grammar)
Agenda 1) Retomar por qué fallan las CFG MFNT - Gramáticas de Cláusula Definida DCG Agenda 1) Retomar por qué fallan las CFG 2) Concepto de Gramaticas Sintagmaticas Aumentadas - Augmented Transition Network (ATN) 3) Predicados logicos de primer orden 4) Operación lógica de unificacion 5) Definicion de DCG (son casi de tipo 1) 6) Parsers con DCG 7) Limitaciones de DCG
Rasgos incipientes en DCG MFNT - Gramáticas de Cláusula Definida DCG Rasgos incipientes en DCG La concepción de rasgos de DCG es un tanto incipiente y más bien se habla de predicados lógicos de primer orden. Cuando veamos HPSG el concepto de rasgo se va a complejizar mucho más. Un predicado es un par consistente de un functor o relacion lógica atómica y un arity o valencia lógica. Un termino es una particular instanciacion de un predicado lógico Cada argumento de la valencia lógica es o un término (en minuscula) o una variable (en mayuscula) NPro(agr(3, masc , Num)) es un término que instancia el predicado lógico agr/3 (con valencia 3) para la categoría sintáctica NPro mediante dos valores constantes 3 y masc y una variable Num. O sea = “he” o “they”
La operación de Unificación en DCG MFNT - Gramáticas de Cláusula Definida DCG La operación de Unificación en DCG Se trata de una operación lógica que subyace a cada aplicación de una REF para una DCG
Ejemplo de DCG (1) Cobertura: PN [mary]. N(sg) [clown]. MFNT - Gramáticas de Cláusula Definida DCG Ejemplo de DCG (1) PN [mary]. N(sg) [clown]. N(pl) [clowns]. D(sg) [a]. D(--) [the]. VI(3 , sg) [laughs]. VI(-- , pl) [laugh]. VT(3 , sg) [loves]. VT(-- , pl) [love]. VS(3 , sg) [thinks]. VS(-- , pl) [think]. S NP(Per, Num) , VP(Per , Num). NP(3 , sg) PRO. NP(3, Num) D(Num) , N(Num). VP(Per , Num) VI(Per , Num). VP(Per , Num) VT(Per , Num) , NP(-- , --). VP(Per , Num) VS(Per , Num) , S. Se imaginan cuantas reglas CFG de más necesitaríamos para esto? VS = verb of statement Cobertura: mary laughs *mary laugh the clowns laugh *a clowns laugh a clown laughs *mary laughs the clown mary thinks the clowns laugh *mary loves
Ejemplo de DCG (1) PN [mary]. N(sg) [clown]. N(pl) [clowns]. MFNT - Gramáticas de Cláusula Definida DCG Ejemplo de DCG (1) PN [mary]. N(sg) [clown]. N(pl) [clowns]. D(sg) [a]. D(--) [the]. VI(3 , sg) [laughs]. VI(-- , pl) [laugh]. VT(3 , sg) [loves]. VT(-- , pl) [love]. VS(3 , sg) [thinks]. VS(-- , pl) [think]. S NP(Per, Num) , VP(Per , Num). NP(3 , sg) PRO. NP(3, Num) D(Num) , N(Num). VP(Per , Num) VI(Per , Num). VP(Per , Num) VT(Per , Num) , NP(-- , --). VP(Per , Num) VS(Per , Num) , S.
Ejemplo de DCG (2) Cobertura: S(nogap) NP(nogap) , S(gap(NP)). MFNT - Gramáticas de Cláusula Definida DCG Ejemplo de DCG (2) S(nogap) NP(nogap) , S(gap(NP)). S(nogap) PP(nogap) , S(gap(PP)). S(GapInfo) NP(nogap) , VP(GapInfo). VP(GapInfo) VT , NP(GapInfo). VP(GapInfo) VD , NP(GapInfo) , PP(nogap). VP(GapInfo) VD , NP(GapInfo) , PP(GapInfo). PP(GapInfo) P , NP(GapInfo). PP(gap(PP)) []. NP(gap(NP)) []. NP(nogap) [mary]. NP(nogap) [john]. NP(nogap) [fido]. P [to]. VT [loves]. VD [gives]. Qué fenómeno sintáctico del inglés describe esta DCG? Cobertura: mary loves fido *to fido, mary loves fido, mary loves *to fido, john, mary gives mary gives john to fido *gives mary To fido, mary gives john *mary loves
Ejemplo de DCG (2) S(nogap) NP(nogap) , S(gap(NP)). MFNT - Gramáticas de Cláusula Definida DCG Ejemplo de DCG (2) S(nogap) NP(nogap) , S(gap(NP)). S(nogap) PP(nogap) , S(gap(PP)). S(GapInfo) NP(nogap) , VP(GapInfo). VP(GapInfo) VT , NP(GapInfo). VP(GapInfo) VD , NP(GapInfo) , PP(nogap). VP(GapInfo) VD , NP(GapInfo) , PP(GapInfo). PP(GapInfo) P , NP(GapInfo). PP(gap(PP)) []. NP(gap(NP)) []. NP(nogap) [mary]. NP(nogap) [john]. NP(nogap) [fido]. P [to]. VT [loves]. VD [gives].
Ejemplo de DCG (3) Qué fenómeno sintáctico describe esta DCG? MFNT - Gramáticas de Cláusula Definida DCG Ejemplo de DCG (3) Qué fenómeno sintáctico describe esta DCG?
Ventajas de las DCG respecto de CFG MFNT - Gramáticas de Cláusula Definida DCG Ventajas de las DCG respecto de CFG Mucho más poderosas para dar cuenta de fenomenos sintácticos de alto nivel entre los constituyentes. Por ejemplo, la aproximación a la Cleft Transformation en Inglés bien podría dar cuenta de la alternancia SV VS en Espaniol, no? Otro ejemplo son los lenguajes espejados (mirrored language), conocidos por no poder ser generados por CFG y sí DCG : todos los string son de la forma xx, donde x = (a|b)+ con strings como ab-ab, aaaba-aaaba. Cómo se generan? Contador de elementos en cantidades iguales para 3 o más variables a^n b^n c^n Con algunos agregados como vectores multiset (proxima clase) pueden incluso funcionar muy bien con constituyentes discontinuos
Problemas para la DCG (todos desde la lógica, asi que vamos mejorando) MFNT - Gramáticas de Cláusula Definida DCG Problemas para la DCG (todos desde la lógica, asi que vamos mejorando) Rasgos no como colección de atributos sino con un orden fijo resultan poco intuitivos psicolinguisticamente. Por eso , luego se adopta la concepción de matriz de rasgos o features para HPSG (3, sg, masc) NO ES LO MISMO QUE (sg, masc, 3) No hay ninguna noción de adecuación para los términos ni ningún límite matemático Como no hay diferentes parametrizaciones del verbo (subtyping de rasgo a través de estructuras jerárquicas como en HPSG) , la combinación S-V afecta por igual la combinación V-O , debiendo recurrir la NP del objeto a blank values (-- , --) que no son muy lógicamente correctos El orden y la opcionalidad siguen siendo una cuestión no muy bien resuelta (Unico cuestionamiento linguistico)
Ahora usemos Chart Parser con DCG MFNT - Gramáticas de Cláusula Definida DCG Ahora usemos Chart Parser con DCG Parsear the clown laugh con DCG de Ejemplo (1) usando Chart Parser (Unificación para regla de Completion) 0 : INIT 0-0: S -> . NP(Per , Num) VP(Per, Num) 1 : PRED 0 0-0: NP(3 , sg) -> . PRO 2 : PRED 0 0-0: NP(3 , Num)-> . D(Num) N(Num) 3 : PRED 1 0-0: PRO -> . [mary] 4 : PRED 2 0-0: D(sg) -> . [a] 5 : PRED 2 0-0: D(Num) -> . [the] SCAN3 fails SCAN4 fails 6 : SCAN 5 0-1: D(Num) -> [the]. 7 : COMP 6+2 0-1: np -> D(Num) . N (Num) 9 : PRED 7 1-1: ???????? PRO [mary]. N(sg) [clown]. N(pl) [clowns]. D(sg) [a]. D(--) [the]. VI(3 , sg) [laughs]. VI(-- , pl) [laugh]. VT(3 , sg) [loves]. VT(-- , pl) [love]. VS(3 , sg) [thinks]. VS(-- , pl) [think]. S NP(Per, Num) , VP(Per , Num). NP(3 , sg) PRO. NP(3, Num) D(Num) , N(Num). VP(Per , Num) VI(Per , Num). VP(Per , Num) VT(Per , Num) , NP(-- , --). VP(Per , Num) VS(Per , Num) , S.