<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>dAIrector: Automatic Story Beat Generation through Knowledge Synthesis</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>HumanMachine</institution>
          ,
          <addr-line>London</addr-line>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>NC State University</institution>
          ,
          <addr-line>Raleigh, NC</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Alberta</institution>
          ,
          <addr-line>Edmonton, Alberta</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>dAIrector is an automated director which collaborates with humans storytellers for live improvisational performances and writing assistance. dAIrector can be used to create short narrative arcs through contextual plot generation. In this work, we present the system architecture, a quantitative evaluation of design choices, and a case-study usage of the system which provides qualitative feedback from a professional improvisational performer. We present relevant metrics for the understudied domain of human-machine creative generation, speci cally long-form narrative creation. We include, alongside publication, open-source code so that others may test, evaluate, and run the dAIrector.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Background and Related</title>
    </sec>
    <sec id="sec-3">
      <title>Work</title>
      <p>The research problem of automated story generation (ASG) is concerned with generating a sequence which
collectively form a narrative [Mee76, Coo28]. The sequence can be composed of abstract concepts such as events
or actions, or concrete text-based elements such as paragraphs, sentences, words, or characters. Di erent levels
of abstraction and concreteness are accompanied by di erent challenges. For instance, stories de ned at high
levels of abstraction maintain step-to-step coherence easier but are simpli ed and lack unique, speci c details.
Copyright c by M. Eger, K. Mathewson. Copying permitted for private and academic purposes.</p>
      <p>Previous ASG systems have used symbolic planning and extensive hand-engineering [RY10]. Open story
generation systems use machine learning techniques to learn representations of the domain from the training
data and incorporate knowledge from an external corpus [LLUJR13]. Martin et al. [MAW+17] address the
abstraction level challenges by using recurrent neural networks (RNNs) and an event representation to provide
a level of abstraction between words and sentences capable of modelling narrative over hundreds of steps. They
provide a method of pre-processing textual data into event sequences and then evaluate their event-to-event and
event-to-sentence models. Our methods are distinct from this technique as we do not focus on the problem of
sentence generation from words or characters. The dAIrector embraces human co-creators to provide dialog for
given plot point descriptions and context.</p>
      <p>Narrative generation approaches, such as TALESPIN [Mee77], focus on actions, their e ects, and element
relationships to delineate character intentions [RY10] and con ict [WY11] which ultimately leads to satisfying
an author de ned goal. Alternatively, there may be no prede ned goal, and systems may discover actions
autonomously [TFNH03], ideally resulting in an interesting story. To produce an interesting story in the context
of improv theater, however, the prescription of actions (e.g. lines of dialog, character choices, stage directions)
is less desirable. A description of a situation su ces to inspire actors who can then translate the prompt into
actions, with vague and ambiguous prompts giving the actors freedom to explore the scene [Saw03].
2.2</p>
      <sec id="sec-3-1">
        <title>Digital Storytelling</title>
        <p>The ad-hoc storytelling experience present in improv theater has been used for research into digital storytelling
for more than two decades. Perlin and Goldberg [PG96] use concepts from improvisational theater to populate
virtual worlds, while Hayes-Roth and van Gent [HRVG96] describe virtual agents that perform improvisational
theater, modifying their appearance to convey simulated emotional state. Several knowledge-based approaches
have been proposed for various problems in the space of acting in the improv theater, such as scene introduction
[OPFM11], fuzzy reasoning [MDD11], a ect detection [ZGB+07], and robotic actors [MM17b].</p>
        <p>Through collaboration between human and machine, complex stories can be constructed. Generative plot
systems have been developed for nearly 100 years [Coo28]. These systems aim to aid human creators with
algorithmically generated prompts to explore diverse plots. Through interaction with generative systems, users
are inspired to engage with topics they would not have otherwise. The excitement of exploring unknown spaces
and engaging with novel topics de nes the artform of theatrical improvisation [Joh79].
2.3</p>
      </sec>
      <sec id="sec-3-2">
        <title>Improvised Theatre</title>
        <p>In improvised theatre (improv) there is no script and no rehearsal; the show is written and performed at the
same time. It is an art derived from the spontaneous justi cation of pseudo-randomness. Improvised theatre
has been described as a suitable test bed for human-machine co-creation systems [M+09, MM17b, MHR16]. In
improv, performers must attend to, and remember, details in the story and must synthesize previous information
with novel dialogue and actions to progress a narrative. Often, the use of external prompts (or suggestions) are
utilized to add entropy to the performance [Joh79]. This motivates the actors to justify this information within
the context of the current scene [Saw03].</p>
        <p>Improvised scenes can be summarized in three stages: platform, tilt, nding a new normal [Joh79]. The
