I’m curious: do you follow much research that happens in stories and dialog these days? In the world of machine learning research, there’s much less in dialog and stories than other areas (e.g. image generation/recognition or translation), but once in a while, you come across some interesting work, e.g. Hierarchical Neural Story Generation (by some folks in Facebook AI).
For some years now I’ve followed work coming out of the UCSC Expressive Intelligence Studio; work done at Georgia Tech around crowdsourced narrative generation; game industry applications introduced or covered at the GDC AI Summit (though it is rarer to see extensive story-generation work here). I’ve also served on the program committees for ICCC and ICIDS and a few FDG workshops; and am an associate editor on IEEE Transactions on Games focused on interactive storytelling applications. Here (1, 2, 3) is my multi-part post covering the book Interactive Digital Narrative in detail.
That’s not to say I see (or could see) everything that’s happening. I tend to focus on things that look most ready to be used in games, entertainment, or chatbot applications — especially those that are designed to support a partially human-authored experience. I also divide my available “research” time between academic work and hands on experiments in areas that interest me.
So with that perspective in mind:
- I’m not attempting a comprehensive literature review here! That would be huge. This coverage cherrypicks items
- I will go pretty lightly on the technical detail since the typical readership of this blog may not be that interested, but I’ll try to provide summary and example information that explains why a given item is interesting in my opinion, and then link back to the original research for people who want the deeper dive
- I’ll actually start by summarizing a bit the paper the questioner linked
- Even with cherrypicking, there is a lot to say here and I am breaking it out over multiple posts
That Initial Paper
For other readers: the linked article in this question is about using a large dataset pulled from Reddit’s WritingPrompts board and a machine learning model that draws on multiple techniques (convolutional seq2seq, gated self-attention). After training, the system is able to take short prompts and create a paragraph or so of story that relates to the prompt. Several of the sample output sections are quite cool:
But they are generating surface text rather than plot, and the evidence suggests that they would not be able to produce a coherent long-term plot. Just within this dialogue section, we’re talking about a tablet-virus-monster object, and we’ve got a couple of random scientist characters.
Building Models of Story Domains
This approach is about using large amounts of data to come up with a model of how particular narrative domains work: what types of actions can be expected in this sort of scenario, and how might events play out?
The Entertainment Intelligence Lab at Georgia Tech (Mark Riedl et al) uses crowdsourced story-telling data to model the sorts of things that might be expected to happen in a particular scenario (such as a bank robbery or a trip to the movies) and then assemble feasible new narratives matching the same requirements. This could be deployed in an interactive context as well as a static one, since the model of the story domain, once developed, can be used to suggest appropriate consequences to a player’s action.
Jeff Orkin used a related approach in his Restaurant Game research: he asked many many human players to role-play being a waiter or a customer at a restaurant, then used this material to build a domain model of appropriate conversation and interaction in that context. He now works at Giant Otter, a startup dedicated to interactive dialogue for chatbots.
Ben Cole at MashUpMachine is applying a similar approach to gathering a crowdsourced model of how plots and characters work in the context of standard teen slasher horror movies, and using that model to drive both the sequence of events and choices about music, animation and camera position when presenting those events to the player.
Other Approaches to Procedural Story Generation
There are several research groups that focus on procedural generation of stories in some form or other. Several of these have been functioning for many years, and I couldn’t reasonably summarize all of their research here, but I’ll list a few:
The Liquid Narrative Group led by R. Michael Young looks among other things at how narratives can adapt in response to player input in order to maximize the player’s experience of agency.
David Thue works on backstory generation and level of detail in narration: given particular events we might tell the player about, how much detail should we give and what aspects of the story are most appropriate to narrate given the current state of discourse.
Mexica, a system for creating story plots using standard figures from Aztec folklore, I’ve covered on this blog before, so I’ll refer you there for more depth if desired.
Pablo Gervas works both in planning stories and in their textual realization.
One might also mention Andrew Gordon and Nicolas Szilas among others here, but I’ll talk about their work more later when I get to authoring tools for procedural storytelling.
In addition to academic research, there are also quite a few people writing and speaking about procedurally generated story in indie and experimental games, using a mix of simulation techniques and grammars. Procedural Generation in Game Design covers a number of story-related approaches among other things.
Another strategy in this space is to run a world simulation and then search the simulated event space to find interesting plot arcs that deserve to be narrated. Several examples of this are discussed in my post World Simulation for Story Generation.
It’s also worth looking at Tarn Adams’ work on how he designs simulation elements of Dwarf Fortress in order to make interesting microstories more likely — his talk at Progression Mechanics last year has good material about interlocking systems and what these make possible.
Creating Agents to Navigate Text Adventures
This is a different problem, and might or might not fall into the original questioner’s interest area, but TextWorld and its related research is about procedurally generating simple text adventure puzzles and then using reinforcement learning to train agents to solve them.
Next time I’ll continue this by talking about some authoring tools for dynamic/procedural storytelling, and some of the theoretical work currently being done around choice mechanics and similar topics.