Properly encoding "Project Gutenburg 1913 Webster Unabridged Dictionary".

S

Stefan Ram

John W. Kennedy said:
And if it is an observation by an surrealist, "time" is an adjective,
"flies" is a noun, "like" is a verb, and "an arrow" is the direct object.

»n an analysis of a set of 891 sentences
ranging in length from 1 to 25 words, a team led by
Kathryn Baker found an average of 27 possible ways to
parse each sentence.«

http://scienceblogs.com/cognitivedaily/2006/12/machine_translation_taking_a_q.php

»"Time flies like an arrow" --

1. Time proceeds as quickly as an arrow proceeds.
(the intended reading)

2. Measure the speed of flies in the same way that
you measure the speed of an arrow.

3. Measure the speed of flies in the same way that
an arrow measures the speed of flies.

4. Measure the speed of flies that resemble an arrow.

5. Flies of a particular kind, time-flies,
are fond of an arrow.«

»The Language Instinct«, Steven Pinker
 
L

Lew

John said:
Here's a worse one: "It's a pretty little girls school". I count six
parsings.

I trust none of them involve the possessive of "girl", singular or plural.
That would involve the appropriate placement of apostrophe.
 
J

John W. Kennedy

Lew said:
I trust none of them involve the possessive of "girl", singular or
plural. That would involve the appropriate placement of apostrophe.

No, I'm not counting that; if we were looking at the spoken form,
however, we could, which would give even more readings.

--
John W. Kennedy
"But now is a new thing which is very old--
that the rich make themselves richer and not poorer,
which is the true Gospel, for the poor's sake."
-- Charles Williams. "Judgement at Chelmsford"
 
D

Daniel Pitts

You're still looking at the purely linguistic problems. But there's more
to it than that. For example, what about a cabinet with a closed door,
but which also has a flat surface on top? What if the door is made of
glass? What if it's made of smoky glass, but there's a switch that can
turn on an interior light? All these things have to be handled by the
world model, but -- they also drag in your parser's disambiguator.

Actually, the parser can give a set of all possible parsings, and the
model could determine which makes the most sense based on the current
context.

Yes, the world model is an important part of the interactive fiction.
Its also the easier part to handle in my opinion. The reason its
easier is that you can limit the world model in ways that you can't
limit what the human will type (without given them an express set of
allowable inputs). When you come across an ambiguous statement, you
can do one of several things, including asking for clarification or
making a best guess based on current context.
 
J

John W. Kennedy

Daniel said:
Actually, the parser can give a set of all possible parsings, and the
model could determine which makes the most sense based on the current
context.

Then you are ruling out the ability to do:
> Take the box.
Which box do you mean? The red box or the blue box?

....which has been regarded as bare-minimum practice for decades.
Yes, the world model is an important part of the interactive fiction.
Its also the easier part to handle in my opinion.

It, too, has nasty possibilities that I suspect you've not yet
considered. Can the player, while seated in a vehicle, reach out and
take an object from the surrounding environment? Have you complete
insurance against putting A inside (or on top of) B while B is inside
(or on top of) A? And don't forget combinatorial explosion.
The reason its
easier is that you can limit the world model in ways that you can't
limit what the human will type (without given them an express set of
allowable inputs).

Sure, but go too far, and you'll be damned for mimetic failure.
 
D

Daniel Pitts

Then you are ruling out the ability to do:

Which box do you mean? The red box or the blue box?
Are you sure I'm ruling that out?
If their is an equal probability of the user meaning either the red
box or the blue box, then I could easily present that question. If
the user then replies with "The first one", or "Red", or
"Either" (etc...), then the contextual information will give the
interpreter enough information to figure out what the user really
meant.
...which has been regarded as bare-minimum practice for decades.


It, too, has nasty possibilities that I suspect you've not yet
considered. Can the player, while seated in a vehicle, reach out and
take an object from the surrounding environment? Have you complete
insurance against putting A inside (or on top of) B while B is inside
(or on top of) A? And don't forget combinatorial explosion.
I think I handled that by:
if (a.inReachOfPlayer());

and in the "add(Relationship relationship, Thing thing)" method, I
check to see if thing's relationship tree includes this already.
Sure, but go too far, and you'll be damned for mimetic failure.
What is mimetic failure? I've never heard that term.


Anyway, why are you so convinced that I haven't got the engineering
capability to come up with solutions for these problems? Have any of
these concerns of yours been been proven impossible to resolve, or
just difficult to resolve? I'm not a junior programmer, I've
engineering software for 18 years. If this was my first project, I'd
probably be doomed to failure as you've suggested, its much more (I
concede, not 100%) likely to succeed given my experience.

And whats the harm in trying?

I do thank you for your interest in ensuring that I don't (waste my
time? fail? why are you pointing these out?). I assure you that the
whole thing is just for the learning experience anyway. Even if my
effort produces naught, the project wouldn't have failed.

