The problem is that most algorithms for generating the end of a story tend to favor generic sentences, such as “They had a great time,” or “He was sad.” Those may be boring, but Alan Black, a professor in CMU’s Language Technologies Institute, said they aren’t necessarily worse than a non sequitur such as “The UFO came and took them all away.”
In a paper presented Thursday, Aug. 1, at the Second Workshop of Storytelling in Florence, Italy, Black and students Prakhar Gupta, Vinayshekhar Bannihatti Kumar and Mukul Bhutani presented a model for generating endings that will be both relevant to the story and diverse enough to be interesting.
One trick to balancing these goals, Black said, is to require the model to incorporate some key words into the ending that are related to those used early in the story. At the same time, the model is rewarded for using some rare words in the ending, in hopes of choosing an ending that is not totally predictable.
Consider this bot-generated story: “Megan was new to the pageant world. In fact, this was her very first one. She was really enjoying herself, but was also quite nervous. The results were in and she and the other contestants walked out.” Existing algorithms generated these possible endings: “She was disappointed the she couldn’t have to learn how to win,” and “The next day, she was happy to have a new friend.” The CMU algorithm produced this ending: “Megan won the pageant competition.”
None of the selections represent deathless prose, Black acknowledged, but the endings generated by the CMU model scored higher than the older models both when scored automatically and by three human reviewers.
Researchers have worked on conversational agents for years, but automated storytelling presents new technical challenges.
“In a conversation, the human’s questions and responses can help keep the computer’s responses on track,” Black said. “When the bot is telling a story, however, that means it has to remain coherent for far longer than it does in a conversation.”
Automated storytelling might be used for generating substories in videogames, Black said, or for generating stories that summarize presentations at a conference. Another application might be to generate instructions for repairing something or using complicated equipment that can be customized to a user’s skill or knowledge level, or to the exact tools or equipment available to the user.