Universidad Central “Marta Abreu” de Las Villas. Facultad Matemática, Física y Computación TRABAJO DE DIPLOMA Título: Traductor de Español a Latín para la descripción de las especies botánicas. AUTORES: Daril Alemán Morales Fernando David García García TUTORES: Dra. Zoila Zenaida García Valdivia Dra. Susana Carreras Gómez CARRERA: Licenciatura en Ciencia de la Computación Curso 2012-2013
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Universidad Central “Marta Abreu” de Las Villas.
Facultad Matemática, Física y Computación
TRABAJO DE DIPLOMA
Título: Traductor de Español a Latín para la
descripción de las especies botánicas.
AUTORES: Daril Alemán Morales
Fernando David García García
TUTORES: Dra. Zoila Zenaida García Valdivia
Dra. Susana Carreras Gómez
CARRERA: Licenciatura en Ciencia de la Computación
Curso 2012-2013
Hago constar que el presente trabajo fue realizado en la Universidad Central “Marta Abreu” de Las Villas
como parte de la culminación de los estudios de la especialidad de Ciencia de la Computación,
autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto
de forma parcial como total y que además no podrá ser presentado en eventos ni publicado sin la
autorización de la Universidad.
________________ ________________
Firma de los autores
Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la
dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta
envergadura referido a la temática señalada.
______________ _______________ __________________
Firma de los tutores Firma del jefe del
Laboratorio
Pensamiento
I
No necesito saberlo todo, tan sólo necesito saber dónde encontrar aquello que me hace
falta, cuando lo necesite.
Albert Einstein
Dedicatoria
II
Dedicatoria
A mí, por tanto esfuerzo y noches sin dormir.
A mis padres, por su apoyo en todo momento.
A toda mi familia, por su preocupación.
A mis amigos, siempre presentes en momentos difíciles.
Daril Alemán Morales
Dedicatoria
III
Dedicatoria
En memoria de mi abuelo Fernando que siempre confió en mí y me brindó apoyo en todo
momento de su vida; y sé que está orgulloso de mí.
A toda mi familia que de una forma u otra me brindaron su apoyo.
Fernando D. García García
Agradecimientos
IV
Agradecimientos
A mis padres, por su incondicional apoyo en todos los momentos de mi vida y por hacer de
mí una mejor persona.
A mis abuelos, por preguntarme en todo momento aun cuando no entendieran nada.
A mi hermana Deyanira, por hacerme olvidar los problemas.
A todos mis tíos, por estar siempre presentes.
A Fernando, mi compañero de tesis, por su aporte en la realización de la misma.
A Víctor, Sergito y Ruperto por su ayuda en estos 5 años.
A todos los colegas que aún continuamos juntos después de tantas aventuras.
A los que ya no están.
A mis tutoras, por su paciencia y apoyo en estos meses difíciles.
A Maikel, por su ayuda a última hora.
A Dayana, por los buenos momentos, típico de ella.
A Nesty, por su apoyo en la distancia.
A todos los que contribuyeron en mi formación como estudiante.
Daril Alemán Morales
Muchas Gracias.
Agradecimientos
V
Agradecimientos
A mi madre, por haberme dado la fuerza necesaria durante todos estos años para enfrentarme
a las dificultades de la vida.
A mis abuelas, mi abuelo Marcelino, mis tías y mi padre, por preocuparse tanto por mí.
A mis hermanas Maité y Kemeelyt, por estar en todo momento disponibles para brindarme
su ayuda y cariño.
A mi novia Baby por su cariño y ayuda desinteresada.
A todos mis amigos, que estuvieron junto a mí en los buenos y malos momentos.
A mis compañeros de aula, especialmente a Victor Marrero, Sergito y Daril por su ayuda
académica incondicional.
A mis tutoras Zenaida y Susana por su inestimable ayuda.
A mis profesores de clases que con tanta sabiduría me prepararon para ser un buen
profesional.
A mi compañero de tesis Daril, por todo su apoyo y su paciencia infinita.
A mi compañero Maikel y a todas aquellas personas que de una forma u otra, ayudaron a la
realización de este trabajo.
GRACIAS A DIOS
Fernando D. García García
Muchas gracias.
Resumen
VI
Resumen
Los profesionales de la botánica requieren conocer un sistema preciso y universal que
les permita describir las nuevas unidades que van siendo incorporadas al sistema de su
ciencia. En la Universidad Central “Marta Abreu” de las Villas (UCLV) existe un Jardín
Botánico en el cual se llevan a cabo investigaciones acerca del mundo vegetal. Por
solicitud de esta entidad, surgió la idea de desarrollar una aplicación computacional que
dotara a sus especialistas de la herramienta básica en la práctica taxonómica.
Como antecedente de este trabajo, se desarrolló una primera versión del software con
el fin de automatizar el proceso taxonómico. El mismo fue desarrollado como trabajo de
Diploma por parte de dos estudiantes de la carrera Ciencia de la Computación en el año 2006.
Esta versión no cumplía aún con todos los requerimientos de la problemática en cuestión. Por
ello se decidió dar continuidad al tema a través del presente trabajo.
La aplicación se desarrolló en dos etapas. En la primera de ellas se realizó el diseño
del programa que daría solución al problema planteado. Para ello se utilizó la notación del
Lenguaje de Modelación Unificado. En la segunda etapa se procedió a la implementación del
programa utilizando conjuntamente la programación a través de un lenguaje declarativo,
como lo es Prolog, y la programación orientada a objeto, en este caso Java. De esta forma
quedó desarrollado EsLatín3, Traductor de Español a Latín para la descripción de las especies
botánicas, que constituye una herramienta muy útil y eficiente.
Abstract
VII
Abstract
The professionals of the botany need to know a precise and universal system that
allows them to describe the new units that are incorporated into the system of their science. In
the Central University “Marta Abreu“ of Las Villas (UCLV) exists a Botanical Garden in
which researches are carried out on the vegetable world. For request of this entity, arose the
idea of creating an application that will provide its specialists with the basic tool in the
taxonomic practice.
As precedent of this work, the first version of the software was developed in order to
automate the taxonomic process. It was developed like a Diploma Paper on the part of two
students of the major of Computer Science in 2006. This version was still not fulfilling with
all the requests of the issue in question. That is why it was decided to give continuity to that
topic through the present work.
The application was developed in two stages. The first one was the creation of the
design of the program that would answer the problem. For this, there was used the notation of
the Unified Modelling Language. The second stage was the implementation of the program
using jointly the programming through a declarative language, as it is Prolog, and the
programming faced to the object, in this case Java. This way was developed EsLatín3, a
Translator from Spanish to Latin for the description of the botanical species, which
constitutes a very useful and efficient tool.
Índice
VIII
Contenido
Dedicatoria .............................................................................................................................................. II
Dedicatoria ............................................................................................................................................. III
Agradecimientos .................................................................................................................................... IV
Agradecimientos ..................................................................................................................................... V
Resumen ................................................................................................................................................ VI
Abstract ................................................................................................................................................. VII
Planteamiento del problema .................................................................................................................... 1
Objetivo general ...................................................................................................................................... 2
Las consultas anteriores invocan a los predicados listarTodos(L) y
elim_l1_de_l2(L1,L2,L) respectivamente, que se encuentran en el archivo gramática.pl,
mediante la clase Query. Se utiliza el método oneSolution(), explicado anteriormente, para
obtener las soluciones .
Capítulo 2
40
2.3.5 Acerca del instalador del Software.
Se ha querido que esta aplicación, después de terminada, quede contenida en un
fichero de instalación. Esto sirve para agilizar su distribución y permite un control sobre las
carpetas y archivos que conforman el software. De esta forma después de haber sido
instalado, el traductor optimiza su funcionamiento, ya que los archivos están ordenados según
el uso que necesita darles la aplicación. Esto repercute favorablemente a favor del
rendimiento que tendrá la computadora que ejecute el software, y dará al usuario una mayor
comodidad para trabajar con el sistema en general.
El fichero de instalación ha sido creado utilizando la herramienta Nullsoft Install
System (NSIS) en su versión 2.46, para crear ficheros de instalación a partir de cualquier
aplicación Windows implementada en un lenguaje de programación determinado.
Primeramente se crea el archivo Traductor.nsi, el cual funciona como un script con
extensión .nsi; contiene la información donde se instalará el software, posee el desinstalador,
además de colocar los accesos directos al programa y las carpetas y archivos que contendrá el
mismo. Luego de creado este archivo, se compila usando la herramienta NSIS obteniéndose
como resultado el instalador EsLatín3.exe. (Para consultar el archivo Traductor.nsi ver anexo
#3)
2.4 Conclusiones Parciales
La implementación de EsLatín versión 3, implicó el uso de varias tecnologías como la
plataforma de Java y el SWI-Prolog. Al lograr una integración entre dichas tecnologías se
obtiene un software con una interfaz gráfica amigable que posee una gramática para
reconocer en el lenguaje español la oración básica que se utiliza en el latín para la descripción
de las especies botánicas. También cuenta con un diccionario de español a latín para realizar
las traducciones. Además se cumplen los requisitos de la creación de sistemas para modificar
dicha base de conocimiento obteniéndose un software seguro, flexible y portable.
Gracias a la creación de un instalador compuesto por un solo fichero ejecutable, el
software puede ser distribuido e instalado fácilmente.
Capítulo 3
41
CAPÍTULO III: MANUAL DE USUARIO DE ESLATÍN 3
El traductor de español a latín para la descripción de especies botánicas EsLatín
versión 3, es el segundo de su tipo desarrollado en la UCLV. La novedad de este software es
que tiene la capacidad de traducir frases, a diferencia de la versión anterior, la cual no
contaba con esta característica. En este capítulo se explica cuáles son los requisitos que deben
cumplirse para su correcto uso, al realizar una traducción o para actualizar los datos del
mismo. También se hace referencia a los pasos a seguir para la instalación del software.
3.1 Características del software
Las principales características del software son:
• La interfaz visual es sencilla, permitiendo que el usuario se familiarice rápidamente
con el uso de la herramienta. La ayuda del sistema posee suficiente información para que el
usuario comprenda cuáles son las definiciones de latín con las que va a tener que trabajar
constantemente.
• Se incluye un módulo visual de utilidad para reconocer rasgos propios de las plantas,
y además sirve para orientar mejor cualquier tipo de búsqueda.
• La ventana de modificación del diccionario cuenta con un buscador automático para
encontrar fácilmente las palabras que se desea modificar.
Para la instalación del software y la utilización del mismo, son necesarios los
siguientes requisitos mínimos:
• Sistema Operativo Windows XP o superior.
• Máquina Virtual de Java (jre5 o superior) instalada.
• SWI Prolog (versión 5.4 o superior) instalado.
• 120 Mega Bytes de espacio libre de disco duro.
• Macromedia Flash Player.
Capítulo 3
42
3.2 Pasos para la instalación del software
El sistema no puede ser utilizado hasta que sea instalado en una computadora, la cual
deberá cumplir los requisitos planteados en el epígrafe anterior. El archivo para la instalación
debe ser ejecutado en la computadora por un usuario con los privilegios necesarios para llevar
a cabo dicha operación. La guía para la instalación del sistema está escrita en idiomas inglés
y español. A continuación se describen los aspectos fundamentales de la instalación que
puedan servir de ayuda.
Primeramente la persona encargada de instalar el software debe asegurarse de que el
mismo quede alojado en una carpeta donde los usuarios con menos privilegios tengan
permiso de lectura. La guía del instalador ofrece un camino, que por defecto es donde el
sistema operativo Windows instala sus programas. El camino es C:\Program Files para su
versión en inglés, o C:\Archivos de Programas para su versión en español.
Después que se haya instalado satisfactoriamente, en el escritorio de la sesión de
trabajo se copiará un ícono de acceso directo al fichero ejecutable de la aplicación.
3.3 Trabajo con la aplicación
El software comienza presentando una imagen que muestra el nombre de la
aplicación, donde se observa el porciento de carga de los componentes necesarios para su
correcto funcionamiento.
Capítulo 3
43
Figura 3.1: Cargando aplicación.
A continuación se muestra una ventana que contiene el ambiente de trabajo, desde el
cual se accede a todas las opciones de la aplicación. Dicho ambiente constituye el punto de
partida del programa y por lo tanto se mantiene durante toda la ejecución de la aplicación. La
figura siguiente muestra el ambiente de trabajo.
Capítulo 3
44
Figura 3.2: Vista principal.
A partir de aquí la aplicación se encuentra lista para su uso. En esta ventana principal
se muestran dos áreas de texto que servirán para realizar las traducciones, la primera sirve
para insertar el texto a traducir y la segunda muestra el resultado de la traducción.
Texto a traducir
El usuario introduce el texto a traducir en el área de texto que se encuentra en la parte
superior.
Capítulo 3
45
Resultados de la traducción
La segunda área de texto, que se encuentra en la parte inferior, es la que muestra los
resultados de la traducción efectuada, o un mensaje de información que describa cualquier
error que pudiera haber ocurrido durante el proceso.
Traducir
Al presionar este botón se efectúa el proceso de traducir lo que se encuentra escrito en
el área de texto superior y aparecen los resultados en la parte inferior. Se puede ejecutar la
misma acción al presionar la combinación de teclas Ctrl + T.
Limpiar
Cuando se presiona este botón se eliminan el texto y su traducción en las ventanas
correspondientes. Se utiliza normalmente cuando se quiere realizar una nueva traducción.
Abrir
Cuando se da clic sobre este botón aparece una ventana, mediante la cual se puede
cargar hacia el editor un fichero de texto que el usuario haya guardado con antelación.
Salvar
Al oprimir este botón se muestra una ventana, mediante la cual el usuario puede salvar
hacia un fichero de texto (.txt) el resultado de la traducción, así como el texto original que
quiso traducir.
3.4 El menú Archivo
Al mismo se puede acceder dando clic sobre él. Ofrece una reducida cantidad de
operaciones a realizar principalmente sobre los editores de texto que muestra la ventana
principal de la aplicación. Las opciones Abrir y Salvar son las mismas descritas
anteriormente.
Capítulo 3
46
Figura 3.3: El menú Archivo.
La opción Salir finaliza la ejecución del programa. Antes de terminar se pregunta al
usuario si realmente está seguro de abandonar la aplicación, o si prefiere seguir trabajando en
el traductor.
Figura 3.4: Ventana de confirmación de salida.
3.5 El menú Editar
Incluye las opciones de realizar una traducción y limpiar el contenido de los editores
de texto. Dichas acciones han sido anteriormente descritas.
Capítulo 3
47
Figura 3.5: El menú Editar.
3.6 El menú Diccionario
Está formado por dos herramientas: Modificaciones y Visualizar Diccionario.
Figura 3.6: El menú Diccionario.
Modificaciones al diccionario
Esta opción está prevista para que un especialista en el idioma latín pueda realizar las
modificaciones que estime convenientes sobre el diccionario de la aplicación. Para prevenir
que se realicen modificaciones incorrectas se provee al software de protección por
contraseña; de esta manera sólo el experto en latín puede realizar dichas acciones.
Capítulo 3
48
Figura 3.7: Autentificación.
La ventana anterior cuenta con la opción Cambiar contraseña, que permite al experto
cambiar la misma.
Figura 3.8: Cambiar contraseña.
Si la contraseña introducida es incorrecta se emite un mensaje de error, en caso
contrario, se mostrará la ventana Modificaciones.
Capítulo 3
49
Figura 3.9: Modificaciones al diccionario.
Las opciones que ofrece esta ventana son las de adicionar, eliminar o modificar
cualquier palabra que se encuentra en el diccionario. Cada una de ellas se acciona
presionando sobre los botones redondos que aparecen en un grupo nombrado “Acción” que
se encuentra en la parte superior izquierda de la ventana. Cada uno de estos botones hace que
cambie lo que se observa en la misma con el objetivo de que el usuario comprenda mejor
cómo realizar los pasos para actualizar el diccionario.
Adicionar
Cuando se desea agregar una nueva palabra se muestra un segundo grupo de botones
circulares, nombrado “Clasificación”, situado a la derecha del primero. En ellos se puede
observar los tres tipos de palabras con las que trabaja el diccionario, en este caso: sustantivos,
adjetivos y adverbios.
Adicionar sustantivo
Para adicionar un sustantivo se debe especificar género y número, como se muestra en
la siguiente figura.
Capítulo 3
50
Figura 3.10: Adicionar sustantivo.
Adicionar adjetivo
Además de seleccionar género y número, se pueden añadir adjetivos que pertenezcan
a la categoría 1. Esto se hace seleccionando dicha categoría.
Figura 3.11: Adicionar adjetivo.
Adicionar adverbio
Para adicionar un adverbio basta con seleccionar dicha opción.
Capítulo 3
51
Figura 3.12: Adicionar adverbio.
Modificar
Para modificar una palabra basta con escribirla en el cuadro de texto o seleccionarla
de la lista. En este caso se auxiliará de una búsqueda automática de la palabra que se está
escribiendo.
Figura 3.13: Modificaciones.
Capítulo 3
52
Después de seleccionada la palabra se presiona el botón “Modificar”. En ese caso
aparecerá una nueva ventana como se muestra a continuación.
Figura 3.14: Modificar.
Eliminar
Para eliminar una palabra, la ventana se muestra igual que en la figura 3.14, con el
único cambio de que el botón “Modificar” cambia su nombre por “Eliminar”. Se puede
realizar una búsqueda, igual que en el caso anterior, de la palabra que se desea eliminar.
Después de seleccionada la palabra en la tabla basta con dar doble clic sobre ella o presionar
el botón “Eliminar”. Automáticamente la palabra quedará eliminada del diccionario.
Capítulo 3
53
Figura 3.15: Eliminar.
Visualizar diccionario
La aplicación cuenta con un diccionario donde se muestran todas las palabras con las
que el traductor trabaja. Está formado solamente por traducciones simples (palabra en
español – significado en latín).
Capítulo 3
54
Figura 3.16: Diccionario.
3.7 El menú Herramientas
Este menú cuenta con la opción Visor de imágenes mediante el cual el usuario puede
comprobar la similitud de las palabras con las características de las plantas.
Capítulo 3
55
Figura 3.16: El menú Herramientas.
Luego de presionar este botón se muestra la siguiente ventana.
Capítulo 3
56
Figura 3.17: Visor de imágenes.
3.8 El menú Ayuda
La figura que se muestra a continuación indica cómo se accede a la ayuda del
traductor. A través de ella se explican todas las funcionalidades de la aplicación.
Capítulo 3
57
Figura 3.18: El menú Ayuda.
Contenido
En la siguiente figura se muestra la ayuda de la aplicación que aparecerá al presionar
el botón “Contenido”.
Capítulo 3
58
Figura 3.19: Ayuda.
Acerca de
Al presionar el botón “Acerca de” se mostrará una ventana con los datos de los
desarrolladores de la aplicación.
Figura 3.20: Acerca de.
Conclusiones
59
CONCLUSIONES
Con este trabajo se logró construir una aplicación que permite realizar traducciones de
oraciones referentes a la descripción de las especies botánicas. Se creó una gramática de
cláusulas definidas para chequear sintácticamente las oraciones en el lenguaje español.
Durante este proceso se logró adquirir conocimientos básicos de latín lo cual permitió
determinar el universo lingüístico con que cuenta la aplicación.
Se utilizó un mecanismo que permite la comunicación entre Java y SWI-Prolog
haciendo uso de la biblioteca que ofrece este último denominada JPL (Java Prolog). Se
desarrolló una interfaz gráfica que permite al usuario final la interacción con el sistema de
forma agradable.
La actualización del diccionario de la aplicación se realiza de manera segura por el
usuario especialista en el latín, quien a través de una contraseña accede a esta opción para
agregar, eliminar o modificar palabras según lo desee.
Recomendaciones
60
Recomendaciones
- Incorporar a la Gramática las categorías 5 y 6 de la oración básica.
- El software actual no cuenta con la opción de añadir nuevas imágenes al módulo
visual desde la misma aplicación por lo que se recomienda implementar esta opción.
- Poner a disposición de instituciones científicas vinculadas a la Botánica el presente
trabajo para su uso y distribución, así como para realizar una correcta evaluación del
mismo.
- Someter a evaluación los resultados del trabajo.
Referencias Bibliográficas
61
Referencias bibliográficas Amores Carredano, G. (2002) Un mecanismo de transferencia para LFG DCG-Prolog. Revista "Procesamiento del Lenguaje Natural" pp 12
Ávila Kotliarov, M. and N. Mendoza Morales (2006). Traductor de español a latín para la nomenclatura botánica. Facultad Matemática, Física y Computación. Villa Clara, Cuba, Universidad Central “Marta Abreu” de Las Villas. Licenciatura en Ciencia de la Computación: 72.
Benotti, L., ROGER, Sandra (2004). Traducción Automática: Dimensiones y Estrategias. Departamento de Informática y Estadística, Universidad Nacional del Comahue, Argentina: pp 5.
Bratko, I. (1986). Prolog Programming for Artificial Intelligence, Addison-Wesley.
Carreras, S. (2009). Eslatín I. Latín básico para los profesionales de la Botánica. Universidad Central "Marta Abreu" de Las Villas, Santa Clara, Cuba.
Corporation, A. (1986). The Arity/Prolog Programming Language.
Craciunescu, O. and C. Gerding-Salas (2007). Traducción automática y asistida: ¿nuevas formas de traducir? S. Stringer-O’Keeffe: pp 17.
Dagerman, B., et al. (2013). "Semantic Analysis of Natural Language and Definite Clause Grammar using Statistical Parsing and Thesauri."
Dávila, J. A., et al. (2007). Introducción a la lingüística computacional con una perspectiva interdisciplinaria, Centro de Investigación y Proyectos en Simulación y Modelos, Escuela de Idiomas Modernos. Mérida, Venezuela.
Diéguez M., M. I., Riedemann H., Karin (1998). "Análisis del error en la traducción automática: algunos ejemplos de las formas -ing del inglés al español." pp 19.
Fernández Reyes, F. d. l. C. (2011). Integración de métodos para la desambiguación del sentido de las palabras en el contexto del procesamiento del lenguaje natural. Centro de Estudios de Ingeniería y Sistemas. Facultad de Ingeniería Informática. Ciudad de la Habana, Instituto Superior Politécnico “José Antonio Echeverría”. Master en Informática Aplicada.
Gelbukh, A. (2010). "Procesamiento de Lenguaje Natural y sus Aplicaciones." Komputer Sapiens Vol. I.: 6.
Referencias Bibliográficas
62
Gelbukh, A. and G. Sidorov (2006). Procesamiento automático del español con enfoque en recursos léxicos grandes. México, Centro de Investigación en Computación. Instituto Politécnico Nacional.
Giannetti, C. (1997). ESTÉTICA DE LA SIMULACIÓN. Arte en la era electrónica - Perspectivas de una nueva estética. Barcelona, España.
Gurney, J., John 0. , et al. (1989). Implementing a Definite Clause Grammar for Parsing Surface Syntax, U.S. Army Laboratory Command. Harry Diamond Laboratories.
Gutiérrez, I. C. and D. F. Figueroa (2011). "Traducción automática. Técnicas y aplicaciones."
Hernández Mercedes, P. (2002). En torno a la traducción automática. España, Editorial Cervantes: pp 17.
Hutchins, J. (2007). "Machine translation: a concise history." Retrieved febrero del 2013, from http://www.hutchinsweb.me.uk/CUHK-2006.pdf.
Hutchins, W. J. and H. L. Somers (1992). An Introduction to Machine Translation. New York, Academic Press.
Kaplan, G., et al. (2010). Ambigüedad léxica en los modelos de requisitos en lenguaje natural. XII Workshop de Investigadores en Ciencias de la Computación.
Ledo Mezquita, Y. (2006). Recuperación de información con resolución de ambigüedad de sentidos de palabras para el español. Centro de Investigación en Computación. México DF, Instituto Técnico Nacional. Tesis Doctoral.
Lezcano, M. (2005). Prolog y los Sistemas Expertos.
Monferrer, M. T. E., et al. (2001). El Lenguaje de Programación PROLOG. Castellón de la Plana.
Montero Martínez, J. M. (2000). Desarrollo de un entorno para el análisis sintáctico de una lengua natural. Aplicación al castellano. Departamento de Ingeniería Electrónica. Madrid, Universidad Politécnica de Madrid.
Moreno, L., et al. (1999). "Introducción al procesamiento del lenguaje natural." Servicio de Publicaciones Universidad de Alicante). Universidad de Alicante.
Muñoz, J. M. M. and M. V. Ramírez (2010). "Aplicaciones de traducción basadas en memorias de datos: desarrollo y perspectivas de futuro." Entreculturas: revista de traducción y comunicación intercultural(3): 109-123.
Pereira, F. C. N. and S. M. Shieber (2002). Prolog and Natural-Language Analysis. Brookline, Massachusetts, Microtome Publishing.
Reyes, G. (1990). La pragmática lingüística: el estudio del uso del lenguaje, Editorial Montesinos.
Riley, G. and J. Giarratano (2012). "Sistemas expertos."
Rowe, N. C. (1988). Artificial Intelligence Through Prolog, Prentice-Hall.
Russell, S. J. and P. Norvig (1995). Artificial Intelligence A Modern Approach. New Jersey, Prentice Hall.
Somers, H. (2003). Machine translation: latest developments. Oxford handbook of computational linguistics. Oxford, Oxford University Press.
Sosa, E. (1997). "Procesamiento del lenguaje natural: revisión del estado actual, bases teóricas y aplicaciones." 05/02/2013, from http://www.elprofesionaldelainformacion.com.
Sterling, S. (1994). The art of Prolog, MIT Press.
Tomás Gironés, J. (2003). Traducción automática de textos entre lenguas similares utilizando métodos estadísticos. Departamento de Sistemas Informáticos y Computación. Valencia, Universidad Politécnica de Valencia. Tesis Doctoral: pp 157.
Vázquez Pérez, S. (2009). Resolución de la ambigüedad semántica mediante métodos basados en conocimiento y su aportación a tareas de PLN. Departamento de Lenguajes y Sistemas Informáticos. Alicante, Universidad de Alicante. Tesis Doctoral.
Villayandre Llamazares, M. (2010). Aproximación a la Lingüística Computacional. Departamento de Filología Hispánica y Clásica, Universidad de León. Tesis Doctoral.
Warren, D. H. D. (1983). An abstract Prolog instruction set. California, SRI International.
Wu, J. (2011). Adaptation of language models and context free grammar in speech recognition, Google Patents.
Zapata, C. and S. Benítez (2009). "Interlingua: a-state-of-the-art overview." Revista Facultad de Ingeniería Universidad de Antioquia(47): 117-128.