One may argue that a true IF gamer knows the limits and needs nothing
outside of that realm. However, that kind of limits things to the simple &
predictable for the experienced players (if the parser doesn't know what a
tree is, forget about the tree & move on) & frustrating for the newer
players.
I have always liked to think that games push technology faster than other
types of software and are usually the first to exploit the latest
technology. In the realm of IF, this doesn't seem to be the case.
I am curious - are programmers held back by Inform and TADS or can these
tools do much, much more than they are currently doing? Either way, there
doesn't seem to be any great push for an incredible parser.
Interestingly enough, one was created years ago and has been on the web
for over 3 years to demonstrate its abilities - which it can tell you
about if you ask. It's called START & I'm sure it's only one example of
what today's parsing technology is capable of doing. Is anyone else
interested in seeing this technology used in IF games? (Personally, I'm
looking into the technology for PBeM games which could benefit greatly
from an excellent parser).
Here's START's Web address and a few questions and answers I grabbed from
my conversation with the MIT creation. Enjoy!
http://sakharov.ai.mit.edu/start
================================
---
==> WHAT KIND OF PROCESSOR DO YOU HAVE
The MIT Artificial Intelligence Lab's computational resources consist of
appoximately 200 Sun workstations and a number of other machines....
---
==> WHO CREATED YOU
It took 11 years in order for Boris Katz to develop START.
Boris Katz wrote the Start System.
START is written in Lisp.
---
==> WHAT IS LISP
START uses Lisp.
The Start System knows Lisp.
John Mccarthy developed Lisp in 1960....
---
==> WHO DESIGNED THIS WEB PAGE
I don't know who designed the web page.
---
==> WHAT IS 7 DIVIDED BY 8
The result is 7/8 (that is, 0.875).
---
==> IS START SMART
Yes -
...[& goes on to list its knowledge base]
---
==> HOW FAR IS BOSTON FROM NEW YORK
The distance between Boston Massachusetts and New York is 184 miles.
---
==> WHAT DO YOU KNOW ABOUT IRAQ
I currently have information on Iraqi airports, borders, cities, highways,
natural hazards, ports, railroads, terrain and weather. I also have a map
of Iraq....
---
==> TELL ME A LITTLE ABOUT IRAQ'S AIRPORTS
Iraq has a total of 118 airports, of which 105 are usable. 76 airports
have permanent-surface runways....
---
==> CAN I HAVE YOUR SOURCE CODE
Sorry, no one has told me whether or not I can tell you about my source code.
---
And of course, my personal favorite:
---
==> WHAT IS THE MEANING OF LIFE
The answer is forty two
-------------------- ---- ---- --- -- - - - - -
Can your parser do that?
I don't see why this is so *much* better than anything done with inform.
The sentence syntax looks very similar to the IF conversation convention
started by Infocom of <npc>, tell me about or ask <npc> about .. The
only advantage "Start" seems to have is that it has lots of responses
programmed in and a large amount of data. You've only used a few simple
verbs: "what" "who" "is" "how" "tell" "can" and a couple of nouns in
each sentence. What exactly makes START so SMART?
____________________________________
# \ # #### /... The One and Only ...\ #### # / #
# / # #### \... S A M U E L -x- B A R L O W .../ #### # \ #
# \ # ##### |.. ..| ##### # / #
# / # #### /.. sb6...@bris.ac.uk ..\ #### # \ #
# \ # ### /... http://irix.bris.ac.uk/~sb6729 ...\ ### # / #
# / # ### \______________________________________/ ### # \ #
Neil's response is a clean hit. It goes to *11*.
/Fredrik
Oh-oh.
> [...]
> Here's START's Web address and a few questions and answers I grabbed from
> my conversation with the MIT creation. Enjoy!
>
> http://sakharov.ai.mit.edu/start
> ================================
>
> ---
> [...examples snipped...]
>
> -------------------- ---- ---- --- -- - - - - -
> Can your parser do that?
Well, none of the parsers are mine as such, but I would say yes, they
can. Here's a basic Hugo implementation of one of your examples:
==> HOW FAR IS BOSTON FROM NEW YORK
The distance between Boston Massachusetts and New York is 184 miles.
xverb "how"
* "far" "is"/"to" object "from" xobject DoHowFar
property distances
routine DoHowFar
{
print "The distance between "; object.name; " and "; xobject.name; \
" is ";
i=(InList(object,distances,xobject))++
print number i; " miles."
}
object boston "Boston, Massachusetts"
{
noun "boston"
distances boston, 0, new_york, 184
}
object new_york "New York"
{
adjective "new"
noun "york"
distances boston, 184, new_york, 0
}
OK, the distances stuff is a bit ugly (be easier to do if Hugo supported
two-dimensional arrays-- does it?), and there is no error checking in
this example, but the functionality is there.
Here's another:
==> TELL ME A LITTLE ABOUT IRAQ'S AIRPORTS
Iraq has a total of 118 airports, of which 105 are usable. 76 airports
have permanent-surface runways....
xverb "tell"
* "me" "about" object DoTellMe
* "me" "little" "about" object DoTellMe
[The word "a" is removed by Hugo's parser.]
routine DoTellMe
{
run object.short_desc
if word[2] = "little" { run object.long_desc }
}
object iraqs_airport "Iraq's Airport"
{
adjectives "iraq's", "iraqs"
noun "airport"
short_desc
print "Iraq has a total of 118 airports, of which 105 are usable. 76
airports have permanent-surface runways.... ";
long_desc
print "There are planes at the airport, and sometimes pilots fly them."
}
Again, a clumsy implementation, but it should work. Similar things can
be done with Inform and, I'm sure, TADS.
All your other examples are possible too.
Now, harangue us about knowledge representation, which underlies most of
your examples, (or give harder examples of parsing) and you might get
somewhere. Or perhaps not.
Jools
--
"For small erections may be finished by their first architects; grand
ones, true ones, ever leave the copestone to posterity. God keep me
from ever completing anything." -- Herman Melville, "Moby Dick"
That's more or less true. IF parsers haven't advanced much beyond Infocom's
parsers.
The reason for that is certainly not that IF authors *can't* write better
parsers. In fact, it would be fairly eas (if non-trivial) to extend the
Inform parser to handle the cases you list.
No, the problem is much deeper than that, and has nothing to do with the
parser _per se_.
Take the case where the problem is most noticeable, viz. NPC's: In most IF,
you can give the NPC's simple commands ("troll, give me the bottle"), ask
them about or tell them about simple concepts ("ask the troll about the
bottle"), and that's about all.
But suppose I wanted to ask the troll something more complicated, like
"Troll, what happens if I press the button?", or "Ask the troll about
what was in the bottle before he broke it".
Now writing a parser that can parse such sentences is not the big
problem. What the parser does is basically to identify the grammatic
structure of the input. The difficult thing is not grammar, but
*understanding* the sentence, having the knowledge to act on it, and
acting on it. All these are *hard* problems; research problems in AI,
in fact. Some AI researchers are even using IF-like scenarios to explore
these problems.
Of course, we'd all dearly like to see games that really possessed the
intelligence necessary to deal with more compliated input. But writing
such games is hard. Very hard. The entire games industry hasn't come
up with anything like it yet, so maybe it's a bit ambitious to expect
us amateurs to do so in a mere 10 years.
Finally, an example that shows that the parser is the small problem; a
simple command that almost all existing IF parsers can parse, but where
it would be very hard to have the game come up with a sensible answer
(unless, of course, the programmer anticipates it and puts in a canned
response):
"Troll, prove Pythagoras' theorem."
--
Magnus Olsson (m...@df.lth.se, zeb...@pobox.com)
--- Not affiliated to Lund University or LTH ---
> That's more or less true. IF parsers haven't advanced much beyond Infocom's
> parsers.
> The reason for that is certainly not that IF authors *can't* write better
> parsers. In fact, it would be fairly eas (if non-trivial) to extend the
> Inform parser to handle the cases you list.
If I may add to what Magnus said (and I only snipped his reply for space
and because I agree with it):
The current parsing scheme has one huge advantage, which is that it's
inflexible and can only accept things in a certain format.
A given action can pretty much only be phrased one way. This means that
(1) if a player wants to do something, he only has to try a single
phrasing before he knows whether it worked, and (2) if an author wants
his game to react to a command, he only has to anticipate and handle a
single phrasing.
When this breaks down -- when an action can be phrased in several
differnt ways within the Infocom syntax -- the author *must* anticipate
and handle all of them. If the syntax was more flexible, the author would
have to do that much more work *in order to give the player the same
range of possible actions.* Is this worthwhile? We agree that it's
worthwhile up to a point -- we don't use two-word parsers -- but a line
must be drawn somewhere, and it was drawn ten years ago, and nobody has
seen advantage in moving it.
Anyway, the existing syntax seems to be good enough for action and
movement commands. How would you expand it for the realm of manipulating
physical objects? You could toss in adverbs -- well, we just were
discussing why this is a bad idea.
The other sort of commands is talking to people. Here, the existing
command set is pretty limited: "tell y about x", "ask y about x", "say
yes", and so on. I note that your list of sample commands is mostly of
this type (either they would appear after a character's name: "fred, who
created you?" or they are being asked of the viewpoint character: "what
is a grue?")
I wouldn't mind an expansion of the accepted talking-to-people syntax. If
it appeared in a game which had a lot of conversation, and had an intro
file detailing the new syntax. But I'm *not* talking about "try to
understand everything the player might type." I mean a few extra
phrasings like "Fred, x is y" and "Fred, is y x?" -- those, for example,
to support a very simple knowledge-model in which each NPC can associate
properties with objects.
Put it this way (which is pretty much what Magnus said:) *First*, you
complexify the model behind the game, such that it can handle new
commands in a consistent way. *Second*, you explain this new model to the
player, so that he's not totally lost trying to deal with it. *Then* it's
time to improve the parser so that it can deal with the new model features.
Example: you suggested "HOW FAR IS BOSTON FROM NEW YORK". Well, that's
easy enough to parse -- in Inform, it's
Verb "How" * "far" "is" noun "from" noun;
Well, spiff that up with "distant" as a synonym for "far", and use a
location-token routine for the nouns (to match all the locations known to
the game, plus "here".) Maybe also "how far is it from x to y". This is
half an hour's work at worst.
Now, what on Earth (so to speak) will inspire the player to type that? It
would have to be a situation where asking that question is practically
the only sensible thing to do. Or else give a blatant hint, or just tell
the player to type something like that. I *might* do that if distance
were a key factor in the game, such that the player is using that command
over and over again, in different situations. But more likely I'd give
him a distance chart and forget the parsing.
Ok, enough ranting.
--Z
--
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the
borogoves..."
Besides, I, at least, wasn't all that impressed by START, particularly
considering the expensiveness of its hardware. It's pretty easy to
stump with pretty natural locutions--and I don't mean stump the
database, which is of course limited to certain topics; I mean stump
the parser. I take it START's response (in the original post) to "Can
I have your source code?" for example, clearly counts as a miss. So
does its response to:
How much longer can we expect sun in San Francisco? (although "what is
the whether is San Francisco?" produces relevant information, START
can't figure out that it would be relevant)
Are you the state of the art? ("I don't know" would be fine; "I
don't know if I'm the art's state" is reminiscent of Eliza)
Don't get me wrong--I'm not claiming that START is shoddily built, or
even that it's not the state of the art (although its refusal to
answer might be construed as incriminating, were it not for the fifth
amendment). But if START is the state of the art, the art's state
(why does this sound better to me than START's reply? I'm not sure,
but it does) just isn't that advanced. I-F parsers don't seem all
that primitive by comparison.
And START doesn't even have to deal with cross-sentence pronoun
binding. Unlike IF parsers.
-Avrom
Hmmmm... Here's my conversation with it:
==> PUT THE FISH INTO THE ORANGE CUP+***
You asked START to add the following assertion to its knowledge base:
PUT THE FISH INTO THE ORANGE CUP. At present, however, remote users
are only allowed to ask questions.
(fair enough... we shall stick to questions)
==> INVENTORY
I can't understand this last sentence. Could you say it again in another
way?
==> WHAT AM I CARRYING
I don't know the answer to your question.
==> EXAMINE AIRPORT
You asked START to add the following assertion to its knowledge base:
EXAMINE AIRPORT. At present, however, remote users are only allowed to
ask questions.
Well, as nice as the parser might be, I don't see it being of much use
for *my* game :)
Kathleen (just kidding, really... I'm sure its a very nice system.)
--
*******************************************************************
* Kathleen M. Fischer
* kfischer@x_greenhouse.llnl.gov (Remove the 'x_' before replying)
** "Don't stop to stomp ants while the elephants are stampeding" **
On the other hand, it would be nice for the parser to respond sensibly to
things the player types that it doesn't understand. As it is now, the
parser either understands something, or doesn't understand it AT ALL.
Well, a little bit. But not much. :) I just played around with START:
==> WHY DON'T YOU KNOW WHERE THE PINK FLAMINGO IS
Sorry, I just don't know why I don't know where the pink flamingo is.
Beyond the fact that I think it's just humorous :), the parser at least
says something nice in response. In Inform:
I don't know the verb `why'.
would probably be the answer -- despite that why is of course not a verb. :)
Now, I realize that Inform's parsers can fit on a disk and all of that,
but there is more to life than that. :) A nice parser would be good --
Infocom sacrificed a little speed for a nice parser way back, and they did
great.
I think a problem is that most people who use IF begin to understand what
the computer wants her to type, how to type it. But true beginners often
sit down, and if they haven't read the documentation, the first sentence
they type most likely won't be understood.
Don't get me too wrong -- the parser's aren't bad, but they /don't/
understand English. Every response has to be decoded bit by bit, with no
help from the computer, which could perhaps divide the thing up:
why am I here
could be split to what-is-this-called = why, clause1.verb.infinitive = be,
clause1.subject = I, clause1.object = here.
I have been considering getting a nice book on grammar, really learning
it, and fiddling around with a parser that works like this. What do people
think?
--
Erik Hetzner | `I'm celebrating my love for you;
e...@uclink4.berkeley.edu | with a pint of beer and a new tattoo.'
I asked about a dozen questions, including several about Iraq (one of
the
things it claims to know about). I only got meaningful answers to 3.
For ex. it couldn't tell me "How big is Iraq?"
We haven't beat the Turing test yet!
All natural language understanding is domain dependent. I'm certainly
not
going to arbitrarily encode the distance between US cities, or the
number
of airports in Iran into a game.
It seems that start does very well when the questions are phrased the
way
it expects and are about things it was programmed to know about. This
is
not unlike a good IF game.
Start is very limited in the sense that it only has to respond with
facts to
queries for information. The real complexity of IF isn't in the parser
per se,
it's in the representation of common sense physical relationships,
cause-and-
effect, implicit information.
Jay Trischman
: > > http://sakharov.ai.mit.edu/start
: Well, as nice as the parser might be, I don't see it being of much use
: for *my* game :)
: Kathleen (just kidding, really... I'm sure its a very nice system.)
==> TELL ME SOMETHING NOT ABOUT BOSTON WEATHER
To obtain the information you requested, click on the
*weather in Boston*.
...or maybe not. Jeez, even most i-f parsers understands negation (PUT ALL
BUT THE AI SYSTEM IN KNAPSACK.)
Okay, let's try with the word "but."
==> TELL ME ANYTHING BUT SOMETHING ABOUT BOSTON WEATHER
The distance between Detroit Michigan and Chicago Illinois is
235 miles.
*ahem*
--Liza
--
"Why should we endeavour to make the web exciting, interesting,
interactive and aesthetically pleasing?" - The House of Erotic Massage
March edition
ge...@retina.net http://fovea.retina.net/~gecko/
Sure. Hell, ELIZA could probaby do that. There's no really tricky parsing qua
parsing going on there, and certainly nothing Inform or TADS couldn't handle.
This example shows a program that can recognize quite a few ways of phrasing
simple questions and has a large knowledge base. There are even two obviously
canned responses: "I don't know [restate question]" and "Sorry, no one has told
me whether or not I can tell you about [subject of question]".
Most IF parsers don't operate this way because they're not expected to, not
because they can't.
========
Steven Howard
bl...@ibm.net
What's a nice word like "euphemism" doing in a sentence like this?
>Here's START's Web address and a few questions and answers I grabbed from
>my conversation with the MIT creation. Enjoy!
>
>http://sakharov.ai.mit.edu/start
>================================
[I've been reading American authors from the 1920s. I wonder if START knows
anything about them . . .]
==> WHO WAS DOROTHY PARKER
The word PARKER is unknown. Please choose one of the following:
PARKED
PARSER
MARKER
Abort
[Oooh. Not off to a good start. Mrs. Parker may be a bit obscure. Let's try
Fitzgerald . . .]
==> WHO WAS F
I did not understand the word "f". Please try using a different word.
==> SCOTT FITZGERALD
I did not understand the word "fitzgerald". Please try using a different word.
[Huh. Well, they never said it knew anything about literature. Try science.]
==> WHO WAS ALBERT EINSTEIN
I don't know anything concerning Albert Einstein.
[Getting better. At least it recognizes that "Albert Einstein" is what I'm
asking about. This is the first of my questions that START has been able to
parse.]
==> WHO WAS TURING
I don't know anything at all about Turing.
[I guess not.]
>Can your parser do that?
Ed, honey, if my parser can't do better than that, I'll eat it.
Magnus oh Magnus, you fail to see the _real_ problem here. Trolls are
stupid.
/Fredrik
> Can your parser do that?
Here are a few examples from Start that make me think that the parser
pretty much
sucks. It's the knowledge base that can add something.
==> IS IRAQ A PART OF THE USA
Sorry - I don't know if Iraq is the USA's part.
==> WHAT IS IRAQ
Iraq is Iran's neighbor.
Iraq is potential nuclear power.
Iraq is a country.
Sorry, I don't know what you are asking about.
==> CAN YOU MAKE TEA
Sorry, no one has told me whether I can make the tea.
==> WHY WOULD ANYONE LIKE TO LIVE IN CLEVELAND (Okay, this one doesn't
prove much...)
Unfortunately, I don't know why anyone would like living in Cleveland
Ohio.
==> IS OHIO IN CLEVELAND
Unfortunately, I wasn't told whether Ohio is in Cleveland Ohio.
==> ARE THERE ANY IRAQI PORTS IN SOUTH KOREA
The following seems to be relevant:
Iraq's major ports are: Umm Qasr, which has reopened in November 1993;
Khawr az Zubayr and Al Basrah, both of which have been closed since
1980.
South Korea's major ports are: Pusan, Inch'on, Kunsan, Mokp'o, and
Ulsan.
==> ARE INTERACTIVE FICTION PARSERS BETTER THAN YOURS
Sorry - I don't know.
==> ARE YOU INTELLIGENT
Yes
==> WHAT IS INTELLIGENCE
I don't know the answer to your question.
==> WHAT IS THE DISTANCE BETWEEN IRAQ
Sorry - I don't know.
==> WHAT IS THE DISTANCE BETWEEN IRAQ AND IRAQ
The distance between Baghdad, the capital of Iraq, and Baghdad, the
capital
of Iraq, is 0 miles.
==> TELL ME ABOUT ALL PORTS
Sorry - I don't know whether or not I can tell you about all ports.
==> WILL YOU TAKE CONTROL OF EARTH
I am sorry to say I don't know whether or not I will take the control of
the
Earth.
I think this last reply indicates that we should sign a petition that
the project
is stopped immediately.
/Fredrik
> ==> WHY DON'T YOU KNOW WHERE THE PINK FLAMINGO IS
> Sorry, I just don't know why I don't know where the pink flamingo is.
> Beyond the fact that I think it's just humorous :), the parser at least
> says something nice in response.
Yes, this is nice. But do nice error messages really make the game easier
for beginners to play? It still boils down to "Type something else,
jerk."
> Now, I realize that Inform's parsers can fit on a disk and all of that,
> but there is more to life than that. :) A nice parser would be good --
> Infocom sacrificed a little speed for a nice parser way back, and they did
> great.
> I think a problem is that most people who use IF begin to understand what
> the computer wants her to type, how to type it. But true beginners often
> sit down, and if they haven't read the documentation, the first sentence
> they type most likely won't be understood.
Frankly, from what I've seen posted from the START project, its parser
structure is *very* comparable to Inform (TADS, etc.) It understands
a fixed grammar of sentences: "is X a Y?" and so on. The differences are,
one, its grammar is detailed and has a lot of templates for statements
about statements, and two, it has this knowledge base in back which is
expressed in terms of the same grammar.
It can also do partial matching of templates, in some sense, but it seems
really bad at it. Attend:
==> IS IRAQ A COUNTRY
Yes, Iraq is a country.
==> WHY IS IRAQ A COUNTRY
Yes, Iraq is a country.
==> IS IRAQ
Yes -
Iraq is next to Turkey.
Iraq is next to Syria.
Iraq is next to Saudi Arabia.
Iraq is next to Kuwait.
Iraq is next to Jordan.
Iraq is next to Iran.
==> WHAT IS IRAQ NEAR
I don't know the answer to this question. Sorry.
==> WHY IS IRAQ
[response to this one is entirely blank!]
> Don't get me too wrong -- the parser's aren't bad, but they /don't/
> understand English.
Uh, START does?
> Every response has to be decoded bit by bit, with no
> help from the computer, which could perhaps divide the thing up:
> why am I here
> could be split to what-is-this-called = why, clause1.verb.infinitive = be,
> clause1.subject = I, clause1.object = here.
This is exactly what we have now, except allowing the possibility of
recursion ("nouns" which are other clauses.) This is not a bad thought,
but I really think you'll go less insane if you look at it as an
extension of the capacity of the existing Inform grammar.
> I have been considering getting a nice book on grammar, really learning
> it, and fiddling around with a parser that works like this. What do people
> think?
Go for it. What I think is, the result will be less useful for IF than
what we have now.
>Well, none of the parsers are mine as such, but I would say yes, they
>can. Here's a basic Hugo implementation of one of your examples:
Hmm. There's something familiar about this argument.
It all smacks of Kevin Soucy's defense of AGT. We have two systems,
one allegedly better than the other. The proponent of the allegedly
better system gives examples of what it can do, and someone replies
with code to implement the examples - without addressing the larger
concern of whether the examples can be generalized easily. Heck, I
could write a program in BASIC in about five minutes that could
answer all the example questions correctly (and no others).
--
Carl Muckenhoupt | Text Adventures are not dead!
b...@tiac.net | Read rec.[arts|games].int-fiction to see
http://www.tiac.net/users/baf | what you're missing!
Gee, Liza, you were asking it the easy questions and playing reverse
psychology on it. Here's a sample transcript of my Dinner with START.
==> CAN YOU TELL ME HOW TO GET TO SESAME STREET
I'm sorry, I don't have access to that information.
==> WHO WOULD WIN IN A FIGHT BETWEEN A DOG AND A MONKEY
I don't have the answer to who would win in the fight between
the dog and the monkey.
/* well, at least it parsed my sentence correctly there. */
==> WHO'S THE BLACK PRIVATE DICK WHO'S A SEX MACHINE WITH ALL
THE CHICKS
I'm sorry, I don't understand that. Could you try it again
differently?
==> SHAFT IS THE BLACK PRIVATE DICK WHO'S A SEX MACHINE WITH
ALL THE CHICKS
You asked START to add the following assertion to its knowledge base:
SHAFT IS THE BLACK PRIVATE DICK WHO^S A SEX MACHINE WITH ALL THE
CHICKS. At present, however, remote users are only allowed to ask
questions. Please send mail to Bo...@ai.mit.edu for more information.
/* well, at least it's expandable, just not by us. which is a shame,
because I've been itching to feed some AI misinformation for a long time. */
==> WHO IS ALAN TURING
I'm sorry, I don't have any information on Alan Turing.
/* Bwah? BAD AI! NO BISCUIT! */
==> HAVE I TOLD YOU LATELY THAT I LOVE YOU
I hope the following information is relevant to your question --
My experimental database contains information about personnel and
research at the MIT Artificial Intelligence Laboratory.
Separately, I have information about about 6 countries -- Iran, Iraq,
Kuwait, North Korea, Saudi Arabia and South Korea -- concerning the
following topics: airports, borders, cities, highways, maps, natural
hazards, ports, railroads, terrain and weather.
You can also ask me about weather forecasts for many major cities,
distances between cities, maps of many countries, and their capitals.
I am learning to answer your questions posed in English. Please be
gentle with me. Remember, I know only what I was told.
/* transcript ends here as examiner's head explodes due to the fact that
the engine apparently does not understand rhetorical questions */
--
derSpatchel resides at http://error.net/~spatula, among other places.
"But Basketball is a peaceful planet! We have no weapons!"
PUTPBAD 2: 94% IQ DROPPED: 12%
mstie#43790
>Here's START's Web address and a few questions and answers I grabbed from
>my conversation with the MIT creation. Enjoy!
>
>http://sakharov.ai.mit.edu/start
>================================
>
>---
>==> WHAT KIND OF PROCESSOR DO YOU HAVE
>
>The MIT Artificial Intelligence Lab's computational resources consist of
>appoximately 200 Sun workstations and a number of other machines....
>---
>==> WHO CREATED YOU
>
>It took 11 years in order for Boris Katz to develop START.
>Boris Katz wrote the Start System.
>START is written in Lisp.
I tried it, and got what I thought was an appropriate response:
==> IS MIT A GOOD SCHOOL
I don't know whether or not MIT is a good school.
Hmmm.
--
KEN FAIR - U. Chicago Law | <http://student-www.uchicago.edu/users/kjfair>
Of Counsel, U. of Ediacara | Power Mac! | CABAL(tm) | I'm w/in McQ - R U?
The Internet was not created for companies to make money from.
I've been playing with START a bit. The reply I've seen so far that impresses
me the most is this:
Who works at MIT?
Boris Katz works at the Ai Laboratory.
Davis works at the Ai Laboratory.
Dally works at the Ai Laboratory.
Brooks works at the Ai Laboratory.
[and so on for a couple of pages.] Imagine implementing this in your favorite
IF language without explicitly coding a "who works at" verb.
(Hmm. A relational database with a natural language parser... didn't
Infocom try that at one point?)
A player asks an NPC a question. Assuming that the player's input is
digested properly and the NPC knows one or two things on the subject,
how can the i-f program assemble all the bits coherently and eloquently?
START doesn't need to feign a personality, or natrual speech:
[Quoted from <Ed-180397...@207.103.118.124>, Ed!
<E...@eSquare.com>]
>==> WHO CREATED YOU
>
>It took 11 years in order for Boris Katz to develop START.
>Boris Katz wrote the Start System.
>START is written in Lisp.
>---
>==> WHAT IS LISP
>
>START uses Lisp.
>The Start System knows Lisp.
>John Mccarthy developed Lisp in 1960....
START responds in lists, with a separate sentence and newline for each
"fact".
But in i-f that doesn't work:
> Ask troll about bridge
The troll scratches himself.
"I live under the bridge.
The bridge is mine.
You can't buy this bridge from me!
My grandfather once had a nice bridge in Cleveland.
The bridge is the only way across the chasm.
You'll have to pay me to cross the bridge.
I accept payment in billy-goats."
Even assuming that these answers are written in Troll-ese[1], there is
no coherence between the sentences. In current I-F, most game text is
like this; each routine or event has its own sentence and/or paragraph,
and these are usually listed, one after the other. Because of this, NPC
responses are often hard-coded, for realism. And this limits the
possibilities, somewhat.
It seems to me that the solution would be to have an intermediate stage
between the game mechanics (knowledge base query results, interference
based on personality, intention to deceive, etc.) and the output. This
stage would translate a pseudo grammar of "facts" into normal coherent
prose. It could also add accent, character, etc. like all those nifty
personality filters.
The problem gets more complex when you take into account conversations
spanning multiple turns. For example, there's persistence of pronouns
in the NPC's speech (the troll might say "bridge" every sentence, but a
more intelligent character would probably use "it" most of the time,
unless there was ambiguity).
Any thoughts?
[1] i.e: "Me try playing bridge once. Went down one in six spades. Hit
partner with club. Now no fourth. Ug."
--
Michael Graham mailto:mgr...@cega.demon.co.uk
Cega Ltd. Web Design Consultants http://www.cega.co.uk
London (Stratford), UK
Tel/Fax: +44-(0)181-221-2417
My own contribution to the field:
[I, too, started with song lyrics:]
==> WHO'S ZOOMING WHO
Unfortunately, I don't know who is zooming itself.
[Guess it should've been "Who's zooming whom." Except it isn't.]
==> WHY DO FOOLS FALL IN LOVE
Unfortunately, I don't have that information.
[Unfortunately!]
==> IS THERE A GOD
Sorry - I don't know whether god is.
[Um...]
==> WHAT'S THE ANSWER TO THIS QUESTION
I'm really sorry, but I can't help you with that one.
[Fair enough. Okay, let's try something on-topic:]
==> WHAT'S IT LIKE IN BAGHDAD RIGHT NOW
I don't know the answer to this question. Sorry.
==> WHY DID BUSH INVADE IRAQ
Sorry, I just don't know why the bush invaded Iraq.
[Oy. Maybe the silly questions are better after all:]
==> DO YOU LIKE BEING A COMPUTER
I hope the following will answer your question --
The MIT Artificial Intelligence Lab's computational resources consist of
appoximately 200 Sun workstations and a number of other
machines. Six of the the Suns function as servers, including a mail server
and a Web server. Most of the Suns run the SunOS operating
system. The servers support 70 Gig of disks and backups are performed
nightly using a 10-tape tape stacker.
Additionally, the laboratory has about twenty Silicon Graphics
workstations, ten PC's, twenty Apple Macintoshes, and a number of Lisp
Machines.
Machines continue to be added as newer, more powerful hardware becomes
available.
There are 16 v32 bis modems for dialup access. Two 17-ppm HP Laserjet-4
printers handle the bulk of the hardcopy. We also have a
number of Apple Laserwriters for smaller jobs.
Our systems administrator/resident genius is Bruce Walton.
The URL of the Lab's Home Page is http://www.ai.mit.edu.
The anonymous ftp site, where you can download any of the online
publications, is: pubs.ai.mit.edu.
[Uh-oh. Is this a coded cry for help?]
==> WHO'S THE BOSS HERE
Patrick Winston is the Ai Laboratory's current director.
Randall Davis is the Ai Laboratory's assistant director.
Rodney Brooks is the Ai Laboratory's assistant director.
==> IS RANDALL DAVIS JEALOUS OF PATRICK WINSTON
Unfortunately, I don't have that information.
==> WHY AREN'T THERE ANY WOMEN AT THE AI LABORATORY
Sorry, no one has told me why the women at the Ai Laboratory aren't.
As far as I'm concerned, no one has convinced me that the powerfulness of
this parser is.
Neil
---------------------------------------------------------
Neil deMause ne...@echonyc.com
http://www.echonyc.com/~wham/neild.html
---------------------------------------------------------
"WHO CREATED YOU," seems very simple to parse & I'm sure it is. The point
is that I didn't ask it twenty questions (Who made START? Start written by
whom? etc.) to get the one answer that I was looking for. Yet I could
probably get the same canned response by asking most of those 20
questions. No rewriting on the part of the MIT lab boys, just more ways to
communicate. I asked some questions to test its limits and see if I could
stump it, which I obviously could (although "WHY WOULD ANYONE LIKE TO LIVE
IN CLEVELAND" was probably the quickest way. I'm still thinking aabout
that one ;). But for the most part it responded more often than it
complained "That's not a verb I recognize." Of course, Liza Daly was
clever enough to show that it lacks proper understanding of negatives.
In article <5gmbl0$u...@bartlet.df.lth.se>, m...@bartlet.df.lth.se (Magnus
Olsson) wrote:
> Finally, an example that shows that the parser is the small problem; a
> simple command that almost all existing IF parsers can parse, but where
> it would be very hard to have the game come up with a sensible answer
> (unless, of course, the programmer anticipates it and puts in a canned
> response):
>
Instead of canned response, the program should be able to tell the player
of simple facts and relations within the game.
:Can the can fit inside the box?
:Did the troll see me yet?
:Troll, where did you come from? (which area/direction was it in last)
:Is the machine plugged in?
These are things which the program would know & would not need a script
written by the author to convey the answers. There are probably more
examples where additional descriptions would be needed, but the parser
doesn't seem to be to willing to comply:
:look up
I only understood you as far as wanting to look.
:look behind the machine
I only understood you as far as wanting to look.
Could it? Yes, of course. I agree that technology is only part of the
problem. Writing is hard.
Here's an interesting question: If IF software starts recognizing such
commands and questions, would IF writers turn off the 'advanced parser'
feature?
In article <erkyrathE...@netcom.com>, erky...@netom.com (Andrew
Plotkin) wrote:
> A given action can pretty much only be phrased one way. This means that
> (1) if a player wants to do something, he only has to try a single
> phrasing before he knows whether it worked, and (2) if an author wants
> his game to react to a command, he only has to anticipate and handle a
> single phrasing.
>
Not usually true - unless of course you are so comfortable with
parser-speak that you occaisionally find yourself ordering take-out as if
you were talking to your PC, "Get fries. look burger. get burger and
pickles." Sometimes it takes a while to figure out how the author is
seeing the situation and how the parser can comprehend. Instead of only
trying "a single phrasing before he knows whether it worked," the player
ends up trying a dozen to make sure he didn't word it wrong the first
eleven times.
> I wouldn't mind an expansion of the accepted talking-to-people syntax.
This is probably the biggie, especially since it wouldn't need a ton of
writing. Each NPC can have a knowledge base & will reveal certain things
if certain conditions are met. Simple yes/no questions would add a great
deal to the games without any additional script writing.
:Do you own the club?
:Is your dog in the barn?
:Would you want to live in Cleveland?
:Do you know what this red thing is?
No current IF game can do a thing with these questions. Would they add
something to the games? I couldn't imagine anyone thinking that they
wouldn't. Would it make the programming & writing more difficult? Yep. But
I'm sure programming Castle Wolfenstein was a lot simpler than coding
Wolfenstein 3D.
The point is that a little AI and some more advanced parsing would open up
a whole new world in the IF realm - yet no one seems to be pursuing any
such goal. That surprised me. If there was such a push in the IF community
(and had been for the last ten years), we would now have a parser so
incredible that Dear Abby would be out of a job.
Ed!
Btw, if you (dis)enjoyed START, you may want to check out Barry
(www.fringeware.com/bot/barry.html), many of his replies are Eliza-esque,
but at least he's got an attitude. He says he's 5'9" & has brown hair.
He's a Star Trek fan too:
>What is the meaing of life?
Barry says: The meaning of life is to get laid, right?
I evtually got tired of his Eliza responses & subject changes, so I may
have been a little insulting. Then he started swearing at me in foreign
languages. The conversation finally ended with:
Barry says: If I give you a Dollar will you go away?
(How insulting)
==> DID YOU SEE THE SIMPSONS LAST NIGHT?
I did not understand the word "simpsons". Please try using a different
word.
==> HOW DO YOU FEEL ABOUT SIMULATED CONSCIOUSNESS?
Sorry, I just don't know how I feel about the simulated consciousness.
==> DO YOU WANT KIDS?
Unfortunately, I wasn't told whether or not I want the kids.
==> DO YOU THINK CLINTON REALLY ISN'T TAKING ANY PAIN MEDICATION?
Sorry, I just don't know if I think Clinton isn't really taking the pain
medication.
==> WHAT CAN YOU TELL ME ABOUT THE TRIGONOMETRIC FUNCTIONS?
The following information may be relevant --
My experimental database contains information about personnel and research
at the MIT Artificial Intelligence Laboratory.
Separately, I have information about about 6 countries -- Iran, Iraq,
Kuwait, North Korea, Saudi Arabia and South Korea -- concerning the
following topics:
airports, borders, cities, highways, maps, natural hazards, ports,
railroads, terrain and weather.
You can also ask me about weather forecasts for many major cities,
distances between cities, maps of many countries, and their capitals.
I am learning to answer your questions posed in English. Please be gentle
with me. Remember, I know only what I was told.
==> HOW WAS YOUR DAY?
I don't know.
==> WHY DON'T YOU KNOW?
Sorry, no one has told me why I don't know.
Paul O'Brian obr...@ucsu.colorado.edu
Remember Zork & Planetfall? Explore the Interactive Fiction Renaissance!
WWW: XYZZYnews at www.xyzzynews.com * FTP: The IF Archive at ftp.gmd.de
USENET: rec.arts|games.int-fiction * CD: Masterpieces of Infocom (US $20)
Well, this is true. But OTOH the post I replied to did not ask about
generalities. It gave a dozen or so specific examples of STARTs
"parsing" abilities and then asked "can your parser do that?" I replied
yes, and showed how it might be done. Now, in fact all the examples
were virtually identical in terms of parsing, and were not very
impressive, in terms of what IF parsers can do, at that. The strength
of START seems to lie in the interface of its parser and its knowledge
base. This strength, however, is not very great.
I would say that if someone was really inclined to sit down and rewrite
START in standard Inform, Hugo, or TADS, they could. The only problem
they may have would be that perhaps the gamefile produced would not be
large enough to hold the full knowledge base. Obviously the only way I
could prove to a non-believer that this is possible would be to do it,
which I'm not going to do, which is why I gave a couple of isolated
examples instead. To my mind this is more productive, if less amusing,
than posting endless examples of how to trip up the AI.
It should be noted, though, that START is 3-4 years old, so hardly
state-of-the-art. It should also be noted that START apparently took
*11* years to develop.
> :Can the can fit inside the box?
> :Did the troll see me yet?
> :Troll, where did you come from? (which area/direction was it in last)
> :Is the machine plugged in?
> These are things which the program would know & would not need a script
> written by the author to convey the answers.
I think this comes to the important point: you're not talking about a
parser, you're talking about the knowledge system behind the parser. This
is not an additional capacity for a game; it's a new form of game. At
least, it is if the knowledge system is fully-used enough to be important
to the player. (If it's not, it's just a creeping feature in the game
and should be ignored.)
> Here's an interesting question: If IF software starts recognizing such
> commands and questions, would IF writers turn off the 'advanced parser'
> feature?
I don't think the question addresses the real situation. It's new
software. It wouldn't be either written or used for the same things that
(say) Inform is written and used for.
> > I wouldn't mind an expansion of the accepted talking-to-people syntax.
> This is probably the biggie, especially since it wouldn't need a ton of
> writing. Each NPC can have a knowledge base & will reveal certain things
> if certain conditions are met. Simple yes/no questions would add a great
> deal to the games without any additional script writing.
> :Do you own the club?
> :Is your dog in the barn?
> :Would you want to live in Cleveland?
> :Do you know what this red thing is?
> No current IF game can do a thing with these questions.
I still disagree. Parser-speak for these yes/no questions, on top of a
knowledge base, could be implemented in the existing languages. (By
"parser-speak" I mean the limited-form syntax we have now.)
> Would they add
> something to the games? I couldn't imagine anyone thinking that they
> wouldn't.
I can. Is the troll in Zork improved if he can agree that yes, he owns the
axe? The game isn't about that; it would just be a gimmick.
The idea -- of a knowledge system, not a better parser -- could work in a
new game. (I generally think that anything can work in a new game.) The
parsing seems to me to me a chimera. If I'm wrong, it can be demonstrated
by trying a knowledge-base game in parser-speak, and discovering that the
players want more out of the parser. (It doesn't have to be demonstrated
that way, but that's what I'd try.)
[I accidentally snipped your reply to my earlier post, and have no easy
way to get it back. Basically you said that parser-speak doesn't work
because players have to try several variations of a command. Well, I know
it breaks down sometimes. As an author, I try to make that happen as
rarely as possibly -- by not casting situations where the player needs to
think up an obscure command. As long as I'm in the realm of physical
actions, not dialogue, this is not restrictive. And improving the parser
makes that job *harder* -- that's the point -- for a given range of
possible protagonist actions.]
> The point is that a little AI and some more advanced parsing would open up
> a whole new world in the IF realm - yet no one seems to be pursuing any
> such goal. That surprised me.
Does that mean you're going to start pursuing?
> A player asks an NPC a question. Assuming that the player's input is
> digested properly and the NPC knows one or two things on the subject,
> how can the i-f program assemble all the bits coherently and
> eloquently?
Ah, what you are talking about is "text planning". It happens to be a
specialty of the company I work for, CoGenTex, Inc. (I do believe that
this is the first time in all my years of USENET that my job was
actually
relevant in some newsgroup!)
If you wanted to do Inform programming using text planning, what you
would
have to do is *not* to fill your program with hard-coded strings like
"The
troll gobbles up the tasty ham sandwich." Instead, you would put in a
syntactic specification for your sentence---very roughly
main-verb: GOBBLE
subject: TROLL
object:
root: SANDWICH
adjective: HAM
adjective: TASTY
Then, before printing anything out, the syntactic specification would be
combined
with the syntactic specifications of nearby messages in a process of
"sentence
planning", and the resulting specification would be converted into
English (or
whatever language) through a process of "sentence realization". The
sentence
planning component would, where appropriate, combine several messages
into one
sentence using conjunctions, relative clauses, etc. and would replace
nouns by
pronouns, etc.
The thing that is nice about text generation, as opposed to text
understanding,
is that the generator really doesn't have to be that smart---it just
follows
blindly the rules of the grammar. A text generator really doesn't need
any
sophisticated artificial intelligence or semantic understanding.
If you are interested in a project, we could try to create a fluent game
using
this approach. How about it?
Daryl McCullough
CoGenTex, Inc.
Ithaca, NY
I'm reminded here of SHRDLU answering questions about it's colored-block
world. However, a "SHRDLU narrator" for even a simple IF game would
have to deal with a lot more than SHRDLU does, as your sample questions
indicate. (i.e. multiple actors, all sorts of quirky relations (things
being plugged into other things), etc.)
I agree with Andrew that what we are talking about here is a different
kind of game, and I agree that it would be nothing more than a gimmick
unless it was integral to the expereince. Assuming that it *is* an
integral feature, my own feeling is that as soon as we stray into the
arena of really "talking" to the game "narrator", or talking to NPCs,
nothing less than full natural language comprehension will do. There's
an old adage in IF that players should spend all their time playing the
game and (preferably) none of their time "playing the parser". I think
if you try to implement this kind of thing with anything less than full
natural language comprehension, players are going to spend an inordinate
amount of time fiddling around with it, phrasing things 10 different
ways, trying to figure out what the program can or can't understand -
i.e., playing the parser. Parser problems are some of the biggest
"suspension-of-disbelief-shatterers" in this medium, and this
SHRDLU-narrator idea just screams "parser problems" to me.
NPCs are, if anything, an even knottier problem than a SHRDLU-narrator,
because NPCs have to have "personality". SHRDLU might be good at
talking about it's block world, but no NPC that talks like SHRDLU is
going to suspend my disbelief for a second (unless the NPC is a
SHRDLU-like entity - which is a fascinating idea, but doesn't represent
the general case). The question, again, is: how sophisticated does the
NPC have to be before it really "works"? My answer is that it better be
damn near AI-complete, or forget it and just give me the existing NPC
technology. I think the intermediate hybrid is going to be more
frustrating and distracting than what we've got now.
That's really the dilemma: how to we get there from here? It's like a
"blocked path" paradox in evolution (which is not really a paradox),
where some of the intermediate states are less "fit" than the current
state, so a distant more "fit" state is never reached (since evolution
has no foresight. Anyone know if there is a technical name for this
"paradox", by the way?) I don't have a solution, but I do suspect this
is the reason that IF parsing has hovered at about the same point for
years; it's just not obvious how to progress, taking reasonable-sized
steps, in the direction you want to go.
--
Kory Heath
khe...@1connect.com
On Thu, 20 Mar 1997, Ed! wrote:
>m...@bartlet.df.lth.se (Magnus Olsson) wrote:
>> Finally, an example that shows that the parser is the small problem; a
>> simple command that almost all existing IF parsers can parse, but where
>> it would be very hard to have the game come up with a sensible answer
>> (unless, of course, the programmer anticipates it and puts in a canned
>> response):
>>
>Instead of canned response, the program should be able to tell the player
>of simple facts and relations within the game.
>
>:Can the can fit inside the box?
'Put can in box' should give you that information.
>:Is the machine plugged in?
'Examine the machine' should tell you. These two examples are ones where
anyone but a total novice could derive the desired information without
having to play guess the verb and without requiring extra
'question' parsing.
>:Did the troll see me yet?
Do you really expect authors to even anticipate grammatically unsound
constructions? (: Besides, if the troll had seen me, I'd expect to be told
about it and would be very displeased if told that you have to ask if I've
been seen to find out. It would be like having to type 'Can I see any
treasure yet' every other turn.
>:Troll, where did you come from? (which area/direction was it in last)
Granted. Some people are working on NPC's which know a little of their
history, I think. But you have to be wary of the large number of ways of
constructing this question. Surely you aren't suggesting that i-f authors
attempt to do _real_ language parsing?
>These are things which the program would know
No they aren't.
>& would not need a script written by the author to convey the answers.
The program wouldn't 'know' it unless it was told. It's all very well
setting 'troll_seen.flag' to 1 but it means nothing to the computer unless
you write special code to ALSO parse the question 'has the troll seen
me?', which would then have to go and look up the flag. So it is not, as
you may be suggesting, simple to implement.
>:look up
>I only understood you as far as wanting to look.
>:look behind the machine
>I only understood you as far as wanting to look.
It depends entirely on the programmer as to whether to worry about this
level of detail. 'Look up' revealing anything that 'look' alone doesn't
show is not universally popular. ;)
[...]
>The point is that a little AI and some more advanced parsing would open up
>a whole new world in the IF realm - yet no one seems to be pursuing any
>such goal. That surprised me. If there was such a push in the IF community
>(and had been for the last ten years), we would now have a parser so
>incredible that Dear Abby would be out of a job.
Hmm, it's all very well advancing the parser but would it make it any more
fun, meaningful, entertaining to play (depending on what you want from
your if)? Many of your examples, it could be argued, would be good things
to have - within the right context. But the critical thing is that every
context requires a different approach. At the simplest level, there's no
point having good question parsing if your NPC's are just a couple of
cardboard cutouts which serve no purpose but to flesh out one or two
scenes. Many of your arguments about the 'advancement of technology' and
so on, might find echoes in the cries of those who can't believe we have
pictures or sound. Why? Because they aren't necessary. Because the way
things are now has a style of its own. Because people like it this way and
can see plenty of room for improvements in other areas first.
Damn, I didn't want to get drawn into that. :) Now I have to hurry away.
Thanks for provoking our thoughts, Ed.
Ta ta
--
Den Spambots please insert '.ignore.this.bit' after my address.
Not only can no IF game do a thing with them, no _anything_ can do a thing
with them -- or if something can, there are equally simple questions that
will stump it. I can not contest that this would add something to the
gaming environment, but I think the there is a wider gulf in the programming
involved -- more like that between EDLIN and Word 97. (Note: this is a bow
to the complexity of AI and not a slap at modern IF systems.)
>The point is that a little AI and some more advanced parsing would open up
>a whole new world in the IF realm - yet no one seems to be pursuing any
>such goal. That surprised me. If there was such a push in the IF community
>(and had been for the last ten years), we would now have a parser so
>incredible that Dear Abby would be out of a job.
What you are suggesting would take more than a _little_ AI. It would take
more AI than has been developed to date. Furthermore, to suggest that IF
authors and system developers should be out-performing MIT et al in AI and
advanced parsing technology is more than a little unfair. It's like asking
an amateur astronomers club to out-observe the Hubble telescope.
Despite what you say, there is a constant pressure to improve the parser.
It took years simply to catch up to what Infocom developed in the 70s.
Right now what we get out of parser discussion is in depth analysis of
the word "it." Significant parser advancement will not precede useful
advancements outside the field of IF, which can then be bent to our
purposes. What you have here are hobbyists. There is not a single person
on the face of this planet who writes IF for a living. Let the grad
students and professors develop AI, parsers, and knowledge representation.
I'll guarantee you that as soon as they reach a point where they can be
used for good interactive storytelling, someone will do it.
There are, by the way, current projects in the works to marry AI to IF.
Look up "rec.arts.int-fiction" along with "Prolog" at dejanews.
Don't think the IF community is not interested in pushing frontiers. That
is not at all what I am saying. It's just that the frontiers being pushed
may sometimes seem silly when viewed from the outside. Some other sets
of words you can look up could be "z-machine spec" "Freefall" "Life doesn't
work that way" "Black White" "Avalon NPC" "In The End" "Robots" "Lists"
"I-0" "Tapestry" "Baggett Scheme" "pickle" "gender" and (wink) "air
fresheners." Happy hunting.
That is all,
Joe
But you forgot a very important question...
==> WHAT HAPPENS IF YOU PICK UP THE TELEPHONE BOOTH
I don't know the answer to this question. Sorry.
Now, this did show some knowledge of synonyms, as I typed in "phone
booth" to start with. But it doesn't seem to know anything *about*
telephones...
==> TELL ME ABOUT TELEPHONES
I don't know the answer. Sorry.
And the parser also fails to provide an interesting response...
==> XYZZY
I did not understand the word "xyzzy". Please try using a different word.
Well, how about
==> PLUGH
The word PLUGH is unknown. Please choose one of the following:
PLUG PLUGS PLOUGH
And everybody's favorite, I'll ask about my home town
==> TELL ME ABOUT ROCHESTER NY
Rochester Ny is located in USA, in the state of New York.
Well, Duh. Perhaps Rochester isn't considered one of the "major
cities" of the problem domain...
==> TELL ME ABOUT BOSTON MA
Boston Ma is located in USA, in the state of Massachusetts.
Then again, perhaps that isn't it.
So who is doing the psychological study of all this? What is Boris
Katz going to make of all these strange questions showing up in
his logs? (I also asked "what's your phone number" and "what's
your sign" and "tell me about Eliza", to no avail.)
Definitive proof this has failed the Turing test.
>
> Now, this did show some knowledge of synonyms, as I typed in "phone
> booth" to start with. But it doesn't seem to know anything *about*
> telephones...
> ==> TELL ME ABOUT TELEPHONES
> I don't know the answer. Sorry.
Heck, you didn't even give it a question!
Hmm. That gives me an idea, if I can just drag out the Tom Stoppard...
==> SHALL WE PLAY AT QUESTIONS
Sorry, I just don't know whether or not you shall play at the
questions.
*shakes head*
>
> And the parser also fails to provide an interesting response...
> ==> XYZZY
> I did not understand the word "xyzzy". Please try using a different word.
>
> Well, how about
> ==> PLUGH
> The word PLUGH is unknown. Please choose one of the following:
> PLUG PLUGS PLOUGH
At least it could have said "A hollow voice says, 'The word is unknown.'"
Lemme try:
==> HELLO SAILOR
Hi! Good to see you!
I am ready to process your sentences.
(further tests conclude that it only parsed 'hello' and treated 'sailor'
as an arbitrary variable. *sigh*)
> So who is doing the psychological study of all this? What is Boris
> Katz going to make of all these strange questions showing up in
> his logs? (I also asked "what's your phone number" and "what's
> your sign" and "tell me about Eliza", to no avail.)
I asked if it was related to Eliza. I was at least hoping for a "Please
elaborate" response -just once-!! I guess some things are just mere
dreams.
- spatch, maybe boris katz has a limited sense of humor? -
--
derSpatchel resides at http://error.net/~spatula, among other places.
"But Basketball is a peaceful planet! We have no weapons!"
PUTPBAD 2: 94% IQ DROPPED: 12%
mstie#43790
> Yes, this is nice. But do nice error messages really make the game easier
> for beginners to play? It still boils down to "Type something else,
> jerk."
In a way -- but the answer is different in that it says `I understand what
you're asking, but I don't know anything about it,' rather than `What the
hell are you trying to say?'
> Frankly, from what I've seen posted from the START project, its parser
> structure is *very* comparable to Inform (TADS, etc.) It understands
> a fixed grammar of sentences: "is X a Y?" and so on. The differences are,
> one, its grammar is detailed and has a lot of templates for statements
> about statements, and two, it has this knowledge base in back which is
> expressed in terms of the same grammar.
I'm not advocation START -- I'd never used it before yesterday, and I too
wasn't that impressed. After all, the questions and replies posted were
examples. I'd like to get those kind of responses the first time I tried
it.
> > Don't get me too wrong -- the parser's aren't bad, but they /don't/
> > understand English.
>
> Uh, START does?
Nope.
> > Every response has to be decoded bit by bit, with no
> > help from the computer, which could perhaps divide the thing up:
>
> > why am I here
>
> > could be split to what-is-this-called = why, clause1.verb.infinitive = be,
> > clause1.subject = I, clause1.object = here.
>
> This is exactly what we have now, except allowing the possibility of
> recursion ("nouns" which are other clauses.) This is not a bad thought,
> but I really think you'll go less insane if you look at it as an
> extension of the capacity of the existing Inform grammar.
Not exactly, it seems. An object's before routine doesn't know if it's the
subject or the object of a verb. A nicer parser could determine this, and
tell the object this. For example:
take the gun off of the table
Say the parser were more general, it could decode the sentence:
subject: player
verb: take
definite object: gun
indefinite object: table
I'm probably screwing up the grammar terms. In any case, the parser could
call routines for each object (subject, objects) without the programmer
having to hard code in:
Verb 'take' * noun 'off' 'of' noun -> Take;
Do you see what I'm saying?
> Go for it. What I think is, the result will be less useful for IF than
> what we have now.
I don't see why it would be less useful than what we have now. Why?
> I wouldn't necessarily say that's a problem. It's perfectly adequate to
> the purposes of IF in general. Yes, a really good parser would be
> lovely, but (for IF, which seems largely to be written as a hobby anyway)
> the time could probably be better spent writing a good plot with nice
> prose than in trying to create a sentient life-form to act as the
> interface.
Maybe this is true. But on the other hand, I know some people who are
turned off by interactive fiction's inflexibility. People who sit down at
the computer, and type a phrase, and the computer spits back an error
message. One reason is that people have a tendency to ask questions. The
won't state things, but they'll want to ask questions and state commands.
Only the latter really works in IF.
> I don't know what your background is, but the same is true of START.
> After reading the original post, I visited the site, hoping to see
> something impressive. My first four questions (not chosen to be
> difficult) were answered with variations on "Sorry, I don't know if
> I know about that." My next question was "Don't you know anything
> about anything?", which got a canned response which helped me to
> tailor my questions so that they'd be easier for it, but even then,
> it was sometimes difficult to get a reasonable response. START's
> strength seems to be in working out which of the information it has
> might be relevant, once it understands a question. From that point
> of view, it is quite impressive. I'm not sure that its parser is
> really any better than Inform's, though (it is better at understanding
> questions, but it was written for that purpose, while Inform's
> parser was designed mainly for understanding actions).
Yes, this is true of START as well. But parsing commands compared with
actual text -- `Jane hit Spot.' -- it seems that parsing commands is
actually rather easy. So some time might be well spent in creating a
parser that needed less hard-coding of syntax for commnds.
I am not saying that START seems better or worse than Inform's parser.
They seem to have been built for different things. But I am saying that
maybe one out to consider that IF parsing /ought/ to be improved. Once one
gets used to typing what the computer wants, it's pretty easy. But it's
hard when one is just starting out.
> Barbara
[..stuff deleted about START..]
>I already replied to this once, but I decided to check out "START" for myself.
>>Here's START's Web address and a few questions and answers I grabbed from
>>my conversation with the MIT creation. Enjoy!
>>
>>http://sakharov.ai.mit.edu/start
>>================================
>[I've been reading American authors from the 1920s. I wonder if START knows
>anything about them . . .]
>==> WHO WAS DOROTHY PARKER
>The word PARKER is unknown. Please choose one of the following:
>PARKED
>PARSER
>MARKER
>Abort
>[Oooh. Not off to a good start. Mrs. Parker may be a bit obscure. Let's try
>Fitzgerald . . .]
>==> WHO WAS F
>I did not understand the word "f". Please try using a different word.
>==> SCOTT FITZGERALD
>I did not understand the word "fitzgerald". Please try using a different word.
>[Huh. Well, they never said it knew anything about literature. Try science.]
>==> WHO WAS ALBERT EINSTEIN
>I don't know anything concerning Albert Einstein.
>[Getting better. At least it recognizes that "Albert Einstein" is what I'm
>asking about. This is the first of my questions that START has been able to
>parse.]
>==> WHO WAS TURING
>I don't know anything at all about Turing.
>[I guess not.]
>>Can your parser do that?
>Ed, honey, if my parser can't do better than that, I'll eat it.
>========
>Steven Howard
>bl...@ibm.net
>What's a nice word like "euphemism" doing in a sentence like this?
I decided to check out START myself, and while several later queries (such
as "which came first, the chicken or the egg?" or "Did the chicken come before
the egg") were rejected, my first question was answered... hilariously.
It was: "How much wood can a woodchuck chuck?"
to which it replied:
"The woodchuck can chuck 42 chucks if it could chuck the wood."
Absolutely hilarious ;-)
--
Paul Gilbert | p...@yallara.cs.rmit.edu.au
Bach App Sci, Bach Eng | The opinions expressed are my own, all my own, and
Year 4, RMIT Melbourne | as such will contain no references to small furry
Australia | creatures from Alpha Centauri.
> But you forgot a very important question...
> ==> WHAT HAPPENS IF YOU PICK UP THE TELEPHONE BOOTH
> I don't know the answer to this question. Sorry.
Geez, folks, At least when I interrogated START, I did so about Iraq, a
topic that it's supposed to know a lot about.
==> WHY ?
Here is a map of Kuwait:
{map deleted}
{Wow. Wacky stuff!}
==> WHERE IS MIT?
The MIT Artificial Intelligence Laboratory is located in Cambridge.
The Laboratory's mailing address is -- MIT AI Laboratory, 545
Technology Square, Cambridge, MA 02139.
==> WHAT IS A PARSER?
Professor Berwick and his colleagues have finished constructing the
next generation of natural language parsers and translators, based
on modular, universal linguistic theories. During the past year, a
completely...
{a full page exposition snipped}
==> WHO DID YOUR PROGRAM?
I have the following information which may help:
{page of "topics I know about" snipped.}
==> WHEN?
I am sorry to say I don't know when who did my program.
{interesting. A little Eliza? Explains why I was told about Kuwait.}
==> WHY DO BIRDS SUDDENLY APPEAR?
Unfortunately, I don't know why the birds suddenly appear.
{Nice canned response.}
==> WHAT IS YOUR FAVORITE COLOUR?
{after it makes me correct "colour" to "color":}
Sorry, I just don't know.
==> WHERE BE THE CAPITOL OF IRAN?
Tehran is the capital of Iran.
{Okay, passes a screwy verb tense.}
==> TELL ME ABOUT STALLMAN.
Here is what I know about Stallman:
Richard Stallman's email address is r...@ai.mit.edu. Richard's
telephone number is (617) 253-8830 and his MIT address is NE43-430.
{Just curious... ;) }
==> THE SQUARE ROOT OF TWO IS WHAT?
The result is 1.4142135623730952.
{golly. Accurate to 1E-16! ;) }
==> IF I ASK YOU WHAT THE SQUARE ROOT OF TWO IS, WOULD YOU BE ABLE TO
TELL ME THE ANSWER?
I hope, this is what you want --
My experimental database contains information about....{snip}
{meta questions may be out, eh?}
==> WERE YOU CREATED?
Yes -
Boris Katz wrote the Start System in Lisp.
It took 11 years in order for Boris Katz to develop START.
==> WHERE DOES THE LABORATORY GET MONEY FROM?
Well, I am not quite sure. Does this answer your question? --
The research activities at the Artificial Intelligence Laboratory are
funded by....
{answers the question pretty well.}
---------------
All in all, the parser isn't bad at all - but I believe the parser
doesn't seem out of our league. There are some odd cases that it
handled nicely, and others that I got a canned "I don't know what
you mean."
Anyway, Play with it!
--
John Holder (jho...@frii.com) /\ http://www.frii.com/~jholder/
UNIX Specialist, Paranet Inc. <--> Raytracing|Fractals|Interactive Fiction
http://www.paranet.com/ \/ Homebrewing|Strange Attractors
>The point is that a little AI and some more advanced parsing would open up
>a whole new world in the IF realm - yet no one seems to be pursuing any
>such goal. That surprised me. If there was such a push in the IF community
>(and had been for the last ten years), we would now have a parser so
>incredible that Dear Abby would be out of a job.
It's easy to get carried away with fantasies about the possibilities
in AI and natural-language parsing, but the reality has more the
character of a cold dishrag in the face. The insurmountable difficulty
confronting the would-be parser writer is that the computer does not
and can never be made to understand anything. All a computer can do is
compare and manipulate symbols, and this is not how the human
intellect works. Humans understand things first of all as
things-in-themselves; we use words simply as signs of the things we
understand. Consequently, attempting to treat words as if they were
the things primarily understood, which is what we do when we assign a
real power of understanding to a computer, is a mistake, and
consequently again the possibility of ever having a machine that can
figure out *what a person means* by his words doesn't exist. We can in
normal instances rely upon the natural order of grammar to help us
understand input when we use the computer as a proxy medium, but then
that's the point, isn't it? It is always *us* who are needing to
understand the input, not the machine.
"Be fruitful and multiply." What are we to make of this? That we
should hang pears from our arms and engage in mathematics? How can a
computer know what it means to be fruitful, which is to be full of
life and to pass on life, and that consequently "to multiply" here
means to propagate the human race? It can't know that, even in terms
of mere words. *We* can only try to anticipate such input, even
withstanding the fact that the grammatical structure of the sentence
is so straightforward, simple, and easy to parse.
Also, there is this problem of diminishing returns. Many things we can
do with a parser we simply don't want to do because the benefit
doesn't justify the effort. It's always tempting to say that a small
benefit to one's self is worth the price of any effort on the part of
someone else, but that's simply unjust, impractical, and not good
conservative public policy at all. Our current crop of parsers already
verge on being more than we can deal with (speaking as an author, I
mean).
--Cardinal T
I mean, what the hell kind of villain thwarts the hero's
progress with soup cans in the kitchen pantry?
--Russ Bryan
Are there any text games prominently featuring dinosaurs?
If not, does anyone besides me think it would be cool?
--Matthew Amster-Burton
"Hey! *I* wanted to be Envy!"
--joe dot mason
"Bathroom? Yeah. Go through that door, on the end
of the hall, on your left." "Pardon?" "South twice,
than east." "Ah."
--Clyde "Fred" Sloniker
Actually, I've just finished a class on computational linguistics
(and, delightfully, the professor allowed me to code a miniature
text-adventure situation as a final project!). The class wasn't anything
special, but I think the textbook was pretty good, so if you want a good
reference look for "Natural Language Understanding" by James Allen.
Part I is about Syntatic Processing (grammar, syntax, parsing), Part
II is Semantic Interpretation, and part III is Context and World Knowledge.
(The last chapter reminded me very much of programming in Inform.)
--
"The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore all
progress depends on the unreasonable man."
-- George Bernard Shaw
Russell can be heckled at
http://sdcc8.ucsd.edu/~rglasser
Do>>:Can the can fit inside the box?
Do>'Put can in box' should give you that information.
Yes, but suppose you don't want to put the can in the box? For example:
> CAN THE CAN FIT INSIDE THE INCINERATOR?
Yes.
Good to know. I'll remember that for later...
Do>>:look up
Do>>I only understood you as far as wanting to look.
Do>>:look behind the machine
Do>>I only understood you as far as wanting to look.
Do>It depends entirely on the programmer as to whether to worry about
Do>this level of detail. 'Look up' revealing anything that 'look' alone
Do>doesn't show is not universally popular. ;)
I should point out that Inform automatically replies, "You see nothing
special about the ceiling." Seems a fair response to me.
Do>of those who can't believe we have pictures or sound. Why? Because
Do>they aren't necessary. Because the way things are now has a style of
Do>its own. Because people like it this way and can see plenty of room
Do>for improvements in other areas first.
I think putting grammar for questions is the next big step we need to
take. Right now the game only really understands imperative statements.
Now it's all very well to implement "What is" as a verb, but I think we
really should have a decent system of questions with well-defined
limits. Possibly a completely separate grammar?
ie. in Inform you could write:
Question "why"
* "is" [something] ->
* "does" [something] ->
* "did" [something] ->
...
Of course, this would be a big job. But I think if we can get a
standardized format for questions that players get used to, it would
enhance the game and not expand the number of ways to say the same thing
*too* much.
And it would be a simple matter to put a "questions_on" flag so authors
wouldn't have to deal with the whole system if they didn't want to.
Joe
ş CMPQwk 1.42 9550 şVegetarians eat vegetables-Beware of humanitarians
Hmm. "What is your name" gives a good response.
"why is your name start?" gives "my name is start".
"what does start mean" gives a good response.
"What does your name mean" gives "I'm afraid I can't help you with that."
So it seems like it's doing a simple Eliza-like name look up. Note I'm
saying _seems_. I haven't read the material on the web site yet.
Question 4 above seems to show it can't do a "two level" lookup, once for
"your name" then plugging that back into the question and answering hte
whole question.
Yes, this is off topic.. ohwell. I wonder what other neat stuff I've missed
on this group. For a few weeks, it seems that my .newsrc is being messed
up and my .newsrc is saying I've already read to a number *way higher* than
exists on the server. (Weirdest problem I've seen on Usenet, but I'm using
in-development trn, and not even the latest one.. the last part will hopefully
be fixed soon.)
--
mat...@apple.com
> ==> WHY AREN'T THERE ANY WOMEN AT THE AI LABORATORY
>
> Sorry, no one has told me why the women at the Ai Laboratory aren't.
>
> As far as I'm concerned, no one has convinced me that the powerfulness of
> this parser is.
I posted this elsewhere, but it's such spectacularly poor (and amusing)
in both parsing and responding it bears repeating here. This is my
conversation with START:
WHY IS THE FOURTH OF JULY?
I don't understand. Won't you try to say it in another way?
[Okay, garbage in, "I don't understand" out. So far so good.]
WON'T YOU TRY TO SAY IT IN ANOTHER WAY?
"I don't know if I willn't try saying the another way in itself."
[Um... sure, whatever.]
Dave
I once heard that a program translating from English to Russian to
English had the following given as input:
"The spirit is willing but the flesh is weak."
The program returned:
"The vodka is strong but the meat is rotten."
> "I don't know if I willn't try saying the another way in itself."
Cardinal .sig quote alert!
I've heard a different English-to-Russian-to-English one:
Input: "Out of sight, out of mind."
Output: "Invisible lunatic."
-----
Adam Cadre, Durham, NC
http://www.duke.edu/~adamc
OK - now go and read "Galactic Pot Healer", by PK Dick.
(I know, it's not interactive. Go ahead and read it anyway).
Ob.parser: Should the closing parenthesis above come before or
after the period? Now it looks wrong to me either way.
--
John Francis jfra...@engr.sgi.com Silicon Graphics, Inc.
(415)933-8295 2011 N. Shoreline Blvd. MS 02U-923
(415)933-4692 (Fax) Mountain View, CA 94043-1389
Unsolicited electronic mail will be subject to a $100 handling fee.
These are along the same "urban legand" lines. Everyone's "heard" of these
things, but nobody has concrete proof of them ever happening. The fact
that they seem possible is a large reason why they spread so quickly.
(don't even get into the same alleged translation problems with product
names or slogans... One example... the "Nova" car -> Mexico story
IS A MYTH. It never happened. Check out
http://www.urbanlegends.com/products/chevy_nova.html for more info, and
www.urbanlegends.com for proof about the falsehood (or at the very
least unprovability) of many things you heard from "a friend of a friend")
--
mat...@apple.com
These are urban myths, I suspect, but I have heard of "hydraulic
ram" returning from French as "water sheep".
--
Graham Nelson | gra...@gnelson.demon.co.uk | Oxford, United Kingdom
Before if it's part of a sentence (the parenthetical remark that is).
After it's a sentence of its own.
>
> That's more a typographical issue, and which is correct seems to depend
>which side of the Atlantic Ocean you live on.
>
> - Neil K.
>
(Then again, I'm a Canadian living in the UK, so what do I know?)
Obint-fiction: My next(TM) game will feature Smarties.
--
Michael Graham mailto:mgr...@cega.demon.co.uk
Cega Ltd. Web Design Consultants http://www.cega.co.uk
London (Stratford), UK
Tel/Fax: +44-(0)181-221-2417
> These are along the same "urban legand" lines. Everyone's "heard" of these
> things, but nobody has concrete proof of them ever happening. The fact
> that they seem possible is a large reason why they spread so quickly.
I wouldn't be so sure about that. I friend of mine knows a guy who works
at a really big newspaper that investigate this kind of stuff, and he
says that most of these urban legends actually turn out to be true.
/Fredrik
--
Fredrik Ramsberg, d91f...@und.ida.liu.se,
http://www-und.ida.liu.se/~d91frera
------------------------------------------------------------------------------
Macintosh - 0.4% Actual Users!
According to Raymond Smullyan (probably in "What is the Name of This Book?"
although I'm not positive) it was Chinese and "Blind Idiot".
It's probably a joke that someone took a little too seriously.
>Ob.parser: Should the closing parenthesis above come before or
>after the period? Now it looks wrong to me either way.
If the sentence isn't completely contained in the parentheses, then
the period should go outside (otherwise it should be inside). (I
think it's because the period has to balance with the capital letter
that started the sentence.)
-Matthew
--
Matthew Daly I feel that if a person has problems communicating
mwd...@kodak.com the very least he can do is to shut up - Tom Lehrer
My opinions are not necessarily those of my employer, of course.
>I wouldn't be so sure about that. I friend of mine knows a guy who works
>at a really big newspaper that investigate this kind of stuff, and he
>says that most of these urban legends actually turn out to be true.
*Most* of them? Now you really need to visit www.urbanlegends.com.
Matthew
how about "ask perelman about your name"?
*duck*
--
athol-brose // cinn...@one.net // http://w3.one.net/~cinnamon
still, it's just noise
: These are urban myths, I suspect, but I have heard of "hydraulic
: ram" returning from French as "water sheep".
True story (it happened to me!):
The restaurant in Germany where Goethe used to hang out has, on its
English menu, a salad which comes with "sunflower semen" (!)
-Lucian Smith
>The point is that a little AI and some more advanced parsing would
open up
>a whole new world in the IF realm - yet no one seems to be pursuing
any
>such goal. That surprised me. If there was such a push in the IF
community
>(and had been for the last ten years), we would now have a parser
so
>incredible that Dear Abby would be out of a job.
What you are suggesting would take more than a _little_ AI. It
Object WWW_page "WWW page"
with
description "One of a zillion documents accessible via HTTP.",
URL "http://www.brisnet.org.au/~dancer/smartnpc.html",
has relevancy, reposted, tangential, light;
One point: amateurs did discover comet Hale-Bopp first...the most recent
of the amateur astronomy discoveries.
(ducks and runs)
Umm, one of Hale or Bopp is an amateur, one is a professional... They
apparently discovered it about the same time, so it's named after
both of them.. Well, at least that's what I heard on the news.
--
mat...@apple.com
> I think putting grammar for questions is the next big step we need to
> take. Right now the game only really understands imperative statements.
> Now it's all very well to implement "What is" as a verb, but I think we
> really should have a decent system of questions with well-defined
> limits. Possibly a completely separate grammar?
>
> ie. in Inform you could write:
>
> Question "why"
> * "is" [something] ->
> * "does" [something] ->
> * "did" [something] ->
> ...
>
> Of course, this would be a big job. But I think if we can get a
> standardized format for questions that players get used to, it would
> enhance the game and not expand the number of ways to say the same thing
> *too* much.
Recently I've started writing a new game (it's really easy *not ever*
to release one's first buggy game, btw) and thought: Would be cool if
you could ask "Jim, what's your job" instead of "ask Jim about (his)
job".
It's not difficult to do this very special syntax. Doing it a bit
more generally gets very hard. Firstly, we'd need some sort of
knowledge representation. If there were only a few keyword responses
I'm sure it would not be worth the hassle. Secondly, while it would be
a step towards natural conversation, it would only be a little
step. And I'm not sure natural conversation is desirable in IF
anyway.
Yes, I think IF parsers can do "things" unsolved in linguistics and
AI: IF doesn't have to understand. It only needs to pretend to.
[If anyone wants to work on really advanced parsing: I'd suggest not
to focus too much on Chomsky's generative grammar but on Montagues
papers "Universal Grammar" and "Quantification in Ordinary English".]
Concerning handling questions in inform:
1. Aux-S-V (e.g. Can you swim?)
2. Aux-S-V-O (e.g. Do you know Jim?)
3. Q-aux-S (e.g. Why do you... What is he called?)
Of course, there are lot's of special cases as "What is his name".
This far it easy. But now the trouble starts: The Object in (2) and
"..." in (3) can be pretty much anything.
--
Flo
I checked it out more thoroughly, and found out that this guy working at
the newspaper was actually a meta-legend...
JF>>> I once heard that a program translating from English to Russian to
JF>>> English had the following given as input:
JF>>> "The spirit is willing but the flesh is weak."
JF>>> The program returned:
JF>>> "The vodka is strong but the meat is rotten."
JF>>
JF>>I've heard a different English-to-Russian-to-English one:
JF>>
JF>>Input: "Out of sight, out of mind."
JF>>Output: "Invisible lunatic."
I hear it as "Output: Blind idiot." Come to think of it, both of those
were in Raymond Smullyan's excellent introduction to logic, _What is the
Name of This Book?_ (On-topic reference: I tried to write up the Temple
of Baal chapter as a text adventure once. Didn't work too well - I may
try again some day.)
And this note works just as well for _What is the Name of This Book?_ as
it does for _Galactic Pot Healer_ (except that, in a sense, _WitNoTB_
*is* interactive):
JF>(I know, it's not interactive. Go ahead and read it anyway).
JF>Ob.parser: Should the closing parenthesis above come before or
JF>after the period? Now it looks wrong to me either way.
Before the period. If the '(' comes in the middle of the sentence, the
period comes after, because otherwise you'd end up with a sentence
without a period. If the sentence ends before the '(' you keep the
period inside.
Examples:
Read Galactic Pot Healer (it's not interactive, but go ahead and read it
anyway).
Read Galactic Pot Healer (it's not interactive. Go ahead and read it
anyway).
Read Galactic Pot Healer. (It's not interactive. Go ahead and read it
anyway.)
Joe
ş CMPQwk 1.42 9550 şROM BIOS Error: Press <F13> to continue...
I wrote the first nuggets of a program that would create logic puzzles
of the Smullyan variety, but pretty quickly came to the conclusion that
there are a very limited number of interesting puzzles of that sort,
and they're all in Smullyan's books.
Still, if you can write a Lisp tutoiral in I-F, I'm sure you could do
the Temple of Baal.
-Matthew, writing a logic gates program in his copious free time.
MD>I wrote the first nuggets of a program that would create logic
MD>puzzles of the Smullyan variety, but pretty quickly came to the
MD>conclusion that there are a very limited number of interesting
MD>puzzles of that sort, and they're all in Smullyan's books.
I came to basically the same conclusion, although you stated it much
better.
MD>Still, if you can write a Lisp tutoiral in I-F, I'm sure you could do
MD>the Temple of Baal.
Oh, it wasn't hard to *write* - it was technically perfect. It just
wasn't very interesting.
Joe
ş CMPQwk 1.42 9550 şGenius is perseverence in disguise.
> > (Various stuff about translation programs)
: I hear it as "Output: Blind idiot." Come to think of it, both of those
: were in Raymond Smullyan's excellent introduction to logic, _What is the
: Name of This Book?_ (On-topic reference: I tried to write up the Temple
: of Baal chapter as a text adventure once. Didn't work too well - I may
: try again some day.)
: And this note works just as well for _What is the Name of This Book?_ as
: it does for _Galactic Pot Healer_ (except that, in a sense, _WitNoTB_
: *is* interactive):
How many readers of Galactic Pot Healer were able to translate the
untranslated "gibberish" book name tho'? It took me ages.
Just to annoy people I'll put it here without the answer. In the book
all the translations are classic book-titles and authors. The following
is given without translation:
Bogish Persistentisms by Shaft Tackapple
--
Richard G. Clegg Only the mind is waving
Dept. of Mathematics (Network Control group) Uni. of York.
email: ric...@manor.york.ac.uk
www: http://manor.york.ac.uk/top.html
2) Build an action list for objects to which they can be associated to
by NPCs
Also include a knowledge list for players and NPCs
So if you have a red telephone and you don't know what it is, but has
the verb call associated with it [call(person)] if you ask someone
'bill, what is this red thing?' the parser should search among
everything that is 'red' in your possession and parse 'what is red
telephone' through the NPC bill. If bill has sufficient knowledge of
telephones he should be able to respond to your question. 'It's a red
telephone - It is used to 'call persons''
Of course there are problems with this approach: 'it is used to drop
telephone' is a possible response, but you could filter either low-level
knowledge responses or respond with one level higher information than
that assumed when you ask the question.
[so 'what is pointy stick' should inform the NCP that you have level 0
knowldge of the magic spear abd thus he will reply with level 1
information, provided he possess it.
Then there other things to consider, such as NPCs having the requisite
knowledge but refusing to disclose it... and a million other things.
(for your info, I had written an interactive npc extension once, that
included emotions, rumours, knowledge and goals - it used a slightly
randomized fuzzy-like decision making.
There were some problems with large positive feedback between emotions,
excessive randomness and long-term decision making but it almost worked
- I will do a new version from scratch this year - probably in C, but
inform might be a good option, once I get to know it better)
> Object WWW_page "WWW page"
> with
> description "One of a zillion documents accessible via HTTP.",
> URL "http://www.brisnet.org.au/~dancer/smartnpc.html",
> has relevancy, reposted, tangential, light;
--
Christos Dimitrakakis
---------------------
mailto:mbge...@fs4.eng.man.ac.uk
mailto:mbge...@afs.mcc.ac.uk
http://www.man.ac.uk/~mbge4cd1