“Oral History Interview With Terry Allen Winograd (OH #237) § SHRDLU”, 1991-12-11 ():
Winograd describes his education in computer science and introduction to linguistics at the Massachusetts Institute of Technology (MIT). He discusses the work of Marvin Minsky and other in artificial intelligence. He describes his move to the Stanford Artificial Intelligence Laboratory and his additional linguistic research at Xerox-PARC. Winograd compares the approach to artificial intelligence at MIT and Stanford. He describes his involvement with obtaining funding from the Information Processing Techniques Office of the Defense Advanced Research Projects Agency.
Terry Allen Winograd: …And then there was the planning. Carl Hewitt was there. That’s the other person who was very relevant to my work because, when I started trying to do the language, it became clear you needed some kind of a planning/problem-solving platform on which to do the question answering, and he had developed his ideas for Planner. Planner was one of the systems that was always about to be done implementing. [laughs] There were years during which Planner was going to be the wonderful thing to use, but didn’t quite work yet, and so on.
Arthur L. Norberg: Was there some pressure to do that, to provide some sort of application, in a sense? To implement a program, or implement a language?
Terry A. Winograd: Well, certainly implementation was the coin of the realm. There was nobody doing a thesis which was “here’s a bunch of ideas, period.” It was “here’s a program that runs—and I have some ideas to lend to it.”
A. L. Norberg: Well, I was just thinking of Schank’s recent piece in AI Magazine…where he says that one of the problems associated with AI is that, in the past, anyway, until inference engines were developed, that most theses were simply investigations of good ideas, but they never got to the implementation stage, because that wasn’t the point of the dissertation in the first place. And so, we never learned, “we” being the AI people, we never learned how to develop a product in the normal sense of what a product would mean on the market.
T. A. Winograd: Well, implementation and product are two stages. That is, implementation was always there as the coin of the realm. Implementation meant something you could show off. It didn’t mean something that somebody else could use. So—I mean, my thesis was certainly that way. I mean, you know, the famous dialogue with SHRDLU where you could pick up a block, and so on, I very carefully worked through, line by line. If you sat down in front of it, and asked it a question that wasn’t in the dialogue, there was some probability it would answer it. I mean, if it was reasonably close to one of the questions that was there in form and in content, it would probably get it.
But there was no attempt to get it to the point where you could actually hand it to somebody and they could use it to move blocks around. And there was no pressure for that whatsoever. Pressure was for something you could demo. Take a recent example, Negroponte’s Media Lab, where instead of “perish or publish” it’s “demo or die.”
I think that’s a problem. I think AI suffered from that a lot, because it led to “Potemkin villages”, things which—for the things they actually did in the demo looked good, but when you looked behind that there wasn’t enough structure to make it really work more generally.
Norberg: Is that a question of size, or is it a question of the idea itself—the idea’s too small?
Winograd: The idea of—?
A L N: Well, let’s say the ideas behind the blocks world, SHRDLU.
T A W: Well, I think it was based on a presupposition—at least an attitude—that making things work in the large, really working, was just like getting a demo except more details to be filled in. That is, if you had a basic idea and you could show it worked on something then it was just a sort of grubby, detail work to fill in all, you know, the hundreds of entries you would need to make it work for real. But that—an idea—and this is tied to the top-down, rationalistic way of approaching it, right. An idea which said, “here’s a nice logical way this should work—would work in practice if you just went far enough with the details.” And I think that’s been a problem with AI all along. It’s true in problem-solving, right? Problem-solving, as conceived by Newell and Simon and developed, and so on, has a certain realm of applicability but it’s very different from, you know, you coming to me and saying, “I have a problem. Would you help me solve it?”, in terms of—to take the most obvious things—the hard part is figuring out what the problem space is, not searching it.
W: …One of the things I was really focusing on was how to apply some of the symbol-processing ideas to syntactic analysis, and that led to this thing I called systemic grammar, a form of grammar that I got from Halliday. Then I modified it into what I called “procedural grammar” or something, and tried to make it operational so it actually was a grammar and a parser sort of rolled into one. It was before the days when there was much sophisticated parsing theory, so it was fairly ad hoc, but effective. It was complex ad hoc. I remember being very interested in the question of syntactic-semantic mapping. I remember filling notebook pages with examples of quantifiers building.
N: What does that mean?
W: “Find a red block”—what’s a good example?—“Put 3 red blocks on two boxes.” Does that mean “put 3 on each of two boxes”, or “put 3 altogether on two”, and so on? And just going through lots of examples and realizing the degree of ambiguity that was resolvable by context. But in general, there were examples like, you know, “there were 6 vehicles with 4 wheels”; you know that you mean “six 4-wheeled vehicles”, as opposed to “six vehicles sharing 4 wheels.” But if you say, “There were 6 people with 4 pizzas”, right, you mean “there are 6 people all sharing 4 pizzas.” And that has to do with knowing something about vehicles and wheels and pizzas, rather than syntax.
So, the question that I was really focusing on is how do you make use of the world knowledge, so-called, to disambiguate constructs in natural language which could have more than one interpretation. This quantifier one was an example which was fairly clean in a sense that you had a small, limited number of possible interpretations. It wasn’t open-ended, right? You knew it was either 4 divided by 6 or 4 for each of 6, and you had to pick which of those two it was. The same kind of problem came up with pronouns. When you see the word “it”, what does it refer to? How do you know? Well, to do that I needed to—first of all, I worked with a bunch of examples: “Pick up the block and put it on the table.” Well, “it” means the block. But is the block bigger than one that you picked up before? Is “it”? Now, does it mean the one that you picked up before, or the one that is bigger? And the style, the methodology, was basically to come up with a particular area like that, to just sit down and write out lots of examples to try to get a feel for why, in one case, you had one answer and in a different case you had a different [answer], and then to come up with mechanisms which were fairly impromptu.
I mean, it wasn’t like somebody doing systematic theorem proving, or something. Okay. But clearly, recency is important. If something is more recent, you’re more likely to mean that. So, what if we keep around a list of how recently things were mentioned? So, something which is farther up on that list, gets a little extra point. But, it’s also not always that, because if it’s the subject of the sentence, it’s more likely to be it than the object, so we need to keep around the syntactic structure.
So, the driving problem was this question of how do you use extra information, part of which is textual—what’s mentioned recently—and part of which is world knowledge—like pizzas and vehicles, and so on—to disambiguate natural language utterances into clearly-defined, you know, I mean that block and put it that place. I wasn’t particularly using any background of linguistic theory or philosophy of language theory. I learned all that stuff later, right after I left.
And that was the spirit, very much; you saw a problem, you came up with a few examples that gave you ideas, and you programmed a mechanism that handled those and then you started debugging. Minsky said—you know, one of his famous quotes is—“a program is just an empty page that needs to be debugged.”
W: …So, the learning of those rules in schools wasn’t what enabled you to understand English. It may have gotten you some additional stuff, but it’s clear that a 5-year-old understands quite complex sentences.
N: But what I’m driving at here is, you and I, in whatever similar ways, know how to do that because we learned it through listening to other people and testing the language ourselves, and so on. But, to go from that to both a syntactic structure and a semantic structure that will work in a program, it seems to me, is a rather major step. How does it happen? What is happening to make that step?
W: See, there are two answers. In hindsight, I will say, “I agree, that’s a major step.”
I think the sense that was dominant then, and I was operating under, certainly, is that there are all sorts of things which are not available directly to conscious introspection, but, if you were able to examine them, would be more-or-less straightforward applications of symbol processing. So, although I don’t know what goes on in my head when I hear a sentence—I can’t think hard and think about how I [?] sentence. If, in fact, I could do that what I would see, so goes the story, right, is something like, O.K., first I find the noun, then I find the verb, then I see if they match in features, and if they don’t match in features then I do this. And you take the kind of thing a clever programmer would do given an algorithmic task like that, and the assumption is that’s what’s going on. So the problem is only to devise the right one, not to see a deep problem involved. You know, you may have trouble finding it. It may take awhile. It may be complicated.
Also I think there was a certain esthetic involved—I mean, it’s driven by physics. It says, Okay, there’s messy stuff, but there’s also nice, clean, simple stuff happening underneath. So, even though real objects in the world move in all sorts of complicated ways, billiard balls on frictionless surfaces don’t do that. And that, therefore, if you come up with the algorithm for the billiard ball on the frictionless surface, you’ll later be able to patch on the things that handle all that other stuff.
N: That’s what physicists say, that’s right. And often they can’t do it.
W: Well, for a certain class of problems they’ve done it very well. Of course that’s what’s seductive about it.
N: …Can any similar statement be made about SHRDLU that certain blocks of code were transferred to other programs later on by others?
W: No. SHRDLU, well, except there were minor cases. One of my students at MIT went off to CCA and wrote a program, basically taking SHRDLU, which could answer questions about the weather. But it wasn’t, you know, it wasn’t a line of development. It was basically an exercise in changing the domain of SHRDLU. As far as I know the code—I wrote a fairly detailed description of the workings in the book, so a lot of things which people went ahead and did I’m sure were influenced by the fact it said, “Here, you can do the structure this way and this way and this way.”
But as far as actually picking up pieces of LISP code—well, I’ll give you the obvious answer which is it ran in Maclisp. So nobody who ran anything except ITS could run the code. It never got imported to any other dialect of LISP as a whole.
Now, maybe somebody—you know, I got—I’ve had requests over the years, “Please send me your source code.” And I have no idea… maybe some imported version is running in a Mac in Timbuktu, right, I just don’t know. But as far as a project that had major visibility within AI, everybody started from scratch and went their own way.
W: [on leaving AI] …But I think my energy really got diverted from research in the KRL area to writing a book about language for a period of 5 years or so, if you take the amount of time I was really working on the syntax part and then the time I tried to develop the semantics part, and so on.
During that time was when I also started having more of these conversations with people who were skeptical about AI. So, in the early to mid-’70s—I should go back and pin down the date on this, I don’t remember it—somebody—I think it was Bert Dreyfus, but I’m not sure—initiated a lunch seminar. Very informal, in Berkeley, where he and John Searle and various students of his came, and Danny Bobrow and I and various students of mine—and it was like once a month we’d just get together and talk, and so on. Then, in the midst of that—or the end of that, I’ve forgotten the exact sequence now—Flores, Fernando Flores ended up at Stanford. And that’s a whole other history. His history. But I started talking to him and what’s clear, in hindsight, is that a lot of the sort of doubts and difficulties with the AI paradigm that I was feeling I had already been—they were stewing—I was ripe in some sense. I had run up against a particular problem that it was clear that I didn’t see a few more steps that way solving. KRL had reached a certain level of complexity, and it wasn’t—I think at some intuitive level—I wouldn’t have said this in those days—I could see that it was going to bog down in its own complexity before it solved the problems in control language.
And that partly has to do with this business, as I said earlier, trying to do everything at once; to be a representation language and a programming language, and so on. But I was certainly feeling at some level—and I think trying to do the book on semantics—again, just realizing the more and more complexity of all the different issues that were coming in without a unifying feeling that they were coming together.
So then, in the course of I would say ’76 to ’80, more or less, I went through this gradual shift away from saying well, “I’ve got to get back to getting KRL to work”, which was the feeling, “Once I get done with my book, I’ll go do that”, to feeling, “Well, once I get done with my book on syntax, I’m not sure that I want to pursue AI in the same way. I’m not sure that’s the direction to go.” And in the course of that, I started working on the book with Flores. And the earliest—I don’t know when the earliest draft was about—late-’70s that we actually—I think we originally promised the publisher an ’81 publication date or something like that.
And then I just gradually shifted communities in some sense, an interesting process of being less and less involved with Danny and with the AI people. He had gotten diverted for reasons having to do with restructuring a project at Xerox. And Bob Taylor’s view about AI [against]. That’s another part of the history, which you may or may not have chosen to get into. The situation there was shifting in a way which just didn’t make it convenient to continue. Not that we couldn’t have.
And I became more and more interested in the stuff I was doing with Flores, and the issues that that was raising and the directions and by the mid-’80s—or the early-’80s—my book was published in ’86, but it was pretty much in that form earlier—I’d really come around to this philosophical questioning of AI, as opposed to “We’re headed in the right direction. Let’s just work harder and do more”, which is the spirit I had had at MIT…Well, basically my research completely shifted. I don’t call myself an AI researcher, or an AI person.
W: …There is a particular fight over who gets the name “AI”, and I see that here when people like Feigenbaum and McCarthy are vehement that Rumelhart is not doing AI. Whatever it [connectionism] is he’s doing, it’s not AI. And he doesn’t even have an appointment in this department.
And then there’s the question of, in the grand future, what’s going to be the answer to the quest? Are we going to be able to build the model of ourselves? That may turn out not to be a straight-forward extension of either what is the technology of AI or what’s going on in neural nets, but you know, it’s a possibility. Somebody could build something. It may come out of genetic engineering.