Lara's Storytelling Resources

Skip table of contents

Here is a non-exhaustive list of various resources you might want if you're interested in automated story generation, interactive fiction (IF), or related research areas (such as story understanding and tabletop roleplaying games—TRPGs).

I also made a list of related researchers, and I try to keep up a list of upcoming conference and workshop deadlines. If you want me to add or update anything on any of these lists, please let me know! You can unscramble my email address here:

Note: This is not a list of papers in the field, but rather a list of corpora & code and their corresponding papers if they have it.
If you're looking for paper lists, you might be interested in @arnicas's list of text generation papers found on arXiv, Stephen Ware's Narrative Intelligence Lab reading list, or the Tsinghua Natural Language Processing Group's text generation list.

Story Datasets

Dataset
Year
Papers
Paper Code (Baselines)
Hugging Face Link
Leaderboard
ROCStories – 5-sentence crowdsourced stories for Story Cloze Test 2016 A Corpus and Cloze Evaluation for Deeper Understanding of Commonsense Stories and LSDSem 2017 Shared Task: The Story Cloze Test https://competitions.codalab.org/competitions/15333
CaTeRS – Causal and temporal relations using ROC Stories 2016 CaTeRS: Causal and Temporal Relation Scheme for Semantic Annotation of Event Structures
Scifi TV Plots – science fiction episode summaries from Fandom 2020 Story Realization: Expanding Plot Events into Sentences https://github.com/rajammanabrolu/StoryRealization https://huggingface.co/datasets/lara-martin/Scifi_TV_Shows
WritingPrompts – r/WritingPrompts 2018 Hierarchical Neural Story Generation https://github.com/facebookresearch/fairseq/tree/main/examples/stories https://huggingface.co/datasets/rewardsignal/reddit_writing_prompts
Lit Bank – annotated Project Gutenberg 2019 An Annotated Dataset of Literary Entities and Literary Event Detection
STORIUM – storium.com (gamified storytelling) 2020 STORIUM: A Dataset and Evaluation Platform for Machine-in-the-Loop Story Generation https://github.com/dojoteef/storium-gpt2
ESTER – tagged events from news articles from the TempEval3(TE3) workshop 2021 ESTER: A Machine Reading Comprehension Dataset for Event Semantic Relation Reasoning https://github.com/PlusLabNLP/ESTER https://eventqa.github.io/
CMU Movie Summary Corpus – Wikipedia movie summaries 2013 Learning Latent Personas of Film Characters
bAbI & The Children’s Book Test (CBT) – kids' books from Project Gutenberg 2015 The Goldilocks Principle: Reading Children’s Books with Explicit Memory Representations and Towards AI-Complete Question Answering: A Set of Prerequisite Toy Tasks https://github.com/facebookarchive/bAbI-tasks
Cornell Movie Dialog – movie scripts and metadata 2011 Chameleons in Imagined Conversations: A New Approach to Understanding Coordination of Linguistic Style in Dialogs https://convokit.cornell.edu/documentation/movie.html https://huggingface.co/datasets/cornell_movie_dialog
r\AmITheAsshole stories 2023 Author as Character and Narrator: Deconstructing Personal Narratives from the r/AmITheAsshole Reddit Community
TV Tropes – movie scripts annotated with tropes from TVTropes 2022 Computational Support for Trope Analysis of Textual Narratives
FIREBALL – Avrae Discord bot commands + natural language 2023 FIREBALL: A Dataset of Dungeons and Dragons Actual-Play with Structured Game State Information
Dungeons and Dragons as a Dialog Challenge for Artificial Intelligence – dndbeyond.com 2022 Dungeons and Dragons as a Dialog Challenge for Artificial Intelligence
Deep Dungeons and Dragons (DDD) Corpus – roleplayerguild.com 2018 Deep Dungeons and Dragons: Learning Character-Action Interactions from Role-Playing Game Transcripts
ScriptWriter – from GraphMovie, which no longer exists (descriptions of movie plots) 2020 ScriptWriter: Narrative-Guided Script Generation https://github.com/DaoD/ScriptWriter
NarrativeQA – movie scripts from various sources and Project Gutenberg books 2018 The NarrativeQA Reading Comprehension Challenge https://github.com/deepmind/narrativeqa https://huggingface.co/datasets/narrativeqa https://paperswithcode.com/sota/question-answering-on-narrativeqa
MCTest – 150-300 word stories written by crowdworkers 2013 MCTest: A Challenge Dataset for the Open-Domain Machine Comprehension of Text https://huggingface.co/datasets/sagnikrayc/mctest https://paperswithcode.com/dataset/mctest
InSentive – authored stories from BookCorpus 2021 Inspiration through Observation: Demonstrating the Influence of Automatically Generated Text on Creative Writing https://github.com/roemmele/InSentive
CoAuthor – collaborative writing dataset 2022 CoAuthor: Designing a Human-AI Collaborative Writing Dataset for Exploring Language Model Capabilities
TimeTravel – stories and counterfactual continuations 2019 Counterfactual Story Reasoning and Generation https://github.com/qkaren/Counterfactual-StoryRW
TellMeWhy – Q&A for stories 2021 TellMeWhy: A Dataset for Answering Why-Questions in Narratives
PerSenT – author sentiment prediction (news articles) 2020 Author's Sentiment Prediction
EmotionLines – dialog from the Friends TV show & EmotionPush private chat logs 2018 EmotionLines: An Emotion Corpus of Multi-Party Conversations
TVRecap – TV shows from Fandom and TVMegaSite (soap operas) 2021 TVRecap: A Dataset for Generating Stories with Character Descriptions
FanFiction Archive – fanfiction.net 2016 Beyond Canonical Texts: A Computational Analysis of Fanfiction
HPAC 2019 Harry Potter and the Action Prediction Challenge from Natural Language https://github.com/aghie/hpac
SummScreen 2022 SummScreen: A Dataset for Abstractive Screenplay Summarization
SQuAD 2.0 (Stanford Question Answering Dataset) – reading comprehension 2018 SQuAD: 100,000+ Questions for Machine Comprehension of Text and Know What You Don't Know: Unanswerable Questions for SQuAD https://worksheets.codalab.org/worksheets/0x8212d84ca41c4150b555a075b19ccc05/
Naive Psychology of Characters in Simple Commonsense Stories – "cause and effect of mental state changes of characters in a story" 2018 Modeling Naive Psychology of Characters in Simple Commonsense Stories
Character Relations 2015 Annotating Character Relations in Literary Texts
TVShowGuess 2022 TVShowGuess: Character Comprehension in Stories as Speaker Guessing
Various corpora from UCSC's Natural Language and Dialogue Systems (NLDS) lab