platform of the scene de nes what is normal in the universe (i.e. who, what, when, where). The tilt provides
avour1. It is what makes this particular performance unique from others with a similar platform. Finally, nding
a new normal is how the scene justi es the tilt towards resolution. These three stages enable investigation of the
ability of the dAIrector to generate cohesive plots and develop context-rich narrative. Our work addresses the
speci c aspect of generating prompts for the actors on stage during an improvised theater performance. These
prompts constitute the beats of the story in form of a platform, as well as tilts for the actors. It is then up to
the actors to act out the scene to nd a new normal.
3</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Approach</title>
      <p>We present an improvised narrative co-creation system called dAIrector which acts as an automated director to
collaborate with humans storytellers for live improvisational performances and writing assistance. The generated
stories are represented as linked clauses taken from William Wallace Cook's \Plotto: The Master Book of
1According to www.thewayo mprovisation.com/glossary.php: A tilt re-frames the scene with a di erent context.
1441a</p>
      <p>746
ch A to B
ch A to B
1373</p>
      <p>All Plots" [Coo28] augmented with related information from TV Tropes2|a wiki-style database that contains
narrative tropes occurring in a wide range of di erent narratives. Human artists can rapidly link the provided
prompts to collaboratively evolve a narrative through dialogue and actions. In this way, the dAIrector augments
human creativity. We discuss the challenges of evaluating a tool that, by design, provides ambiguous guidance.
We conclude by presenting several directions for future research.
3.1</p>
      <sec id="sec-4-1">
        <title>Plotto</title>
        <p>Our work builds on the narrative development book \Plotto: The Master Book of All Plots" by William Wallace
Cook [Coo28], which contains a large variety of plots. What makes it suitable for a computational application is
the graph structure. Rather than enumerating plots, Cook split them into fragments with instructions on how
to combine them.</p>
        <p>The plot fragments constitute nodes and edges between them describe which fragments can be connected to
obtain a story. Edges can have labels, which contain instructions for changing character symbols in subsequent
plot fragments (e.g. changing character A to character B). Figure 1 shows a subgraph from Plotto, each node
a plot point and each edge a modi cation. Fragment 746 is de ned in Plotto as: B, who was thought by the
people of her community to have supernatural powers, is discovered to have been insane - a condition caused by
a great sorrow. This fragment can be followed by either fragment 1441a: A seeks to discover the secret of Life,
or fragment 1373: A sells his shadow for an inexhaustible purse. Both of these fragments make no mention of
B, who is the main character of fragment 746. Therefore, the modifying edge instructs us to change A to B,
ensuring consistency of the characters used. These three nodes represent just a small fraction of the entire 3000
notes contained in Plotto. We automatically parse the nodes and edges into a JSON-based representation of the
graph. Thus, generating a story is done by performing a walk through the graph starting at any random node.</p>
        <p>Eger et al. used a similar method to build a plot generator utilizing the plot fragments [EPBY15]. Since the
plot fragments in Plotto are abstract descriptions of plot points, ambiguous, and contain symbolic names for
the characters, the generated plots are less than suitable for presentation to an audience. The ambiguity and
openness make them ideal for interpretation in improvised theatre. These plot points represent platforms for
scenes additional related details are needed to tilt the scene.
3.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>TV Tropes</title>
        <p>TV Tropes is a wiki-style website that contains narrative tropes, i.e. patterns or situations that occur across a
variety of di erent narratives. As a wiki, tropes often contain references to other, related tropes. Of particular
interest for our work are TV Tropes's plot tropes which describe high level plots abstractions. While related to
those plots in Plotto, this TV Tropes graph contains unlinked semantically related, complimentary information.</p>
        <p>The story beat is an identi able moment of change in a narrative [McK97, MS03], either in the form of a new
platform or as a tilt. By connecting the Plotto graph plot points as platforms and the TV Tropes plot tropes as
tilts, the dAIrector creates complete abstract narrative descriptions.</p>
        <p>As described above, story generation using Plotto can be thought of as a walk through the graph of plot
fragments. For a performance, dAIrector starts at a random node in the graph by presenting it to the actors on
stage. We call the plot fragment presented to the actors by the system the platform. The actors can prompt the
system for 1) the next platform in form of a new plot fragment or 2) for a tilt to re ne the current scene, and
the system will use the platform to determine which plot fragment or tilt to present next.
3.3</p>
      </sec>
      <sec id="sec-4-3">
        <title>Paragraph Vectors</title>
        <p>Our system utilizes paragraph vectors to provide information dependent on the current platform. Paragraph