If you are interested in discussing the intricacies of text-based user
interaction with me, I'd be pleased to continue our conversation, but
I'd appreciate it if you try to alter your tone. It feels like your
assuming I couldn't have thought about things before you point them
out to me.

Thanks,
Daniel.
 
L

Lew

Daniel said:
> If you are interested in discussing the intricacies of text-based user
interaction with me, I'd be pleased to continue our conversation, but
I'd appreciate it if you try to alter your tone. It feels like your
assuming I couldn't have thought about things before you point them
out to me.

I wish people would stop being tone-of-voice police. This is Usenet, in a
group that is designed for free-wheeling consideration of Java technical
issues. JWK had some points to draw to your attention. You should jump off
the high horse of personal aggrievement and consider his points simply on
their merits. His points were on topic, technical and designed to elucidate
issues introduced from your posts. That suffices. He owes you no more. He
owes me no more, anyway.

I suggest that you get over it.
 
D

Daniel Pitts

I wish people would stop being tone-of-voice police. This is Usenet, in a
group that is designed for free-wheeling consideration of Java technical
issues. JWK had some points to draw to your attention. You should jump off
the high horse of personal aggrievement and consider his points simply on
their merits. His points were on topic, technical and designed to elucidate
issues introduced from your posts.
Hey, don't worry, I'm not Ed or Twisted, I don't get offended quite so
easily. I responded to the technical aspect of his post without
resorting to ad hominem. I'm just asking that he doesn't make
assumptions about my abilities in his posts. Don't get me wrong, I do
appreciate his bringing up the technical challenges that await me on
this project.

In any case, I've asked once, and if the response isn't up to my
"emotional standards" ;), I'll simply drop the thread.
That suffices. He owes you no more. He
owes me no more, anyway.
He might not owe you or I, but *I* owe it to myself to ask for a
little respect. If I feel like I wont get that respect, I'll take
your following suggestion to heart (as I intended to from the start).
I suggest that you get over it.



Thanks,
Not a troll,
Daniel.
 
L

Lew

Daniel said:
Thanks,
Not a troll,
Daniel.

No, you are most emphatically not a troll. You are truly one of the White
Hats here.

As the subject myself of actual, direct /ad hominem/ attacks in these hallowed
halls, I know how difficult it can be to put up with disrespect.

I support your right to ask for respect. I also point out that JWK isn't
writing for you alone, but for all the viewers who might not have thought
about all the implications that you have. JWK supports everyone when he
elucidates those issues.

Also, don't expect him to be telepathic. How can he know of what you have
thought? He exercises due diligence by bringing up points that he
"/suspect/ you've not yet considered." (Emphasis mine.)

I offer that asking for respect here is pointless. Ask for information,
knowledge or guidance. Let self-respect suffice.

How about we all stop expecting people to coddle our namby-pambiness and just
deal with the content of messages?
 
D

Daniel Pitts

Daniel said:
Thanks,
Not a troll,
Daniel.

No, you are most emphatically not a troll. You are truly one of the White
Hats here.

As the subject myself of actual, direct /ad hominem/ attacks in these hallowed
halls, I know how difficult it can be to put up with disrespect.

I support your right to ask for respect. I also point out that JWK isn't
writing for you alone, but for all the viewers who might not have thought
about all the implications that you have. JWK supports everyone when he
elucidates those issues.

Also, don't expect him to be telepathic. How can he know of what you have
thought? He exercises due diligence by bringing up points that he
"/suspect/ you've not yet considered." (Emphasis mine.)

I offer that asking for respect here is pointless. Ask for information,
knowledge or guidance. Let self-respect suffice.

How about we all stop expecting people to coddle our namby-pambiness and just
deal with the content of messages?


F***ing idiot!

(Just kidding!)

I don't think that asking for respect is pointless, but expecting it
might be. Its dangerous for one to confuse a request with an
expectation. I requested respect, but I don't expect it.

Perhaps what I should have ask for was to continue this conversation
with JWK out of public attention and that we discuss the topic at the
level that I'm capable, rather than at the LCD of all of cljp. :)

Although, I agree with you that answers here should be at the level
that benefits the wider audience. It makes me wonder though, perhaps
a more advanced-topic forum is desirable. Or perhaps cljp should be
reclaimed, and all the basic->intermediate topics could be shifted to
cljh.

Or, maybe my questions are more domain specific, and I need to move my
conversation into the appropriate group. For this thread, perhaps, as
JWK suggested, rec.arts.int-fiction, or perhaps rec.games.int-fiction
would be more appropriate.

To J.W.K. Would you be interested in continuing this discussion
through e-mail? (Don't use the address I have here, it won't go
through)

Thanks,
Daniel.
 