Mixed Visual & Textual Datasets

Dataset
Year
Papers
Paper Code
Hugging Face Link
Leaderboard
BookCorpus 2015 Aligning Books and Movies: Towards Story-Like Visual Explanations by Watching Movies and Reading Books and Skip-thought vectors https://github.com/ryankiros/skip-thoughts https://huggingface.co/datasets/bookcorpus
COIN 2019 COIN: A Large-scale Dataset for Comprehensive Instructional Video Analysis https://github.com/coin-dataset
WikiHow 2018 WikiHow: A Large Scale Text Summarization Dataset https://github.com/mahnazkoupaee/WikiHow-Dataset https://huggingface.co/datasets/wikihow
VIST – Visual storytelling data + task 2016 Visual Storytelling https://paperswithcode.com/dataset/vist
MovieGraphs – knowledge graphs, images, and descriptions 2018 MovieGraphs: Towards Understanding Human-Centric Situations from Videos
KG-Story 2020 Knowledge-Enriched Visual Storytelling
Character-Preserving Coherent Story Visualization (CP-CSV) – character-based story visualization 2020 Character-Preserving Coherent Story Visualization
StoryGAN – story visualization 2019 StoryGAN: A Sequential Conditional GAN for Story Visualization
Pororo-SV – StoryGAN CLEVR dataset 2019 StoryGAN: A Sequential Conditional GAN for Story Visualization https://paperswithcode.com/sota/story-visualization-on-pororo
DramaQA – Video Story Understanding on Korean TV Show "Another Miss Oh" 2021 DramaQA: Character-Centered Video Story Understanding with Hierarchical QA https://github.com/liveseongho/DramaQA
MovieQA 2016 MovieQA: Understanding Stories in Movies through Question-answering https://github.com/makarandtapaswi/MovieQA_CVPR2016/