Vector is an unsupervised machine learning method to represent variable-length input text in a dense,
xedlength feature vector [LM14]. Paragraph vectors overcome limitations of ignoring word order and semantics of
naive bag-of-word methods. To train the paragraph vector model, we use the full text of the plot fragments,
as well as the descriptions of the tropes. We follow the training as described by Le and Mikolov and use the
Doc2Vec method from Gensim 3. Training parameters are as follows:</p>
        <sec id="sec-4-3-1">
          <title>Dimensionality of feature vector: 410</title>
        </sec>
        <sec id="sec-4-3-2">
          <title>Initial learning rate: 0:03</title>
          <p>Maximum distance between the current and predicted word within a sentence (window): 4</p>
        </sec>
        <sec id="sec-4-3-3">
          <title>Ignore all words with fewer than two occurrences</title>
        </sec>
        <sec id="sec-4-3-4">
          <title>Negative sampling is used with 4 noise words</title>
        </sec>
        <sec id="sec-4-3-5">
          <title>All other parameters are defaults as de ned in Gensim.</title>
          <p>During a performance, the current platform is used as to nd the next platform or a tilt. Alternatively, instead
of using the current plot fragment, actors may also provide a custom prompt to the system to steer the plot in
a certain direction. When queried, the dAIrector returns 5 tilt options with minimum cosine distances in vector
space from the entire space of candidate options [MSC+13, CYK+18]. For vectors A and B the cosine distance,
or angle distance between two vectors, is de ned as d(A; B) = 1 kAAkkBBk .</p>
          <p>As noted above, we use the full text of the plot fragments, as well as the descriptions of the tropes to train
the paragraph vector model. However, since these descriptions are typically several paragraphs long, we only
communicate the trope names to the actors. While we perform all comparisons against the full textual description
of the tropes, this description is never displayed to the actors. This allows us to keep the instructions from the
dAIrector concise open ended while providing additional, related information [Saw03].
3.4</p>
        </sec>
      </sec>
      <sec id="sec-4-4">
        <title>Plot Tree Generation</title>
        <p>Rather than generating a single plot from the Plotto graph we generate a tree, with one start node chosen
randomly and all successors as children. Each of these children has its successors as children up to a con gurable
depth. By default, the platform used to determine the next scene is the current plot fragment, but actors may
prompt the system for a plot fragment that aligns more closely with their interpretation of a scene or details
which arose from the scene improvisation. A performance of such a plot tree starts at the root node, and proceeds
down the tree, where child nodes are chosen depending on the prompts given by the actors.</p>
        <p>For example, the plot fragment Carl's friends, Doug and Fred, believe that Lisa, whom Carl is about to
marry, is a woman of immoral character, has two successors: Carl seeks to free himself from certain meddlesome
in uences and Lisa, harassed by gossip that re ects on her integrity, seeks deliverance from false suspicion.
Depending on which aspect of the original plot the actors decide to focus on, the interference of Doug and Fred
in Carl's a airs or the rumors that Lisa is of immoral characters, one or the other successor is better suited. Note
that neither successor is completely unsuitable in any case, meaning that the platform can provide guidance for
the system, but that guidance does not necessarily have to be followed.
3.5</p>
      </sec>
      <sec id="sec-4-5">
        <title>Contextual Tilts</title>
        <p>In addition to simply traversing the plot tree, the system can also provide tilts in the form of plot tropes obtained
from TV Tropes. In this case, the platform is used to nd a selection of tropes that t best with the current
plot fragment. Tilts provide additional information. Thus, rather than returning the single trope is closest to
the platform, our system computes the 5 most semantically similar tropes and then returns a random sample
from the related set.</p>
        <p>Prior to sampling, plot fragments are ltered and excluded if they only provide redundant information. For
example, if the platform is Albert, an ine cient, futile sort of person, comes to believe that he is the reincarnation
of Nicola Tesla, the best tting trope according to our system is Reincarnation, which does not provide any
3https://pypi.org/project/gensim/, https://radimrehurek.com/gensim/models/doc2vec.html
additional information. However, the trope that has the second lowest distance is Deal With The Devil, which
provides additional guidance for the actors. In a performance, the actors can utilize this, for example, to narrow
down how Albert came to his belief, by making a deal with the devil. This provide the scene additional directions
to explore, but it is up to the actors to decide when they would prefer a tilt for additional guidance and when
they want to follow their own impulse for where the scene should go.</p>
        <p>To eliminate redundant tropes, we compute the word intersection of words with more than 3 letters (to exclude
articles, pronouns, etc.) with the platform and discard any tropes for which this intersection is non-zero. In
the example above, because the word reincarnation is also part of the platform this particular tilt would not be
provided by the system.
3.6</p>
      </sec>
      <sec id="sec-4-6">
        <title>Stage Presence</title>
        <p>For a performance, the system provides output in the form of platform beats and tilts, according to prompts
given by the actors. The basic outline of this process is as follows:
platform = root(plot_tree)
present(platform)
while platform != Null:
request, prompt = get_input()
context = platform
if prompt != Null:</p>
        <p>context = prompt
