September 13, 2006

The Story of Meehan’s Tale-Spin

by Noah Wardrip-Fruin · , 7:32 pm

Most discussions of story generation begin by considering James Meehan’s Tale-Spin (1976) — and deservedly so. Meehan’s project made the leap from assembling stories out of pre-defined bits (like the pages of a Choose Your Own Adventure book) to generating stories via carefully-crafted processes that operate at a fine level on story data. In Tale-Spin‘s case, the processes simulate character reasoning and behavior, while the data defines a virtual world inhabited by the characters. As a result, while altering one page of a Choose Your Own Adventure leaves most of its story material unchanged, altering one behavior rule or fact about the world can lead to wildly different Tale-Spin fictions.

There are two publications that already do a good job of telling us about Tale-Spin: Meehan’s dissertation (The Metanovel: Writing Stories by Computer, 1976) and a chapter in Inside Computer Understanding: Five Programs Plus Miniatures, 1981 (edited by Roger Schank and Christopher Riesbeck). But these sources don’t tell us much about Tale-Spin‘s story. Reading these publications we don’t learn many behind-the-scenes details about Tale-Spin‘s development, or get much sense of the process of Meehan’s work on it.

So, with help from his former student Walt Scacchi, I recently got in touch with Meehan. Now at Google, he was willing to take the time to write up a short narrative of Tale-Spin‘s development. The result was so good that I asked him if I could post it here for the wider GTxA readership, and he kindly agreed. He wrote:

Roger Schank arrived at Yale in the fall of 1974 as a charismatic hot-shot in natural language processing, pushing the idea that everything you know about language is wrong (more or less). Language was not essentially about grammar and other formalisms; language was intertwined with cognition. If I don’t understand what you’re talking about, it doesn’t matter whether I recognize the structure of your sentences. Moreover, if I do understand what you’re talking about, it doesn’t matter whether your sentences are well-formed.

At Yale, Schank teamed up with Robert Abelson, from the Psychology Department, and they started formulating a representation of plans and goals that could be used by a program that was trying to understand stories about rational (planned) behavior. The degenerate form of a plan was just rote behavior; these were called scripts. Most of the planning logic was gone. For problems that had been solved hundreds of times over, like how to satify your hunger when there’s a restaurant handy, a script would do just fine.

Much of the funding in those days came from the Defense Department, which was interested in understanding messages of all sorts. Roger’s students worked on code to use scripts, plans, and goals to make sense of messages, newspaper stories, etc. An interesting batch of papers and theses came from that effort.

When Roger arrived, I was in my fourth year of grad school, not making any progress on a program to write stories. As I wrote in the introduction to the thesis, the term “metanovel” and the idea of a grand, interactive, multi-person storytelling program came from Alan Perlis, my advisor. But Alan didn’t have a clear idea how to build it. Nor did I.

I took Roger’s course and thought this was great stuff. We eventually had a conversation where he agreed to take me on as his student (I was his first Yale student to finish a PhD), but we had to start over from scratch. All the standard planning and problem-solving literature that I had learned in traditional AI courses was not going to be useful. But I recognized that the plans and goals that he and Abelson were working on could be used to generate stories, as well as to understand them. It also served as an interesting new way to look at them, from the other direction, as it were, and that could only help refine the ideas. As an undergraduate, I had written a program to generate simple counterpoint, based on rules from music theory, so this “creative” direction was familiar to me.

The idea of using talking animals in the stories (Joe Bear et al.) was Roger’s idea. Clearly, we weren’t going to get very sophisticated or elaborate output from this program, but we could illustrate the basic ideas, and the animals gave it a bit of humor.

So I worked on the program starting in 1975, through the spring of 1976. I interviewed for a couple of teaching positions and got an offer from UC Irvine. They were adamant, however, that I stay at Yale and finish the dissertation before starting. Then one day, probably in early June of 1976, Roger and I met in his office. He said he was going away on vacation and would be back in a month. When he returned, he wanted to see a draft of my dissertation, which I had not yet started to write. We worked out some details; there would be ten chapters, one of which was about the ever-popular mis-spun tales, which I had started posting on the walls of the corridors for everyone’s amusement. (The name, Tale-Spin, was my idea — a bad but memorable pun.)

So, I thought, this is easy: ten chapters, thirty days. Knock off a chapter every three days. I started writing. Along the way, as I explored various ideas related to the topic, I tried them out on the program itself. Perhaps the most valuable aspect of Tale-Spin was that it served ably as a testbed for ideas. I probably wrote and rewrote as much code in that month and the following month as I had in the previous year. At one point, I got frustrated with the natural-language generator, which had evolved from Neil Goldman’s code from several years previous, so I wrote my own from scratch. I hadn’t forgotten any of that stuff about infinitives and past participles that we learned in fourth grade.