Story Evaluation, Understanding, & Cloze Tests

Test
Year
Papers
Leaderboard
Plot-guided Coherence Evaluation 2021 Plot-guided Adversarial Example Construction for Evaluating Open-domain Story Generation
Choose Your Own Adventure Evaluation 2021 Choose Your Own Adventure: Paired Suggestions in Collaborative Writing for Evaluating Story Generation Models
Narrative Cloze Test 2008 Unsupervised Learning of Narrative Event Chains
Story Cloze Test 2016 A Corpus and Cloze Evaluation for Deeper Understanding of Commonsense Stories and LSDSem 2017 Shared Task: The Story Cloze Test https://competitions.codalab.org/competitions/15333
BookTest – Cloze Test using Project Gutenberg 2017 Embracing Data Abundance
Who-did-What – Cloze Test using LDC English Gigaword newswire corpus 2016 Who did What: A Large-Scale Person-Centered Cloze Dataset https://tticnlp.github.io/who_did_what/leaderBoard.html
Do Massively Pretrained Language Models Make Better Storytellers? Do Massively Pretrained Language Models Make Better Storytellers?
RoFT 2020 RoFT: A Tool for Evaluating Human Detection of Machine-Generated Text
Sentence Mover's Similarity 2019 Sentence Mover’s Similarity: Automatic Evaluation for Multi-Sentence Texts
Figurine – Cloze test for idioms and similies 2022 It's not Rocket Science: Interpreting Figurative Language in Narratives https://leaderboard.allenai.org/figurine/submissions/public
SuQA 2021 Summarize-then-Answer: Generating Concise Explanations for Multi-hop Reading Comprehension
CIS^2 – commonsense reasoning in stories as a classification task 2022 CIS^2: A Simplified Commonsense Inference Evaluation for Story Prose
CoRRPUS – story understanding with code-based prompting 2023 CoRRPUS: Code-based Structured Prompting for Neurosymbolic Story Understanding

Data Scrapers & Processors

Dataset
Info
ScreenPy parsing and annotating screenplays
TropeScraper films and corresponding tropes from TV Tropes
Novel Chapter Summaries full book chapters and their summaries
Archive of Our Own Scraper scraper for Archive of Our Own fanfiction
Fanfiction Scraper scraper for fanfiction.net
BookNLP process your own book data
Newspaper3k newspaper scraper Python library
Homemade BookCorpus recreation of BookCorpus

Interactive Fiction Environments

Interactive Fiction Agents

Story Planning Systems

Planner
Year
Papers
Glaive - a fast planner for multi-agent stories 2014 Glaive: a state-space narrative planner supporting intentionality and conflict
Sabre - next-gen Glaive 2021 Sabre: A Narrative Planner Supporting Intention and Deep Theory of Mind
StoryAssembler - "a narrative system for procedurally generating choice-based interactive narratives" 2019 StoryAssembler: An Engine for Generating Dynamic Choice-Driven Narratives
Belief and Intentional PDDL 2020 Using Domain Compilation to Add Belief to Narrative Planners
Winnow - "declarative domain-specific query language for story sifting" 2021 Winnow: A Domain-Specific Language for Incremental Story Sifting
Felt - "simple story sifting and simulation engine for emergent narrative play experiences" 2019 Felt: A Simple Story Sifter
Recurve (C++) - decompositional planner 2016
STRIPS Planner (Python) 2012
Partial Order Causal-Link (POCL) Planner (Python) 2019

