TALE-SPIN, An Interactive Program that Writes Stories
Proceedings of the Fifth International Joint Conference on Artificial Intelligence. Natural Language. Pages 91-97.
© 1977 International Joint Conferences on Artificial Intelligence
Abstract
TA1E=sPYN is a program that writes stories by using knowledge about problem solving, physical space, interpersonal relationsnips, character traits, bodily needs, story structure, and Englisn. for tnese diverse sources of knowledge, it uses forms of representation which are tnemselves diverse, and it integrates tnem to produce the stories. The user may choose some of the initial setting and answer yuestions during the creation of the story, or he can choose from a list of "morals" such as "Never trust flatterers" and the program will decide what the initial setting must be in order to be able to write a story with that moral. The particular world within the story is not fixed; new characters and objects are introduced as needed.
- Richard B. Fikes and Nils J. Nils- son. STRIPS: a new approach to the application of theorem proving to problem solving. Artificial Intelli- ~en~~ 2:189-208, 197~----------- 2. IJCAI
- Sheldon Klein and James R. Meehan. AI Forum. SIGART Newsletter (61) :2-4, February-1977.
- James K. Meehan. The Metanovel: Wri- tin~ sto£ies ~Y co~~!~[~-pfio dis- sertation, Yale University, 1976. Computer Science Department Research Report 74, Yale University, 1976.
- Allen Newell and Herbert A. Human Problem So~~l~~~ HaiT; 1972:--- Simon. Prentice
- Roger C. Schank. Co~cee~~~l !~f££ma ti£~ ~£~~~~sin~ American Elsevier, New York, 1975.
- Roger C. Schank and Robert P. Abel- son. Scripts, plans, and knowledge. In Erik Sandewall, conference com- mittee chairman, Proceedin~s of the 4th International ~oin-t-conference on-ArtiiiCiai--rnteiii~ence:--Mif-AI Eab,-cambridge, Massachusetts, 1975, 151-158. IJCAI
- Gerald Jay Sussman. A Comeutational Hodel of Skill Acg_uiSition:---PhD dissertatTon;~II, 1973:------ 8 . .Kobert wilensky. Using plans to understand stories. In Olin G. Johnson, general chairman, Proceed- .l~~~ ~!. ~he ~nnual Conte£~~~~:;:AcM, New Yo rk, 1976, 46-5". Natural LanP.:uaP.;P.-5: M~P.han
References were extracted automatically from the PDF and may contain errors.
Full text extracted automatically from the PDF; figures, tables and equations may differ. The PDF is the version of record.
TALE-SPIN, AN INTERACTIVE PROGRAM
THAT WRITES STORIES
James R. Meehan Dept. of Information and Computer Science University of California, Irvine Irvine, California 92717
ABS'l'RAC'l'
TA1E=sPYN is a program that writes sto ries by using knowledge about problem solving, physical space, interpersonal relationsnips, character traits, bodily needs, story structure, and Englisn. for tnese diverse sources of knowledge, it uses forms of representation which are tnemselves diverse, and it integrates tnem to produce the stories. The user may choose some of the initial setting and answer yuestions during the creation of the story, or he can choose from a list of "morals" such as "Never trust flatterers" and the program will decide what the initial setting must be in order to be able to write a story with that moral. The particular world within the story is not fixed; new characters and objects are introduced as needed.
INTRODUCTION
In a global view~-TALE=SPIN is a program that simulates rational behavior by characters in the world. The simulator has three active components. There is a problem solver that, given a goal, pro duces other goals (subgoals) and actual events. ~here is an assertion mechanism that takes an event and adds it to "mem ory": the static description of each Knowledge area, what the physical world looKs like at that instant, what social relationships exist between characters at that instant, and so on. Finally there is an inference mecnanism that produces the consequences of an event. When an event is asserted, its consequences are computed and asserted, tneir consequences are computed and asserted, and so on. One kind of consequence is a goal. Goals are asserted, not by adding them to mem ory, but rather by calling the problem solver, which completes the cycle. This approach to storytelling is very differ ent from the work of Klein, as recently discussed [ 2).
Sample output from TALE-SPIN:
ONCE UPON A TIME GEORGE ANT LIVED NEAR A
PATCH OF GROUND. THERE WAS A NEST IN AN ASH TREE. WILMA BIRD LIVED IN THE NEST. THERE WAS SOME WATER IN A RIVER. WILMA KNEW THAT THE WATER WAS IN THE RIVER. GEORGE KNEW 'l' HA~ 'l'HE WATER WAS IN THE RIVER · . ONE. DAY WILMA WAS VERY THIRSTY. WILMA wArnED '1'0 GE.T NEAk SOME WATER. wiLl·1A FLEW FRO~l HE.R NEST ACROSS A MEADOW 'l·HROUGH A VALLEY 'l'O 'l'H£ RIVER. WILMA DRANK 'lHE. WA'I·E.R. WILMA WASN ''I' 'l'HIRS'l'Y
ANY HORE.
GEORGE WAS VERY 'l'HIRS'I'Y. GEORGE. WANTED TO GET NEAR SOME WATER. GEORGE WALKED Ff<.OM HIS PA'l:CH OF GROUND ACROSS 'I'HE MEADOW ~HROU�H '!·HE VALLEY TO A RIVER BANK. GEORGE FELL IN'I'O THE v.A'l'E.R. GEurtGI:. WAN'l'ED '10 GE'l' NEAR 'l'HE VALLt:Y. GE.ORGE. COULON ''I· Gf:.'l' NEAR 'l'HE VALLEY. GEOl<.GI:. WAN'!' E.G TO GE'I' NE.AR 'I hE 1'1EADOW. GE.OkGE. COULON ''I' GE'l· NEAR 'I'HE lV1EADOv.. WILNA wAN'l·ED GEO.kGE TO Gf:.'l· NE.AR 'l'HE 1'1EADOW. WILI-lA WAN~ED 'l·O GE'I· NEAR GEORGE. WILMA GRABBED GEORGE WITH HER CLAW. WILI'lA 'IOOK GEORGE FROM 'I'HE RIVER 'l'HROUGfi '!·HE VALLEY 'l'O THE MEADOW. GEORGE WAS DEVO~ED TO WILMA. GEORGE OWED EVERYTHING '1'0 WILMA. WILMA LE'l' GO OF GEORGE. GEORGE FELL TO 'l'HE ~1EADOW. THE END.
The user created the characters and the river, and then gave each character a problem to solve -- thirst. No informa tion regarding the social relationship between George and Wilma was necessary: all characters are automatically moti vated to rescue anyone who they know is in danger of death. Both George and Wilma knew that he would have drowned had he stayed in the water. George's sudden devotion to Wilma is a consequence of being rescued by her.
~fiE NEED FOR KNOWLEDGE: --SOME-Mis=sPu~f'A18s--
"Correct" stories-are-part-of-this proj- ·
ect's goal, but they're not always tne most interesting thing for people to read a successful solution often makes the problem look easy. To illustrate the need for knowledge in generating "cor rect" stories, I present here some sto ries, produced in TALE-SPIN's early days, that came out "wrong" because of some lack of knowledge, often of the most mundane variety and usually taken for granted. Since these don't concern the English generator, I'll use my own translations.
- "One day Joe Bear was hungry. Irving Bird where told him there oak tree. Joe if he didn't He asked his friend some honey was. Irving was a beehive in the threatened to hit Irving tell him where some honey was."
Joe has not understood that Irving really has answ~red his question, albeit indirectly. ~ou ve got to know about beehives in order to understand that the answer is acceptable. Also, it's polite to give some details when you answer a question. ("Do you know what time it is?" "Yes.")
- He (2) "One day Joe asked his friend Bear was hungry. some honey was. Irving Irving Bird where told him there
was a beehive in the walked to the oak tree. hive." oak tree. He ate the Joe bee-
A further refinement is to unscram ble an acceptable answer in the proper fashion, remembering a little better what the original question was.
All the action used to focus on a single character. Uther characters could respond to him only in very limited ways, when they were asked direct questions, for example. 1here was no concept of "noticing": lf people walk into your room, they needn't always announce their presence. You see them. The following story was an attempt to produce "The Ant and the Dove," one of the Aesop fables.
- "Henry Ant was thirsty. He walked over to the river bank where his good friend Bill Bird was sitting. Henry slipped and fell in the river. He was unable to call for help. He drowned."
That wasn't supposed to happen. Falling into--the river was deliberately introduced to cause the central "problem" of the story. Had Henry been able to call to Bill for help, Bill would have saved him, but I had just added a rule that said that being in water prevents speech, which seemed reasonable. Since Bill was not asked a direct question, he didn't notice his friend drowning in the river.
Here are some rules that were in ~ALE-SPIN when the next horror occurred. If A moves B to location C, we can infer not only that B is in location C, but that A is also. If you're in a river, you want to get out, because you'll drown if you don't. If you have legs, you might be able to swim out. With wings, you might be able to fly away. With friends, you can ask for help. These sound reasonable. However, when I re presented "X fell" as "gravity moved X," I got this story:
- "Henry Ant was thirsty. He walked over to the river bank where his good friend Bill Bird was sitting. Henry slipped and fell in the river. Gravity [having neither legs, wings, nor friends] drowned."
It didn't know enough about gravity, obviously. But adding knowledge can produce unexpected results. After char acters became aware of their environment, noticing people and things around them, tnis story appeared:
- "Once upon a time there was a dishonest fox and a vain crow. One day the crow was sitting in his tree, holding
a piece of cheese in his mouth. He no ticed that he was holding the piece of cheese. He became hungry, and swallowed the cheese. The fox walked over to the crow. The end."
That was supposed to have been "The Fox and the Crow," of course. The fox was going to trick the crow out of the cheese, but when he got there, there was no cheese, because the crow "noticed" that he had some food in his mouth, from which the program inferred that he'd be hungry. (The fix was to assert at the beginning that the crow had eaten re cently, so that even when he noticed the cheese, he didn't become hungry.)
- "Joe Bear was hungry. He asked Irving Bird where some honey was. Irving refused to tell him, so Joe offered to bring him a worm if he'd tell him where some honey was. Irving agreed. But Joe didn't know where any worms were, so he asKed Irving, who refused to say. So Joe offered to bring him a worm if he'd tell him where a worm was. Irving agreed. But Joe didn't know where any worms were, so he asked Irving, who refused to say. So Joe offered to bring him a worm if he'd tell him where a worm was ·... "
Lesson: don't put a goal on the stack if it's already there. Try some thing else. If there isn't anything else, you can't achieve that goal.
Here are some more rules. If you're hungry and you see some food, you'll want to eat it. If you're trying to get some food and you fail, you get sick. If you want some object, try bargaining with the object's owner. Innocuous, right?
- "One day Henry Crow sat in his tree, holding a piece of cheese in his mouth, when up came Bill Fox. Bill saw the cheese and was hungry. [Hunger is now on his goal stack.] He said, 'Henry, I like your singing very much. Won't you please sing for me?' Henry, flattered by this compliment, began to sing. The cheese fell to the ground. Bill Fox saw the cheese on the ground and was very hungry. [Hunger is about to be added to his goal stack.] He became ill. [Be cause hunger was already on his goal stack, he couldn't get the food, so he gets sick.] Henry Crow saw the cheese on the ground, and he became hungry, but he knew that he owned the cheese. He felt pretty honest with himself, so he decided not to trick himself into giving up the cheese. He wasn't trying to deceive himself, either, nor did he feel compet itive with himself. But he did dominate himself, and was very familiar with him self, so he asked himself for the cheese. He trusted himself, but he remembered
that ne was also in a position of domi nance over himself, so he refused to give himself the cheese. He couldn't think of a good reason why he should give himself the cheese [if he did that, he'd lose the cheese), so he offered to bring himself a worm if he'd give himself the cheese. That sounded okay, bu~ he didn't know where any worms were. So he said to himself, 'Henry, do you know where any worms are?' But of course, he didn't, so he . · · . [And so on)"
WHAT DOES TALE-SPIN KNOW?
TALE-SPI~s a-problem--soiver-,--top-down
and goal-directed. Its output may be regarded as a trace through problem solving procedures. Problems are asso ciated with a particular area of knowl edge, or what I call a £££~~em ~om~in, which is defined by a set of representa tional primitives, a set of goalstates or problems expressed in terms of those primitives, and procedures for solving tnose problems.
PLANS
1he-roost common of the domains in TALE SPIN uses the primitives of Roger Schank's Conceptual Dependency [5), and its problems and procedures come from a theory of plans by Roger Schank and Robert Abelson [6). TALE-SPIN uses these plans to generate stories; Wilensky's PAM system [8) uses them for understand ing stories.
The first kind of plan is call a delta-act, and they are defined in terms or--a---particular goalstate. DELTA PROX(X,Y,Z) is the delta-act that is in voked when X wants Y to be near ("prox") Z. Similarly, DELTA-CONTROL(X,Y,Z) means X wants Y to control Z, DEL~A-KNOW(X,Q) means that X wants to find out the answer to the question Q, and TELL(X,Y,Z) means that X wants Y to know Z. There are "negative" counterparts to these: DELTA-NEG-PROX(X,Y,Z) means that X wants Y to get away from z, and so on. Each delta-act consists of a number of tech niques called £la~boxe~ for achieving the desired goal, and an algorithm for deci ding the order in which to try the plan boxes. The planboxes have a variety of pre- and post-conditions on them, and if successful, they eventually produce an
event of some sort.
Here's what the first planbox in
DELTA-PROX looks like:
Planbox 1: X tries to move Y to z preconditions:
X is self-movable If X is different from Y, then DPROX (X, X, Y) and DO-GRASP (X, Y) DKNOW (X, where is Z?)
Is Y really at Z? (DKNOW could have
DKNOW (X, where is X?) DLINK (X, loc (Z)) act: DO-PTRANS (X, Y, loc (Z)) postcondition: goofed)
postact: If X is different from Y, then DO-NEG-GRASP (X, Y)
X will try to move Y to z. If X is not the same as Y, then X must get him self near Y, and then somehow grab on to Y, so that Y will be carried along.
A precondition for Planbox 1 is that X be able to move himself. If that isn't the case, or if the planbox fails, we try another planbox.
The next precondition on Planbox 1 is that X find out where Z is. If Z is a fixed physical location, then nothing needs to be done; we assume that every one knows where places are. If Z is not a location (Z might be a person, for in stance), then we use the delta-act for finding out information, DELTA-KNOW.
The next precondition is that X find out where he himself is. X must know where he is in order to go anywhere. Including this test allows the possibil ity that X does not know where he is and must therefore find out. Thus, we can tell stories (solve problems) in which
characters are lost.
The next precondition is that X be able to figure out a route to z. The solution to this problem uses the knowl edge about the physical world, which I
discuss below in the section on MAPS.
Finally, we use DO-PTRANS to effect the actual movement, and if X had picked up Y, he now lets Y go. The DKNOW post condition allows for the possibility that the DKNOW precondition may have been satisfied unfairly. In one of TALE SPIN's stories, Arthur Bear asks George Bird where some honey is. George lies, and Arthur believes him. As far as the first DKNOW was concerned, the precondi tion was satisfied: Arthur thinks he knows where the honey is. when he gets there, however, he discovers that the honey actually isn't there, so he goes back to do another DKNOW, hopefully more successful.
Other planboxes in DELTA-PROX in clude: X gets Y to move himself to Z; X gets z to move himself to Y; X gets a third party to move Y to Z; X gets a third party to move Z to Y. Other plan boxes, not yet implemented, include: X gets Y and Z to be in some common loca tion; X gets some "system" to move Y to Z (gravity, the Post Office, whatever's appropriate).
Closely related to the delta-acts is the PERSUADE package, a handy collection of planboxes used by many delta-acts. These include simple requests, proposing a good reason, bargaining, and threaten ing.
It's easy to see how the plans re late to each other as subgoals. In order to get something (DELTA-CONTROL), you may need to find out where it is (DEL~A KNOw), which may require that you go ask someone (DELTA-PROX and TELL) who may bargain with you (PEkSUADE), which may cause you to get sometning for him ( DEL'I'A-CO~'l'ROL) , and so on.
SIG!VIA-STATES: 'I'HE BODILY NEEDS Hunger~-tfiirst,-resf;-and -sex- are four physical needs that are primitives in this domain. One of the ways in which these goals are most unlike the plans is that they arise as goals every so often, spontaneously. They call the plans as subgoals but are not themselves subgoals of any plan or of each other. For exam ple, an obvious planbox under SIGMA-HUN GER requires the use of DELTA-CONTROL - for obtaining food -- but for what end would becoming hungry be a means?
TALE-SPIN knows what kinds of food different characters eat, but it assumes that water is sufficient to quench any one's thirst. (In some ways, it's still a very sparse world.) People sleep only at home, but they may "fool around" with whomever they please. (In other ways, it's not so sparse.)
The sigma-states are the top-level goals 'l'ALE-SPIN works on. After the user has chosen the initial setting and se lected a main character, he can choose one of the sigma-states as the first goal for that character. Are tnese stories, then, about hunger, thirst, and so on? Not necessarily. As we'll see in the section called S~ORIES, the focus or point of a story may be entirely separate
from the first goal.
RELATIONSHIPS
TALE-SPIN---characterizes relationships between people in terms of competition, dominance, familiarity, affection, trust, deceit, and indebtedness. It's perhaps harder in this domain than in any other to find a good set of primitives that are both necessary and sufficient. The re lationships are used in two ways. First, they serve as preconditions to many of the planboxes, particularly in PERSUADE. Before you ask someone to do something for you, you have to be near him level. If you feel that you're competing with the other person, or if there's a substantial imbalance of power between you, or great differences in social class, or hatred, and so on, you won't ask. Second, they appear as consequences to many actions. When someone ATRANSes a gift to you, not only do you POSSess it, you .probably feel some affection towards that person as well.
What about the problem-solving pro cedures in this domain? Well, they exist, certainly. "John wanted Mary to like him" -- sounds okay. ~he difference is that they don't seem to exist as goals, but on~~ as subgoals, the exact opposite of the sigma-states. Further more, there's a lot less certainty about them. while there are virtually guaran teed procedures for John to get from New York to London, there are no algorithms for John to get Mary to like him, which says no more than that the "physics" of the real world is simpler -- or better understood -- than the "physics" of the mind.
PERSONALITIES
To-describe-character traits, TALE-SPIN attributes degrees of kindness, vanity, honesty, and intelligence to its charac ters. These traits are used in a "solo" environment, having the least dependence, among the domains we've seen so far, on anything else in the world. If John has been asked to do a favor, and there are no good, "external" reasons for or a gainst it, he may do it if he's a kind person. Compliments to a vain person will produce a greater reaction than to a modest person, as we'll see in "The Fox and the Crow." Dishonesty is a precon dition to the "steal" planbox in DELTA CONTROL. Insulting someone's intelli gence produces a marked change in affec tion. All these reactions are part of TALE-SPI~'s inference mechanism.
These traits are undoubtedly useful but seem to be only mildly different from relationships, until you think about procedures for achieving personality traits. There aren't any, at least none that succeed over anything but long stretches of time, too long for them to be of use as subgoals. Otherwise, the
following scenario would make sense:
"Mary needed a new dress and wanted to get some cash from her husband John. 'How can I do that?' she wondered. 'Oh sure, I'll just make him dishonest so he'll rob a bank. Gee, I better make him smart enough not to get caught. Okay, that'll work. John?'"
(DELTA-PROX) and so on, but you must also MAPS: PHYSICAL SPACE consider how you relate on a personal How~ar-is-Ir-Irom~he 34th Street door ot the Empire State Building to the north entrance to the Golden Gate Bridge? ~hinK about that for a second. Now, how wide is the continental USA? If you thought about the answer to the first question, chances are, you already thought about the answer to the second question before you read it.
Physical space is perhaps the easi est domain to model badly (that is, without any psychological validity), be cause our knowledge of mathematics tells us that we can represent points in 3space with X-Y-Z coordinates and calcu late distance and direction with some simple equations. Rather than do that, however, I've designed a representation that enables us to answer the same ques tions but also accounts for some phenom ena such as the one just described.
I define a mae to be the represen tation of a group of contiguous regions (submaps), a fixed-size picture, if you will, where all maps have approximately the same resolution. My map of Califor nia includes a submap of Southern Cali fornia, which has a suDmap for Irvine, which has a submap for UCI, and so on.
The contents of a map depend on ex perience. tiaving lived most of my life in Connecticut, my map for that state has some very detailed submaps. Never having been to Utah, however, I imagine it to be a vaguely rectangular area, perfectly blank, without so much as a single city on the map. (Of course, I might recog nize that a given city is in Utah, but
that's a different issue.)
TALE-SPIN uses maps to solve the problem of finding routes from one place to another. There are two kinds of route problems, inter-map and intra-map. To solve the inter-map problem, it finds the lowest-level map that includes both the origin and the destination as submaps, or submaps of submaps, and so on. Then it solves the intra-map problem of getting from one of the submaps of that map to the other. Solving the intra-map problem requires that we represent adiacency, so that we can find the path from one-to the other. Crossing the border between a map and one ot its adjacent maps requires that we mark points of intersection; I call them dO~£~· 'l'he relationship of a street corner to a street is much like the relationship of a door to a room each is a way of getting from one region to an adjacent one -- so both of them are
"doors" in the map system.
Every door has ges, one for each attached. People two conceptual ima region to which it is often use different
terms to refer to a single door, and they know that doors are not symmetric, as in the case of a door locked from the out side but not the inside. Knowledge about doors can be incomplete -- not knowing where it leads, for example. And some times we don't even realize that two doors are actually one and the same; street intersections approached along different streets may look entirely dif ferent.
In TALE-SPIN, each door has two names that are marked as being "equiva lent"; each name represents a map. Every map points to the super-map to which it belongs and to a list of its submaps as well.
TALE-SPIN also uses an abstraction of maps called blu~E£i~!~· which differ from maps by having a property of mini mality. The map for a particular office building may have 17 submaps representing various floors of offices, but the blue print for the generic office building contains only one sub-blueprint for each different kind of floor, say, one for basements, one for the ground floor, and one for office floors. Maps are instan tiations of blueprints, and TALE-SPIN uses blueprints while interacting with the user to construct the maps for all physical spaces.
GOALS: '!·HE PROBLEM SOLVER's CONTROL S'l'RUC'I'URE ----- ----- ------ The-point of this work is that even a simple model of the real world requires many kinds of knowledge. Storytelling is the vehicle I use to test the combination of these knowledge sources. It also provides a criterion for limiting the development of a particular problem do main. There is no real end to the work that might be done on an area to increase its degree of expertise, so I extended domains that I felt would significantly improve the stories' realism or variety.
The goal structure, for example, started with the classical stack of goals. There are stories which require nothing more complicated. But by the end of the project, TALE-SPIN used a mecha nism that was less elegant but was ade quate for a larger class of stories.
(The goal structure is not entirely new. I freely and openly used ideas from systems like GPS [4], STRIPS [1], and HACKER [7]. But some of their issues do not arise in TALE-SPIN, and vice versa, making direct comparison difficult. While I struggle with, say, the diversity of representation, they work on triangle
tables.)
The simple goalstack proves inade quate when we insist that no more effort be expended on achieving a subgoal than is allotted to achieving the goal. In particular, we must avoid trying to achieve a subgoal which is identical to the goal. A case where this was not done is the sixth mis-spun tale above.---
Since there is more than one prob lem-solving character in a story, we need separate goal lists for each of them.
when a goal is successfully a chieved, it is removed from the goal list. If a goal that was on the list fails, it is marked but not removed, lest it be tried again and again, leading to another mis-spun tale.
Certain goalstates can be permanent; these are the goals of preservation, called pi-states. 'I'he goal 1 ists contain only goals--or- achievement, but the in ference maker knows about the goals of preservation, too. If Joe Bear has been asked to do a favor, he considers the consequences of doing that favor. (Use of the inference maker is not restriced to the assertion mechanism. Characters can also use it to simulate what will happen if a certain event takes place.) If Joe finds that doing the favor will result in pain, sickness, loss of prop erty, etc., he'll refuse. If it results in pleas~re, increase in happiness, wealth, etc., he'll agree to do it.
The current goal system is a far cry from the simple stack, but there's more to come. Part of the ongoing research at UCI on this project is to extend the ca pabilities of the goal calculus in a number of ways. First, the goal struc ture must indicate the various kinds of relations between goals: X is the sub goal of Y; X, Y, and Z are concurrent goals; X, Y, and Z must be achieved in that order; X is subdivided into A, B, and C (for example, allocating portions of a sum of money to individual pur chases); and so on.
Second, there are new goal pro cesses: recognizing when a goal has been superseded; recognizing when a goal can safely be abandoned ("Joe Bear was on his way to ask Irving Bird where to find some honey when he suddenly came across a blueberry bush"); recognizing when a goal should be re-tried, in light of new information (when "mildly hungry" turns into "desperate for food").
'l'hird, there is ~~~~~, which is different from both ach1evement and preservation. Some expenditures, such as cash, can often be recovered; if you buy decide (or find out) that you don't need it (for some other goal), you may be able to return it and get your money back, or part of it, or some equivalent. Time expenditures, on the other hand, are non-recoverable.
This new work is related to knowl edge about the nature of E£OCess, which we are also interested in modeling, and which, not surprisingly, begins to sound like ideas from automatic programming.
S'rORIES
when-IS simply what's tell? a text a story, and when is it a narration of rational events? a story about, and how can you
(1) One day Joe Bear was fam ished. He closed his eyes for three seconds. He wasn't hungry
any more. The end.
(2) One day Joe Bear was fam ished. There was a jar of honey right next to him. He ate the honey. The end.
Text #1 isn't rational; it doesn't cor respond to our understanding of the world. Text #2 is rational, but it's not a story; it was too easy, and nothing interesting happened. Stories are about problems of one sort or another, so it makes sense to link storytelling to a problem solver. The important variables in this context are degree of difficulty in solving the problem and the nature or level of the problem being solved.
TALE-SPIN starts a story by creating a problem for the main character, drawn from the four sigma-states mentioned earlier. Many subproblems may be en countered on the way, and there can be side-effects that are problems that need solving as well. The degree of diffi culty is in part determined by the user. In specifying how well one character gets along with another, he can make the problem harder to solve, which also makes the story longer. In fact, I have ob served that people who run the program usually make the problem verl hard; they find the resulting "Trials and Tribula tions" story more "interesting" (their word) than "Sweetness and Light" stories where all the characters like each other and do favors at the least suggestion.
But that approach confines the point of the story to the literal level. To go higher than that, we need to understand what story points are and how to model them.
I chose to work on the Aesop fables as examples of simple stories whose an item in a department store, and then points, or morals, are not about animals, but are, instead, concerned with general lessons, notions from a higher domain. To produce a story with a given moral, we must first understand the correspondence between the moral and the real-world level. For example, the moral of "The Fox and the Crow" is never trust flatterers. The analysis is-as-follows: ______ _
"Never do X" means that if you do X, then something "bad" will happen. "A flatters B" means that A says something "nice" to B, but is insincere, doing it for some ulterior motive. Since a con sequence of saying something nice to B is that B will become more kindly disposed towards A, then it's reasonable to assume that B's kind disposition towards A will enable something to happen which is "good" for A. Putting this all together, we predict that A has some goal which requires that B be kindly disposed towards A, so A says something nice to B, B reacts accordingly, and something hap pens that causes A to achieve his goal and also causes B to suffer. Since transfer of ownership is an event that is simultaneously good for the recipient and bad for the unwilling donor, we know that DELTA-CONTROL can be the main problem. when the program operates in this mode, it sets some of the initial parameters of the world in such a way that when char acters behave reasonably in that envi ronment and reasonable behavior is what the simulator does the desired story will result. In other words, to make a certain point in a story, it fig ures out in advance what some of the world model has to look like, how the stage must be set before the characters arrive.
THE ENGLISH GENERATOR
As a-problem-domain,-this one is unique in that it provides no information to the other domains, although it uses their information extensively. For example, in order to be able to say "Joe Bear re turned to the cave" instead of "Joe Bear wentto the cave," the generator needs access to tne memory to check whether Joe Bear has been in that cave before. When describing someone's trip, it uses the MAP system's knowledge and expresses the route in detail; e.g., "Tom walked from the ground by the redwood tree across the meadow through the valley across a meadow to the patch of ground." But apart from making use of all the domains in order to find a better way to express something, the generator is very straightforward. It doesn't even use a grammar, given such a rich set of meaning representations to start with. Interested readers should
consult the thesis [3] for details.
Here are two
MORE STORIES
SPIN, I present here a translation done by hand, for ease of reading. All the events in the story were produced by the program; only the English is mine.
The Fox and the Crow
"Once upon a time, there was a dis honest fox named Henry who lived in a cave, and a vain and trusting crow named Joe who lived in an elm tree. Joe had gotten a piece of cheese and was holding it in his mouth. One day, Henry walked from his cave, across the meadow to the elm tree. He saw Joe Crow and the cheese and became hungry. He decided that he might get the cheese if Joe Crow spoke, so he told Joe that he liked his singing very much and wanted to hear him sing. Joe was very pleased with Henry and began to sing. The cheese fell out of his mouth, down to the ground. Henry picked up the cheese and told Joe Crow that he trust Henry anymore. Henry returned to
was stupid. Joe was angry, and didn't his cave. "
Joe Bear and Jack Bear
"Once upon a time, there were two bears named Jack and Joe, and a bee named Sam. Jack was very friendly with Sam but very competitive with Joe, who was a dishonest bear. One day, Jack was hun gry. He knew that Sam Bee had some honey and that he might be able to persuade Sam to give him some. He walked from hi~ cave, down the mountain trail, across the valley, over the bridge, to the oak tree where Sam Bee lived. He asked Sam for some honey. Sam gave him some. Then Joe Bear walked over to the oak tree and saw Jack Bear holding the honey. He thought that he might get the honey if Jack put it down, so he told him that he didn't think Jack could run very fast. Jack accepted this challenge and decided to run. He put down the honey and ran over the bridge and across the valley. Joe picked up the honey and went home."
CONCLUSIONS
Storytelling is-a-naturar- language pro cessing activity that requires many kin~~ of knowledge, not simply large quantities of it. It's not a limited-domain task, and rather than try to make all the knowledge look the same, I take the op posite position -- use the primitives, problems, and procedures that seem most appropriate to the domain. The control structure itself, the goal calculus, is a second-order problem domain that inte grates various forms of knowledge ~nd simulates goal-driven characters, avold ing the use of such "formal" techniques as backtracking. With this knowledge, we can write simple, reasonable stories;
stories generated by TALE- without it we get some bizarre tales.
AC.t<.NOw LB OGI:;I'ibN'l 'S
This-work is-part of the author's dis sertation at Yale University [3] and was supported in part by the Advanced Re search Projects Agency of the Department of Defense and monitored under the Office of Naval Research under contract N00014-75-C-llll. I would like to thank my advisor, Roger Schank, and the members of the Yale AI Project.
@inproceedings{ijcai1977p17,
title = {TALE-SPIN, An Interactive Program that Writes Stories},
author = {Meehan, James R.},
booktitle = {Proceedings of the Fifth International Joint Conference on
Artificial Intelligence, {IJCAI-77}},
publisher = {International Joint Conferences on Artificial Intelligence},
editor = {Raj Reddy},
pages = {91--97},
year = {1977},
note = {Natural Language},
url = {https://ijcai.org/proceedings/1977/17},
}
TY - CPAPER TI - TALE-SPIN, An Interactive Program that Writes Stories AU - Meehan, James R. T2 - Proceedings of the Fifth International Joint Conference on Artificial Intelligence, IJCAI-77 PB - International Joint Conferences on Artificial Intelligence PY - 1977 SP - 91 EP - 97 UR - https://ijcai.org/proceedings/1977/17 ER -Copied
Machine-readable versions of this paper, for tools and AI agents:
Welcome
Future Conferences
AI Journal Division
IJCAI Proceedings
About IJCAI
IJCAI Awards