if request == "platform":
platform = best_match(context, children(platform))
present(platform)
if request == "tilt":
tilt = random(best_n_match(context, tvtropes, 5))
present(tilt)</p>
        <p>When the actors request either a platform beat or a tilt, the system uses the paragraph vector model to nd
the best match among all candidates for the given prompt, which defaults to the last presented platform beat.
For the next platform the candidates are the Plotto plot fragments that are children in the provided plot tree,
while for tilts the candidates are all TVTropes plot tropes.</p>
        <p>The basic mode of interaction with our system is through a console-based application. This application will
present the plot fragments in order, and can be prompted for the next platform or a tilt. For a live performance,
this mode is less convenient and therefore we also provide the capabilities for speech input and output, realized
through speech-to-text using pocketsphinx [HDKC+06] and text-to-speech using the built-in say operating system
command. Using this interaction mode, the system reads plot fragments and tilts out loud, and the next platform
beat or tilt can be obtained by the actors saying the corresponding keywords.</p>
        <p>Plot fragments, as contained in Plotto refer to characters in the story using codes, including A for the main
male character, B for the main female character, but also very speci c codes such as AU X for a ctitious
aunt. As part of presenting the plot fragments to the actors and audience, our system replaces these codes
with consistent character names. This is controlled via a con guration le, with default names provided by the
system. For clarity, we present all plot fragments in this paper with names replaced. Note that at this point we
do not change pronouns if character symbols are replaced since that would require automatic identi cation of
the referent of each pronoun, which is outside the scope of this work.
4</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Evaluation</title>
      <p>Given the unique environment of an improv theater performance, evaluating the quality of output is challenging;
there is often no catastrophically \wrong" output [MM17b]. That said, given the platform some tilts will require
signi cantly more justi cation to produce a satisfying narrative [Saw03]. For our work, the main challenge lies
with evaluating the platforms and tilts of story fragments.</p>
      <p>Having humans annotate multiple story fragments with the best tting trope is a challenging multi-class
classi cation problem. For example, the plot fragment Joe, becoming aware of an old prophecy, unconsciously
seeks to become like the exalted protagonist of the prophecy could be seen as having any of the tropes Prophecy
Twist, Self Ful lling Prophecy, The Unchosen One, or Because Destiny Says So (among others) as the \correct"
t. For this task, we report how well our system reproduces human-assigned tilts on our test set.
4.1</p>
      <sec id="sec-5-1">
        <title>Evaluation of Tilts</title>
        <p>To test the key functionality of dAIrector, that of selecting a best- tting tilt given a plot fragment, we design a
