The Story Telling Laboratory

The Story Telling Laboratory is a research initiative that brings together ongoing projects that study various areas related to stories: how they are constructed, how they can be explored in an interactive manner, how they are converted into text or video, how their texts are read out aloud in a convincing manner, how they can be rendered as verse...

Projects that are currently under way within The Story Telling Laboratory are listed below. However, results so far on this line of research have shown that there are many open issues to explore and many different approaches will be required to explore them.

If you think you can contribute to this initiative, please get in touch with us by sending an email message to .

Research on poetry generation

The group's interest on the application of artificial intelligence and natural language processing technologies to literary artifacts started with WASP, a program that writes poetry in Spanish, created by Pablo Gervás. The first versions of WASP were written in Prolog back in the early 90s. The program saw a reincarnation written in CLIPS towards the end of the 90s, and it has lived on in Java versions since 2000. WASP versions have addressed the problem of poetry generation by applying expert system rules, case-based reasoning, evolutionary programming, and statistical models. A number of publications describing the various versions of WASP can be found in the group's publication page.

The efforts in poetry generation focused very much on refining the form of a linguistic message to match formal constraints of rhyme and metre. During the evaluation of initial results, it became apparent that there was a need to devise specific solutions for generating quality content on which to apply the refinements of form. This lead to the group's interest in the generation of narrative content.

Research on storytelling

Federico Peinado addressed in his PhD Thesis the issue of knowledge representation for the generation of narrative content, devising a solution based on description-logic ontologies. Contributions of his work include the ProppOnto ontology,  the blueprints for the KIIDS (Knowledge Intensive Interactive Digital Storyteller) system, and the jBard system. At a later stage, he worked with Álvaro Navarro to develop RCEIa protocol and a language that is used as an inteface between intelligent systems and a virtual environments.

Raquel Hervás developed the PRINCE system, a natural language generation application designed to build texts for simple fairy tales.

Jorge Carrillo de Albornoz started work on the REC camera management system for telling stories visually, then wrote his PhD Thesis on automated tagging of text with emotion, which he required to inform the camera management.

Carlos León wrote an initial storytelling system called Cast, explored the possibilities of generating short movies in the Spiel system, explored in his PhD Thesis the possibility of extracting narrative templates from existing stories, and went on to develop the Stella system, on which he is currently working.

The following NIL systems address story telling issues:

  • WASP, the Wishful Automatic Spanish Poet
  • Stella, a story telling algorithm
  • KIIDS Knowledge Intensive Interactive Digital Storyteller
  • PRINCEa natural language generation application designed to build texts for simple fairy tales
  • TAP, a Text Arranging Pipeline
  • Cast, a Creative Automatic Story Teller
  • RECan automatic Camera Management System (CMS) based on the emotional analysis of the film script
  • Spiel,  a full automated movie creator
  • Impan interface for interacting with Spiel
  • RCEI Remote-Controlled Environment Interface (RCEI) is a protocol and a language that is used as an inteface between intelligent systems and a virtual environments

The TSTL acronym pays homage to Robert Louis Stevenson, as a shortened version of Tusitala, which is Samoan for "Teller of Tales", and which he used as a pseudonym.

Members of the NIL research group engaged in this line of research include: