Case based Int-Fiction parsers

43 views
Skip to first unread message

David D. Peugh

unread,
Nov 14, 1993, 7:29:03 PM11/14/93
to

I was curious as to whether anyone has created an adventure
game parser that is based on Case theory?

It seems natural to define a Verb and then put in slots with the
verb to handle nouns with Nominative case, Accusative, Locative,
Insturmental, and whatever other types of cases that might arise.

The reason I bring this up, is that it appears that with Case marking
of NPs within an adventure you end up with a great deal more flexibility,
both within the parser, and in creating actions.

For instance, Give can be expressed as a relation between the Nominitive
NP (defaults to player), the Accusative (what you give it to), and finally
the Dative(the object that is given, I think this is correct), as well as
options such as the Insturmentive (what to use to give the object to
<give cannon-ball to monster with cannon>) or Locative (describe the location
of where the object your giving, or to the thing you are giving it to
<give cannon ball at cannon ball pile to monster on the hill with the
cannon>) and a whole host of other Case markers.

Cases I know of are
Nominative, Accusative, Dative, Genitive, Locative, Insturmental,
Abliative and one other that has currently slipped my tounge.

If you could please point me to any adventure parsers that deal with nouns
this way, or know of any more cases, then please let me know....

David Peugh


Phil Goetz

unread,
Nov 15, 1993, 6:00:30 PM11/15/93
to
In article <2c6igf$a...@mojo.eng.umd.edu> pe...@glue.umd.edu (David D. Peugh) writes:
>
>I was curious as to whether anyone has created an adventure
>game parser that is based on Case theory?
>
>It seems natural to define a Verb and then put in slots with the
>verb to handle nouns with Nominative case, Accusative, Locative,
>Insturmental, and whatever other types of cases that might arise.

I think all adventure parsers are written this way.
Certain the Scott Adams "verb object" parser is case-based!

My accursed adventure Inmate, which I will mention yet again,
is case-based. The cases you find you want to use in an adventure
are different than the cases English profs use.
Inmate takes 3 kinds of sentences:

Type Example
intrans_verb n, jump
locative_verb prep_dest dest [prep_instr instr] go in the car
transitive_verb object [prep_dest dest] [prep_instr instr] get bucket,
put three yellow marbles from the orange bucket into the box
on the dresser with the big froodaddle

Note that the "from the orange bucket" clause is part of the object
"three yellow marbles from the orange bucket", which is all parsed
as 1 noun phrase. Similarly "the box on the dresser" is 1 noun phrase
parsed as the destination.

A word may be a member of all three verb classes, e.g. "jump"
is both intransitive ("jump") and locative ("jump onto the car"),
so the parser needs to be able to backtrack if it trys parsing the
sentence as one with an intransitive verb and finds it can't.

Phil
go...@cs.buffalo.edu

Steve Dunham

unread,
Nov 15, 1993, 10:14:17 PM11/15/93
to
David D. Peugh (pe...@glue.umd.edu) wrote:
: I was curious as to whether anyone has created an adventure

: game parser that is based on Case theory?

An what exactly case theory?

: It seems natural to define a Verb and then put in slots with the
: verb to handle nouns with Nominative case, Accusative, Locative,
: Insturmental, and whatever other types of cases that might arise.

I would describe the case system of english as Nominative, Accusative,
Dative, Genative; although nouns are only marked genative or
not-genative. A couple of pronouns (who/whom) do make the distinction
between Nominative and the other cases, but there is no locative case
in english, nor old-english or french. (Old-English did have an
instrumental, but Dative was generally used [1].)

: The reason I bring this up, is that it appears that with Case marking


: of NPs within an adventure you end up with a great deal more flexibility,
: both within the parser, and in creating actions.

: For instance, Give can be expressed as a relation between the Nominitive
: NP (defaults to player), the Accusative (what you give it to), and finally
: the Dative(the object that is given, I think this is correct), as well as

Thats not correct. Accusitive has the function of what English
grammarians call the Direct Object (the think being given), while the
Dative has the function that is attributed to Indirect object. An
example:

Give Sally the ball.
I.O D.O