simple task. First, we generated a dataset of 100 clean, labelled tilt { plot fragment pairs. We split this dataset
into training and testing sets. For evaluation, we sample a random plot fragment from the test set and the task
for the system is to correctly predict the associated tilt. Given a plot fragment our model returns the 5 candidate
tilts with the minimum cosine distance. We evaluate the system based on top-5 accuracy. Clearly stated for
explicitness, given a plot fragment, how likely is it that the associated tilt is in the 5 results returned by the
system? This number is reported over the entire 20 examples in the test set.</p>
        <p>One insight gained from this approach was that while the tropes produced by the system are usually related
to the text fragment, there are several tropes that are vague and apply to many scenarios, while others, which
are often more closely related to the story fragment at hand are more speci c. For example, in our test set,
the trope \Much Ado about Nothing", which is a generic trope about love, applies to a wide variety of plot
fragments. The trope that was selected the second most often for our test set was, \Road Trip", which applies
to a wide variety of travel-related scenarios.</p>
        <p>The dAIrectory returns a random sample from the ve most closely related tilts to a given plot point. It is
therefore also reasonable to use the top-5 error as a measure of quality rather than the top-1 error. Top-N error
is a common error metric for classi cation tasks and measures how often the target class does not show up in
the top-N classes assigned to a test example.</p>
        <p>Even so, the top-5 error on our test set is 40%, while the top-1 error rate is 66%. While high, the trope
annotation task resulted in many arbitrary choices by human annotators. Most likely this is due to there not
being a clear best trope, and human annotators being overwhelmed by the number of possible, subtly di erent,
tropes.</p>
        <p>Our plot trope set contained about 700 tropes from the total trope set of about 43004. For example, the story
fragment Alfred is thrown into prison through false evidence in a political conspiracy was assigned the trope Get
Into Jail Free by a human annotator, but our system returned Clear Their Name, Mystery Literature, No Mere
Windmill, Lipstick Mark 5, Prison Riot as the top ve tropes, all of which could also be deemed applicable.</p>
        <p>Note the di erence in speci city between Mystery Literature and Lipstick Mark, where the latter provides a
lot more detail to the actors of how to proceed with the scene. At present, our system treats all tropes as equally
applicable, but, as noted above, some tropes are more general and thus related to the story being presented
while actually adding less detail than others. While very speci c, the de nition of the trope Get Into Jail Free
actually refers to a character that wants to get arrested intentionally, which is arguably less tting with the given
sentence, but demonstrates the challenges faced by the human annotators.</p>
        <p>As a way to quantify this discrepancy we used information contained within the TV Tropes graph. Tropes
linked from one another if they shared some commonality. We used these links to calculate a distance between
tilts our system generated and the humans annotated, equal to the number of links between two tropes.</p>
        <p>For example, Get Into Jail Free links to Can't Get in Trouble for Nuthin', which links to FrameUp as a reason
for the arrest. That trope links to Clear Their Name as a way to resolve the situation, resulting in a distance of
3 between Get Into Jail Free and Clear Their Name.</p>
        <p>Over the entire TV Tropes set, the median distance between two tropes is 3 (mean: 3:1, stddev: 0:6). This
is not unexpected, since tropes often refer to \supertropes", which refer to other \supertropes", from which the
target trope can be reached. However, the median distance for tropes given as tilts by our system, excluding
those that exactly matched the human annotation was 2 (mean: 2:5, stddev: 0:7), which is typically a connection
via the \supertrope" common to the two tropes.
4.2</p>
      </sec>
      <sec id="sec-5-2">
        <title>Sample Stories</title>
        <p>To better illustrate the output from our system, we present sample stories produced by the system along with
tilts the actors might be given. These stories demonstrate how the produced outputs are coherent stories. The
coherency is a product of the structure employed by Plotto. Additionally, we show examples of stories to illustrate
that the tilts the system selects can be used to re ne, provide background information, or drive the story in
4These are the 700 tropes listed as plot tropes by TV Tropes: https://tvtropes.org/pmwiki/pmwiki.php/Main/Plots
5as in evidence of a cheating spouse.
di erent directions. To demonstrate our system, we set the maximum length of each story to 5. Shorter stories
tend not to have enough happening in them to qualify them as stories, while longer stories, owing to the structure
of the book, start to meander to di erent, somewhat unrelated story lines.</p>
        <p>The rst example is a well structured narrative with a beginning, middle, and end, consisting of the following
platform beats:
1. Lana, a person influenced by obligation, falls into misfortune through mistaken judgment.
2. Lana, in order to be revenged upon her enemy, Mr. Kyle, manufactures an infernal
machine, BLOB.
3. Lana, influenced by a compelling idea of responsibility, finds it necessary to protect
her friend, Tynan, from a secret danger.
4. Lana, suspected of treachery by her friend, Tynan, in a daring rescue, saves the property
and perhaps the life of Tynan, and proves her faithfulness by a revelation of the danger
to which Tynan, unknown to himself, was exposed.
5. Lana seeks to correct a character weakness in her friend, Tynan.
6. Lana achieves success and happiness in a hard undertaking.</p>
        <p>In each scene, the platform is clear and evident. In addition to the platform of the scene and the dialog from
the improvisors, the actors might desire a plot device to instigate or inspire the action. For instance, the "secret
danger" referenced in Scene 3 is vague, and the actors might ask the system for a tilt. One such applicable tilt
returned by our system, It Belongs in a Museum, provides context to further re ne the \secret danger".</p>
        <p>Plot fragments present in Plotto rarely mention time passing, and it is often up to the actors to explain jumps
in time. Consider this example of a sequence of platform beats from our system:
1. Alfred, in order to restore to Beatrice, without a confession of culpability, wealth of
which he has secretly defrauded her, marries her.
2. Alfred seeks to escape difficulties, restore property and be free of an unloved wife,</p>
        <p>Beatrice, all by secret enterprise.
3. Alfred leaves his coat on a cliff at the seaside, drops his hat in a stunted tree below
the brink, and vanishes from the scenes that know him.
4. Alfred, under a fictitious name, returns to his native place, where he had committed
a youthful transgression, and, as an Unknown, seeks to discover whether his youthful
escapades have been forgotten and forgiven. Also, he wishes to make reparation in an
assumed character for wrong done in his true character.
5. Alfred, returning as an Unknown to his native place, discovers no one recognizes him.</p>
        <p>Alfred disappears in scene 3, and then reappears what is apparently much later in scene 4 to wrap up his
transgressions from the earlier scenes. We highlight this story, because when the system was asked for a tilt on
scene 3, it responded with the tilt Tailor Made Prison, which seemed un tting at rst. However, upon re ection
the references to the coat and hat link it to the concept of a tailor. This is remarkable for two reasons: 1) it
is probably not a connection that would arise immediately to a human, and 2) this can be seen as a pun that
works well within the context of our domain.
4.3</p>
      </sec>
      <sec id="sec-5-3">
        <title>Qualitative Evaluation by Professional Improvisor</title>
        <p>To investigate the quality of the system we instructed a professional improvisor ( uent, native English speaker,
improvisor with 10+ years performance experience) to interact with the dAIrector. The performer was given an
introduction to the system, and then explored the interaction over the course of several scenes. The performer
discussed their impressions during the interaction. We summarize the interaction feedback below by including
quotes from the performer. For several points, we directly address the quotes.</p>
        <p>There is a real fun in getting yourself into trouble and then putting your faith in the dAIrector to do something
