🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #1431

Re: Question about DCGs and natural language grammars

#1431
From: Ted Dunning
Date: Wed, 21 Nov 1990 15:41
64 lines
3097 bytes
In article <MARK.90Nov21120114@adler.philosophie.uni-stuttgart.de> mark@adler.philosophie.uni-stuttgart.de (Mark Johnson) writes:

   ... if we use a DCG grammar ... we can prove things like the
   following:

     S=[i,saw,a,man,with,a,telescope], means(S,M1), means(S,M2).

   where M1 represents a meaning where where the man has a telescope,
   and M2 represents a meaning where the seeing is done with the
   telescope.

   That is, from our axioms we can prove that S means M1 *and* S means M2.
   The problem is that in the real world it *doesn't*: the English sentence
   S means M1 *or* M2.

huh?

without context, both interpretations of the sentence are perfectly
valid.  it may be that you want to add (implicitly, usually) another
axiom to your language understanding system that a sentence can have
only one meaning, go right ahead.  

not that prolog must in any sense reflect how people use language.

   For example, suppose we try to write a predicate presupposes/2 ...
   now the ambiguity problem comes back with a vengance.  ... we can prove that
   both the existence of the man from the hill, and also the
   existence of the hill with the telescope are presupposed,
   whereas these are alternative presuppositions corresponding
   to alternative parses of the ambiguous sentence.

so?  why is this bad?

without context, both presuppositions _are_ possible.

there is nothing that says that prolog has to work like the inside of
somebody's head, nor that it must reflect truth.

   Lexical ambiguity can be dealt with
   by disjunctive axioms; e.g. the lexical entry for an ambiguous word
   like "ball" might be something like:

   lex(ball,n,X^(toy(X)&round(X)&...)) ; lex(ball,n,X^(dance(X)&social-event(X)&...)).

why not just

lex(ball,n,X^(toy(X)&round(X)&...)).
lex(ball,n,X^(dance(X)&social-event(X)&...)).

   Such "disjunctive" axioms for ambiguous lexical entries express
   the intuition that an ambiguous word means either one thing or
   another thing, but not both things simultaneously. 

not really.  i can still say lex(ball,_,M1), lex(ball,_,M2), M1 \== M2

   But I don't know how to write axioms that represent an (annotated) CFG
   that result in syntactic ambiguities producing disjunctive consequents.
   (Any suggestions?)

don't worry about it.  there isn't a problem.

--
I don't think the stories are "apocryphal".  I did it :-)  .. jthomas@nmsu.edu
Technical Details
Message-ID: <TED.90Nov21084134@kythera.nmsu.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!rpi!dali.cs.montana.edu!milton!ogicse!unmvax!ariel.unm.edu!nmsu!opus!ted
References: <MARK.90Nov21120114@adler.philosophie.uni-stuttgart.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!rpi!dali.cs.montana.edu!milton!ogicse!unmvax!ariel.unm.edu!nmsu!opus!ted
From: ted@nmsu.edu (Ted Dunning)
Newsgroups: comp.lang.prolog
Subject: Re: Question about DCGs and natural language grammars
Message-ID: <TED.90Nov21084134@kythera.nmsu.edu>
Date: 21 Nov 90 15:41:34 GMT
References: <MARK.90Nov21120114@adler.philosophie.uni-stuttgart.de>
Sender: news@NMSU.Edu
Distribution: comp
Organization: NMSU Computer Science
Lines: 64
In-reply-to: mark@adler.philosophie.uni-stuttgart.de's message of 21 Nov 90 11:01:14 GMT