A

Andrew Thompson

Daniel Pitts wrote:
..
...perhaps cljp should be
reclaimed, and all the basic->intermediate topics could be shifted to
cljh.

I agree fully. c.l.j.h. is a group well designed for beginners
where (perhaps unproductively excessive) politeness is
expected. I invite anybody that feels the slightest bit
'fragile' to post there, and stop wasting the bandwidth of
c.l.j.p. posters with such dross.

--
Andrew Thompson
http://www.athompson.info/andrew/

Message posted via JavaKB.com
http://www.javakb.com/Uwe/Forums.aspx/java-general/200709/1
 
J

John W. Kennedy

Daniel said:
Are you sure I'm ruling that out?
If their is an equal probability of the user meaning either the red
box or the blue box, then I could easily present that question. If
the user then replies with "The first one", or "Red", or
"Either" (etc...), then the contextual information will give the
interpreter enough information to figure out what the user really
meant.

But now, you see, you've entangled the world model with the parser
again. It really can't be avoided.
I think I handled that by:
if (a.inReachOfPlayer());

That is only to say that you can solve the problem by solving it. How do
you define inReachOfPlayer() when there may be arbitrary container
objects surrounding a and/or the player? (And remember, by the way, that
a modern system has to allow for player-ness to move from one character
to another.)
and in the "add(Relationship relationship, Thing thing)" method, I
check to see if thing's relationship tree includes this already.

Nope. An object cannot contain another object that contains it, but an
NPC can be friendly with another NPC that is friendly with it. And, on
the other hand, you've forgotten the cabinet with a shelf on top.
What is mimetic failure? I've never heard that term.

From the American Heritage Dictionary:
mimesis, noun: The imitation or representation of aspects of the
sensible world, especially human actions, in literature and art.
Anyway, why are you so convinced that I haven't got the engineering
capability to come up with solutions for these problems?

I'm not. I'm just warning you that you're tackling an intrinsically hard
problem that experts have been working on for decades, and that if you
don't familiarize yourself with the state of the art, you're going to
lay a big, fat egg.
It feels like your
assuming I couldn't have thought about things before you point them
out to me.

I am assuming only that you are not prodigiously more gifted than anyone
else who has ever tried this -- and that group includes the founders of
Infocom, who were graduates of the MIT Artificial Intelligence
Laboratory, and Graham Nelson, the leading contemporary theorist and the
creator of Inform and Inform 7, who lectures on mathematics at Oxford
University and is also a published poet.