to help. In improvisation these are described as What Should I Do? moments, when the improvisor decided
to prompt the system for the next plot point or tilt.</p>
        <p>It doesn't know what I want the scene to be about or what decisions I make. This is an area for future work
focused on how the actor's dialogue and actions are incorporated as prompts for the system.
Justi cation is natural, and it is natural to make leaping assumptions to connect actions/intentions to
characters as the plot generation system did not inherently make those assignments.</p>
        <p>Tilts don't over-complicate the narrative, it expands the story rather than advancing the plot, it adds avour.
The tilt is not always necessary, and making it optional is suitable in improvisation. That said, I prefer to
use the system with the contextual tilts. They run the risk of throwing a curveball that is very di cult, but
they are often the sort of thing that would be very fun to play. Tilts are a fun expansion.</p>
        <p>I prefer being able to choose when the plot points and hints come
5</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Discussion and Conclusions</title>
      <p>One of the limitations of our approach is that in our graph representation of domains all nodes are created equal,
even when the underlying data sets might have additional information attached to them. For example, the tropes
in the TV Tropes data set actually frequently refer to \subtropes", \supertropes" or even state \contrast with" or
\opposite of" in relation to another trope. Our system often returns very broad tilts such as Mystery Literature,
or overly speci c tilts such as Lipstick Mark, without any means to control which one to get. However, we
believe that utilizing the structural information contained within the data set could lead to tilts that are better
suited for any application. Extracting this structural information is non-trivial as it is not structured meta-data.
Additionally, while TV Tropes is a useful resource, it is a large dataset that su ers from common dataset quality
and inconsistency issues. One way to address these limitations would be to use a subset of tropes that are
particularly narrative building. This would require ltering based on a heuristic (learned or pre-de ned) which
can classify and rank tropes based on narrative building qualities. Some of these qualities could be information
about the universe gained through introduction of the trope, or dynamic shifts between characters</p>
      <p>We used Plotto and TV Tropes as our data sources because they cover a wide range of di erent narratives. It
would also be possible to expand the dAIrector to use more specialized databases such as DramaBank [Els12].
By designing a structured graph of information, textual plots of TV show episodes could constitute an interesting
data source as well. This could allow for plots which extend over seasons, character arcs, individual episode, or
scenes within an episode.</p>
      <p>Treating the plot fragments as a graph allows us to use the story-generating walk for other data sources which
can be represented as graphs. We are also considering a possible application outside of narratives: the directed
exploration of large graphs, such as Wikipedia for knowledge synthesis. In this scenario we could target users
browsing a certain topic, starting an article of interest. The user could then request linked articles, constrained
to articles semantically related to a query from a di erent data source.
6</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgements</title>
      <p>We would like to thank the anonymous reviewers for their insightful feedback and suggestions toward improving
this research. Additionally, we would like to thank several individuals for their invaluable discussion in the
preparation of this work, they include: Piotr Mirowski, Stuart Hoye, and Gary Kacmarc k. Finally, we are
indebted to the talented perfomers at Rapid Fire Theatre who provided expert opinions on the system, including:
Paul Blinov and Julian Faid.
[Coo28]
[CYK+18]</p>
      <p>Daniel Cer, Yinfei Yang, Sheng-yi Kong, Nan Hua, Nicole Limtiaco, Rhomni St John, Noah
Constant, Mario Guajardo-Cespedes, Steve Yuan, Chris Tar, et al. Universal sentence encoder. arXiv
preprint arXiv:1803.11175, 2018.</p>
      <p>David Elson. Dramabank: Annotating agency in narrative discourse. In LREC, 2012.</p>
      <p>Markus Eger, Colin M Potts, Camille Barot, and R Michael Young. Plotter: operationalizing the
