September 13, 2006
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…