JALIMI: Generación de lenguaje natural
Transparencias
La práctica
- Baje y instale KPML. (purl.org/net/kpml)
- La versión de KPML que usamos en la
práctica es "kpml 4.0 late beta" que se puede bajar
de la página de "images" (en el sitio de KPML). El
archivo que se necesita se llama
"k4b-f-loom30.zip". Descomprímalo. El resultado
debería ser el archivo "k4b-f-loom30.exe".
-
Asegúrese que la carpeta "C:\tmp" exista. Si no existe,
créela.
-
Cree una carpeta nueva con el nombre "Recursos" en algun lugar.
-
Baje este archivo y
guárdelo en la misma carpeta como el archivo
"k4b-f-loom30.exe". Este archivo contiene
información de configuración y el nombre
tiene que ser "kpmlconf" sin ninguna extensión.
-
Cambie la primera línea de manera que especifique la
ubicación correcta de la carpeta "Recursos".
-
Baje los siguientes recursos, descomprímalos, y guarde
las carpetas ("titles" y "mini-english") en la carpeta
"Recursos".
-
Corra el programa KPML. Varias ventanas se
abrirán. Nosotros vamos a trabajar solamente con la
ventana que se llama "Development (KPML)".
Ejercicio 1.
-
Seleccione el idioma "titles" y cargue los recursos
"titles".
Para seleccionar el idioma cliquee en "Set Language". Para
cargar los recursos cliquee en "File" y después en
"Load Resources".
-
Para emepezar examine y complete la gramática
"titles". El curso introductorio (tutorial) "Working with
Systemic-functional Grammars: I" (http://www.fb10.uni-bremen.de/anglistik/langpro/kpml/tutorials/KPML-first-intro.htm)
describe paso por paso cómo se usan las funcionalidades
basicas de KPML usando la gramática "titles" como ejemplo.
Ejercicio 2.
-
Seleccione el idioma "mini-english" y cargue los recursos correspondientes.
-
Para ver toda la gramática cliquee en "Inspect" y
"Graph Region" y después (en la ventana mostrando la
gráfica) seleccione "Flags"-"Toggle gate
visibility".
Explicación: Inicialmente KPML solo muestra los
sistemas que corresponden a una decisión entre
diferentes opciones. "Toggle gate visibility" le hace mostrar
también los sistemas que están asociados con
solamente un feature y, por eso, no provocan una decisión.
-
Examine esta gramática (mínima) de un fragmento
del inglés usando la representación
gráfica y la funcionalidad de recorrer el red de
sistemas ("Traverse grammar"). Esta
introducción al formalismo de gramáticas
sistémicas funcionales puede ser útil.
-
Extienda la gramática. Por ejemplo:
-
Agregue los "realization statements" apropiados al
feature "interrogative" para que la gramática pueda
producir preguntas que requieran sí o no como
respuesta ("Does Bill dance? Does Bill kiss the
princess?).
Una lista de los "realization statements" posibles:
-
insert (escrito como "+ Function")
-
Agregar una expresión nueva (con la función
gramática "Function") a la frase que
está siendo armado.
-
conflate (Function1/Function2)
-
Dice que dos expresiónes (que fueron
introducidas antes usando "insert") son la misma
expresión.
-
order (Function1^Function2)
-
Especifica el orden de dos expresiónes en una frase.
-
orderAtFront (#^Function)
-
Especifica que una expresión tiene que estar al
principio de la frase.
-
preselect (Function : Grammatical Feature)
-
Especifica que una espresión tiene que
satisfacer un feature de la gramática. Indica a
KPML de recorrer otra vez el red de sistemas para armar esta
expresión.
-
classify (Function :: Lexical Feature)
-
Especifica propiedades de la entrada lexical que va a
realizar la expresión "Function".
La documentación de KPML da más
información sobre "realization statements".
-
Agregue otros verbos transitivos al lexicon.
Para eso tiene que abrir el archivo "lexicon.lexicon" en
la carpeta "..\Recursos\mini-english\lexicons", modificar
este archivo y guardarlo. Cargue el lexicon modificado
seleccionando "File"-"Load Lexicon". Ahora tiene que
agregar los nuevos significados al sistema "TRV
MEANING". (En la ventana de la representación
gráfica, cliquee en el nombre del sistema para
abrir la ventana en que se puede editar el sistema. En
esta ventana seleccione "Add Feature" y después
agregue el "realization statement" necesario.)
-
Agregue un verbo ditransitivo.
-
Extienda la gramática de manera que pueda producir
frases con verbos ditransitivos. (Tiene que trabajar en el
sistema "INTRO GOAL".)
-
Extienda la gramática tal que pueda producir frases
imperativas como "Dance!" o "Kiss the princess!".
-
Aquí
está una versión de la gramática que
contiene estas extensiones.