master book of all plots. Proceedings of the Intelligent Narrative Technologies and Social Believability
in Games, pages 30{33, 2015.
[HRVG96]
[Joh79]</p>
      <p>Kory Wallace Mathewson and Piotr Mirowski. Improvised theatre alongside arti cial intelligences.
In AAAI Conference on Arti cial Intelligence and Interactive Digital Entertainment, 2017.
[TFNH03]
[WY11]
[ZGB+07]</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [HDKC+06]
          <string-name>
            <surname>David</surname>
          </string-name>
          Huggins-Daines, Mohit Kumar, Arthur Chan, Alan W Black, Mosur Ravishankar, and
          <string-name>
            <surname>Alexander</surname>
            <given-names>I</given-names>
          </string-name>
          <string-name>
            <surname>Rudnicky</surname>
          </string-name>
          .
          <article-title>Pocketsphinx: A free, real-time continuous speech recognition system for hand-held devices</article-title>
          .
          <source>In Acoustics, Speech and Signal Processing</source>
          ,
          <year>2006</year>
          . ICASSP 2006 Proceedings. 2006 IEEE International Conference on, volume
          <volume>1</volume>
          ,
          <string-name>
            <surname>pages</surname>
            <given-names>I{I. IEEE</given-names>
          </string-name>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>Barbara</given-names>
            <surname>Hayes-Roth</surname>
          </string-name>
          and Robert Van Gent.
          <article-title>Improvisational puppets, actors, and avatars</article-title>
          .
          <source>In Proc Computer Game Developers' Conf</source>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <given-names>Keith</given-names>
            <surname>Johnstone</surname>
          </string-name>
          . Impro.
          <article-title>Improvisation and the theatre</article-title>
          .
          <source>Faber and Faber Ltd</source>
          ,
          <year>1979</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [LLUJR13]
          <string-name>
            <given-names>Boyang</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Stephen</given-names>
            <surname>Lee-Urban</surname>
          </string-name>
          ,
          <string-name>
            <given-names>George</given-names>
            <surname>Johnston</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Mark O.</given-names>
            <surname>Riedl</surname>
          </string-name>
          .
          <article-title>Story generation with crowdsourced plot graphs</article-title>
          .
          <source>In Proceedings of the Twenty-Seventh AAAI Conference on Arti cial Intelligence</source>
          ,
          <source>AAAI'13</source>
          , pages
          <fpage>598</fpage>
          {
          <fpage>604</fpage>
          . AAAI Press,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>Quoc</given-names>
            <surname>Le</surname>
          </string-name>
          and
          <string-name>
            <given-names>Tomas</given-names>
            <surname>Mikolov</surname>
          </string-name>
          .
          <article-title>Distributed representations of sentences and documents</article-title>
          .
          <source>In International Conference on Machine Learning</source>
          , pages
          <volume>1188</volume>
          {
          <fpage>1196</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <given-names>Brian</given-names>
            <surname>Magerko</surname>
          </string-name>
          et al.
          <article-title>An empirical study of cognition and theatrical improvisation</article-title>
          .
          <source>In Creativity and Cognition</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [MAW+17]
          <string-name>
            <surname>Lara J Martin</surname>
            ,
            <given-names>Prithviraj Ammanabrolu</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Xinyu</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>William</given-names>
            <surname>Hancock</surname>
          </string-name>
          , Shruti Singh,
          <string-name>
            <given-names>Brent</given-names>
            <surname>Harrison</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Mark O</given-names>
            <surname>Riedl</surname>
          </string-name>
          .
          <article-title>Event representations for automated story generation with deep neural nets</article-title>
          .
          <source>arXiv preprint arXiv:1706.01331</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <given-names>Robert</given-names>
            <surname>McKee</surname>
          </string-name>
          .
          <article-title>Substance, structure, style, and the principles of screenwriting</article-title>
          . New York: HarperCollins,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <given-names>Brian</given-names>
            <surname>Magerko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Peter</given-names>
            <surname>Dohogne</surname>
          </string-name>
          , and Chris DeLeon.
          <article-title>Employing fuzzy concept for digital improvisational theatre</article-title>
          .
          <source>In Proceedings of the Seventh AAAI Conference on Arti cial Intelligence and Interactive Digital Entertainment, AIIDE'11</source>
          , pages
          <fpage>53</fpage>
          {
          <fpage>60</fpage>
          . AAAI Press,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>James Richard Meehan.</surname>
          </string-name>
          <article-title>The metanovel: writing stories by computer</article-title>
          .
          <source>Technical report</source>
          , Yale Univ, New Haven Conn, Dept of Comp Sci,
          <year>1976</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>James R Meehan</surname>
          </string-name>
          .
          <article-title>Tale-spin, an interactive program that writes stories</article-title>
          .
          <source>In IJCAI</source>
          , volume
          <volume>77</volume>
          , pages
          <fpage>91</fpage>
          {
          <fpage>98</fpage>
          ,
          <year>1977</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Lara J Martin</surname>
            ,
            <given-names>Brent</given-names>
          </string-name>
          <string-name>
            <surname>Harrison</surname>
            , and
            <given-names>Mark O</given-names>
          </string-name>
          <string-name>
            <surname>Riedl</surname>
          </string-name>
          .
          <article-title>Improvisational computational storytelling in open worlds</article-title>
          .
          <source>In Interactive Storytelling: 9th Intl Conf on Interactive Digital Storytelling</source>
          , Los Angeles, USA, November
          <volume>15</volume>
          {
          <fpage>18</fpage>
          ,
          <year>2016</year>
          ,
          <volume>Proc 9</volume>
          , pages
          <fpage>73</fpage>
          {
          <fpage>84</fpage>
          . Springer,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <given-names>Kory</given-names>
            <surname>Wallace</surname>
          </string-name>
          Mathewson and
          <string-name>
            <given-names>Piotr</given-names>
            <surname>Mirowski</surname>
          </string-name>
          .
          <article-title>Improvised comedy as a turing test</article-title>
          .
          <source>arXiv preprint arXiv:1711.08819</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <given-names>Michael</given-names>
            <surname>Mateas</surname>
          </string-name>
          and
          <string-name>
            <given-names>Andrew</given-names>
            <surname>Stern</surname>
          </string-name>
          .
          <article-title>Facade: An experiment in building a fully-realized interactive drama</article-title>
          .
          <source>In Game developers conference</source>
          , volume
          <volume>2</volume>
          , pages
          <issue>4{8</issue>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <given-names>Tomas</given-names>
            <surname>Mikolov</surname>
          </string-name>
          , Ilya Sutskever, Kai Chen, Greg S Corrado, and
          <string-name>
            <given-names>Je</given-names>
            <surname>Dean</surname>
          </string-name>
          .
          <article-title>Distributed representations of words and phrases and their compositionality</article-title>
          .
          <source>In Advances in neural information processing systems</source>
          , pages
          <volume>3111</volume>
          {
          <fpage>3119</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Brian O'Neill</surname>
            , Andreya Piplica, Daniel Fuller, and
            <given-names>Brian</given-names>
          </string-name>
          <string-name>
            <surname>Magerko</surname>
          </string-name>
          .
          <article-title>A knowledge-based framework for the collaborative improvisation of scene introductions</article-title>
          .
          <source>In ICIDS</source>
          , pages
          <volume>85</volume>
          {
          <fpage>96</fpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <given-names>Ken</given-names>
            <surname>Perlin</surname>
          </string-name>
          and
          <string-name>
            <given-names>Athomas</given-names>
            <surname>Goldberg</surname>
          </string-name>
          .
          <article-title>Improv: A system for scripting interactive actors in virtual worlds</article-title>
          .
          <source>In Proc. Conf. on Computer Graphics and Interactive Techniques</source>
          , pages
          <volume>205</volume>
          {
          <fpage>216</fpage>
          . ACM,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [Saw03]
          <article-title>[Ste11] [Tur50] Mark O Riedl and Robert Michael Young</article-title>
          .
          <article-title>Narrative planning: Balancing plot and character</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <source>Journal of Arti cial Intelligence Research</source>
          ,
          <volume>39</volume>
          :
          <fpage>217</fpage>
          {
          <fpage>268</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <given-names>Robert</given-names>
            <surname>Keith Sawyer</surname>
          </string-name>
          .
          <article-title>Improvised dialogues: Emergence and creativity in conversation</article-title>
          . Greenwood Publishing Group,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Eric W Stein</surname>
          </string-name>
          .
          <article-title>Improvisation as model for real-time decision making. In Supporting real time decision-making</article-title>
          , pages
          <volume>13</volume>
          {
          <fpage>32</fpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <string-name>
            <surname>Mari</surname>
            et Theune, Sander Faas, Anton Nijholt, and
            <given-names>Dirk</given-names>
          </string-name>
          <string-name>
            <surname>Heylen</surname>
          </string-name>
          .
          <article-title>The virtual storyteller: Story creation by intelligent agents</article-title>
          .
          <source>In Proceedings of the Technologies for Interactive Digital Storytelling and Entertainment (TIDSE) Conference</source>
          , volume
          <volume>204215</volume>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <string-name>
            <surname>Alan M Turing.</surname>
          </string-name>
          <article-title>Computing machinery and intelligence</article-title>
          .
          <source>Mind</source>
          ,
          <volume>59</volume>
          (
          <issue>236</issue>
          ):
          <volume>433</volume>
          {
          <fpage>460</fpage>
          ,
          <year>1950</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <string-name>
            <surname>Stephen G Ware</surname>
          </string-name>
          and
          <article-title>Robert Michael Young</article-title>
          .
          <article-title>Cpocl: A narrative planner supporting con ict</article-title>
          .
          <source>In AIIDE</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          <article-title>A ect detection and an automated improvisational ai actor in e-drama</article-title>
          .
          <source>In Arti cal Intelligence for Human Computing</source>
          , pages
          <volume>339</volume>
          {
          <fpage>358</fpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>