I'd like to say a few words about natural language.
For some time now, there's been a lot of talk about talking computers. Hot-stuff hardware and software jockeys assert that their machines will soon be able to "speak" conversational English and that computer users won't have to use keyboards and mice and computer languages to get the computer to work for them. Instead, all they'll have to do is lean back and tell the computer what to do.
At the very least, they say, the computer will respond to typewritten English-like dialogue and instructions. Programs like Microrim's Clout and Artificial Intelligence Corp.'s Intellect are examples of this kind of query language.
All this sounds terrific. The computer as conversationalist is a comforting image. It makes dealing with a computer as natural as talking with a friend.
Come to think of it, though, there is a heck of a lot more to talking with friends than what you're saying.
An example: I've known my editor for several years now. We both speak English fluently. I daresay we both have an excellent command of the language. And yet, somehow, I just don't understand what he's talking about some of the time. By the same token, despite what I think are my best efforts to keep him informed over the span of a few weeks, he sometimes doesn't know what I'm up to either.
I also know several couples with this problem. Some of them are still married.
The conclusion I've come to is that, unless you're a Shakespeare or a T. S. Eliot, English is a grossly inadequate medium for conveying many kinds of information.
Clearly, there is more to language and communication than words. There is context. People who've known each other over time often don't even need to talk. There is body language. There is memory and experience. There is intonation. There's irony and innuendo and sarcasm. There are all the things that the most brilliant of computer scientists haven't the foggiest notion of how to deal with.
A more specific example (culled from my artificial intelligence thesis in school):
I see a man standing on a hill with a telescope.
Does that mean that, using a telescope, I see a man standing on a hill?
Or does it mean that I see a man, with a telescope, standing on a hill?
Perhaps it means that I see a man on a hill that has a telescope?
After several hours of examining the many potential meanings embedded in that sentence, I came to the conclusion that whatever meaning is there should be better expressed.
Now, if we English-speaking humans have difficulty with that level of ambiguity, just imagine how tough it would be for computers, which have a very, very low threshold for ambiguity.
Natural languages are inherently ambiguous, filled with shades of meaning and internal paradoxes. They're one of the reasons why we humans are human.
I think it's admirable to try to imbue computers with the gift of language but I think it misses the point.
Computers are very successful tools precisely because they aren't human. They're useful because they can handle all those dull, repetitive and unambiguous tasks that humans loathe -- like number-crunching and spreadsheets.
In many instances, trying to make computers more human is about as cost-effective as putting legs on a car. Cars are wonderful precisely because they have wheels instead of legs. Computers are oftimes wonderful because they aren't bosom-buddy-like creatures that you cajole into giving you information.
That's not to say that query/natural language-type interfaces won't have some use as the future unfurls. Clearly, it would be nice to be able to interrogate a database to glean key facts. Questions like: Who had the most sales? and What sales district had the largest percentage growth increase? would be very useful to managers who want a quick and easy way to access data.
But do we really want to ask a computer to "Move data from column A in window 1 to row F in window 3"? Of course not. Just point the mouse, give it a click and zap! -- the data is just where you've moved it. The mouse is clearly a better link to the computer than the voice in this case.
The real question is, just what do we need natural language capabilities for in our computers? Under what circumstances is talking with a computer either necessary or desireable?
Until computers are programmed to cope with things such as context, ambiguity and shades of meaning, natural language in and of itself may be of only marginal value to the computer user.
I think what's happened is that there are people who think that because everybody knows natural language it is "easy" and that will make it "easy" to work with computers.
On the contrary, natural language isn't easy. What's more, it's difficult to establish a direct link between a computer's ability to converse and the user's ability to get more out of the machine as a result.
Natural language may one day be a very important interface for personal computers. I think that one day, though, is more than a decade away.
Because of an editing error, the BASIC alarm-clock program in the Nov. 26 Personal Computers column was incomplete. Here is the complete program:
10 Input "Alarm Time";A$
20 Input "Appointment";M$
40 If TIMEA$ then 60
50 Goto 40
60 Print "It's";TIME$
70 Print M$
90 Goto 80