The Affective Storyteller: How Emotion Influences Narrative Generation

In this research it is investigated how character emotions can be used to aid the narrative generation process. To this end the Affective Storyteller is developed, a narrative generation framework where character emotions are closely interconnected with the narrative generation process. For story generation in the Affective Storyteller, it is first required to define a story-domain. A story-domain exists out of actors, events and locations. The Affective Storyteller can then generate many different stories given such a domain. A story is formed by a sequence of events. As the amount of possible events in such a sequence grows, the computation time for generating all possible story sequences in the story-domain grows exponentially with it. Dependent on the preferences of the audience such a set of stories typically contains both good, desirable stories and less or unsatisfying stories. Two main challenges in narrative generation are addressed. Since stories are valued differently dependent on the audiences’ preferences, it is difficult to generate stories that fit all these individual needs. When we would be able to steer the type of stories shown at runtime, then this would enable coping with this wide range of preferences. The first challenge we address is therefore customization. We aim to show the audience stories that adhere to certain abstract structures. These structures can be build (customized) by the person generating the stories. Another problem in computer-based storytelling is the high cost in computation time and space for longer stories. When presenting stories to users at runtime, it is not desirable if the calculation takes hours. We improve the efficiency of the narrative generation by forcing the storyteller to take the requested customizations into account during the generation of the stories. When the storyteller considers storylines that will not adhere to the customization, then the calculation of those storylines can be cut of before completing them. The Affective Storyteller simulates character emotions using GAMYGDALA, an emotion framework based on the OCC model. The OCC model generates emotions based on how well the characters perform in regards to their goals. These emotions are updated after every story-event, giving us an emotional flow corresponding to the story. We believe this emotional flow to be a powerful abstract representation of the stories. The user can then define a filter that corresponds to these emotional flows. The Affective Storyteller analyzes the emotional patterns and rejects stories that do not comply with a chosen filter. This research shows different methods to analyze these patterns and filter the proper stories given a set of stories and affective data. Further, some experimental evidence supporting the feasibility of this approach, is presented. We tested the impact of affective filtering of stories on readers' affective perception of these stories, and found a significant effect on the perception of positively versus negatively filtered stories, supporting the validity claim of the filtering method. We further tested the impact of using an affective filter during the generation and reduced the calculation time exponentially in an example domain and filtering heuristic. Continuing this research would mainly mean to investigate how the filtering can be optimized for use during generation and to what extend it can be used to find stories that follow affective patterns that are known to produce certain qualities in stories. For example excitement or conflict. The overall conclusion for this research is that character emotions are a promising tool for plot management of stories.