In English the indirect object proceeds the direct object. (sometimes
there is a prepositional phrase which functions simulatly to the
indirect object, the preposition is `to', most adventure parsers
convert it to an indirect object before calling the verb handling
code.

There are 3 ways to use verbs in English: Transitive, Intransitive,
and Bitransitive.

intransitive is when the verb doesn't take an object, e.g.

> leave

transitive is when the verb takes one object, the direct object, e.g.

> drop the box

bitransitive is when the verb takes two objects, the direct and
indirect objects,

> give the dog a bone

Most adventure parsers can deal with these three types of verbs
(sometimes a verb can be used in more than one way). Also many
support prepositional phrases, which in most languages replaced the
extensive case systems a long time ago.

: options such as the Insturmentive (what to use to give the object to


: <give cannon-ball to monster with cannon>) or Locative (describe the location

^^^^^ ^^^^^
Those are prepositional phrases, not noun phrases.

: of where the object your giving, or to the thing you are giving it to


: <give cannon ball at cannon ball pile to monster on the hill with the
: cannon>) and a whole host of other Case markers.

Why would you want to be able to parse that? BTW, that sentence is
ambiguous, it is unclear what with the cannon modifies. (Of course you
could use a tomita parser and check each parse tree to see if more
than one makes sense in the context of the game).

: Cases I know of are


: Nominative, Accusative, Dative, Genitive, Locative, Insturmental,
: Abliative and one other that has currently slipped my tounge.

Yeah, Hungarian has 30 cases, finnish has 15. I think that making
case distinctions could be important in a language such as Latin
(where you seem to be getting your case system from).

: If you could please point me to any adventure parsers that deal with nouns


: this way, or know of any more cases, then please let me know....

If you want to find out about more cases that exist in _some_
languages, study Hungarian. You may also be interested in some of the
African languages which have very complex gender systems (they have
genders for long objects, roung objects, hard objects, soft objects,
...)

It seems that rather that identify case you are suggesting that the
parser should classify the prepositional phrases according their
function. I don't think this would be pratical in what constitutes
the parser proper in most adventure systems because of ambiguity.
Some prepositions have different functions, z.B.

cut the cheese with the knife

Here the `with' most probably indicates that knife has an instrumental
relation to the verb, while

leave with the bear

Has a more comitative sense. Thus it would be better if parser just
passed the _parsed_ prepositional phrases, along with the direct and
indirect objects to the verb handling code, rather than trying to tag
it with any meaning.

And, to satisfy (or fuel) your
linguistic urges I have found a list of cases in Finnish, made by Mr
Appleyard, with explination of the meaining of each case:

<quote>

Finnish (his inspiration for Quenya) has these cases: nominative,
accusative, genitive, partitive (part of, some), essive (when
he/she/it was/is an X, at the time X), translative (converted to
an X, for the period of time X), abessive (lacking X), comitative
(together with), instructive (X-ishly, in X's manner), prolative
(via), allative (onto, to near), adessive (on, in, near), ablative
(from, from near), illative (into), inessive (in), elative (from
inside).

</quote>

(This came from a description of the Grammer of Quenya, and invented
language of Tolkien the URL is
ftp://ftp.dcs.ed.ac.uk/pub/TolkLang/articles/Appleyard.Quenya
)

Finally, my reference for the info on Old-English is

Wright. `An elememtary Old English Grammar.' Oxford 1966
section 178, page 91.

Later,
Steve Dunham
dun...@gdl.msu.edu


Richard Tucker

unread,
Nov 16, 1993, 8:32:34 AM11/16/93
to
In article <2c9gi9$u...@msuinfo.cl.msu.edu>, dunham@cl-next4 (Steve Dunham) writes:
|>
|> There are 3 ways to use verbs in English: Transitive, Intransitive,
|> and Bitransitive.

You mean 'ditransitive', I think.

|>
|> intransitive is when the verb doesn't take an object, e.g.
|>
|> > leave
|>
|> transitive is when the verb takes one object, the direct object, e.g.
|>
|> > drop the box
|>
|> bitransitive is when the verb takes two objects, the direct and
|> indirect objects,
|>
|> > give the dog a bone
|>

These are indeed three verb types in English, but there are loads more
not just using noun phrases after the verb, most of which are ignored
by the average adventure parser. For example:

a> paint the wall red (NP + ADJ)
b> turn the tv on (NP + PART)
c> curl up (PART)
d> curl up small (PART + ADJ)
e> pretend to be dead (INF)
f> tell her to be quiet (NP + INF)
g> suggest going north to robot (ING + to + NP)

etc, etc. I'd have thought a-d could be handles by modern IF, but e-d
are perhaps too complicated.

Richard/

Steve Dunham

unread,
Nov 16, 1993, 11:36:32 AM11/16/93
to

Richard Tucker (ri...@cl.cam.ac.uk) wrote:

: In article <2c9gi9$u...@msuinfo.cl.msu.edu>, dunham@cl-next4 (Steve Dunham) writes:
: |>
: |> There are 3 ways to use verbs in English: Transitive, Intransitive,
: |> and Bitransitive.

: You mean 'ditransitive', I think.

It was called bitransitive in my Syntax class.

: |>
: |> intransitive is when the verb doesn't take an object, e.g.


: |>
: |> > leave
: |>
: |> transitive is when the verb takes one object, the direct object, e.g.
: |>
: |> > drop the box
: |>
: |> bitransitive is when the verb takes two objects, the direct and
: |> indirect objects,
: |>
: |> > give the dog a bone
: |>

: These are indeed three verb types in English, but there are loads more
: not just using noun phrases after the verb, most of which are ignored
: by the average adventure parser. For example:

: a> paint the wall red (NP + ADJ)
: b> turn the tv on (NP + PART)
: c> curl up (PART)
: d> curl up small (PART + ADJ)
: e> pretend to be dead (INF)
: f> tell her to be quiet (NP + INF)
: g> suggest going north to robot (ING + to + NP)

(c-d) yes, the participle, I believe it is the remnant of a construct
in Old-English analagous to that which became the seperable prefix in
German. (It also appears in Old Norse.) I forgot to mention that, it
is quite important in an adventure parser.

(f) I don't think this would be hard to parse (the infinitive clause)
and should definitely be parsed by adventure parsers; also, it should
let you use the vocative, as in Advsys, e.g.

Dog, take the key

(g) I don't know if this is really necessary, and it could be a pain
to parse... (what do you mean by (ING), present participle?) Also this
could easily lead to ambiguity, e.g.

suggest going to bed

Plus it could lead to fun constructs like

suggest suggesting dropping the book to the cat to the kid

(OK it's a bit far fetched (and hard for people to parse)) :)

: etc, etc. I'd have thought a-d could be handles by modern IF, but e-d
: are perhaps too complicated.

Nah, it's not too complicated, its just challenging; that one of the
things that makes the design of adventure authoring systems fun. :)

Steve
dun...@gdl.msu.edu

Phil Goetz

unread,
Nov 16, 1993, 5:22:49 PM11/16/93
to
In article <1993Nov16.1...@infodev.cam.ac.uk> ri...@cl.cam.ac.uk (Richard Tucker) writes:
>In article <2c9gi9$u...@msuinfo.cl.msu.edu>, dunham@cl-next4 (Steve Dunham) writes:
>a> paint the wall red (NP + ADJ)
>b> turn the tv on (NP + PART)
>c> curl up (PART)
>d> curl up small (PART + ADJ)
>e> pretend to be dead (INF)
>f> tell her to be quiet (NP + INF)
>g> suggest going north to robot (ING + to + NP)

I treated verbs like "turn on", "curl up" the same way as single-part
verbs. Before the ATN parser got to parse a sentence, the sentence
was subject to transformations. For the verb "pick up", I had
the transformation

pick NP up -> get NP

All verbs with parts were treated that way successfully.

Phil go...@cs.buffalo.edu

Richard Tucker

unread,
Nov 17, 1993, 9:10:12 AM11/17/93
to
In article <2cavig$s...@msuinfo.cl.msu.edu>, dunham@cl-next4 (Steve Dunham) writes:
|>
|> Richard Tucker (ri...@cl.cam.ac.uk) wrote:
|> : In article <2c9gi9$u...@msuinfo.cl.msu.edu>, dunham@cl-next4 (Steve Dunham) writes:
|> : |>
|> : |> There are 3 ways to use verbs in English: Transitive, Intransitive,
|> : |> and Bitransitive.
|>
|> : You mean 'ditransitive', I think.
|>
|> It was called bitransitive in my Syntax class.
|>

Perhaps this is a transatlantic difference; I got 'ditransitive' from a
syntax class too!

|> : |>
|> : |> intransitive is when the verb doesn't take an object, e.g.
|> : |>
|> : |> > leave
|> : |>
|> : |> transitive is when the verb takes one object, the direct object, e.g.
|> : |>
|> : |> > drop the box
|> : |>
|> : |> bitransitive is when the verb takes two objects, the direct and
|> : |> indirect objects,
|> : |>
|> : |> > give the dog a bone
|> : |>
|>
|> : These are indeed three verb types in English, but there are loads more
|> : not just using noun phrases after the verb, most of which are ignored
|> : by the average adventure parser. For example:
|>
|> : a> paint the wall red (NP + ADJ)
|> : b> turn the tv on (NP + PART)
|> : c> curl up (PART)
|> : d> curl up small (PART + ADJ)
|> : e> pretend to be dead (INF)
|> : f> tell her to be quiet (NP + INF)
|> : g> suggest going north to robot (ING + to + NP)
|>
|> (c-d) yes, the participle, I believe it is the remnant of a construct
|> in Old-English analagous to that which became the seperable prefix in
|> German. (It also appears in Old Norse.) I forgot to mention that, it
|> is quite important in an adventure parser.

And (b) too, in which the verb and particle behave very like a German
separable verb. Semantically also, turn+on is really a different verb
from turn, but paint+red is the same verb as paint, just modified.

|>
|> (f) I don't think this would be hard to parse (the infinitive clause)
|> and should definitely be parsed by adventure parsers; also, it should
|> let you use the vocative, as in Advsys, e.g.
|>
|> Dog, take the key
|>
|> (g) I don't know if this is really necessary, and it could be a pain

|> to parse... (what do you mean by (ING), present participle?) ...

Yes, sorry for my stupid abbreviations.

|>
|> : etc, etc. I'd have thought a-d could be handles by modern IF, but e-d
|> : are perhaps too complicated.
|>
|> Nah, it's not too complicated, its just challenging; that one of the
|> things that makes the design of adventure authoring systems fun. :)
|>
|> Steve
|> dun...@gdl.msu.edu
|>

Yes, the difficulty isn't in the parsing so much as in the world-modelling
of the adventure; I was thinking that if we allow (f), we're going to have
people typing things like

> tell ford to tell vogon to shut up

whereas at the moment they don't try

> ford, vogon, shut up

which would be the logical infocom-style equivalent. Still, I guess there's
no reason why the system shouldn't do speech acts between NPCs, it's just
that I can't think of any that do. Hopefully I'm wrong; it would certainly
make for a better adventure world.

Richard/

Reply all
Reply to author
Forward
0 new messages