Tesis Ontologia
Tesis Ontologia
Tesis Ontologia
FACULTAD DE INFORMÁTICA
Departamento de Ingeniería del Software e Inteligencia Artificial
Madrid, 2008
• ISBN: 978-84-669-3168-7
Un armazón para el desarrollo de aplicaciones
de narración automática basado en
componentes ontológicos reutilizables
Tesis doctoral
Presentada por
D. Federico Peinado Gil
Dirigida por el
Prof. Dr. D. Pablo Gervás Gómez-Navarro
Facultad de Informática
Universidad Complutense de Madrid
Madrid, 2008
Un armazón para el desarrollo de aplicaciones
de narración automática basado en
componentes ontológicos reutilizables
Tesis doctoral
Presentada por
D. Federico Peinado Gil
Dirigida por el
Prof. Dr. D. Pablo Gervás Gómez-Navarro
Facultad de Informática
Universidad Complutense de Madrid
Madrid, 2008
Agradecimientos
“Si yo pudiera enumerar cuánto debo a mis antecesores y contemporáneos,
no me quedaría gran cosa en propiedad”. Estas palabras de Goethe resultan
muy apropiadas para poner punto y final a una tesis. A lo largo de estos años
he recibido aportaciones de mucha gente y aunque sólo mi nombre figura en
la portada, no creo que exista una sola obra científica debida exclusivamente
al mérito de su autor.
La primera persona en mi extensa lista de acreedores es Pablo Gervás, mi
director de tesis. Su apoyo y colaboración durante este revuelto periodo de
mi vida, en especial su ilusión durante las largas temporadas sin resultados
tangibles, merecen todo mi agradecimiento.
Los sufridos coautores de nuestras publicaciones (Belén Díaz, Raquel Her-
vás, Virginia Francisco, Álvaro Navarro, Michael Santorum, Héctor Gómez,
Pedro Pablo Gómez, Marco Antonio Gómez, Pablo Moreno, Birte Lönneker-
Rodman, Jan Christoph Meister, Miguel Ancochea y Abraham López) han
trabajado duro y a contrarreloj, por lo que merecen mi amistad y gratitud.
Doy las gracias también a la pequeña comunidad de usuarios de tecnologías
semánticas en que me he visto inmerso. Óscar Muñoz, Jose Miguel Mohe-
dano, Marina Gallego, Irene Pérez y Almudena Ruiz han aportado mucho
más de lo que piensan a construir esta tesis. También Francisco José Álvarez
y Benedicto Rodriguez se merecen mi gratitud por orientarme en el mundo
de las metodologías de desarrollo de ontologías, así como los compañeros de
la excelente European Summer School on Ontological Engineering and the
Semantic Web de 2006. El trabajo de los becarios y alumnos colaboradores
del que, de una forma u otra, se beneficia esta tesis también ha de ser reco-
nocido, como el de Carlos León, Jorge Carrillo-Albornoz o Susana Bautista.
Gracias a todos por preguntar, corregir, informar y hacerme trabajar.
Recuerdo con emoción la buena acogida en el grupo de Marc Cavazza
durante mis estancias de investigación en la Universidad de Teesside y en
la Universidad de Hamburgo, con el grupo de narratología de Jan Chris-
toph Meister. Reconozco verme inspirado a menudo por la dedicación y el
esfuerzo de aquellos investigadores con los que he tenido la suerte de traba-
jar, como Fred Charles o Birte Lönneker-Rodman; también por la de aquellos
que forman parte de lo que siento como mi comunidad científica (congresistas
habituales de TIDSE, ICVS, etc.). He tenido la suerte de contar con colabo-
radores internacionales siempre dispuestos a todo, como Francisco Pereira y
Amílcar Cardoso, dos verdaderos amigos.
Aunque son muchos los compañeros y profesores que han influido en mi
trayectoria, quiero agradecer expresamente a Carmen Fernández y a Luis Her-
nández el abrirme la puerta al mundo académico, que ahora tan importante
es para mi, iluminando el algo oscuro sendero de la burocracia universitaria.
De una manera más formal, aunque no menos importante, quiero agra-
decer el apoyo moral y económico que me han ofrecido las siguientes insti-
tuciones: Grupos de investigación NIL, GAIA y el general ISIA de la Uni-
versidad Complutense de Madrid; Departamento de Ingeniería del Software
e Inteligencia Artificial (antiguo departamento de Sistemas Informáticos y
Programación) y Facultad de Informática de dicha universidad; Beca para
Grupos de Investigación de la Universidad Complutense de Madrid y la Di-
rección General de Universidades e Investigación de la Comunidad de Madrid
(UCM-CAM-910494) y Beca Predoctoral para la Formación de Personal In-
vestigador de la Universidad Complutense de Madrid; Proyectos “Galante:
Generación de lenguaje natural para textos con emociones” y “Ardisia: Ar-
quitectura para el desarrollo e integración de simulaciones interactivas en el
aprendizaje” del Ministerio de Educación y Ciencia (TIN2006-14433-C02-01
y TIN2005-09382-C02-01); proyecto “Javy Forest: Application of Metaphor
and Blending in game environments” del Ministerio de Ciencia y Tecnología,
en Acción Integrada Hispano-Portuguesa (HP2003-0068) entre la Universidad
Complutense de Madrid y la Universidad de Coimbra, y proyecto “Arcano:
Documentación de Armazones Basada en Casos y su Aprendizaje mediante
Ejemplos” de la Comisión Interministerial de Ciencia y Tecnología (TIC2002-
01961).
En la esfera de mi vida privada, hay alguien más a quien dar las gracias.
Ella es Ma Ángeles, compañera inseparable que ha recorrido conmigo el tor-
tuoso sendero de la carrera académica sin dudar de mi capacidad en ningún
momento, a pesar de mis continuos descalabros.
El problema de las listas exhaustivas es que, en realidad, pocas lo son.
La lista anterior no es ninguna excepción y por eso quisiera abarcar, con
un amplio agradecimiento, a todos los compañeros, profesores, miembros del
personal universitario, miembros del tribunal, investigadores que he conocido
física o electrónicamente, congresistas, revisores, familiares y amigos cuyos
nombres no puedo reunir aquí pero que sin duda también han sido “coautores
espirituales” de esta tesis. Este último agradecimiento te incluye a ti, amigo
lector, por estar dispuesto a dar sentido a mi trabajo.
Declaración
Todo el texto, los ejemplos, cuadros y figuras que aparecen en este trabajo
y no aparecen acompañados de una referencia explícita a otra publicación,
son creación original del autor.
vii
Resumen
El ordenador se ha utilizado como medio de expresión narrativa desde ha-
ce décadas. La informática ha permitido desarrollar tecnologías muy potentes
para el tratamiento de la información narrativa, permitiendo almacenar, or-
ganizar, modificar y reproducir contenidos de todo tipo. La automatización
de algunas de estas tareas es perfectamente posible, aunque hay otras cuya
formalización en términos computacionales se considera extraordinariamen-
te compleja o incluso imposible, debido principalmente a que los procesos
mentales que el ser humano emplea para acometerlas aún son grandes desco-
nocidos. La generación de historias es una de esas tareas y su automatización
forma parte de ese gran proyecto a largo plazo al que llamamos “inteligencia
artificial”.
Entre los años setenta y ochenta se llevaron a cabo numerosos estudios
relacionados con la comprensión y la generación automática de historias que
sentaron las bases para la investigación científica en esta materia. Tras años
de desinterés por la cuestión, nuevas aplicaciones, enfoques, y condiciones
técnicas favorables han provocado un ligero renacer del interés por las apli-
caciones de narración automática en el ámbito científico y empresarial.
En este trabajo se estudian los fundamentos teóricos de la narración au-
tomática, se revisan las diversas metodologías y tecnologías implicadas en su
desarrollo y se analizan los resultados obtenidos hasta el momento y docu-
mentados en la literatura científica.
Actualmente hay aplicaciones capaces de generar automáticamente el con-
tenido, la estructura e incluso la presentación final (en forma de texto, gráfi-
cos, videos, etc.) de una historia. Sin embargo estas aplicaciones no revelan
una solución única y sistemática para todos los problemas fundamentales de
la generación de historias. Aunque hay excepciones, muchos de estos trabajos
fallan en su planteamiento científico u obtienen soluciones poco generaliza-
bles, escalables, evaluables y útiles.
Este trabajo de tesis pretende construir un armazón sólido y adecuado
para el desarrollo de aplicaciones de narración automática. Los objetivos se
centran sobre aquellos problemas que afectan más negativamente a la orga-
nización, modularidad y reusabilidad de dos elementos básicos: por un lado
el conocimiento necesario para representar historias en un ordenador, y por
otro los procesos capaces de manipular dicho conocimiento para generar his-
torias que satisfagan unos criterios preestablecidos de valor y novedad. La
propuesta utiliza lógicas descriptivas y programación orientada a objetos pa-
ra construir un armazón compuesto de un núcleo software y un repositorio
extensible de componentes ontológicos reutilizables que encapsulan la semán-
tica declarativa y operacional de los principales dominios relacionados con la
viii
narración automática.
Los resultados obtenidos han sido la implementación de este armazón
y de una aplicación de ejemplo como instancia concreta suya, que ilustra
los aspectos más técnicos sobre cómo llevar a la práctica la metodología
propuesta para el desarrollo de aplicaciones de narración automática.
La evaluación de esta propuesta y de sus resultados da lugar a una dis-
cusión sobre la expresividad que presenta esta solución frente a las demás
propuestas revisadas previamente. También se discute lo que se ha averi-
guado acerca de la autoría narrativa computacional, la forma en que son
presentadas y evaluadas las historias, y el alcance de la validez de dicha
evaluación.
Finalmente se presentan las conclusiones de esta investigación, incluyendo
algunas sugerencias sobre cuales han de ser las líneas de investigación futuras.
Palabras clave
Generación de Historias, Narratología Computacional, Ingeniería Onto-
lógica, Lógicas Descriptivas, Creatividad Computacional
A mi esposa
Convenciones tipográficas
xi
xii
Índice general
1. Introducción 1
1.1. Definición de narración automática . . . . . . . . . . . . . . . 2
1.2. Aplicaciones de narración automática . . . . . . . . . . . . . . 2
1.3. Problemas abiertos . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.1. Autoría computacional genérica y configurable . . . . . 7
1.4.2. Evaluación integrada en la aplicación . . . . . . . . . . 7
1.4.3. Validación de la propuesta . . . . . . . . . . . . . . . . 8
1.5. Estructura del trabajo . . . . . . . . . . . . . . . . . . . . . . 8
xiii
xiv ÍNDICE GENERAL
3.3.2. DLApplication . . . . . . . . . . . . . . . . . . . . . . 68
3.4. Componentes básicos del armazón . . . . . . . . . . . . . . . . 70
3.4.1. Knowledge . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.4.2. Space . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.4.3. Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.4.4. Simulation . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.4.5. Fabula . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.4.6. Discourse . . . . . . . . . . . . . . . . . . . . . . . . . 98
3.4.7. Narration . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.4.8. AbstractStory . . . . . . . . . . . . . . . . . . . . . . . 104
3.5. Funcionamiento del armazón . . . . . . . . . . . . . . . . . . . 109
3.6. Evaluación del armazón . . . . . . . . . . . . . . . . . . . . . 114
3.6.1. Coherencia . . . . . . . . . . . . . . . . . . . . . . . . 116
3.6.2. Valor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
3.6.3. Novedad . . . . . . . . . . . . . . . . . . . . . . . . . . 118
3.6.4. Calidad de presentación . . . . . . . . . . . . . . . . . 121
5. Discusión 147
5.1. Representación de historias . . . . . . . . . . . . . . . . . . . . 147
5.2. Generación de historias . . . . . . . . . . . . . . . . . . . . . . 150
5.3. Evaluación de historias . . . . . . . . . . . . . . . . . . . . . . 153
5.4. Historias resultantes . . . . . . . . . . . . . . . . . . . . . . . 154
6. Conclusiones 161
6.1. Genericidad y dependencia en autoría computacional . . . . . 162
6.2. Evaluación automática con métricas abstractas . . . . . . . . . 163
6.3. Validez delegada al modelo de evaluación . . . . . . . . . . . . 164
6.4. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . 164
B. English Translation v
C. Abreviaciones xi
ÍNDICE GENERAL xv
D. Glosario xiii
xvi ÍNDICE GENERAL
Índice de Cuadros
xvii
xviii ÍNDICE DE CUADROS
xix
xx ÍNDICE DE FIGURAS
Introducción
1
2 INTRODUCCIÓN
previo.
En tercer lugar muchas decisiones metodológicas y de diseño se toman
ad hoc, sin basarse en una teoría sólida o un estudio empírico suficiente.
Falta un buen marco de trabajo donde clasificar cada enfoque y entender sus
ventajas e inconvenientes, siendo deseable contar con un sistema concreto
para desarrollar aplicaciones de narración automática.
En cuarto lugar, para obtener resultados convincentes se hace necesario
simplificar en exceso dichos problemas lo que contribuye a que los enfoques
adoptados para resolverlos tiendan a ser obvios y poco realistas. Normalmen-
te esta simplificación implica que la cantidad de contenido disponible para
generar historias sea escasa y su variedad quede reducida a un sólo dominio
temático muy limitado. La excesiva simplificación también conduce a acoplar
la tecnología desarrollada con los problemas concretos que se utilizan para
probar el funcionamiento de la aplicación, lo que hace que las soluciones ob-
tenidas no puedan ser escaladas para resolver problemas de mayor tamaño o
complejidad, ni generalizadas para resolver problemas similares.
En quinto lugar, la metodología y los resultados de la investigación no son
evaluados correctamente, llegando incluso a no aparecer documentados en al-
gunos trabajos. La evaluación, cuando existe, no suele usar métricas objetivas
ni realizar experimentos suficientemente exhaustivos como para probar la va-
lidez de la solución propuesta. Los resultados tampoco se comparan con los
resultados de otros proyectos previos.
En sexto y último lugar, muchas soluciones están ligadas a la imple-
mentación de aplicaciones de prueba que carecen de utilidad práctica y no
responden a las necesidades de ningún cliente ni mercado real, por lo que
no despiertan interés económico ni social. Las soluciones no se utilizan en
más de una aplicación, a veces porque no son reusables, otras veces porque
los autores no logran hacer efectiva dicha reusabilidad. Algunos trabajos di-
rectamente carecen de implementación y por tanto de resultados prácticos.
Esto hace muy difícil extrapolar las conclusiones para hablar de la mejora,
en términos de coste y beneficio, que las nuevas soluciones representan para
el desarrollo de aplicaciones de narración automática.
Teniendo en cuenta estos problemas, son muchos los retos que el investiga-
dor en la materia puede plantearse. Por un lado hay problemas que pertenecen
al ámbito de la Creatividad Computacional y que plantean el reto de averi-
guar qué representaciones computacionales de los elementos de una historia
y qué procesos computacionales para generar historias válidas y novedosas
a partir de dichos elementos son los más adecuados para cada aplicación de
narración automática. Por otro lado hay problemas, dentro del ámbito de la
Narratología Computacional, que solo se dan en ciertos tipos de narración.
Por ejemplo, la narración interactiva presenta un dilema complejo [Pei04] al
6 INTRODUCCIÓN
intentar que tanto los autores como los interactores controlen la generación
de la historia. Otro ejemplo es el de la narración adaptativa, que presenta pro-
blemas similares a los que se encuentran en aplicaciones de personalización de
contenidos. Finalmente existe un tercer ejemplo, la adaptación multimodal,
que presenta problemas pertenecientes al ámbito de la Interacción Hombre-
Máquina. En principio toda clase de recursos multimedia pueden utilizarse
para presentar historias al público, desde un volcado de datos en texto plano
a los entornos virtuales tridimensionales más sofisticados visualmente, pa-
sando por todas las distintas etapas de generación de lenguaje natural. A
menudo es importante definir una capa de presentación independiente de la
representación interna que el sistema utiliza para construir la historia. Esta
capa de presentación, de nuevo para los casos extremos de la narración in-
teractiva y multimodal, puede llegar a tener requisitos de funcionamiento en
tiempo real, comprensión de las acciones que realiza el usuario o incluso de
órdenes en lenguaje natural.
Como es obvio, solo algunos de estos retos son abordados en este trabajo,
los cuales se definen como objetivos concretos en el siguiente apartado.
1.4. Objetivos
Todo trabajo de investigación tiene como propósito la adquisición y di-
fusión de nuevo conocimiento. En el ámbito de esta tesis, se desea conocer
algo más sobre la naturaleza y el funcionamiento de las aplicaciones de na-
rración automática de cara a difundir las novedades entre los ingenieros que
las desarrollan para facilitar su construcción y mejorar su calidad.
El propósito general de esta investigación es construir un armazón ade-
cuado para el desarrollo de aplicaciones de narración automática. Se desea
contribuir así en la proliferación de herramientas de utilidad para en este tipo
de proyectos. Para ello el armazón que se propone ha de ser válido y eficaz,
además de todo lo óptimo y eficiente que sea posible, en el cumplimiento de
dos funciones distintas pero igual de importantes.
La primera función consiste en satisfacer a los desarrolladores de las apli-
caciones en términos de productividad software. Esto significa reducir los
costes de desarrollo, es decir, maximizar la funcionalidad de las aplicaciones
al tiempo que se minimizan los recursos necesarios para programarlas y el
tiempo de desarrollo. Las etapas de desarrollo cubiertas serán el diseño, la
construcción y el mantenimiento de este tipo de software.
La segunda función consiste en satisfacer a los usuarios de las aplicaciones
en términos de calidad final del producto. Dado el carácter relativo de los
criterios de calidad que se aplican a este tipo de productos, los desarrolladores
1.4 Objetivos 7
11
12 REVISIÓN DEL TRABAJO PREVIO
términos computacionales.
2.1.1. Narratología
La Narratología es el estudio de la narrativa, de su estructura y de la
forma en que esta es generada y comprendida por el ser humano. Aunque
en ocasiones pueda ser vista como un caso particular en el estudio de la
Lingüística o la Semiótica, dadas las inevitables dependencias que existen
entre el análisis de la Lengua y el de la Literatura, hoy día esta disciplina
posee entidad propia, vinculada estrechamente con otras como las Ciencias
Cognitivas y Sociales, pero única en cuanto a su planteamiento y desafío
particular.
La narrativa, especialmente las obras de ficción, es un artefacto complejo
dada la dualidad que existe en los propósitos que, tanto el autor como el
público, tienen con respecto al acto de la narración. En la dimensión racional
de la narración el autor puede estar tratando de comunicar un mensaje, ins-
truir al público según una determinada doctrina o simplemente obtener algún
beneficio a cambio de satisfacer necesidades afectivas del público (deleite, en-
tretenimiento, distracción, etc.). En la dimensión irracional de la narración
el público trata de disfrutar experimentando distintas emociones reales, que
varían según el contenido y la forma de lo narrado, cuyo carácter y nivel
de tensión pueden ser manipulados por el autor en virtud de una serie de
técnicas narrativas (misterio, suspense, sorpresa, etc.). Ambas dimensiones,
como ocurre en muchos aspectos de la vida humana, están profundamente
interrelacionadas y aunque en algunas historias van de la mano, en otras apa-
recen completamente enfrentadas, como es el caso de cualquier documental
formativo y al mismo tiempo aburrido o cualquier comedia divertida y a la
vez frívola.
Según el diccionario [RAE] una historia es la relación de cualquier aven-
tura o suceso, ya sea un acontecimiento real o se trate de una invención.
Las historias valiosas se distinguen por ser capaces, no sólo de transmitir
esa información, sino de involucrar emocionalmente al público y hacer que
este se sienta identificado con lo que ocurre en ellas. Ese “valor” de una
historia, además de potenciarse con las habilidades de un buen narrador y
una buena forma de presentar la historia, está directamente relacionado con
la calidad del argumento y de los personajes que intervienen en ella.
accesorios. Los eventos pueden ser acciones, si son causados por personajes,
o sucesos si no lo son.
El discurso, en cambio, es la expresión real de esa historia, compuesto
por la manifestación, el medio a través del cual se comunica el contenido, y
la transmisión, las formas narrativas que se emplean en esa comunicación:
tiempo, voz, punto de vista, etc. Generar un discurso no consiste simplemente
en elegir las palabras adecuadas para narrar la historia. Lo más importante es
establecer un orden en los eventos que van a narrarse, decidir la perspectiva en
que van a ser narrados –primera, segunda o tercera persona– y la voz que va
a emplearse en dicha narración –dependiente de la relación que se establezca
entre el autor, el narrador y el público–. Fenómenos narrativos tan habituales
como las anacronías (prolepsis o analepsis) o las elipsis se producen gracias
a estos parámetros que permiten cambiar el discurso con respecto a lo que
está siendo narrado.
Profundizando en la estructura de una historia, los eventos se dividen en
acciones y acontecimientos. Cada acción tiene asociada un personaje que la
realiza, mientras que los acontecimientos no tienen sujeto, como ocurre con
los fenómenos climáticos.
No todos los teóricos proponen esa división tan clara entre fábula y dis-
curso. Algunos, como Robert McKee [McK97], experto en la producción de
guiones cinematográficos, proponen un enfoque bastante más práctico.McKee
combina los conceptos de historia y discurso estructurando la historia en for-
ma de árbol, con nodos bien diferenciados en contenido pero también orde-
nados según el criterio del discurso y la propia cronología de la película.
La raíz del árbol es la historia, que se descompone en actos, que a su vez
se descomponen en secuencias, que se descomponen en escenas compuestas
finalmente por los que McKee considera las hojas del árbol: los golpes de
efecto (en inglés beats). Estos últimos son los eventos más simples posibles
(atómicos) que se producen en el mundo ficticio y que contienen significado
narrativo. El resto de nodos del árbol una historia tiene un valor narrativo
de más alto nivel que está en juego y dicho valor lleva siempre una carga,
positiva o negativa. Cuando se producen suficientes golpes de efecto la carga
de una escena varía hasta producirse un cambio de signo, siendo dicho cambio
lo que produce que una escena concluya y comience la siguiente. De la misma
forma al concluir una escena, secuencia o acto la carga del correspondiente
nodo superior del árbol varía y si la carga cambia de signo se produce un
cambio de secuencia, acto o el fin de la historia.
Syd Field [Fie98] también ordena los niveles narrativos en una jerarquía
similar consistente únicamente en historia, actos, escenas y golpes de efecto.
En este trabajo usaremos tres términos básicos para referirnos a las dis-
tintas componentes de una historia, similares a los que propone Mieke Bal
2.1 Estudio del dominio 15
Argumento
Desde tiempos de Aristóteles, el argumento de una historia se ha visto
como el relato de una sucesión de hechos que hace énfasis en la causalidad
[Cha86].
que de alguna manera están marcadas por la función que realizan a nivel
narrativo dentro del argumento.
Estas funciones del personaje son elementos invariantes del cuento, in-
dependientes de los individuos concretos que toman parte en ellas y de las
acciones concretas que estos realizan para llevarlas a cabo. Algunos ejemplos
son las maldades que comete el villano (asesinato, secuestro, maltrato del
héroe o de su familia, etc.) o las formas en la que un cuento concluye (boda,
ascensión al trono del protagonista, recompensa económica, etc.). Propp su-
giere que la extensa lista de funciones que él propone es un conjunto reducido
de átomos fundamentales con los que pueden componerse todos los cuentos
maravillosos, dando incluso una fórmula para representar todas las posibles
combinaciones.
Otras ideas sobre el argumento se centran en la definición de los distin-
tos tipos de conflicto que pueden darse en una historia, siendo el centro de
gravedad de la misma. McKee [McK97] sugiere que existen tres tipos: los
cósmicos, como los que se producen entre las fuerzas del Bien y del Mal, los
sociales, como los que generan los triángulos amorosos, y los personales, como
los traumas infantiles que dejado marcados para siempre a los protagonistas
de una historia.
Han sido varios los autores que han tratado de englobar en una sola
teoría todos los argumentos básicos que puede tener una historia. Murray
[Mur97] hace referencia a esta búsqueda incansable de los narratólogos que ha
dado frutos muy dispares, señalando que Jorge Luis Borges cree que existen
menos de doce argumentos básicos diferentes, Ronald Tobías describe veinte
y Rudyard Kipling llega hasta los sesenta y nueve.
Personajes
Los personajes son el otro elemento fundamental de una historia. Aunque
Aristóteles en La Poética [Ari74] considerase la acción el ingrediente narrativo
más importante, por encima incluso de los personajes, puede decirse que por
norma en todas las historias aparecen personajes y su función, como hemos
visto antes, es siempre muy relevante para el argumento.
Tal es así que McKee [McK97] defiende que el argumento y los persona-
jes no son más que las dos caras de un mismo fenómeno narrativo, por lo
que carece de sentido hablar como si una de ellas pudiera desaparecer de la
ecuación o figurar en subordinación a la otra.
2.1 Estudio del dominio 17
Historia
Podemos decir que esta disciplina nace en los años 70 y 80, con el in-
terés de Ciencia Cognitiva por reproducir la manera en que el ser humano
comprende y recuerda enseñanzas en forma de historias. El trabajo en este
área lo impulsó el grupo de Roger Schank en la universidad de Yale, que
inicialmente se dedicaba a estudiar, desde un punto de vista psicológico, las
estructuras y los procesos de la mente relacionados con el lenguaje natural.
Durante el desarrollo de programas como SAM [Cul81] o PAM [Wil81]
se empezó a gestar una teoría sobre la narración de historias que se centraba
en los personajes y las diferentes formas en que estos pueden perseguir sus
objetivos, además de proponerse otros modelos para la memoria narrativa
y el recuerdo [Kol84]. Pronto surgió la idea de usar la misma teoría en el
sentido inverso: la generación de historias, lo que llevaría a la construcción
del clásico Tale-Spin [Mee76, Mee81] y de otros sistemas emblemáticos de
resolución de problemas y modelos de creatividad.
Desgraciadamente este tipo de proyectos tan relacionados con las humani-
dades y las ciencias experimentales fueron abandonados durante el invierno
de la IA en favor de otros con objetivos más prácticos y aplicaciones más
provechosas a corto y medio plazo. Con las excepciones de Mueller [Mue87] y
Turner [Tur92] la investigación sobre narración automática quedó congelada
hasta finales de los años 90.
A partir de 1999 resurge el interés en este tema gracias a proyectos de
investigación multidisciplinares sobre Inteligencia Narrativa [MS99] y a la
18 REVISIÓN DEL TRABAJO PREVIO
Enfoques
La teoría fundamental del arte dramático que mencionábamos en el apar-
tado 3.4.6 ha servido para inspirar varios libros y proyectos de narración
automática [Lau91, Sgo99]. Aunque es probablemente la morfología prop-
piana la teoría más utilizadas en el desarrollo de aplicaciones de narración
automática, como se podrá comprobar en el apartado 2.2.
Aunque la teoría de Propp se creó para analizar historias, muchos traba-
jos la toman como base para construir generadores de historias, básicamente
considerando las funciones de personaje como los bloques básicos de cons-
trucción de un argumento. Esto es así porque no resulta difícil implementar
el procesamiento algorítmico de su fórmula semiótica en un sistema informá-
tico, siendo fácil implementar por ejemplo un generador pseudoaleatorio de
secuencias de funciones de personaje para cuentos maravillosos [SLTW].
No obstante es importante señalar que existen otros trabajos menos po-
pulares pero que analizan de forma más profunda y completa los contenidos
de las historias, sugiriendo también algoritmos de generación similares como
es el caso de la travesía del héroe arquetípico de Joseph Campbell [Cam68].
Tampoco faltan opiniones en contra de este tipo de enfoques “clásicos”.
2.1 Estudio del dominio 19
Retos
Dentro de los sistemas de información, este trabajo trata sobre la cons-
trucción de sistemas basados en conocimiento. Todos estos sistemas presentan
retos comunes en su construcción, como el alto coste de adquisición del co-
nocimiento y la dificultad de su reutilización, en parte a causa del llamado
problema de interacción, o dependencia entre el formato en que se representa
el conocimiento y el algoritmo con el que dicho conocimiento será procesado.
La representación y el procesamiento de conocimiento narrativo presen-
tan además un serio problema de escala a la hora de desarrollar aplicaciones
de narración automática. Las historias tratan sobre mundos ficticios, pero
esos mundos reflejan de alguna forma la realidad, y la realidad puede mode-
larse en infinidad de formas diferentes, atendiendo a infinidad de dominios
de conocimiento distintos y arbitrariamente complejos, siendo precisamente
los más complejos aquellos que más interesan para modelar los aspectos en-
ciclopédicos, abstractos y recursivos de la psicología humana que se esconden
detrás de una historia.
Es por ello que la primera precaución que hay que tomar al acercarse a
este campo de estudio es acotar lo que se desea representar según se desea
procesar en función de lo que se desea conseguir con todo ello. El espacio y el
tiempo, misterios insondables que gobiernan nuestra existencia, deberán ser
reducidos a representaciones abarcables, como los grafos de localizaciones o
las líneas temporales.
Los sucesos, elementos fundamentales en la constitución de una historia,
deberán articularse en función de dicha representación espacial y temporal
escogida.
El mundo ficticio, contexto de los sucesos antes mencionados, se convertirá
entonces en una entidad compleja cuyas partes se distribuyen en el espacio y
pasan secuencialmente de un estado a otro a lo largo del tiempo.
Todos estos problemas, la representación de eventos en forma de secuen-
cia de estados o de secuencia de transiciones partiendo de un estado inicial
y deseando alcanzar uno final, son considerados problemas clásicos de la
IA cuya solución depende en última instancia del espacio en memoria y el
tiempo de ejecución disponibles para los procesos que se desean ejecutar, ya
sean estos de acceso, modificación, creación o destrucción de la información
contenida en el modelo del mundo.
Sin ánimo de buscar soluciones universales, este trabajo se centra en con-
20 REVISIÓN DEL TRABAJO PREVIO
2.2.1. Perspectivas
Los proyectos de narración automática, según su diversas perspectivas,
pueden dividirse en dos grandes grupos: los pioneros y los contemporáneos.
Los proyectos pioneros buscaban la primicia histórica de obtener resul-
tados convincentes en el área de la narración automática. El ejemplo más
evidente es Automatic Novel Writer [KAB+ 73], descrito en el Cuadro 2.1.
Este proyecto dio lugar a la primera aplicación recogida en la literatura cien-
tífica capaz de generar historias en lenguaje natural razonablemente largas,
lo que se consideraba un paso decisivo hacia la generación automática de
“novelas”.
A medida que fueron apareciendo más aplicaciones de narración automá-
tica, los objetivos se fueron refinando, aunque estaban siempre orientados a
mejorar el valor subjetivo que el público podía hallar en las historias que
dichas aplicaciones eran capaces de generar.
2.2 Proyectos de investigación en narración automática 21
2.2.2. Objetivos
Los objetivos científicos de este tipo de investigación han variado poco con
respecto a los objetivos que propusieron hace décadas los proyectos pioneros.
Estos trataban de diseñar un sistema o armazón de generación de historias,
desarrollando una aplicación con la que poder evaluar de manera empírica o
en ocasiones informal el valor narrativo de unas cuantas historias generadas.
Continuando con la tradición de esta ambición pionera, los proyectos se
fueron centrando en uno o varios aspectos concretos del proceso de genera-
ción de historias, como por ejemplo en hacer más creíble el comportamiento
de los personajes en las historias o mejorar las técnicas de presentación de
las mismas ante el público. En muchos de estos casos en los que la presenta-
ción es un objetivo importante, se trata de mejorar la generación de lenguaje
natural, tomando la aplicación de narración automática como caso práctico.
Sin embargo estos proyectos a menudo también proponen teorías interesantes
sobre la generación del discurso o incluso la fábula de una historia, probable-
mente debido a la estrecha relación existente entre el lenguaje y la narración,
como ya se comentó en el apartado 2.1.1.
Brutus [BF99], descrito en el Cuadro 2.3, es un ejemplo de proyecto que
plantea un objetivo distinto al de la generación automática de nuevas fábulas.
El objetivo principal de este proyecto es crear una aplicación generadora de
versiones distintas de una misma historia creada previamente por un autor
humano, modificando ligeramente el discurso y de manera más profunda la
presentación según la solicitud inicial del usuario. Curiosamente los autores
defienden abiertamente la teoría de que no es posible construir una aplicación
capaz de generar historias, siendo su sistema un ejemplo de que se puede
simular el resultado pero no el proceso de la verdadera creatividad humana.
2.2 Proyectos de investigación en narración automática 23
Desde el punto de vista de este trabajo, todos pueden aportar ideas y he-
rramientas útiles, aunque sin embargo es importante aclarar que los esfuerzos
de revisión se concentran únicamente en aquellos proyectos que tienen sufi-
cientes objetivos en común con este trabajo como para poder ser comparables
en términos de materiales y métodos utilizados en la investigación.
24 REVISIÓN DEL TRABAJO PREVIO
Materiales de representación
A continuación se analiza el material utilizado para representar el co-
nocimiento en los distintos proyectos revisados, tanto los modelos como las
sistemas software que los implementan.
Muchos sistemas utilizan un modelo narratológico popular y lo transladan
directamente a una representación computacional. Automatic Novel Writer,
Joseph [Lan97], el sistema de Rumelhart [Rum75] y muchos otros están ba-
sados en la morfología proppiana y utilizan estas teorías para generar sus
historias, a pesar de que originalmente fueran concebidas como teorías de
análisis narrativo. Joseph y el sistema creado por Rumelhart son descritos
brevemente en los cuadros 2.6 y 2.7, respectivamente.
Materiales de procesamiento
Tras considerar la representación de conocimiento, el siguiente paso con-
siste en estudiar los mecanismos utilizados en su procesamiento, ya que ambas
cuestiones están íntimamente relacionadas: “Representation and reasoning
are inextricably intertwined: we cannot talk about one without also, unavoi-
dably, discussing the other” [DSS93].
Los modelos de procesamiento resultan ser muy variados, pasando por el
uso de sistemas de reglas de producción o razonadores lógicos a mecanismos
más simples como los de la programación orientada a objetos, para proyectos
no relacionados con la IA. David E. Rumelhart [Rum75] propuso un sistema
tradicional de generación de historias basado en gramáticas de producción,
que en el ámbito actual de este estudio se conocen como gramáticas de histo-
rias. Este enfoque es habitual en Lingüística Computacional aunque hoy día
no esté muy extendido entre los sistemas actuales por ser poco flexible para
generar historias variables y por tanto novedosas. Lee [Lee94] propone otro
modelo narrativo basado en gramáticas de historias. Joseph [Lan97] es otro
ejemplo de sistema clásico que utiliza una gramática de historias.
Debido al contexto histórico en que fueron desarrollados muchos sistemas
usan Lisp (en algunos casos Prolog) para dar soporte al procesamiento del
conocimiento. Actualmente los lenguajes más utilizados son Java y C++,
aunque hay excepciones notorias, como Mexica, implementado íntegramente
en Pascal.
Métodos de generación
Según Liu [LS02], los enfoques para generar historias pueden clasificarse
en dos grupos: estructuralista y transformacionalista.
El estructuralismo usa algoritmos basados en la estructura de los dominios
de conocimiento a los que pertenecen las historias, apoyados comúnmente en
las las gramáticas de producción. El estructuralismo tiende a ser aplicado en
los dominios más abstractos, como el puramente narrativo, tomando como
punto de vista para la generación los objetivos globales que persigue el autor,
28 REVISIÓN DEL TRABAJO PREVIO
Métodos de evaluación
Muchos proyectos de narración automática carecen de un modelo de eva-
luación como parte de su metodología de desarrollo. Como es habitual con
los sistemas creativos, los productos resultan más accesibles que el propio
proceso, por lo que para evaluar una aplicación de narración automática,
al menos desde el punto de vista del usuario, se hace necesario evaluar las
historias generadas.
Prácticamente no existen proyectos de investigación que evalúen riguro-
samente el proceso de generación de historias de una aplicación de narración
automática. A lo sumo se proporcionan datos básicos, como los requisitos
hardware o la duración del proceso, lo que ocurre en la documentación téc-
nica de Minstrel [Tur92]. Las excepciones se encuentran en herramientas
orientadas al autor humano, como es el caso de Wide Ruled [SJMM07], don-
de se evalúa de forma indirecta la capacidad de uso y aprendizaje que tiene el
modelo interno basado en las transformaciones de estado de los personajes,
los escenarios y el propio argumento.
2.2 Proyectos de investigación en narración automática 35
2.2.4. Resultados
En este apartado se muestran los resultados de los proyectos de investi-
gación analizados. En la mayor parte de los casos se tratan de aplicaciones
de narración automática que generan historias textuales, aunque también
existen proyectos que trabajan con otras tecnologías de presentación, como
imágenes, videos o incluso animaciones 3D generadas también de forma au-
tomática.
En el Cuadro 2.11 se presenta un fragmento de la salida en texto plano
que genera Automatic Novel Writer. Como resulta evidente el sistema genera
una secuencia de eventos expresados con frases muy cortas en un inglés muy
36 REVISIÓN DEL TRABAJO PREVIO
The day was Monday. The pleasant weather was sunny. Lady
Buxley was in a park. James ran into Lady Buxley. James tal-
ked with Lady Buxley. Lady Buxley flirted with James. James
invited Lady Buxley. James liked Lady Buxley.Lady Buxley li-
ked James. Lady Buxley was with James in a hotel. Lady Buxley
was near James. James caressed Lady Buxley with passion. Ja-
mes was Lady Buxley’s lover. Marion following them saw the
affair. Marion was jealous.
Once upon a time George Ant lived near a patch of ground. There
was a nest in an ash tree. Wilma Bird lived in the tree. There
was some water in the river. Wilma knew that the water was in
the river. George knew that the water was in the river. One day
Wilma was very thirsty. Wilma wanted to get near some water.
Wilma flew from her nest across a meadow through a valley to
the river. Wilma drank the water. Wilma wasn’t very thirsty any
more.
Algo similar ocurre con las historias generadas por Joseph, como puede
verse en el ejemplo del Cuadro 2.13.
En el Cuadro 2.14 se recoge un ejemplo de historia generada por Brutus,
sin duda una de las más convincentes en cuanto a presentación lingüística.
Los autores del sistemas llegaron incluso a proponer una competición contra
escritores humanos.
Storybook [CL02] genera varias historias que son siempre versiones de la
misma fábula: La Caperucita Roja. En el Cuadro 2.15 se proporciona un
ejemplo que ilustra el buen manejo de las presentación lingüística.
2.2 Proyectos de investigación en narración automática 37
Once upon a time there was a Lady of the Court named Jennifer.
Jennifer loved a knight named Grunfeld. Grunfled loved Jennifer.
Jennifer wanted revenge on a lady of the court named Darle-
ne because she had the berries which she picked in the woods
and Jennifer wanted to have the berries. Jennifer wnated to sca-
re Darlene. Jennifer wanted a dragon to move towards Darlene
so that Darlene believed it would eat her. Jennifer wanted to
appear to be a dragon so that a dragon would move towards
Darlene. Jennifer drank a magic potion. Jennifer transformed
into a dragon. A dragon moved towards Darlene. A dragon was
near Darlene.
Grunfeld wanted to impress the king. Grunfled wanted to mo-
ve towards the woods so that he could fight a dragon. Grunfeld
moved towards the woods. Grunfeld was near the woods. Grun-
feld fought a dragon. The dragon died. The dragon was Jennifer.
Jennifer wanted to live. Jennifer tried to drink a magic potion
but failed. Grunfled was filled with grief.
Jennifer was buried in the woods. Grunfeld became a hermit.
Hoy día la mayoría de los proyectos asumen que una aplicación de narra-
ción automática debe responder al menos a una solicitud inicial del usuario
que debe afectar de forma significativa a las posibles historias generadas. En
el sistema que propone Lee, por ejemplo, se parte del esqueleto del argumento
que proporciona el usuario, para después crear un mundo para los persona-
jes donde finalmente se desarrollen sus interacciones. Este tipo de solicitud
inicial es la más habitual en los proyectos que no ofrecen interacción durante
el desarrollo de la historia.
En otros casos la participación del público puede ir más lejos, y sin lle-
gar a ofrecer verdadera narración interactiva e inmersiva, el usuario puede
intervenir en varias ocasiones durante el desarrollo de la historia, tomando
decisiones sobre cómo ha de continuar. A menudo esto no es más que dejar
en manos del usuario una decisión que de otra forma sería tomada por el
sistema, bien aleatoriamente, bien usando el mecanismo habitual con el que
se toman las demás decisiones.Por ejemplo, en IDIC el usuario actúa como
el director de una película durante el montaje, seleccionando y ordenando
las imágenes que compondrán la historia. El sistema Joseph genera de forma
interactiva cuentos populares rusos, permitiendo al usuario intervenir en el
proceso en forma de elecciones en la fábula, aunque no le permita realizar
modificaciones en el discurso. Otros sistemas, como IST [GBPMRI07] o Wide
Ruled [SJMM07] también hacen lo mismo: parten de un modelo de genera-
ción secuencial y lo modifican para que ciertas decisiones sean tomadas por
el usuario de forma interactiva.
Representación de sucesos
La representación de sucesos en el tiempo que afectan a entidades en el
espacio es un problema común a muchos sistemas basados en conocimiento.
Aunque a menudo cada proyecto utiliza su propia representación para
modelar los sucesos que pretende tratar, se ha considerado importante des-
cribir aquí una teoría clásica aunque muy popular de representación de co-
nocimiento que servirá para ilustrar las cuestiones fundamentales sobre la
representación de sucesos y ayudará a entender las decisiones que se toman
en este, y otros trabajos de investigación, al respecto. Esta teoría se conoce
como la Teoría de la Dependencia Conceptual.
Originalmente propuesta por Schank [Sch69] y su equipo para la forma-
lización del conocimiento adquirido a través de la comprensión del lenguaje
natural, esta teoría ha ido sufriendo actualizaciones [Lyt92], aunque en la
práctica es poco utilizada debido a su excesiva complejidad. Sin embargo
algunas de sus ideas fundamentales se encuentran en numerosos trabajos de
investigación, no necesariamente relacionados con la comprensión o la gene-
ración del lenguaje natural.
La Teoría de la Dependencia Conceptual pretende ser un modelo indepen-
diente del lenguaje que sirva para expresar mediante diagramas el significado
de cualquier frase en lenguaje natural. El modelo se estructura en forma de
varios nodos de información interconectados entre sí y un conjunto finito
de acciones primitivas con sus correspondientes modificadores. Las frases se
descomponen previamente en los sucesos reales o figurados a los que hacen
referencia. Dichos sucesos serán nodos o conjuntos de nodos del modelo que
representarán acciones y se conectarán con los nodos correspondientes a los
objetos y agentes que involucran. Además se añadirán atributos a dichas
acciones y objetos, además de relaciones temporales y espaciales.
Los sucesos se representan con una o varias primitivas conectadas y con
modificadores, una estructura más grande cuanto más complicada sea la se-
mántica del suceso que se pretende describir. La lista de primitivas se presenta
en el Cuadro 2.20.
Primitiva Descripción
ATrans Transferencia de una relación abstracta
PTrans Transferencia de la localización física de un objeto
Propel Aplicación de una fuerza física a un objeto
MTrans Transferencia de información mental
MBuild Construcción de nueva información mental
Speak Pronunciación de un sonido
Attend Enfoque de un sentido sobre un estímulo
Move Movimiento de una parte del propio cuerpo
Grasp Agarrar un objeto
Ingest Ingerir un objeto
Expel Deshacerse de un objeto del propio cuerpo
jando que sea el usuario el que genere la nueva solución usando para ello
las soluciones recuperadas. Las alternativas automáticas pasan por realizar
transformaciones sobre las soluciones anteriores hasta obtener una nueva.
Estas transformaciones pueden ser sustituciones de unos fragmentos de la
solución por otros, o pueden involucrar algoritmos mucho más complejos.
Las transformaciones a realizar pueden clasificarse según se utilice o no la
información del problema actual y de los problemas de los casos recuperados.
Existe una alternativa algo menos convencional a la adaptación transforma-
cional que se conoce como adaptación constructiva. Consiste en construir una
solución al problema partiendo desde cero, usando cualquier otra técnica de
resolución de problemas y complementando dicha técnica con las soluciones
anteriores obtenidas en la etapa de recuperación. La forma de ir construyen-
do la solución puede ser iterativa, recurriendo cuantas veces sea necesario a
repetir la etapa de recuperación para obtener distintas soluciones diferentes
cuyos fragmentos sirvan para ir generando la solución candidata final.
La etapa de evaluación consiste en verificar si la solución candidata es una
solución válida para el problema a resolver. Normalmente el mecanismo de
evaluación debe ser ajeno al sistema CBR, pudiendo actuar como evaluador
un ser humano o un sistema informático externo. Si la evaluación se realiza en
el propio sistema CBR las métricas de evaluación en general serán heurísticas,
o bien dependerán de algoritmos o simuladores que sólo pueden utilizarse para
validar soluciones, no para generarlas; como por ejemplo sería la ejecución
de otro ciclo de CBR distinto destinado a evaluar si la solución candidata
es válida. Una evaluación negativa puede provocar una vuelta a la etapa
anterior, en ocasiones con información que realimenta el sistema para mejorar
la adaptación. La etapa de evaluación es opcional, siendo habitual que muchos
sistemas la omitan, limitándose a dejar que sea el usuario el que la realice o
aproveche la solución candidata a su manera.
Finalmente la etapa de aprendizaje consiste en decidir si el problema
resuelto y su solución merecen figurar en la base de casos, añadiéndolos como
un nuevo caso si así es. Por norma general aumentar automáticamente la base
de casos mejorará el rendimiento del sistema, pero es importante asegurarse
de que estos casos son correctos y suficientemente distintos a los ya existentes,
teniendo en cuenta el volumen y la organización actual de la base de casos.
Se pueden usar técnicas complementarias a este aprendizaje, como el “olvido”
de casos que ya no tengan la relevancia que tenían en la base de casos inicial.
De nuevo esta etapa puede dejarse en manos del usuario, si no es posible dar
con heurísticas adecuadas que permitan enriquecer adecuadamente la base
de casos. Aunque el aprendizaje automático es una de las características más
significativas que el proceso CBR lleva integradas, muchos sistemas la omiten,
al tratarse de una etapa compleja y dependiente del resultado obtenido de la
2.3 Descripción de las herramientas 59
sistema CBR se modela utilizando las DLs para automatizar parte de las ta-
reas de recuperación y adaptación [GAGCDAFC99] La ontología incluye un
amplio conjunto de relaciones para los elementos de un caso, espaciales, tem-
porales, o de otros muchos tipos, aunque la idea es que el sistema CBR sea
independiente, debiendo ser su conocimiento extendido hacia los dominios de
conocimiento concretos de la aplicación que va a ser implementada.
3.1. Hipótesis
Una vez revisado el estado de la cuestión a la luz de los objetivos de este
trabajo, es posible plantear la hipótesis sobre la que parte esta investigación.
Antes de describir la hipótesis es necesario explicar cuales son las supo-
siciones sobre las que esta se apoya. En primer lugar, las aplicaciones de
narración automática pueden considerarse válidas en términos empíricos, si
63
64 ARMAZÓN PARA NARRACIÓN AUTOMÁTICA
3.3.1. DLModel
Para poder tratar de una manera uniforme y desacoplada las distintas
tecnologías semánticas de acceso y manipulación de modelos de DL, se ha
desarrollado una interfaz de programación de aplicaciones (API) especializa-
da en esta tarea. Esta interfaz se conoce como DLModel [Peib].
El propósito de esta interfaz es facilitar el desarrollo de aplicaciones ba-
sadas en un modelo de conocimiento representado mediante DLs y en un
modelo de razonamiento dotado de la capacidad de inferencia habitual que
tienen los sistemas basados en DLs (validación, clasificación y reconocimiento
de tipos).
Esta interfaz resulta sencilla de usar para el programador porque abstrae
los detalles de bajo nivel de las distintas tecnologías semánticas que se utili-
cen internamente y permite usarlas como si todas ellas formaran un sistema
de caja negra. DLModel abstrae únicamente los aspectos fundamentales del
formalismo de las lógicas descriptivas, proporcionando al programador un ac-
ceso directo e intuitivo a las ontologías y bases de conocimiento implicadas,
con los métodos imprescindibles para gestionar, consultar y razonar con los
individuos de la base de conocimiento.
3.3 Núcleo del armazón 67
3.3.2. DLApplication
Para desarrollar aplicaciones basadas en uno o más modelos de DL se
utiliza un núcleo software con las operaciones mínimas imprescindibles para
usar la tecnología del apartado anterior de una forma homogénea y ordenada.
Este núcleo, la parte más genérica del armazón propuesto en este trabajo, se
conoce como DLApplication[Peia].
DLApplication da forma a una arquitectura, asociada a las ideas generales
de esta tesis doctoral, útil para el desarrollo de aplicaciones con componentes
ontológicos que hacen uso de DLModel para resolver problemas complejos que
involucran razonamiento sobre individuos de varios dominios de conocimiento
distintos.
Dicha arquitectura es modular, está basada en componentes fácilmente
mantenibles y reutilizables, y resulta lo suficientemente genérica como para
servir de base para muchas y muy diversas aplicaciones. Como se ha men-
cionado anteriormente el armazón propuesto en este trabajo se compone de
dos partes, el núcleo y los componentes. Estos componentes, que se detallarán
más adelante, encapsulan la semántica declarativa y operacional relativa a un
dominio de conocimiento, formalizando la semántica declarativa de acuerdo
a una ontología y la semántica operacional de acuerdo a un paquete orienta-
do a objetos con métodos de acceso y manipulación para cualquier base de
conocimiento que se estructure según dicha ontología.
En la Figura 3.1 se muestra el diagrama de despliegue de una aplicación
DLApplication. Los elementos de color blanco representan el núcleo software,
que incluye el modelo de DL de la aplicación, y los componentes de dominio,
con sus ontologías y ficheros de configuración asociados. Los elementos de
color gris representan todas esas otras partes de la aplicación independientes
del armazón propuesto, como la interfaz gráfica de usuario, el razonador de
DL que puede estar ubicado en una máquina distinta de la que ejecuta la
aplicación, el resto de la web, etc. Estos elementos de color gris en el diagra-
ma sirven para recordar que una aplicación desarrollada con DLApplication
puede completar su funcionalidad y la de la API de DLModel con otros mé-
todos y otras herramientas diferentes, no necesariamente relacionadas con
DLs.
La estructura de la semántica operacional de los componentes se establece
aquí, en DLApplication. Esta consiste en varios interfaces, clases abstractas
y clases concretas destinadas a facilitan la implementación del código co-
rrespondiente a cada componentes. Básicamente un componente se divide
en cuatro paquetes importantes orientados a objetos: model, modelHandler,
exception y test.
El paquete model representa el modelo de lógicas descriptivas subyacen-
3.3 Núcleo del armazón 69
3.4.1. Knowledge
El componente Knowledge es un componente ontológico básico para el
desarrollo de aplicaciones de narración automática utilizando DLApplication.
Este componente contiene la semántica declarativa y operacional del mo-
delo general de conocimiento propuesto como raíz de todos los demás compo-
nentes que formarán parte de las aplicaciones finales. Los conceptos de este
componente son abstractos, lo que quiere decir que no se contempla que pue-
da haber individuos que los instancien como tipos directos. Se considera que
estos conceptos serán los ancestros de nivel superior de los todos los tipos de
individuos que poblarán las bases de conocimiento de las aplicaciones finales
desarrolladas mediante el armazón propuesto. Los conceptos de este dominio
tienen una jerarquía poco fragmentada, lo que significa que los componentes
que lo especialicen no lo harán de forma parcial sino especializando todos o
casi todos sus conceptos. Este componente no tiene dependencias con ningún
otro componente.
Una vista general de la jerarquía conceptual de este componente se mues-
tra en la Figura 3.4.
Los únicos conceptos normales de este componente son Thing, Context y
Element. Thing es la raíz de todos los conceptos normales que figuran en la
jerarquía conceptual principal que recorre todos los componentes del mode-
lo. En el concepto Thing se declara que todos sus individuos deben ser de
tipo Context o de tipo Element. El primero, Context, representa a aquellos
individuos que actúan como individuo principal o contexto que cosifican o
reifican, es decir, representan en sí mismos toda una realidad perteneciente
a un dominio de conocimiento concreto. El segundo, Element, representa a
todos aquellos individuos que forman parte de un contexto y se relacionan
entre sí para representar su estructura interna.
Los conceptos no normales son TypedThing, TypedContext y TypedEle-
ment. TypedThing es la raíz de todos los conceptos no normales que figuran
en las distintas jerarquías conceptuales de los demás componentes del mode-
lo, y como excepción a los demás conceptos no normales, sólo tiene un padre:
Thing. Los otros dos, sin embargo, tienen un padre normal, Context en el caso
de TypedContext y Element en el caso de TypedElement, más otro padre que
es además antecesor común de todos los conceptos no normales: TypedThing.
Estos conceptos no normales permanecen “vacíos”, es decir, no tienen hijos
en este dominio porque todos los conceptos normales son abstractos. Sin em-
76 ARMAZÓN PARA NARRACIÓN AUTOMÁTICA
3.4.2. Space
El componente Space es un componente ontológico básico para el desa-
rrollo de aplicaciones de narración automática utilizando DLApplication.
Este componente contiene la semántica declarativa y operacional del mo-
delo de conocimiento propuesto para representar el espacio físico, sus distintos
lugares y las entidades que los ocupan. Los conceptos de este componente son
concretos, pueden ser instanciados como tipos directos, aunque estan diseña-
dos para actuar como ancestros de nivel superior de los lugares y entidades
de componentes más específicos. Dichos conceptos tienen una jerarquía poco
fragmentada. Este componente especializa al componente Knowledge.
Una vista general de la jerarquía conceptual de este componente se mues-
tra en la Figura 3.6.
Los conceptos normales de este componente son World, Location y Entity.
World especializa el concepto Context del componente Knowledge, represen-
tando por tanto un contexto espacial, o mundo físico estático que sirve como
referencia común para los elementos que existan en él. Location especializa
el concepto Element de Knowledge, representando concretamente una locali-
zación física, una parcela de espacio delimitada y concreta. Entity también
especializa el concepto Element de Knowledge y representa una entidad física
del mundo.
Los conceptos no normales que sirven para enriquecer a los individuos de
este dominio son los descendientes de TypedWorld, TypedLocation y TypedEn-
tity, quienes a su vez especializan a los conceptos normales World, Location
y Entity. Los conceptos no normales también especializan de un modo un
otro a la raíz de los conceptos no normales: TypedThing de Knowledge. Esta
herencia múltiple se produce en todos los conceptos no normales de todos
los componentes, aunque en las figuras dicha polijerarquía tan recurrente no
se muestra desplegada para ahorrar espacio en el documento y ganar en cla-
ridad. Los descendientes de TypedWorld, son Real y Virtual, tipos disjuntos
que pueden asignarse a un mundo. Los descendientes de TypedLocation son
Artificial y Natural, tipos disjunto de una localización. El hijo de TypedEn-
tity es el concepto LifeBeing, que a su vez es especializado por SexualBeing,
concepto que es declarado como la unión de sus dos hijos disjuntos Male y
Female, indicando que todo ser vivo y sexuado tiene que ser obligatoriamen-
te macho o hembra. También se proporciona un tercer hijo de SexualBeing
llamado HumanBeing que obviamente no es disjunto de sus hermanos, y de
hecho hereda la declaración de su padre, lo que le obliga también a repartir
todos sus individuos divididos entre dos sexos.
La jerarquía de roles de este componente se muestra en la Figura 3.7.
Los roles de este componente son isWorldOfLocation, isWorldOfEntity, has-
80 ARMAZÓN PARA NARRACIÓN AUTOMÁTICA
3.4.3. Time
El componente Time es un componente ontológico básico para el desa-
rrollo de aplicaciones de narración automática utilizando DLApplication.
Este componente contiene la semántica declarativa y operacional del mo-
delo de conocimiento propuesto para representar el tiempo, en forma de una
3.4 Componentes básicos del armazón 83
3.4.4. Simulation
El componente Simulation es un componente ontológico básico para el
desarrollo de aplicaciones de narración automática utilizando DLApplication.
Este componente contiene la semántica declarativa y operacional del mo-
delo de conocimiento propuesto para representar la simulación del mundo
ficticio de una historia, con los procesos físicos que se producen en él. Los
conceptos de este componente son concretos y facilitan un modelo lógico de
la realidad suficientemente general y sencillo. Lo más habitual es que cada
aplicación especialice este componente con el tipo de agentes, objetos y lu-
gares que van a aparecer en sus historias. Este componente es considerado
de nivel medio, ya que puede o no ser especializado por otro componente.
3.4 Componentes básicos del armazón 87
hay tres conceptos disjuntos: Solid, Liquid y Gas, además de los dos hijos Ty-
pedAgentState y TypedObjectState. Bajo TypedAgentState hay dos conceptos
disjuntos: Conscious y Unconscious, y bajo TypedObjectState hay sólo un con-
cepto llamado Broken que representa el estado de los objetos que están rotos.
Bajo TypedLocationState hay conceptos para representar la temperatura de
una localización y si esta se encuentra iluminada o no, propiedades que clara-
mente se asocian con el estado de una localización y no con la localización en
sí, porque son mutables. Finalmente los descendientes de TypedProcess son
Physical y Abstract, y se utilizan para distinguir los procesos físicos de otros
más abstractos.
La jerarquía de roles de este componente se muestra en las Figuras 3.12
y 3.13.
Los roles de este componente son isSimulationOfWorld, isSimulationOfTi-
meline, isWorldOfAgent, isWorldOfObject, isTimelineOfProcess, isTimelineOfS-
tate, hasState, hasAgentState, hasDirectEntityState, hasIndirectEntityState, has-
LocationState, directlyPrecedes y sus respectivas inversas. Los roles isSimula-
tionOfWorld e isSimulationOfTimeline conectan a la simulación con el mundo
y la línea temporal que tiene asociados. Los roles isWorldOfAgent e isWorl-
dOfObject especializan el rol isWorldOfEntity del componente Space para los
agentes y los objetos de la simulación, mientras que los roles isTimelineOf-
Process, isTimelineOfState hacen lo mismo con el rol isTimelineOfEvent del
componente Time para los procesos y los estados. El rol hasState relaciona
una entidad o una localización con sus estados temporales. El rol hasAgen-
tState relaciona proceso con el estado de un agente que lo ha ejecutando en
ese momento de la simulación. El rol hasDirectEntityState relaciona un pro-
ceso con el estado de una entidad, agente u objeto, que participa en él de
manera directa o activa. El rol hasIndirectEntityState relaciona un proceso
con el estado de una entidad, agente u objeto, que participa en él de manera
indirecta o pasiva. El rol hasLocationState relaciona un proceso con el estado
de una localización donde este se está produciendo en ese momento de la si-
mulación. Finalmente el rol directlyPrecedes y su inversa sirven para ordenar
cronológicamente los procesos.
Volviendo a los conceptos, los restantes son definidos y son Action, Hap-
pening, ValuableSimulation, ValuableProcess, ValuableAgent y ValuableObject.
Los conceptos Action y Happening son auxiliares, y definen dos tipos disjuntos
de procesos: las acciones, en las que un agente participa como sujeto, y los
sucesos, donde no hay agentes involucrados. El concepto ValuableSimulation
representa una simulación valiosa según la siguiente definición: simulaciones
cuyo mundo es valioso y al menos tiene dos agentes, cuya línea temporal es
valiosa y tiene al menos tres procesos, o simulaciones donde ambas condicio-
nes se cumplen. El concepto ValuableProcess se define como un proceso de
3.4 Componentes básicos del armazón 91
3.4.5. Fabula
El componente Fabula es un componente ontológico básico para el desa-
rrollo de aplicaciones de narración automática utilizando DLApplication.
Este componente contiene la semántica declarativa y operacional del mo-
delo de conocimiento propuesto para representar las fábulas de las historias,
sus personajes y las funciones que estos desempeñan. Los conceptos de es-
te componente son concretos y modelan la narratología básica expuesta en
el apartado 3.4.6, implementando las ideas de Chatman y Crawford según
las cuales no existe ni espacio ni tiempo físico en este nivel, sino meras es-
tructuras causales. De todas formas las aplicaciones pueden especializar este
94 ARMAZÓN PARA NARRACIÓN AUTOMÁTICA
componente con un modelo de fábula más específico que les permita crear
individuos más adecuados para el tipo de aplicación concreto de que se tra-
te. Este componente es considerado de nivel medio, ya que puede o no ser
especializado por otro componente narrativo. Además sus conceptos tienen
una jerarquía poco fragmentada. Este componente especializa al componente
Knowledge.
Una vista general de la jerarquía conceptual de este componente se mues-
tra en la Figura 3.14.
Los conceptos normales de este componente son Fabula y Element, siendo
Setting, Existent y CharacterFunction los conceptos hijos de este último, to-
dos ellos elementos no físicos que sólo existen en la fábula, según el modelo
narrativo de Chatman revisado en el apartado 3.4.6. Fabula es la referencia a
la fábula de una historia concreta. Setting representa un escenario de dicha
fábula. Existent representa un existente de la fábula, que puede ser de dos
tipos: Character o Prop, según se trate de un personaje de la fábula o un
mero elemento accesorio. CharacterFunction representa una función de perso-
naje, cada uno de los eslabones de la cadena causal que constituyen la parte
principal de la fábula.
Los conceptos no normales de este componente son descendientes de Ty-
pedFabula, TypedSetting, TypedCharacter, TypedProp y TypedCharacterFun-
ction. Los descendientes de TypedFabula están basados en los tres tipos de
conflictos que pueden dar lugar a una historia, según explicaba McKee en el
apartado : Cosmic, Social y Personal. Los descendientes de TypedSetting son
Calm y Dangerous según la sensación de peligro que el escenario provoque en
los personajes. Los descendientes de TypedCharacter son Primary, Secondary,
Tertiary, según el personaje sea primario, secundario, o terciario, existien-
do un hijo particular del concepto Primary que representa al protagonista
mediante el tipo Protagonist. Los descendientes de TypedProp son Bonus o
Malus, según el significado que tenga el accesorio para el protagonista. Los
descendientes de TypedCharacterFunction son Main o Satellite, según la fun-
ción de personaje sea principal o una función satélite que sirve para rellenar
la fábula.
La jerarquía de roles de este componente se muestra en las Figuras 3.15
y 3.16.
Los roles de este componente son isFabulaOfCharacterFunction, isFabulaOf-
Character, isFabulaOfProp, isFabulaOfSetting, isDirectCauseOf, hasExistent, has-
Setting, hasCharacter y sus respectivas inversas. Los roles isFabulaOfCharac-
terFunction, isFabulaOfCharacter, isFabulaOfProp, isFabulaOfSetting relacionan
una fábula con sus funciones de personaje, personajes, accesorios y escenarios,
respectivamente. El rol isDirectCauseOf y su inversa relacionan las funciones
de personaje entre sí para formar la cadena causal de una historia. Los roles
3.4 Componentes básicos del armazón 95
3.4.6. Discourse
El componente Discourse es un componente ontológico básico para el
desarrollo de aplicaciones de narración automática utilizando DLApplication.
Este componente contiene la semántica declarativa y operacional del mo-
delo de conocimiento propuesto para representar los discursos de las historias,
la estructura de sus diferentes episodios. Los conceptos de este componente
son concretos y modelan la narratología básica expuesta en el apartado 3.4.6.
De todas formas se recomienda especializar este componente con un modelo
de discurso más cercana al tipo de aplicación que se desee desarrollar para
poder crear individuos más concretos. Este componente es considerado de
nivel medio, ya que puede o no ser especializado por otro componente na-
rrativo. Además sus conceptos tienen una jerarquía poco fragmentada. Este
componente especializa al componente Time.
Una vista general de la jerarquía conceptual de este componente se mues-
tra en la Figura 3.17.
Los conceptos normales de este componente son Discourse, Episode, Mes-
sage y Referent. Discourse es la referencia al discurso de una historia concreta.
Episode representa un episodio del discurso, cada una de las partes en que
3.4 Componentes básicos del armazón 99
3.4.7. Narration
El componente Narration es un componente ontológico básico para el
desarrollo de aplicaciones de narración automática utilizando DLApplication.
Este componente contiene la semántica declarativa y operacional del mo-
delo de conocimiento propuesto para representar la narración de una his-
toria, combinación de fábula y discurso. Los conceptos de este componente
son concretos, aunque lo más habitual es que cada aplicación especialice este
componente con los elementos propios de las fábulas y discursos que van a
aparecer en sus historias. Este componente es considerado de nivel medio,
ya que puede o no ser especializado por otro componente. Además sus con-
ceptos tienen una jerarquía de fragmentación media, dado que se espera que
haya componentes que sólo especialicen el dominio de la fábula y otros el
dominio del discurso. Este componente combina el componente Fabula con
el componente Discourse.
Una vista general de la jerarquía conceptual de este componente se mues-
tra en la Figura 3.20.
3.4.8. AbstractStory
El componente AbstractStory es un componente ontológico básico para el
desarrollo de aplicaciones de narración automática utilizando DLApplication.
Este componente contiene la semántica declarativa y operacional del mo-
delo de conocimiento propuesto para representar una historia abstracta, esto
es, una historia que combina narración con simulación pero carece todavía de
3.4 Componentes básicos del armazón 105
la forma definitiva con la que será presentada ante el público. Los conceptos
de este componente son concretos, aunque lo más habitual es que cada apli-
cación especialice este componente con los elementos propios de las historias
abstractas que genera. Este componente es considerado de nivel medio, ya
que puede o no ser especializado por otro componente. Además sus concep-
tos tienen una jerarquía de fragmentación media, dado que se espera que
haya componentes que sólo especialicen elementos relativos a la narración y
otros sólo elementos relativos a la simulación. Este componente combina el
componente Narration con el componente Simulation.
Una vista general de la jerarquía conceptual de este componente se mues-
tra en la Figura 3.22.
siendo:
siendo:
repetirT ipos(x, contador) la función que decide si hay que repetir esta
generación o no
siendo:
roles(x, contador) un posible conjunto de roles no normalizados nece-
sarios para completar un individuo x
relacionados(x, r, contador) el número de individuos que deben estar
necesariamente relacionados con x a través del rol r para completarlo
tipoRelacionado(x, r, contador) el tipo que corresponde al individuo
contador-ésimo necesariamente relacionado con x a través del rol r
crear(Y ) la función que crea a un individuo de tipo normalizado Y
relacionar(x, r, y) la función que relaciona al individuo x con el indivi-
duo y a través del rol r
repetirRelaciones(x, contador, f allos) la función que decide si hay que
repetir esta generación o no
3.5 Funcionamiento del armazón 113
siendo:
tipos0 (x, contador) un posible conjunto de tipos no normalizados op-
cionales para enriquecer un individuo x
repetirT ipos0 (x, contador) la función que decide si hay que repetir esta
generación o no
La función generarRelaciones0 (x) se describe a su vez mediante este pseu-
docódigo:
siendo:
114 ARMAZÓN PARA NARRACIÓN AUTOMÁTICA
3.6.1. Coherencia
La coherencia mide el grado de encadenamiento lógico que existe entre
los elementos de una historia. Además de la coherencia global, la coherencia
se mide en cada dominio de conocimiento, siendo especialmente relevante
la coherencia de simulación, dada la predisposición que tiene el ser humano
para entender que cualquier mundo, aunque sea ficticio, debe ser consistente
de acuerdo a una cierta lógica, en términos de relaciones espaciales entre las
entidades y las localizaciones del mundo ficticio y las relaciones tempora-
les entre las secuencias de eventos de dicha simulación. La coherencia en el
dominio de la fábula es también importante, dado que el público es capaz
de identificar con bastante claridad las relaciones de causalidad que existen
entre las distintas funciones de personaje.
En términos formales, y dentro del contexto del armazón propuesto, la co-
herencia en un determinado dominio de conocimiento será un valor booleano
que indica si cada uno de los individuos de ese dominio son o no coherentes,
entendiendo esto como la unión de dos características: consistencia lógica
bajo la premisa de mundo abierto y completitud bajo la premisa de mundo
cerrado.
El armazón propuesto garantiza que en ningún momento puede hacerse
efectiva una modificación que haga desaparecer la consistencia lógica del mo-
delo interno que está utilizando la aplicación. Sin embargo, como se deduce
de su definición, en este trabajo la coherencia es un requisito más fuerte que
la mera consistencia, que se mantiene automáticamente, sino que además es
necesario que exista completitud, usando los métodos de generación apro-
piados para los individuos normalizados del API de cada componente que
se encargan de crear y relacionar todos los individuos necesarios para que la
estructura entera resulte completa.
En el dominio de la fábula, por ejemplo, la causalidad es la relación de
coherencia por excelencia, y en el caso de otros dominios, las relaciones físicas
y espacio-temporales son también muy importantes.
3.6.2. Valor
El valor en el contexto de este armazón es el factor que mide el grado
de interés que la historia posee de acuerdo al criterio de sus autores, ya sea
educativo, estético, lúdico o de otro tipo. En el caso de una historia generada
automáticamente donde el usuario no ha impuesto ningún criterio de valor,
consideramos que este factor mide el grado de interés general que la historia
despierta según su propio criterio subjetivo.
En términos formales el valor de una historia es el valor del individuo
3.6 Evaluación del armazón 117
siendo:
roles(x) = |R(x)|
Por último, es importante aclarar que los pesos pi de los distintos suman-
dos que hay en cada parte son establecidos en el fichero de configuración del
dominio correspondiente a cada componente ontológico, debiendo respetar
siempre estas condiciones:
pi ≥ 0 ∀i, i ∈ [0..roles(x)]
roles(x)
X
pi = 1
i=0
3.6.3. Novedad
La novedad en el contexto de este armazón es el factor que mide las dife-
rencias que existen entre una historia y todas las demás que se encuentran en
la base de conocimiento en el momento justo de su generación. Esta medida se
corresponde, en términos de creatividad computacional, con la c-creatividad
de la aplicación. Para intentar medir algo equivalente a la h-creatividad de
la aplicación, habría que comparar la historia generada con todas las exis-
tentes, dentro o fuera del sistema, lo cual es completamente inviable. Una
aproximación posible a esta medida sería comparar la historia generada con
un corpus representativo de historias similares, incluyendo en este corpus nu-
merosas historias que no estén presentes en la base de conocimiento. Esto es
3.6 Evaluación del armazón 119
algo que ocurre de forma implícita al pedir al usuario que evalúe la novedad
de una historia, ya que el corpus de comparación lo forman todas aquellas
historias que el usuario conoce y considera similares a la que le está siendo
presentada.
En términos formales la novedad de una historia es la novedad del indi-
viduo de tipo AbstractStory que lo representa. En general la novedad de un
individuo normalizado se calcula mediante una función novedad(x) específica
de cada concepto normal de cada componente, siendo el único requisito que
esta función devuelva un valor real entre 0 y 1, representando la mínima y
la máxima novedad posible que puede representar un individuo x.
Todos los componentes básicos que ofrece este armazón implementan la
misma función novedad(x) para todos los individuos x de todos los tipos
normalizados X. Esta función es muy intuitiva, y se define de la siguiente
manera:
siendo:
X el tipo normalizado de x
siendo:
120 ARMAZÓN PARA NARRACIÓN AUTOMÁTICA
tipos(x) = |{T |x ∈ T }|
En relación a los roles utilizados, las funciones R(x) y roles(x) son las
mismas que las vistas en el apartado de evaluación del valor de una historia.
La función roles(x, y) sirve para contabilizar todos los roles que relacionan
tanto al individuo x como al individuo y con otros individuos. Las función
soloRoles(x, y) sirve para contabilizar todos los roles que relacionan al in-
dividuo x con otro individuo pero no relacionan al individuo y con ningún
individuo. Las definiciones formales de roles(x, y) y soloRoles(x, y) son se-
mejantes:
pT ≥ 0 pR ≥ 0
roles(x)
X
pT + pR + (pi1 + pi2 ) = 1
i=1
123
124 VALIDACIÓN DEL ARMAZÓN
4.1.1. Tale
El componente Tale es un componente ontológico específico para el desa-
rrollo de esta aplicación.
Este componente contiene la semántica declarativa y operacional del mo-
delo de conocimiento propuesto para representar la simulación del mundo
ficticio de un cuento maravilloso, con los procesos, agentes y objetos que
suelen aparecer en este tipo de historias. Para los procesos se toman algunas
ideas de la Teoría de la Dependencia Conceptual expuesta en el apartado
2.3.1. Los conceptos de este componente son concretos. Este componente es
considerado de nivel bajo, ya que no se espera que sea especializado por otro
componente. Además sus conceptos tienen una jerarquía de fragmentación
media, heredada del dominio de la simulación, que modela muchas facetas de
la realidad distintas. Este componente especializa al componente Simulation.
Una vista general de la jerarquía conceptual de este componente se mues-
tra en las Figuras 4.2, 4.3 y 4.4.
Los conceptos normales de este componente especializan conceptos im-
portantes de componentes básicos como Simulation o Space. Estos conceptos
padres son Agent, Object, Location y Process. Bajo Agent aparecen conceptos
disjuntos como HumanBeing (visto en esta ocasión como agente y no sólo
como entidad física), Animal, Plant, Artifact y Spirit, que incluso se ve dividi-
do en más subtipos. Bajo Object aparecen conceptos como Wear o Weapon,
entre otros. Bajo Location aparecen conceptos como Dwelling, Village y Open-
Location, con más subtipos a su vez. Finalmente como subtipos de Process
aparecen conceptos concretos inspirados en las primitivas de la Teoría de la
Dependencia Conceptual, a los que se han añadido algunos otros todavía más
específicos, como Love, Feel, Marry, Devour o Dance que resultan de utilidad
para modelar este dominio. Aunque no se despliegan todos por razones de
espacio y claridad en las explicaciones, los procesos concretos más importan-
tes son: Attack, Attend, Change, Create, Destroy, Drop, Equip, Expel, Give, Go,
Inform, Ingest, Move, Propel, Speak y Take.
Los conceptos no normales son descendientes de TypedHumanBeing, prin-
cipalmente, pero también de TypedObject y TypedLocation. Los descendientes
de TypedHumanBeing son numerosos tipos, la mayor parte no disjuntos, que
actúan como “adjetivos” de los agentes de la simulación. Aunque no se des-
pliegan completamente en la figura, algunos de ellos son Blonde, Coward,
Elegant y Envious. Los descendientes de TypedObject son Metallic y Wooden,
y los descendientes de TypedLocation son Wonderful, Enchanted y Scary.
Este componente no añade nuevos roles, ya que se centra sólo en enrique-
cer el vocabulario conceptual del modelo.
Volviendo a los conceptos, los conceptos definidos de este componente
126 VALIDACIÓN DEL ARMAZÓN
son Boy, Girl, Kid, Man, Woman, Armour, ToyWeapon, OldPerson, ValuableSi-
mulation, ValuableProcess, ValuableAgent, ValuableObject y ValuableLocation.
Boy, Girl, Kid, Man, Woman y OldPerson son tipos inferidos auxiliares que sir-
ven para reconocer agentes característicos de los cuentos, según su sexo y su
edad. Algo similar ocurre con Armour y ToyWeapon que reconocen las pren-
das de vestir metálicas y las armas de madera como armaduras y armas de
juguete, respectivamente. ValuableSimulation representa lo que en este com-
ponente se entiende por una simulación valiosa, siendo su definición formal
la de especializar a ValuableSimulation de Simulation y contener un mundo
donde existe al menos un agente de tipo ValuableAgent de este componente
(no de Simulation), y una línea temporal donde existe algún proceso de tipo
ValuableProcess también de este componente. ValuableProcess especializa el
concepto ValuableProcess de Simulation, definiéndose además como un proce-
so que no es de tipo Take, Drop, Attend or Go, asumiéndose que otros procesos
resultan más interesantes en un cuento que estos. ValuableAgent especializa el
concepto ValuableAgent de Simulation, definiéndose además como un agente
de uno de estos tipos inferido: Boy, Girl, Kid, Man, Woman, OldPerson o del
tipo normalizado Spirit. ValuableObject especializa el concepto ValuableObject
de Simulation, definiéndose además como un objeto que es arma o armadura.
Finalmente ValuableLocation especializa el concepto ValuableLocation de Si-
mulation, definiéndose además como un lugar que o bien es de tipo Dwelling
o es el origen, mediante la relación isOriginOf de algún objeto valioso.
Con respecto a las operaciones sobre individuos normalizados, puede verse
un resumen de la API de este componente en el Cuadro 4.1. El acceso, la
modificación, la creación y la destrucción se realizan exclusivamente sobre
individuos normalizados.
4.1.2. Propp
El componente Propp es un componente ontológico específico para el de-
sarrollo de esta aplicación.
Este componente contiene la semántica declarativa y operacional del mo-
delo de conocimiento propuesto para representar la narración según la morfo-
logía de Vladimir Propp expuesta en el apartado 3.4.5, con sus personajes y
funciones de personajes características. Los conceptos de este componente son
concretos. Este componente es considerado de nivel bajo, ya que no se espera
que sea especializado por otro componente. Además sus conceptos tienen una
jerarquía de fragmentación media, heredada del dominio de las historias abs-
tractas, que se encuentra siempre dividido entre narración y simulación. Este
componente especializa el componente AbstractStory, combinado con Tale,
centrándose principalmente en especializar conceptos normales de la fábu-
la, asumiendo que el discurso será una secuencia de mensajes trivialmente
ordenado de acuerdo a la misma línea temporal que la simulación.
Una vista general de la jerarquía conceptual de este componente se mues-
tra en las Figuras 4.5, 4.6 y 4.7.
Los conceptos normales de este componente son AbstractStory y Character-
Function. AbstractStory especializa el concepto AbstractStory del componente
del mismo nombre, representando una historia abstracta según la morfología
proppiana. CharacterFunction especializa el concepto AbstractStory de Fabu-
la, representando a las funciones de personaje vistas según Vladimir Propp.
Dado que fue este formalista quien propuso por primera vez el concepto de
“funciones de personaje”, esta jerarquía conceptual cuenta con decenas de con-
ceptos. Los más numerosos son los subtipos de CharacterFunction, llamados
MoveFunction (dividido en Preparation, Conflict, DonorMoveFunction y Hel-
perMoveFunction) y ResolutionFunction (dividido en ClaimsOfFalseHero, Dif-
ficultTaskWithSolution, ExposureOfFalseHero, Punishment, RecognitionOfHero,
Transfiguration, UnrecognizedArrival, WeddingOrThrone). En la vista de la je-
rarquía conceptual no se despliegan todos los conceptos por razones de espa-
cio y claridad, pero en estas funciones de personaje hay cabida para sucesos
narrativos tan dispares como un secuestro de un familiar hasta una boda con
ascensión al trono incluida.
La ontología de este componente, que originalmente recibía el nombre de
ProppianOnto, fue uno de los primeros resultados públicos de este trabajo
[PGDA04, PG05b]. Como tal, ha sido adaptada y utilizada en el proyecto IST
mencionado en el apartado 2.2.5, junta con las primeras versiones de algunas
de las ontologías de los otros componentes básicos del armazón propuesto.
Los conceptos no normales descienden de TypedCharacter, TypedProp y
TypedSetting. Los descendientes de TypedCharacter, arquetipos de personajes
4.1 Componentes específicos de la aplicación 131
clásicos propuestos por Propp para actuar en sus funciones, son Hero, Villain,
Donor, Helper, Prisoner, FalseHero, HeroFamily y People. Los descendientes
de TypedProp son MagicalAgent y SymbolicObject, que a su vez se divide
en tipos como Coach, Coin, Egg, Handkerchief o Ring. Los descendientes de
TypedSetting son Forest, HeroFamilyHome, Palace, PeopleHome y VillainHome.
Este componente no añade nuevos roles, ya que se centra sólo en enrique-
cer el vocabulario conceptual del modelo.
Volviendo a los conceptos, los restantes son definidos y son ValuableAbs-
tractStory, ValuableCharacterFunction, ValuableCharacter, ValuableProp y Va-
luableSetting. ValuableAbstractStory especializa el concepto ValuableAbstrac-
tStory del componente AbstracStory, definiéndose además como una historia
abstracta valiosa que tiene una fábula con una función de personaje de ti-
po ValuableCharacterFunction de Propp.ValuableCharacterFunction especializa
el concepto ValuableCharacterFunction del componente Fabula, definiéndose
además con una serie muy numerosa de restricciones que fuerzan a empa-
rejar funciones de personaje que deben ir seguidas, por ejemplo: ser de tipo
Preparation y causa directa de otra función de tipo Conflict, o ser de tipo Reso-
lution y no tener causa directa otra función de personaje de tipo MoveFuntion.
ValuableCharacter especializa el concepto ValuableCharacter del componente
Fabula, definiéndose además como un personaje que es protagonista a la vez
que héroe proppiano, personaje primario a la vez que villano, o bien personaje
134 VALIDACIÓN DEL ARMAZÓN
4.1.3. KICBR
El componente KICBR es un componente ontológico específico para el
desarrollo de esta aplicación.
Este componente contiene la semántica declarativa y operacional de un
sistema de razonamiento basado en casos intensivo en conocimiento (KI-
CBR), con los casos, los problemas, las soluciones y los distintos elementos
que estos sistemas utilizan. Este componente no modela un dominio de co-
nocimiento, sino un metadominio con individuos que no representan ninguna
realidad, sino que se utilizan internamente como apoyo a las tareas de razona-
miento. Los conceptos de este componente son concretos. Este componente es
considerado de nivel bajo, ya que no está contemplado que otro componente
lo especialice. Además sus conceptos tienen una jerarquía de fragmentación
baja, dado que de ser especializado no es fácilmente divisible en partes dis-
tintas. Este componente especializa al componente Knowledge.
4.1 Componentes específicos de la aplicación 135
Tanto las carencias como los sobrantes pueden disparar más ciclos de
recuperación para obtener otros cuentos con los que mezclar el primero y
realizar así la adaptación. Las carencias en funciones proppianas o en per-
sonajes se cubren con funciones proppianas o personajes de otros cuentos,
teniendo en cuenta que no existan incompatibilidades y pudiendo sustituir
sobrantes si fuese necesario Para el caso de las funciones, se añadirán tam-
bién todas aquellas que tengan una relación de dependencia con las que han
sido incorporadas. Los sobrantes que resten tras ese proceso se cambian alea-
toriamente por instancias de los mismos conceptos, para dar variabilidad al
cuento.
142 VALIDACIÓN DEL ARMAZÓN
Once upon a time... there was the girl and the little boy. The
father said to the girl not to go outside. The girl went outside.
The swan-geese kidnapped the little boy. The girl departured.
The girl and the witch started a duel. The girl won the duel.
The girl rescued the little boy. The swan-geese tested the girl.
The girl passed the test. The girl returned home with the little
boy.
Once upon a time... the swan-geese fell in the trap of the king.
The frog used a magic spell against the witch. The king scared
somebody. Others and the knight heard about the witch. The
swan-geese used a magic spell against the lioness. The king heard
something. The swan-geese heard about the king. The little boy
shared information with somebody. The little boy said to go
outside. Not went outside. The lioness departed with the frog.
The king fell in the trap. The lioness enchanted somebody. The
lioness went outside.
Once upon a time... there was a princess. The princess said not
to go outside. The princess went outside. The princess heard
about the lioness. The lioness scared the princess. The lioness
kidnapped the princess. The knight departured. The knight and
the lioness fought. The knight won the fight. The knight solved
the problem of the princess. The knight returned. A big treasure
to the knight.
2. Please, read the basic stories carefully and put a mark on your
answers (no more or less than one answer for each question).
This is the explanation for the evaluation factor that you will be
asked about:
Discusión
147
148 DISCUSIÓN
miento como son las requeridas por una aplicación de narración automática,
OWL DL necesita verse complementado con otros lenguajes que aumenten
su expresividad. SWRL, y concretamente las reglas seguras para lógicas des-
criptivas, son un paso acertado en aumento de la expresividad y conservación
de las buenas propiedades computacionales de OWL DL. Sin embargo, dado
el rendimiento de las implementaciones actuales de razonamiento con SWRL,
ha sido necesario prescindir de estas reglas en los componentes básicos del
armazón propuesto.
En este trabajo no se han considerado ciertas restricciones de bajo nivel
relativas a las técnicas de presentación de las historias para poder prestar
más atención a cuestiones más relevantes de los proyectos analizados.
La adquisición de conocimiento es siempre un cuello de botella en los sis-
temas basados en conocimiento. Según el modelo propuesto, los componentes
ontológicos y las bases de conocimiento forman parte de la obra de los desa-
rrolladores de aplicaciones de narracion automática, por lo que el sistema los
toma como parte reusable y con entidad propia del producto y no como parte
del problema.
El proyecto IST [GBPMRI07] puede se considerado un resultado prelimi-
nar del armazón propuesto, dado que usa la ontología del componente Propp
para generar cuentos maravillosos en forma de textos sencillos basados en
plantillas, de forma similar a como lo hace ProtoPropp, solo que este último
sí utiliza el armazón al completo. Sin embargo es importante señalar que IST
no utiliza ningún concepto declarado ni definido, por lo que prácticamente
se desaprovecha todo el potencial de las DLs, aunque puede considerarse un
primer paso hacia aplicaciones más avanzadas que sí lo aprovechen. Por otra
parte el trabajo resulta interesante debido al enfoque CBR que propone, más
completo que el ProtoPropp ya que cuenta con dos tipos diferentes de adapta-
ción de soluciones, una convencional y otra constructiva en la que interviene
además un algoritmo de búsqueda en grafos que se utiliza para recorrer la
estructura de los individuos relacionados de la base de conocimiento.
Una cuestión discutible es el tratamiento de los diferentes dominios que
intervienen en la generación de una historia. Estos dominios pueden ser tra-
tados de forma independiente o uniforme. En el caso de la fábula, el discurso
y la presentación son muchos los sistemas que los tratan de forma separada.
Sin embargo también hay opiniones contrarias a esa separación. Por ejem-
plo Birte Lönneker [L0̈4] señala que el principal error en la arquitectura de
Brutus es precisamente ese intento de construir narrativa desarrollando la
fábula y el discurso de forma completamente independiente, uniendo ambos
productos sólo al final del proceso.
Para construir una historia se necesita además, conocimiento que no ne-
cesariamente se encuentra representado de forma explícita en el producto
150 DISCUSIÓN
final, sino que se utiliza de forma auxiliar para guiar el proceso de generación
y narración de la historia, así como para definir las heurísticas necesarias
para generar y evaluar los resultados. Aunque evidentemente existen otros
recursos de conocimiento, como reglas o patrones parecidos a los 24 TRAMs
(Transform-Recall-Adapt-Methods) que incluye Turner en su Minstrel, pen-
sados para dotarlo de creatividad.
familiares con las nuevas situaciones que nos encontramos cada día, puede
entenderse como una analogía del CBR que nos ayuda a entender mejor las
etapas de su ciclo.
Una de las conclusiones a las que llega Turner en su trabajo es que para
generar una historia sencilla basta con hacer un uso inteligente y “creativo”,
usando procesos de memoria, planificación y resolución de problemas, etc.,
de una pequeña cantidad de información. En el caso de Minstrel es necesario
bastante conocimiento semántico sobre las moralejas, el universo de los caba-
lleros del rey Arturo y las técnicas de narración y presentación del lenguaje,
pero no se utiliza demasiado conocimiento episódico en forma de casos en la
base de casos.
Al mismo tiempo reconoce que los procesos implementados son sencillos;
el propio proceso CBR trata de asemejarse a la forma en que funciona la
mente humana. El concepto de TRAM aborda el tema de la creatividad y
responde al reto de generar nuevo conocimiento con bastante soltura. Y por
último, la memoria imaginativa propone una elegante integración de la cre-
atividad en el sofisticado modelo cognitivo necesario para generar historias.
El proyecto IST también utiliza CBR para la generación de sus histo-
rias. La recuperación se basa en una similitud muy directa, métrica que en
el apartado 3.6.3 ha sido definida con mayor precisión. Tanto el algoritmo
convencional de adaptación transformacional como la adaptación constructi-
va que proponen las autoras encajan bastante bien en el armazón propuesto,
siendo incluso posible, como se muestra en ProtoPropp enriquecer el proceso
con las detecciones de inconsistencias lógicas en el modelo.
Mexica [PyPS01] se presenta como un modelo diferente de generación
de historias, basado en ciclos de actividad y reflexión. Estas dos etapas del
proceso de generación creativa de una historia son claves para interpretar
adecuadamente el funcionamiento de muchos otros modelos, que tienen pro-
cesos de revisión integrados en la generación pero que no llegan a formularse
de forma tan explícita como dos etapas alternas dentro un ciclo iterativo.
Es precisamente este ciclo, lo que hace que el enfoque no pueda ser fácil-
mente clasificado bajo los paradigmas estructuralista y transformacional, ni
tampoco agrupado con las gramáticas de producción o como un método más
de resolución de problemas, y que por lo tanto merezca una consideración
especial como contribución al estado del arte.
Las llamadas recursivas de la recuperación CBR de Minstrel son una pri-
mera implementación de una generación iterativa planteada desde el punto
de vista del autor. Como Turner [Tur92] sugiere, puede que la creatividad
se base en heurísticas simples; pero a esta afirmación hay que añadirle dos
grandes inconvenientes. El primero es que, como el mismo Turner recono-
ce, esas heurísticas pueden ser distintas según el dominio de conocimiento
5.3 Evaluación de historias 153
compleja porque no se conocen métodos formales con los que medir su cali-
dad. El éxito o fracaso de una historia dependen no sólo de la habilidad del
autor sino de la predisposición y las preferencias del público.
Para resolver de una forma práctica el problema de medir la calidad de
una historia, existen propuestas como la de realizar una prueba similar al
Test de Turing [Mat97] o establecer comparaciones estadísticas mediante la
puntuación por jueces [CL02].
En el caso de este trabajo, las pruebas de evaluación externa realizadas
sobre ProtoPropp consistieron en utilizar un grupo de evaluadores externos.
Los evaluadores utilizan la aplicación y después rellenan un cuestionario en el
que asignan una puntuación a cada aspecto de la aplicación que se quiere so-
meter a evaluación, permitiendo obtener datos empíricos sobre la aceptación
que tiene el sistema entre los usuarios.
En relación a las pruebas de evaluación interna realizadas sobre la aplica-
ción de ejemplo se puede comentar que revelan datos más fiables de los que
puede obtenerse mediante evaluación externa.
La capacidad de Minstrel de aprender automáticamente de sus creaciones
es una propiedad “natural” de los sistemas CBR. Este tipo de sistemas no
es muy usado para implementar aplicaciones de narración automática, ni
tampoco es fácil encontrar aplicaciones que dispongan además de sistemas
de aprendizaje automático.
Según Rafael Pérez y Pérez [PyPS04] Brutus carece de una verdadera
evaluación del valor y la novedad de las historias que genera, Minstrel sólo
evalúa la novedad y Mexica evalúa ambos factores.
El mayor problema de las aproximaciones clásicas como la de Tale-Spin o
Universe es la utilización de reglas predeterminadas que dificultan el apren-
dizaje de nuevos mecanismos, mientras que como se dijo anteriormente en
un sistema CBR el aprendizaje está incluido en su ciclo de funcionamiento.
Finalmente una característica importante del armazón y la aplicación de
ejemplo desarrollados en este trabajo de tesis, es que ambos son de código
y documentación libre, permitiendo su estudio y ampliación por parte de
cualquier otro miembro de la comunidad científica. Esta característica no se
encuentra prácticamente en ningún otro proyecto importante de narración
automática, lo que complica bastante su revisión y su comparación con la
propuesta aquí presentada.
etc. se obtendría una novedad mucho más alta para las historias. La historia
del corpus existe en la base de conocimiento y por lo tanto no se encuentra
diferencia alguna que aporte novedad.
En el caso de la evaluación empírica, la fábula recuperada del corpus
actúa como punto de referencia para la evaluación. La historia generada es
considerada por los jueces humanos como un cuento de valores aceptables, ya
que las respuestas oscilan entre 4 y 6 en todas las preguntas del cuestionario.
Los resultados relativos a la coherencia son razonablemente predecibles
y bastante favorables porque mientras que el cuento aleatorio consigue sólo
un 1.81 los otros cuentos tienen medias más aceptables. El cuento generado
obtiene los mejores resultados en coherencia, lo cual era uno de los objetivos
más importantes del armazón: conseguir generar historias coherentes.
Algo similar ocurre con los resultados relativos al valor o interés de las his-
torias. La fábula generada mediante ProtoPropp obtiene un aceptable 5.08,
mientras que la aleatoria consigue un 3.23. Parece que el interés guarda al-
gún tipo de relación con la coherencia, lo cual puede explicarse porque las
personas no pueden apreciar el valor de una historia si esta les resulta incohe-
rente, es decir, asumiendo que la coherencia es un requisito previo al valor
de cualquier cosa.
La evaluación de la originalidad presenta alguna complicación que se po-
ne de manifiesto en este experimento. Inicialmente se esperaba que la fábula
aleatoria resultara más novedosa al diferenciarse claramente de otras historias
dotadas de sentido común, pero el hecho es que la originalidad de la histo-
ria escogida directamente del corpus alcanza un valor de originalidad muy
cercano, lo cual resulta extraño. En la evaluación de la misma propiedad, el
generador de ProtoPropp fracasa, lo que también es en cierta medida un dato
inesperado. La explicación para este fenómeno proviene seguramente de la
forma en que el público interpreta la palabra “originalidad”, entendiendo por
esta la aparición de diversos individuos en la fábula y en la simulación, como
ciertos personajes o agentes llamativos (como la rana), más que la estructura
o configuración global de la historia abstracta. Aunque también existe una
explicación alternativa y posiblemente complementaria, que dice que el “cor-
pus mental” de cuentos que es capaz de recordar cada juez es diferente y por
tanto, aunque estos aplicasen la misma medida de similitud entre la historia
que se presenta al público y las que este conoce, los resultados en cuestión de
novedad serían muy diferentes. Esto nos sugiere que la noción de novedad,
mientras que no sea acotada de forma explícita, es relativa a la interpretación
y el conocimiento de cada juez, siendo estas interpretaciones o conocimientos
muy dispares entre sí. La desviación típica así lo muestra, diseminando los re-
sultados en 2.5 puntos; ocurriendo algo similar en los comentarios informales
recogidos durante el sondeo.
5.4 Historias resultantes 157
y uniforme de su ejecución.
El trabajo teórico en la evaluación de sistemas creativos [Rit01] sugiere
que hay dos magnitudes básicas que deben ser consideradas: el valor y la
tipicalidad, medidas que se corresponden con el valor y la novedad en el sen-
tido en que se utilizan en este trabajo. En realidad hablando en términos de
la evaluación humana en vez de la evaluación máquina, y con respecto a los
parámetros evaluados en este experimento, la segunda de estas correspon-
dencias es la más natural ya que a los jueces se les insistió explícitamente
en que cuando evaluaran tuviesen en cuenta que los resultados pretendían
ser cuentos tradicionales, comparables sólo con los de ese tipo. La primera
correspondencia, entre valores, es más problemática porque la evaluación del
valor en un sentido amplio, y como ya mencionábamos antes, también debería
incluir de alguna forma a la coherencia.
Hay otros importantes factores involucrados en el modo en que el público
se enfrenta a una historia para su evaluación. Pérez y Pérez [PyPS01] realiza
una proposición valiosa y muy detallada sobre una serie de factores. El sis-
tema Mexica basa buena parte de su evaluación en la tensión que se crea en
la historia y como esta evoluciona a lo largo de la misma, principalmente a
través de los cambios en las relaciones emocionales que sufren los personajes,
y las amenazas que su salud o su vida pueden llegar a sufrir. Las subidas
y bajadas de tensión a lo largo de una historia son un factor clave sobre
su valor, que no sería costoso de implementar en un componente específico
que especializara Narration, dada la naturaleza declarativa de este tipo de
información.
Aunque el tipo de ejecución de la aplicación de ejemplo no era un aspecto
a considerar esta investigación, es posible comentar que los resultados mues-
tran un rendimiento aceptable (menos de cinco minutos por historia) con las
operaciones básicas relacionadas con el model de DLs, aunque el coste tempo-
ral se dispara en cuanto se añaden reglas SWRL al modelo que está cargado
en el motor de razonamiento utilizado, por lo que no es posible establecer
unas cotas precisas de duración para el proceso de generación de historia.
160 DISCUSIÓN
Capítulo 6
Conclusiones
Es necesario terminar este investigación con una reflexión sobre los resul-
tados obtenidos que permita obtener conclusiones concretas acerca de lo que
ha significado este trabajo. Dada la situación inicial de la investigación en
narración automática, un tanto precaria en cuanto a consenso entre investi-
gadores y comprensión e interés por parte de expertos de otras disciplinas,
se pretende que este trabajo represente un paso adelante hacia esa “base
científica rigurosa” que permitirá mejorar las condiciones en que se realiza la
investigación en este campo.
En el capítulo 3 se propone un armazón para el desarrollo de aplicaciones
de narración automática que ha sido construido para satisfacer tanto a los
desarrolladores como a los usuarios finales del producto. Aunque este pro-
pósito era ambicioso por la dificultad que supone ponerlo práctica y evaluar
objetivamente sus resultados, las primeras experiencias han sido positivas,
de manera que es de esperar que se sigan recogiendo frutos de esta línea de
investigación a medida que el armazón propuesto madure, aumente el núme-
ro de desarrolladores que lo utilizan y el número de dominios y aplicaciones
diferentes de narración automática sobre el que el método de desarrollo pro-
puesto se aplica.
A continuación se presentan las conclusiones finales correspondientes a
cada objetivo planteado en el apartado 1.4.
161
162 CONCLUSIONES
neficiosos para que tanto el software como las ideas en que este se apoya se
difundan más y beneficien a más desarrolladores e investigadores en el área.
Por otro lado, la exploración de las cuestiones de presentación multimodal
de las historias y su narración interactiva son las líneas de investigación
más prometedoras de cara a encontrar posibles aplicaciones industriales para
este trabajo. Las conexiones con los generadores de lenguaje natural pueden
ser mejoradas añadiendo hipertexto, imágenes y sonidos prefabricados a las
historias generadas. Incluso las conexiones con entornos virtuales pueden ser
consideradas para representar dramáticamente la historia usando modernos
motores 3D o narrar de forma interactiva usando funcionalidades avanzadas
de estos entornos como la simulación física realista, los personajes autónomos
o semiautónomos, el tiempo real, etc.
El futuro desarrollo de herramientas de autoría para este armazón, un as-
pecto fuera del alcance de este trabajo, será decisivo para el éxito del mismo
en un contexto más práctico. El desarrollo a nivel industrial de aplicaciones
de narración automática debe delegar la creación de los recursos y la base
de conocimientos inicial a los expertos en los dominios concretos de la apli-
cación (guionistas, pedagogos, artistas, etc.). No hay razón para que estos
expertos deban saber usar sofisticadas herramientas de ingeniería de conoci-
miento y programación, siendo más razonable facilitarles el uso herramientas
de autoría de más alto nivel para realizar las tareas específicas de su dominio.
Las técnicas de modelado de usuario no han sido abordadas en este es-
tudio, pero son otras posibles herramientas para ajustar los resultados a los
criterios de valor y novedad subjetivos de cada usuario. La programación
con restricciones también ha sido sugerida como una posible integración en-
tre generación y evaluación de historias abstractas en un mismo enfoque de
resolución del problema.
Aunque animados por los progresos en cuestiones de autoría computacio-
nal, cada vez más notorios, el hecho de que la inteligencia y la creatividad
artificiales sigan siendo objeto de profunda investigación no significa que el
desarrollo de aplicaciones de narración automática deba permanecer desaten-
dido por el momento; en realidad, incluso bajo el supuesto de que no fuese
posible replicar a la perfección el talento humano, el desarrollo de aplicacio-
nes de narración automática está justificado. Como Janet Murray [Mur97]
nos recuerda, la repetición de patrones y fórmulas ha existido desde siem-
pre en el Arte y la Cultura, realizando una función nada despreciable que
complementa y saca provecho de las grandes creaciones revolucionarias. Es-
ta función es precisamente la de establecer las convenciones propias de una
disciplina en un contexto histórico determinado, fijando de forma implícita
los límites, más exigentes cada vez, que el ingenio humano debe superar para
poder ser reconocido como tal.
166 CONCLUSIONES
Referencias
167
168 REFERENCIAS
[BMC03] Sean Bechhofer, Ralf Moller, and Peter Crowther. The DIG
description logic interface. In Description Logics. CEUR
Workshop Proceedings, 2003.
[CCPL] Marc Cavazza, Fred Charles, David Pizzi, and Jean Luc
Lugrin. Intelligent virtual environments projects. http:
//ive.scm.tees.ac.uk/ [3/2/2008].
[HM03] Volker Haarslev and Ralf Möller. Racer user’s guide and
reference manual version 1.7.7. Technical report, Concor-
dia University and University of Applied Sciences in Wedel,
/11 2003.
Documentación complementaria
iii
iv DOCUMENTACIÓN COMPLEMENTARIA
Apéndice B
English Translation
Abstract
Computers have been used as a medium for narrative expression since
decades. Computer Science has developed powerful technologies for narrative
information processing, allowing us to store, organize, modify and reproduce
every kind of content. Automatization of these task is definetly possible, but
others has a extraordinary complex computational formalization, sometimes
impossible, because the mental processes that the human being performs for
working on those tasks are still unknown. Story generation is one of those
tasks and its automatization is part of that big long-term project which is
called “Artificial Intelligent”.
Between seventies and eighties many studies were developed about story
automatic comprehension and generation that establish the ground for scien-
tific research in this topic. After year of lack of interest on this question, new
applications, approaches and favourable technical conditions have prompted
a short revival of interest on automatic storytelling applications in scientific
and commercial contexts.
In this work theoretical bases of automatic storytelling are studied, re-
viewing different methodologies and technologies involved in its development
and analyzing up-to-date results documented in the scientific literature.
Nowadays there are applications with the ability of generating content,
v
vi ENGLISH TRANSLATION
structure and final presentation of a story (using texts, graphics, videos, etc.)
automatically. However these applications do not reveal a single and syste-
matic solution for every fundamental problem in story generation. Although
there are exceptions, many of these works fail in their scientific approach or
achieve results difficult to generalize, scale, evaluate and use.
This work of thesis tries to establishing a more solid and suitable fra-
mework for the development of automatic storytelling applications. Goals
are created about those problems that affect more seriously to the organiza-
tion, modularization and reusability of two basic elements: on one hand, the
knowledge needed to represent stories in the computer, on the other hand,
processes able to manipulate that knowledge in order to generate stories
that will satisfy preestablished criteria about value and novelty. The propo-
sal uses description logics and object-oriented programming in order to build
a framework composed by a software core and an extensible repository of on-
tological components that encapsulate declarative and operational semantics
of key domains related to automatic storytelling.
Results are the implementation of this framework and an example appli-
cation as its specific instance, that shows the most technical aspects about
how to implement the proposed methodology for the development of auto-
matic storytelling applications.
Evaluation of this proposal and its results are discussed, in terms of ex-
pressivity of this solution among others revised previously. It is also discussed
what it is known about computational narrative authorship, the way stories
are presented and evaluated, and the scope of the validation of that evalua-
tion.
Finally conclusions of this research are presented, including some final
suggestions about what should be the future work.
Keywords
Story Generation, Computational Narratology, Ontological Engineering,
Description Logics, Computational Creativity
Conclusions
It is necessary to finish this research thinking about the achieved results
in order to obtain concrete conclusions on what is the meaning of this work.
Given the current situation of the research on automatic storytelling,
somehow precarious about consensus between researchers and experts from
other disciplinesúnderstanding and interest, this work tries to represent a
vii
step towards that “rigorous scientific base” that will allow improvements in
the research conditions on this field.
In the chapter 3 a framework for the development of automatic storyte-
lling applications has been proposed, specially designed to satisfy developers
and final users of the product. Although this purpose was ambitious because
of the difficulty in practical application and objective evaluation of results,
first experiences are positive, so it is expected that more benefit will be pro-
duced thanks to this line of research, while the proposed framework matures,
number of developers using it and domains and different automatic storyte-
lling applications developed by this method rises.
Following final conclusions about each goal proposed in section 1.4 are
presented.
the most complete solution for providing feedback to the development process
of automatic storytelling applications.
Future work
With the intention of completing these conclusions, in this section some
promising lines of research are presented, what can be useful for guiding
future work in this field.
On one hand it is possible to continue tasks related with maintaining,
fixing bugs and improving the software generated in this research project and
its documentation. It is important to consider that the use of DLApplication
for developing new automatic storytelling applications will allow the concepts
of this thesis to become more mature, improving the credibility of this work’s
evaluation. New generic and specific domain components will also complete
the repository of the framework, making more obvious its reusability and
practical utility. Every tutorial, installer, manual or use case added to the
project will represent benefits for the software and the ideas that support it,
in the sense of spreading results and helping developers and researches in the
field.
On the other hand, the exploration of questions about multimodal presen-
tation of stories and interactive storytelling are the most promising research
x ENGLISH TRANSLATION
lines in order to find possible industrial applications for this work. Connec-
tions with natural language generators can be improved adding hypertext,
or predefined graphics and sounds to the generated stories. Even connections
with virtual environments can be considered for representing drama using
up-to-date 3D engines or interactive storytelling using advanced features of
these environments as realistic physical simulation, autonomous or semiau-
tonomous characters, real time, etc.
Future development of authoring tools for this framework, considered out
of the scope of this work, will be decisive for its success in a more prac-
tical context. Development at the industrial level of automatic storytelling
applications should delegate the creation of resources and initial knowledge
base to experts in the specific domains of the application (scriptwriters, tea-
chers, artists, etc.). There is no reason why these experts must know how to
use sophisticated knowledge engineering or programming tools, being more
reasonable to let them use authoring tools for their high level specific-domain
tasks.
User modelling techniques are out of the scope of this research, but they
are possible tools for adjusting result to the subjective criterion about value
and novelty of each user. Constraint programming has been also suggested
as a possible solution for the integration between generation and evaluation
of abstract stories in the same problem-solving method for extending opera-
tional semantics of the components.
Although we are encouraged by the advances in questions of computatio-
nal authorship, each time more evident, the fact that artificial intelligence
and creativity are still under deep research does not means that automatic
storytelling development should be unattended at the moment; indeed, even
under the assumption that the perfect replication of human talent was not
possible, the development of automatic storytelling application is justified.
As Janet Murray remember us, patterns and formulas repetition existed since
the very beginning of Art and Culture, performing a not worthless function
that complete and make the most of more outstanding and revolutionary
creations. This function is just the establishment of the particular conven-
tions of a discipline into a specific historical context, setting implicit limits,
each time more demanding, that the human inventiveness must overcome for
being recognized as such.
Apéndice C
Abreviaciones
CBR Razonamiento basado en casos (en inglés Case Base Reasoning). Pue-
de ir precedido del prefijo KI- denotando que dicho razonamiento hace
uso intensivo de conocimiento (en inglés Knowledge-Intensive)
IA Inteligencia Artificial
xi
xii ABREVIACIONES
OWL Lenguaje de ontologías para la web (en inglés Web Ontology Language,
un acrónimo reordenado a propósito). Puede ir seguido de Lite, DL o
Full, denotando un sublenguaje específico de OWL.
SWRL Lenguaje de reglas para la Web Semántica (en inglés Semantic Web
Rule Language)
W3C Consorcio de la red mundial (en inglés World Wide Web Consortium)
Apéndice D
Glosario
Autoría La función más importante del narrador, por la cual este establece
el propósito de la historia, así como los criterios de valor y novedad que
han de aplicarse sobre la misma.
Base de casos Un tipo particular de base de conocimiento que contiene
casos para ser usados por un sistema CBR.
Base de conocimiento En el ámbito de este trabajo, significa un conjunto
de asertos sobre individuos y sus relaciones en lógicas descriptivas. Los
tipos de los individuos y los roles que juegan se encuentran siempre en
una ontología asociada a la base de conocimiento.
Robot de charla Androide capaz de simular un diálogo con el usuario me-
diante el lenguaje natural.
Componente Un componente de software es un recurso independiente de-
sarrollado para un fin concreto, que puede formar, junto a otros com-
ponentes, un sistema informático. Cada componente tiene su propia
estructura e implementación, aunque cumple con una cierta interfaz
que le permite ser conectado con otros componentes y reutilizado en
diversas aplicaciones. Los componentes ontológicos presentados en es-
te trabajo tiene la peculiaridad de contener, además de objetos con
semántica operacional, ontologías con semántica declarativa.
xiii
xiv GLOSARIO
Narrador Sujeto que realiza el acto narrativo. Normalmente ejerce las fun-
ciones activas en el acto de la narración. Estas funciones son tres: crea-
ción de la fábula, construcción de la historia y realización de la presen-
tación. Se denomina narrador implícito al verdadero constructor del
discurso de una historia, mientras que se denomina narrador explícito
al que, en el contexto de dicho discurso, figura como sujeto del acto
narrativo.
Valor El valor de una historia es el interés que tiene según el criterio estable-
cido por el autor de la misma. En el contexto del armazón propuesto, el
valor es un número real comprendido entre 0 y 1 que representa cómo
encaja la historia abstracta generada y sus distintas partes con las defi-
niciones preestablecidas sobre lo que es considerado “individuo valioso”
en cada dominio.