Gramática
para aserciones simples en español, implementada en Prolog
Grammar
for simple assertions in Spanish, implemented in Prolog
Descarga/download
En
este proyecto se presenta una gramática para aserciones simples en
español. Fue implementada en Prolog, empleando Definite-Clause
Grammars (DCG). Se espera que este trabajo pueda servir como
referencia para
comprender la utilidad de Prolog para NLP (lo que impulsó su nacimiento
en los años 70') y a la vez contar con una
gramática generativa concisa y documentada del idioma español.
In
this project a grammar covering simple assertions in Spanish is
presented. It was implemented in Prolog, using Definite-Clause
Grammars. It is aimed at providing a tool to understand the usefulness
in Prolog to do NLP (what lead, in fact, to its birth back in the 70s),
as well as to provide the reader with a full, though concise,
generative grammar for Spanish.
Se puede preguntar si una oración es correcta o no gramaticalmente (en
un intérprete que soporte DCG, como SWI-Prolog), de la siguiente forma:
It can be asked to a Prolog
Interpreter (supporting DCG, for instance
SWI-Prolog) for the grammar correctness of a sentence in Spanish:
?-oracion([la,casa,es,grande]).
yes.
?-oracion([la,casa,son,grandes]).
no.
?-oracion([juan,y,maria,tienen,frio]).
yes.
?-oracion([juan,y,yo,tienen,frio]).
no.
Se soportan, entre otras cosas, la redundancia pronominal típica del
español rioplatense, y características de largo alcance presentes en
las subordinaciones:
Among other things, redundant pronouns (typical in rioplatense Spanish) and
long-distance features in subordinations were included:
?-oracion([maria,quiere,a,juan]).
yes.
?-oracion([maria,lo,quiere,a,juan]).
yes.
?-([conozco,la,casa]).
yes.
?-([la,casa,que,conozco]).
yes.
La gramática completa cuenta con 80 reglas aproximadamente y se
encuentra disponible para descargar.
The full grammar consists of about 80
rules and is available for download.
Emmanuel Maggiori, 2013. E-mail.