Remember that this was the summer of 1976. The Computer Science department had a PDP-10 that served many people. I was running a very large Lisp program (MLisp, actually), so in order to get enough cycles, I had to work at night. I can remember sleeping through the day, getting up and having “breakfast” at a nearby Greek restaurant, and then heading to my office. Some chapters fell behind schedule, but others didn’t take the full three days. I was on a roll.

Roger returned. I went to his office and gave him a copy. He was astonished. “You mean you really wrote it?” I was equally astonished. “Isn’t that what you asked for?”

I spent the rest of July and August rewriting both prose and code, and in early September, I moved to California and started teaching. UCI was also surprised that I finished on time, since I hadn’t started writing when I did my interview. In fact, they were so sure I wasn’t going to make it in time for the fall term that they didn’t have any courses for me to teach. I’m sure we cobbled together a graduate seminar or something, and I remember helping out with the CS 101 course.

I wrote a paper about Tale-Spin for the AAAI Conference, which was in Boston the following summer. Partly because of the accessible topic, and partly because of good luck, the science reporter for the Boston Globe went to my talk and actually read my paper. There was an article about it on the front page of the Boston Globe the following day. That was good for a merit increase (pay raise) the following year.

PBS/Nova did a 10-part series on the brain sometime in the mid-80’s, by which time I had returned to New Haven to work at Schank’s startup company, Cognitive Systems. They interviewed me for the show (models of thinking, etc.), and I spent countless hours producing the animation for them for one of the mis-spun tales, The Fox and The Crow (i.e., Aesop gone awry).

In each revision, including the one that I did for the Boston Computer Museum, the program got simpler, but that’s because it was just cranking out the stories. The really interesting part of Tale-Spin was in the early days, watching what it would do when you threw some new rules into the mix without being able to predict exactly how that rule would interact with all the others. Sometimes there would be serendipitous synergy, and sometimes there would be a mis-spun tale. I enjoyed both.

Tale-Spin one of the most influential works in the history of digital literature. It has shaped not only the computer science agenda, but also the critical agenda — forming an important example for major books by Espen Aarseth, Marie-Laure Ryan, Jay David Bolter, Janet Murray, and many others. Given this, there’s something else that I learned from corresponding with Meehan that’s worth mentioning. Tale-Spin is not only one of the most influential works in our history, it is also one of the (unfortunately large) number of works that seems completely lost. Meehan doesn’t believe that a copy of the code exists in either Yale or UCI’s archives, and a recent search through his personal papers also came up empty. I have some slim hope that the curators of the show at the Boston Computer Museum may have preserved a copy of the program, and that it may have survived when their collection was transferred to the Computer History Museum. But even this would only give us access to a reimplementation, rather than the original Tale-Spin (and its companion natural language generator, Mumble). Meanwhile, we’re left with the highly-simplified “micro” versions.

Which leads me to wonder: How do we best proceed when one of the seminal works in our field, created only three decades ago, can no longer be studied directly, but only through reports?

It’s also why I hope digital authors of today will continue to take an interest in ideas like those Nick and I recorded in the ELO’s Acid-Free Bits.

Finally, if anyone has any further Tale-Spin information or pointers to share, I’d love to hear from them in the comments…