Story Generation Code

Code
Year
Papers
DOC - generate stories from outlines with OPT 2022 DOC: Improving Long Story Coherence With Detailed Outline Control
Re^3 - code to generate stories from premises with GPT-3 2022 Re3: Generating Longer Stories With Recursive Reprompting and Revision
Story Gen BART 2020 Content Planning for Neural Story Generation with Aristotelian Rescoring
EnGen 2018 Neural text generation in stories using entity representations as context
AI Dungeon 2 2019
Plan-And-Write 2019 Plan-and-Write: Towards Better Automatic Storytelling
ASTER (Automated Story-Telling using Event Representations) 2018 Event Representations for Automated Story Generation with Deep Neural Nets
Story Realization 2020 Story Realization: Expanding Plot Events into Sentences
COINS (COntextualized Inference Rules for Narrative Story Completion) 2021 COINS: Dynamically Generating COntextualized Inference Rules for Narrative Story Completion
C2PO 2021 Automated Storytelling via Causal, Commonsense Plot Ordering
Creative Help 2015 Creative Help: A Story Writing Assistant
Infilling by Language Modeling (ILM) 2020 Enabling Language Models to Fill in the Blanks
Switching Linear Dynamical System (SLDS) 2020 Generating Narrative Text in a Switching Dynamical System
Label Semantics for Predicting Emotional Reactions 2020 Modeling Label Semantics for Predicting Emotional Reactions
Paranoid Transformer 2020 Paranoid Transformer: Reading Narrative of Madness as Computational Approach to Creativity
SoCP (Storytelling of multi-Character Psychology) 2020 Controllable Multi-Character Psychology-Oriented Story Generation
TD-VAE for Story Generation 2021 A Temporal Variational Model for Story Generation
PlotMachines 2020 PlotMachines: Outline-Conditioned Generation with Dynamic Plot State Tracking
Talk of the Town 2016 Characters Who Speak Their Minds: Dialogue Generation in Talk of the Town and Simulating Character Knowledge Phenomena in Talk of the Town
Toward Better Storylines with Sentence-Level Language Models 2020 Toward Better Storylines with Sentence-Level Language Models

Libraries & Toolkits

Library
Info
OpenAI GPT-3, ChatGPT, GPT-4
Hugging Face Hugging Face provides state-of-the-art general-purpose neural language model architectures like BERT, GPT-2, and others.
Hugging Face Transformer Library
AllenNLP Deep learning for NLP with state of the art models
Spacy "Industrial-Strength Natural Language Processing" in Python
NLTK - Natural Language Toolkit Basic NLP tools for Python & interfacing with some external models
Stanford NLP various NLP models in Java
Stanza Stanford NLP for Python
ConvKit Cornell Conversation Analysis Toolkit
Open IE information extraction on sentences

Knowledge Bases & Commonsense Reasoning

