-
Notifications
You must be signed in to change notification settings - Fork 6
Sección I – Qué es SimpleNLG es
SimpleNLG-ES se puede utilizar para escribir un programa que genere frases en español o inglés gramaticalmente correctas. Es una biblioteca (no una aplicación), escrita en Java, que realiza tareas sencillas y útiles que son necesarias para la generación de lenguaje natural (NLG).
Se distribuye como un archivo .jar que contiene todas las clases necesarias.
Debido a que es una biblioteca, es necesario escribir un programa Java que haga uso de las clases de SimpleNLG-ES. Estas clases permiten especificar el sujeto de una oración ('mi perro'), el verbo de la oración ('perseguir'), el complemento directo ('Jorge') y complementos adicionales ('porque Jorge parecía divertido'). Los métodos de SimpleNLG-ES pueden usarse también para indicar, por ejemplo, que el verbo esté en tiempo pasado y expresado de forma progresiva ('estaba persiguiendo').
Una vez que se haya decidido el contenido de la oración y se haya expresado esta información en términos lingüísticos, SimpleNLG ensamblará las partes de la oración de forma gramaticalmente correcta y generará una salida (texto en lenguaje natural). En el ejemplo anterior, el resultado sería "Mi perro estaba persiguiendo a Jorge porque Jorge parecía divertido." Para ello, SimpleNLG-ES habrá tenido que realizar las siguientes tareas:
- Organizar las diferentes partes en el orden correcto.
- Poner en mayúsculas la primera letra de la oración.
- Añadir el auxiliar 'estaba' en función del sujeto.
- Cambiar el verbo al gerundio.
- Juntar las palabras de forma gramaticalmente correcta.
- Insertar un espacio en blanco entre las palabras de la oración.
- Poner un punto al final de la oración.
Como se puede ver, SimpleNLG-ES no elige las palabras concretas: resulta necesario especificar las palabras que tienen que aparecer en la salida y las partes del discurso. Lo que SimpleNLG-ES hace es crear una oración gramaticalmente correcta a partir de las partes del discurso proporcionadas. SimpleNLG-ES automatiza algunas de las tareas que llevan a cabo todos los realizadores lingüísticos en los sistemas de generación de lenguaje natural (NLG) necesitan. Por ejemplo, tareas como:
Ortografía:
- Insertar espacios en blanco en oraciones y párrafos.
- Fusionar los signos de puntuación - por ejemplo, al generar la oración "Él vive en Washington D.C." en lugar de "Él vive en Washington D.C.." (es decir, la frase termina con un solo punto en lugar de dos).
- Insertar saltos de línea entre palabras (en lugar de en medio de una palabra) para encajar texto en filas de, por ejemplo, 80 caracteres (o cualquier longitud que elija).
- Darle formato correcto a listas como: "manzanas, peras y naranjas."
Morfología:
- Generar formas conjugadas - es decir, modificar/marcar una palabra/lexema para reflejar información gramatical como el género, tiempo, número o persona.
Gramática simple:
- Asegurar la corrección gramatical, haciendo cumplir la concordancia nombre-verbo[1], entre otras cosas.
- Crear grupos de verbos bien formados (es decir, verbo y auxiliares) como "no está comiendo".
- Permitir que el usuario defina partes de una oración o frase y que SimpleNLG-ES una esas partes en una estructura sintácticamente correcta.
[1] La concordancia describe cómo la forma de una palabra a veces depende de otras palabras que aparecen con ella en una oración. Por ejemplo, no se dice "Yo es" en español, porque "es" no se puede usar cuando el sujeto es "yo". En ese ejemplo, se dice que la palabra "es" no está en concordancia con la palabra "yo". La forma correcta es "Yo soy", aunque el verbo tenga la misma función y significado básico.