I cannot recommend too strongly that you acquaint yourself with
rec.arts.int-fiction and some modern IF development systems. Inform 7
(<URL:http://www.inform-fiction.org>) is still in beta, but is probably
the most advanced.
--
John W. Kennedy
"When a man contemplates forcing his own convictions down another man's
throat, he is contemplating both an unchristian act and an act of
treason to the United States."
-- Joy Davidman, "Smoke on the Mountain"
 
J

John W. Kennedy

Daniel said:
To J.W.K. Would you be interested in continuing this discussion
through e-mail? (Don't use the address I have here, it won't go
through)

Honestly, you'd be better off with real experts. I've been programming
since 1965, my wife and I were beta testers for Infocom from 1984 on,
and I've been involved in post-Infocom IF software since the early 90s
(mainly after-the-fact OS/2 support for Infocom and a Java servlet that
could execute most Infocom games on cellphones via WAP -- in case you
don't know, Infocom games ran on a virtual machine), but there are
people way more knowledgeable than I am, people that I look up to in
this field the way that I look up to people like Jane Austen, Kálmán
Imre, or Joe Straczynski in theirs.

I know enough to know that developing an IF parser is like herding cats;
I don't claim to be a cat herder myself. I'm only getting involved in
this because, as far as I know, I'm the only one in CLJP who's dipped a
toe in this pool at all -- and I've seen people crash and burn.
--
John W. Kennedy
"The bright critics assembled in this volume will doubtless show, in
their sophisticated and ingenious new ways, that, just as /Pooh/ is
suffused with humanism, our humanism itself, at this late date, has
become full of /Pooh./"
-- Frederick Crews. "Postmodern Pooh", Preface
 
D

Daniel Pitts

Honestly, you'd be better off with real experts. I've been programming
since 1965, my wife and I were beta testers for Infocom from 1984 on,
and I've been involved in post-Infocom IF software since the early 90s
(mainly after-the-fact OS/2 support for Infocom and a Java servlet that
could execute most Infocom games on cellphones via WAP -- in case you
don't know, Infocom games ran on a virtual machine), but there are
people way more knowledgeable than I am, people that I look up to in
this field the way that I look up to people like Jane Austen, Kálmán
Imre, or Joe Straczynski in theirs.

I know enough to know that developing an IF parser is like herding cats;
I don't claim to be a cat herder myself. I'm only getting involved in
this because, as far as I know, I'm the only one in CLJP who's dipped a
toe in this pool at all -- and I've seen people crash and burn.
--
John W. Kennedy
"The bright critics assembled in this volume will doubtless show, in
their sophisticated and ingenious new ways, that, just as /Pooh/ is
suffused with humanism, our humanism itself, at this late date, has
become full of /Pooh./"
-- Frederick Crews. "Postmodern Pooh", Preface

Indeed, you do seem to be the most knowledgeable on this topic in this
group. Perhaps I should seek a mentor in raif then. I do have
experience building parsers. As a matter of fact, I've created some
sophisticated parsers by hand, rather than relying on a tool.

Anyway, enough about my random wanderings as a programmer. I
downloaded Inform 7 today, and I've been playing with it all day. So
far I'm impressed, but not overwhelmed. I find it easier to model my
world with code rather than natural language, but I'm sure that I'll
get the hang of this eventually.

Thanks for your help JWK.
Daniel.
 
J

John W. Kennedy

Daniel said:
I find it easier to model my
world with code rather than natural language, but I'm sure that I'll
get the hang of this eventually.

I am myself not at all sure about the natural-language aspect of Inform
7 (horrid memories of supporting COBOL), but it embodies by far the most
powerful "calculus of IF", so to speak, that I'm aware of.

Anyway, good luck!
 
E

Ed Kirwan

Daniel said:
snip

Every journey starts with but a footstep. It may take 10 man years to
complete, but if I don't start on my own, I'll never know.

I like that, because I've been there: and I eventually found a stall selling
big, "I've failed," tee-shirts, just like John W. said I would. I bought
myself a nice, bright green one. (See, "Violentia," below.)

Almost every step towards this particular failure, however, was rewarding,
and I carry both lessons and lesions with me still (if only all failures
yielded such insights). I've often thought that IF is the perfect
environment in which to cuts ones OO-teeth (not that you are, Daniel)
because you can get by with a little and add sophistication until the cows
come home. In short, it's so damn extensible. It's worth doing as a
code-structuring exercise alone, just don't ever expect to see a
finish-line.

FWIW, you're going to meet the Visitor. I'm sure you've met him before, but
in IF, he's the biggest, meanest bruiser you've ever seen. And he's in a
bad mood.

Murderously bad ...
 
D

Daniel Pitts

I like that, because I've been there: and I eventually found a stall selling
big, "I've failed," tee-shirts, just like John W. said I would. I bought
myself a nice, bright green one. (See, "Violentia," below.)

Almost every step towards this particular failure, however, was rewarding,
and I carry both lessons and lesions with me still (if only all failures
yielded such insights). I've often thought that IF is the perfect
environment in which to cuts ones OO-teeth (not that you are, Daniel)
because you can get by with a little and add sophistication until the cows
come home. In short, it's so damn extensible. It's worth doing as a
code-structuring exercise alone, just don't ever expect to see a
finish-line.
No project or product is finished until its end-of-lifed. And at that
point, its only finished in the sense of its mortality. :) I'm glad
someone else sees my point of view on this.
FWIW, you're going to meet the Visitor. I'm sure you've met him before, but
in IF, he's the biggest, meanest bruiser you've ever seen. And he's in a
bad mood.
Do you mean the Visitor pattern? Or is this some reference to
something I don't yet know?
Murderously bad ... *gulp* :)

Thanks,
Daniel.
 
E

Ed Kirwan

Daniel said:
snip
No project or product is finished until its end-of-lifed. And at that
point, its only finished in the sense of its mortality. :) I'm glad
someone else sees my point of view on this.
Do you mean the Visitor pattern?

I do indeed.

At least if you take the simplistic Verb, Noun, Adverb, Adjective (etc.)
approach that I took, because an action will depend on which type of each
of these is involved.

For example, "Take sword," will have a different outcome from, "Take water,"
and it's the nature of the verb-object/noun-object interaction that defines
this different outcome. I found my verbs constantly visiting my nouns to
find out what to do next.
 
D

Daniel Pitts

I do indeed.

At least if you take the simplistic Verb, Noun, Adverb, Adjective (etc.)
approach that I took, because an action will depend on which type of each
of these is involved.

For example, "Take sword," will have a different outcome from, "Take water,"
and it's the nature of the verb-object/noun-object interaction that defines
this different outcome. I found my verbs constantly visiting my nouns to
find out what to do next.

My plan is actually to define a grammar that will parse the input
sentence possible parse trees. Then figure out from the world model
which of those parse tree's makes the most sense (or if I'd have to
ask for clarification).

I'll probably want to use the visitor pattern to visit the objects in
my world model though.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,444
Messages
2,571,709
Members
48,796
Latest member
Greg L.
Top