I. Plans in language understanding Here are a couple of stories John and Mary went to McDonald's. John ordered a Big Mac and fries. Mary had a Quarter Pounder. John put the trash in the wastebasket. They went home. Scripts are not good for understanding unusual events: John and Mary went to McDonald's. John ordered a Big Mac and fries. Suddenly, Mary's husband Lenny burst in through the door with a shotgun. John hid under a table. The first story is pretty simple, and it's the kind of thing that's so routine that is happens millions of times a day...nobody would even bother to tell such a story, because it's just not interesting. Understanding such a story requires only that you apply stereotypical knowledge of what happens at a fast food restaurant... knowledge that you've acquired by many of your own visits to fast food restaurants. The second story, although it is set in a fast food restaurant, has little to do with the fast food dining experience. Yet we are clearly able to understand what's going on, despite the fact that we've probably never seen anything like this happen on our visits to McDonald's. How do we do this? Understanding a story like the one with Lenny and the shotgun requires general knowledge of the "goals" of the actors in the story and the "plans" they use to achieve the goals. In the context of language understanding, goals and plans are defined as follows: goal: A state that is desired by an actor. plan: One (of possibly many) general sequences of actions that must be performed to achieve a goal. Plans are used to connect events that cannot be connected by use of script-like knowledge about stereotypical events. These connections are inferences. Here's a story that illustrates how knowledge of goals and plans give rise to inferences: John needed money for a down payment on a house. He got his gun and went to the 7-Eleven store. The first sentence of the story explicitly states John's goal: he wants a house. To get a house, John needs money, which is another goal that is a prerequisite to acquiring the house, at least from John's perspective. Knowing that John has a goal of getting money, an understander can infer plans for achieving that goal. The plans can then be used to interpret actions which may be encountered later on. Some of the well-known plans for acquiring money are to borrow it, to steal it, to sell something, to go to work and earn it, or to beg for it. When an understander infers plans that might be used to achieve a goal, it's called "top down inferencing".An understander can also recognize actions, try to infer plans that contain these actions, and then infer (or match, if the goals are explicitly stated) the goals motiviating the actions. This is called "bottom up inferencing". For example, given the second sentence of the story above, in which John takes his gun to the 7-Eleven, we can't help but infer a plan of robbing the 7-Eleven that is in service of the previously stated goal. We could possibly infer that John was going to the 7-Eleven to protect it, and thereby earn some money as a security guard, but that involves a little more circuitous reasoning. II. Learning And how did you get that knowledge of plans and goals that other people might have? You learned it. Learning is the ultimate solution for AI problems. It's clearly difficult to just plug all the knowledge that's in your head into a computer program. The path to intelligent machines is going to have to involve getting the machines to learn what they need to know. Learning is defined as the adaptive changes that occur in a system which enable that system to perform the same task or similar tasks more efficiently or more effectively over time. Humans exhibit various kinds of learning, including learning by example. The bulk of AI research into learning has focused on learning by example, and that's what we'll concern ourselves with in this class. III. Learning about arches The classic example in most AI textbooks of learning by example is that of learning the concept of an arch. We give our program an initial model of an arch: a semantic network representing the structure and composition of an arch. This initial model is the first of a series of positive and negative examples -- arches and near-misses. The first example must be a positive example. Then the learning program generalizes its internal model or concept of an arch from subsequent positive examples, and specializes its concept from subsequent negative examples. The example of arch learning that we've used in class has many of the details of "archness" abstracted away in the interest of simplicity, but it's still instructive.
Last revised: December 7, 2004