|
|
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 librería, hay que 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'). También se pueden usar los métodos de SimpleNLG-es 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 SimpleNLG, la librería ensamblará las partes de la oración de forma gramatical y generará una salida. En el ejemplo anterior, el resultado sería "Mi perro estaba persiguiendo a Jorge porque Jorge parecía divertido.":
|
|
|
|
|
|
1. Organizó las diferentes partes en el orden correcto.
|
|
|
2. Puso en mayúsculas la primera letra de la oración.
|
|
|
3. Se añadió el auxiliar 'estaba' en función del sujeto.
|
|
|
4. Se cambió el verbo al gerundio.
|
|
|
5. Juntó las palabras de forma gramatical.
|
|
|
6. Insertar un espacio en blanco entre las palabras de la oración.
|
|
|
7. Puso un punto al final de la oración.
|
|
|
|
|
|
Como se puede ver, no elige las palabras concretas: es necesario especificar las palabras que tienen que aparecer en la salida y las partes del discurso. Lo SimpleNLG-es hace es crear una oración gramaticalmente correcta de las partes del discurso proporcionadas. SimpleNLG-es automatiza algunas de las tareas que todos los sistemas de generación de lenguaje natural (NLG) necesitan para realizar. Tareas como:
|
|
|
|
|
|
**Ortografía**:
|
|
|
|
|
|
* Insertar espacios en blanco en oraciones y párrafos.
|
|
|
* Absorber la 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).
|
|
|
* Formato de 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áctica correcta.
|
|
|
|
|
|
---
|
|
|
|
|
|
[1] 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". La palabra "es" se dice que 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. |
|
|
\ No newline at end of file |