Knowledge Base
Year
Papers
Hugging Face Link
VerbNet 2005, 2018 VerbNet: A Broad-Coverage, Comprehensive Verb Lexicon and Integrating Generative Lexicon Event Structures into VerbNet
FrameNet 1997, 2016 FrameNet II: Extended Theory and Practice https://paperswithcode.com/dataset/framenet
WordNet 1985, 1998, 2005 WordNet: An Electronic Lexical Database
ConceptNet 5 2017 ConceptNet 5.5: An Open Multilingual Graph of General Knowledge https://huggingface.co/datasets/conceptnet5
ATOMIC (ATlas Of MachIne Commonsense) 2019 ATOMIC: An Atlas of Machine Commonsense for If-Then Reasoning https://huggingface.co/datasets/atomic
COMET (COMmonsEnse Transformers) - uses ATOMIC and ConceptNet 2019 COMET: Commonsense Transformers for Automatic Knowledge Graph Construction
(Comet-) ATOMIC 2020 - updated ATOMIC 2021 COMET-ATOMIC 2020: On Symbolic and Neural Commonsense Knowledge Graphs
COLLIE-V 2020 A Broad-Coverage Deep Semantic Lexicon for Verbs
GLUCOSE (GeneraLized and COntextualized Story Explanations) 2020 GLUCOSE: GeneraLized and COntextualized Story Explanations https://huggingface.co/datasets/glucose
Power and Agency in modern films 2017 Connotation Frames of Power and Agency in Modern Films
Eraser - Movie Rationales 2020 ERASER: A Benchmark to Evaluate Rationalized NLP Models https://huggingface.co/datasets/movie_rationales
Open-SESAME - FrameNet frame extraction with RNNs 2017 Frame-Semantic Parsing with Softmax-Margin Segmental RNNs and a Syntactic Scaffold
ECIpedia
The NOC List 2016 Round Up The Usual Suspects: Knowledge-Based Metaphor Generation
NULEX - combines WordNet, VerbNet, and Wiktionary 2011 NULEX: An Open-License Broad Coverage Lexicon
CausalBank 2020 Guided Generation of Cause and Effect
SCRUPLES - ethical judgements 2021 SCRUPLES: A Corpus of Community Ethical Judgments on 32,000 Real-life Anecdotes
PeKo - event preconditions 2020 Modeling Preconditions in Text with a Crowd-sourced Dataset
SWAG (Situations With Adversarial Generations) - NLI from video captions 2018 SWAG: A Large-Scale Adversarial Dataset for Grounded Commonsense Inference
HellaSwag (Harder Endings, Longer contexts, and Low-shot Activities for Situations With Adversarial Generations) - commonsense inference (harder SWAG) 2019 HellaSwag: Can a Machine Really Finish Your Sentence? https://huggingface.co/datasets/hellaswag
CLUTRR (Compositional Language Understanding with Text-based Relational Reasoning) 2019 CLUTRR: A Diagnostic Benchmark for Inductive Reasoning from Text https://huggingface.co/datasets/CLUTRR/v1
Social Chemistry 2020 Social Chemistry 101: Learning to Reason about Social and Moral Norms
VADER (Valence Aware Dictionary and sEntiment Reasoner) 2014 VADER: A Parsimonious Rule-based Model for Sentiment Analysis of Social Media Text

Extras

Programming Languages & Authoring Tools for Writing Interactive Fiction

Notable IF Games

Tutorials

RPG/IF Inspiration

Name
Info
Polygon's Favorite Actual Play Podcasts Personal recommendation: The Adventure Zone
Actual Play Podcasts
Roll 20 Play tabletop games with friends virtually
chooseyourstory.com
AI Dungeon
Interactive Fiction on Itch.io Find cool indie IF games
Interactive Fiction Database IMDb for IF
Interactive Fiction Wiki

Related Courses

Course
Taught By
Year
Interactive Narrative Nick Montfort 2019 (Fall)
Interactive Fiction and Text Generation Lara J. Martin & Chris Callison-Burch 2022 (Spring)
AI Storytelling in Virtual Worlds Mark Riedl 2022 (Spring)
Computational Poetics Kathy Wu 2021 (Spring & Fall)

Generators for TRPGs and IF

Name
Info
Picrew Make customizable character images
Fantasy Map Generator
RPG Tinker D&D 5e NPC Generator
AnyDice Dice Probability Calculator
Print graph paper Just blank graph paper!
donjon Random generators for tabletop games
RPG Maps in Wolfram Language Code to tile hex pieces together to make a map
RPG Map Editor 2 Downloadable app for making maps
RPGgen A collection of generators

Various Tools

Name
Info
Versu "an engine for telling interactive stories about people"
WOOL "dialogue platform for creating virtual agent conversations"
Sudo Write "Bust writer’s block with our magical writing AI."
Verse by Verse "An experimental AI-powered muse that helps you compose poetry inspired by classic American poets"