I was lucky enough to have finally found Terry Winograd's book,
"Understanding Natural Language", in a used bookstore recently. Most
remarkable was that it was $20, not the usual $70 that I've seen in the past
(and which has prevented me from buying it sooner!).
The book is, for any who aren't familiar, a detailed outline of the workings
and theory behind his 1972 program SHRDLU, a system he created to allow
human interaction with it in plain English to manipulate various objects on
a virtual table (actually displayed on a CRT screen).
I find it interesting that this program still represents one of the most
successful attempts to create what could be called a true AI using a
computer. No one else, as far as I've been able to find, comes close,
except for Doug Lenat's team at Cyc (but that's been a long-term project).
Why is this? I believe it's because the intent was, from the start, to
model a world in a way that could be expressed computationally and that
could allow the system to completely understand its world. Mr. Lenat
clearly understands this, which is why Cyc will most probably be as
successful in the long term as SHRDLU was in the short, although the goal of
Cyc is to understand the world in general, while Winograd's goal was for a
system that could completely understand a small world of blocks and
pyramids.
We take for granted what we know, and coding what we call 'common sense' has
obviously proven to be a mammoth task (considering how long the Cyc team has
been doing it). One classic example is, of course, a sentence like "we saw
the mountains flying to Detroit"...we all know the mountains weren't flying,
we were.
I have been working on an IF game engine for some time, and of course I
pretend not in the slightest that it is AI. It isn't, and it is upon
reading Winograd's work am I reminded of this so harshly. It is also
humbling to realize that a project that I have been working on and off for
several years pales in comparison to Winograds' superior one (in terms of
parsing English), which undoubtedly he completed in a much shorter time,
albeit probably as a full-time endeavour.
When I first began researching natural language processing I expected that
by now we would have acheived much more in the way of creating systems that
understand language in the way that SHRDLU and Cyc (probably) do.
Unfortunately there seem to be an abundance of what amount to chatterbots
available throughout the web, some much more clever than others, but still
in essence using the same keyword-matching algorithms that were used by
Weizenbaum's Eliza (which obviously was never intended to be
state-of-the-art even in 1966). Projects like SHRDLU are by necessity a
huge undertaking by skilled people, and obviously it hasn't been the most
tempting task to be attempted when reasonably good results can be obtained,
quick n' easy, by using the 'Eliza method' instead.
I do know that there are some expert systems that have been very successful
in the task of parsing English sentences. If anyone has knowledge of any
that are reasonably accessible, I would be very interested in hearing about
them.
Thanks,
D
Douglas Hofstadter discusses this (SHRDLU as the sole AI that's
ever "known" anything) a fair amount in "Fluid Concepts and
Creative Analogies"; moreover, he argues that things like Cyc
are more likely to fail than to succeed, because instead of saying
"SHRDLU was our best success, let's try doing that with increasingly
larger microworlds", the AI community has largely disparaged microworld
research and just jumped in the deep end of something they didn't
know how to do (in the case of Lenat's work, spending more than
ten years producing something they have no clue will work or not).
This is too bad, because games, including IF, make a wonderful
"large" microworld and we would have been the likely beneficiaries
of such research..
SeanB
>My apologies if this is off-topic...I suspect that there is an enthusiasm
>for computational linguistics here, which is why I've decided to post. If
>there is a newsgroup more suited to this type of posting please feel free to
>let me know!
comp.ai.games
comp.ai.nat-lang
We do not know how we know (or rather, what it means to know), which
has proven a bit of an obstacle.
Also, a reason SHRDLU was so succesful may have simply been because
its world is so small.
>I do know that there are some expert systems that have been very successful
>in the task of parsing English sentences. If anyone has knowledge of any
>that are reasonably accessible, I would be very interested in hearing about
>them.
There are many systems succesful at parsing English, the parsing part
is not the problem. At one point you will want to attach meaning to
what you have just parsed though, and that is a bit more difficult,
because it requires you to have a sensible (formal) model of the
world. If you are going to parse natural language, there are hardly
bounds to your model of the world. How are you going to code that?
In some speech recognition programs, this has been partially solved by
using very small, changing models of the world. Say I want to find out
the departure time for a plane: the system will for instance only
recognize talk about location, then about the company your flying with
and finally about the day your leaving. (The reason such systems need
to be robust is for instance that 25 % of the things people say to a
computer are variations on 'erm'. Rather than trying to filter these
out, you could try to go for a better detection rate of positives.)
--
branko collin
col...@xs4all.nl
>>I do know that there are some expert systems that have been very successful
>>in the task of parsing English sentences. If anyone has knowledge of any
>>that are reasonably accessible, I would be very interested in hearing about
>>them.
> There are many systems succesful at parsing English, the parsing part
> is not the problem. At one point you will want to attach meaning to
> what you have just parsed though, and that is a bit more difficult,
> because it requires you to have a sensible (formal) model of the
> world.
Actually the latter task feeds back to the former one. When you're
trying to parse English, you quickly run into situations where you
want to -- or need to -- attach meanings to words in order to
disambiguate.
--Z
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
*
* Make your vote count. Get your vote counted.
This intuiged me so much that I Google searched & came up with
http://hci.stanford.edu/~winograd/shrdlu/
http://www.semaphorecorp.com/misc/shrdlu.html
and a very nice explanation at
http://www.ee.cooper.edu/courses/course_pages/past_courses/EE459/shrdlu/
I'm going off to hunt for more now...
Klatt's speech recognition system uses this extensively, not just to
disambiguate syntax, but also on other levels (such as phonemes).
--
branko collin
col...@xs4all.nl
It wouldn't be an easy task, as I mentioned Lenat's Cyc project has been in
the works for many years. Just formalizing rules by which to code the world
we live in is only part of the task; the other part is actually setting down
to do it. Each one of us have hundreds of thousands of these rules which we
use every day, which add up to a great depth of understanding. I haven't
seen any Cyc transcripts yet, but from what I've heard it's promising. I
can't wait.....
Obviously humans can still be fooled, and these semantic misunderstandings
are the fodder of a lot of humour in the world:
Winograd's thesis as I understand it is that, in order for a system to
understand a written/spoken language, it must understand the world. His
subset world of blocks worked precisely for this reason.
"Branko Collin" <col...@xs4all.nl> wrote in message
news:3c164506...@news.xs4all.nl...
>I would think any speech recognition software available nowadays must
>incorporate some context checking of this sort, otherwise there'd be a lot
>of "excuse me while I kiss this guy" type of misunderstandings.....
You think that the context of the Jimmi Hendrix song will tell you
that he meant "Excuse my while I kiss the sky" rather than "Excuse
me while I kiss this guy"?
--
Daryl McCullough
CoGenTex, Inc.
Ithaca, NY
>Obviously humans can still be fooled, and these semantic misunderstandings
>are the fodder of a lot of humour in the world:
I have always felt that what we expect from computers in this respect
is unfair, because we do not expect it from ourselves. If I do not
understand what you are saying, that is just fine: the result of bad
hearing, background noise, cultural differences, speech impediments,
lack of contextual knowledge, et cetera. If the computer does not
understand what you are saying, it is ripe for the scrap heap (that's
exagerated, but you get the drift).
Of course, the only reason we use computers is because they can be
better at some things than we are. We humans are highly optimised for
understanding utterances, but still we fail at that for a large
percentage of the utterances.
--
branko collin
col...@xs4all.nl
>I would think any speech recognition software available nowadays must
>incorporate some context checking of this sort, otherwise there'd be a lot
>of "excuse me while I kiss this guy" type of misunderstandings.....
As far as I know, modern day commercial speech recognizers of the type
that let you speak sentences to be entered in your word processors
work on a brute force basis, making only a few, mostly statistical
assumptions. But that is hearsay, I have not been keeping up with this
since I left university.
--
branko collin
col...@xs4all.nl
Daryl McCullough <da...@cogentex.com> wrote in message
news:9v5vs...@drn.newsguy.com...
>> You think that the context of the Jimmi Hendrix song will tell you
>> that he meant "Excuse my while I kiss the sky" rather than "Excuse
>> me while I kiss this guy"?
I think you need an album jacket with the song lyrics on it.
The Hendrix thing was an example of misunderstanding speech. I'm not going
to get sidetracked into a discussion about that particular example and I'm
sorry I brought it up.
"Daryl McCullough" <da...@cogentex.com> wrote in message
news:9v7qt...@drn.newsguy.com...
My point was that the Hendrix quote is an example where neither context
nor real-world knowledge helps.
IBM ran a commercial, showing just the PC that served as front
end, with the example "Please write to Mrs. Wright right away".
I suspect it picked up on "write to", "Mrs. Wright", and "right
away" primarily.
--
David H. Thornley | If you want my opinion, ask.
da...@thornley.net | If you don't, flee.
http://www.thornley.net/~thornley/david/ | O-
> "Darma" <da...@oyster.com>, you wrote on Tue, 11 Dec 2001 17:41:23
> GMT:
>
> >Obviously humans can still be fooled, and these semantic misunderstandings
> >are the fodder of a lot of humour in the world:
>
> I have always felt that what we expect from computers in this respect
> is unfair, because we do not expect it from ourselves. If I do not
> understand what you are saying, that is just fine: the result of bad
> hearing, background noise, cultural differences, speech impediments,
> lack of contextual knowledge, et cetera. If the computer does not
> understand what you are saying, it is ripe for the scrap heap (that's
> exagerated, but you get the drift).
Well, if you don't understand what I'm saying, you tend to ask me to
repeat myself, because you can tell that you didn't understand. Computer
programs, so far as I've seen, don't do a good job of knowing when they
need help, whereas people only tend to accept misunderstandings in
comedies and tense situations.
-Iabervon
*This .sig unintentionally changed*
In other words, don't expect computers to be able to decipher song lyrics,
because we can't either. ;)
>Well, if you don't understand what I'm saying, you tend to ask me to
>repeat myself, because you can tell that you didn't understand. Computer
>programs, so far as I've seen, don't do a good job of knowing when they
>need help, whereas people only tend to accept misunderstandings in
>comedies and tense situations.
Right. The way I characterize human intelligence (as compared with
any sort of existing AI) is in terms of the continual need to make
sense of things. If a human is given a collection of pieces of data,
he will try to come up with a scheme for understanding that data
and to fit it in with all the other information he knows about.
Humans aren't happy with contradictions, nor are they happy with
unconnected bits of data---they need to form connections.
And a more detailed analysis in its continuation,
http://www.ee.cooper.edu/courses/course_pages/past_courses/EE459/AIHO4/
whose author also shows in what directions the program probably
could or couldn't be extended.
In "2001", Arthur C Clarke foresaw that once we get computers that
appear "intelligent", they too will have a problem accepting data that
is contradictory or doesn't make sense for some other reason. And they
may react in a way not unlike humans. We're not there yet to validate
it though...
/Fredrik
Perhaps if computers could develop themselves...
However, I see the contrary happening. Programmers are perfectly happy
to put in dialogs to make sure the computer understands what the human
means, but as soon as the programmer feels the computer can make a
decent enough guess, (s)he decides the transactional costs are too
high and the dialog is out the window.
--
branko collin
Volk van San Theodoros, ik heb U begrepen.