7 Responses to “The Story of Meehan’s Tale-Spin

  1. michael Says:

    Great post Noah! Loved reading the behind-the-scenes history of Tale-Spin. I didn’t know Meehan is at Google – now that I’m close I’ll have to look him up.

    With my interactive narrative students, Tale-Spin is where I start when covering AI-based story generation. I’ve even had students modify the micro version of Tale-Spin to tell stories in a different domain.

    In contemporary work on drama management, Tale-Spin teaches a valuable lesson on the limits of emergent storytelling. If characters independently pursue their private goals, what you end up with is rarely a story, but rather a problem-solving trace that lacks the global structure that would make the trace a narrative. All subsequent work on AI-based story generation included explicit modeling of author-level knowledge, in addition to character-level modeling. In interactive drama, this plays out as the distinction between the drama manager and autonomous characters. But, even though Tale-Spin taught us the limits of character-only “emergent” story generation, people keep on reviving the idea in the context of story-based games and interactive drama.

    A re-implemented version of Tale-Spin was used to generate stories that served as input to the Meta-Aqua story understanding system. The re-implemented Tale-Spin spun stories about a dysfunctional suburban family whom Elvis had come to live with. A typical story appears below. By the way, the language generator spit out template text for every action and state explicitly represented during the story generation process. The story understander’s job is take this overdetailed explication, pull out the high points (the significant thread) and infer connections between the significant events.

    One day …ELVIS was JONESING. Elvis pushed cupboard-door away from the cupboard1. The cupboard1 was open. He took the pipe2 from the cupboard1. He had the pipe2. The cupboard1 didn’t have the pipe2. He pushed cupboard-door to the cupboard1. The cupboard1 wasn’t open. He took the ganja1 from the rug1. He had the ganja1. The rug1 didn’t have the ganja1. The phone1 was ringing. Dad picked up phone-receiver1. The phone1 wasn’t ringing. He had phone-receiver1. He let go of phone-receiver1. He didn’t have phone-receiver1. Elvis poured the ganja1 into the pipe2. The pipe2 was filled with the ganja1. He took the lighter1 from the table2. He had the lighter1. The table2 didn’t have the lighter1. He pushed the lighter1. The lighter1 was on. Police-and-dogs arrived. Officer1 went to outside. The police-dog1 went to outside. He pushed door-bell-switch1. The door-bell1 was ringing. He didn’t push door-bell-switch1. The door-bell1 wasn’t ringing. He went to the kitchen. The police-dog1 went to the kitchen. The police-dog1 went to Elvis. The police-dog1 sniffed Elvis. The police-dog1 barked at Elvis. The police-dog1 was barking. He went to Elvis. He took the ganja1 from Elvis. He had the ganja1. Elvis didn’t have the ganja1. Officer1 arrested Elvis. He controlled Elvis. He arrested Elvis because he wanted to control Elvis. He went to outside. Elvis went to outside. The police-dog1 went to outside. The police-dog1 barked at him because the police-dog1 detected the ganja1. He had the lighter1. The ganja1 couldn’t be burning. Officer1 controlled Elvis. Elvis couldn’t get near the pipe1. He couldn’t get the pipe1. The ganja1 couldn’t fill the pipe1. He was still jonesing.

    Michael (Michael Cox, the author of Meta-Aqua) told me about an interesting mis-spun tale generated by his system. The police came into the home demanding to know where the ganja was hidden. One of the actions available to the police was to beat people up as a form of coercion in order to gain desired information. But the coercion plan had no preconditions regarding believing that someone actually possessed the desired information. In this particular run, nobody in the family knew where the ganja was hidden, resulting in the police systematically beating up every family member.

  2. Grand Text Auto » Ergodic Histories in the Cybertext Database Says:

    […] 21; see our earlier discussion (ignoring, if you will, my ill-informed characterization of Tale-Spin).

    Leave […]

  3. Scott Turner Says:

    Early in my graduate student days, when I’d just begun to work on Minstrel, I ran into James Meehan at a conference somewhere. IIRC correctly, James was at DEC (?) at the time, and it was not an AI conference, so I was somewhat surprised to meet him in that context. I blurted out that I was working on storytelling, and had just finished reading his dissertation (on a third-hand Xerox). This was almost ten years after his dissertation had been published (to universal disregard).

    James looked at me gravely for a few seconds and said “Either I was ten years ahead of my time or you’re ten years behind.”

    It took me ten years to fully understand his sentiment :-).

    (In all seriousness, I had a nice conversation with him about the limits of Talespin and what the important issues would be for the next generation of storytelling programs.)

  4. Grand Text Auto » Tale Spin at “Smart Machines” Says:

    […] tp://”> From my earlier post on James Meehan’s Tale-Spin (now with a new […]

  5. Grand Text Auto » The Context of Minstrel’s Creation Says:

    […] oughts on Grand Text Auto — as James Meehan had last year let us publish some of his memories of the creation of Tale-Spin. This came to fruition yesterday, when […]

  6. Grand Text Auto » Michael Lebowitz on Universe Says:

    […] systems. I’ve been posting what I can share publicly, leading to posts about Tale-Spin (1 2) and Minstrel (1 2). Now I’m pleased to add a post with more information about Michael […]

  7. Grand Text Auto » Fa├žade, Petz, and The Expressivator Says:

    […] about a number of influential digital fiction systems, including James Meehan’s Tale-Spin (1 2), Scott Turner’s Minstrel (1 2), and Michael Lebowitz’s Universe (1). Now I’m […]

Powered by WordPress