🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #1429

Question about DCGs and natural language grammars

#1429
From: Mark Johnson
Date: Wed, 21 Nov 1990 11:01
73 lines
3551 bytes
I have a question about the *conceptualization* of (annotated)
context-free grammars implicit in their "standard" DCG translations.
Maybe I'm just terribly confused (is this what happens when you
worry too much about GB parsing?), in which case maybe someone
can point out an obvious mistake I'm making.

What's worrying me is this: if we use a DCG grammar to
define a relation means/2 true of a string of English words
and some representation of its meaning (say, an encoding of
a first-order formula), 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.

There seem to be two ways out of this dilemma.  

First, you can deny that natural language ambiguity really leads to 
disjunctive, rather than conjunctive, consequents.  But I think that 
this problem arises in a more serious manner in other cases.

For example, suppose we try to write a predicate presupposes/2, which
is true of a string of English words and a formula expressing one
of the things it presupposes, e.g.

   S = [the,man,saw,the,woman], presupposes(S,exists(X,man(X))),
   presupposes(S,exists(Y,woman(Y))), ...

presupposes(Sentence,Presupp) :- parse(Sentence,Tree), presupp(Tree,Presupp).

But now the ambiguity problem comes back with a vengance.  If we
try to find the presuppositions of an ambiguous sentence, say,
"I saw the man from the hill with the telescope", 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.

Of course there are a number of technical fixes for this problem,
so in practise there is no problem here.  But I think there is
a deeper issue here -- why doesn't the straight-forward approach
sketched above work?

Second, you can admit that we really do want to get disjunctive
consequents.  (This takes us out of Horn clause logic, but disjunctive
logic programming is possible).  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)&...)).

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. 

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

Thanks,

Mark Johnson
mj@cs.brown.edu
mark@adler.philosophie.uni-stuttgart.de
 
Technical Details
Message-ID: <MARK.90Nov21120114@adler.philosophie.uni-stuttgart.de>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!usc!snorkelwacker.mit.edu!ira.uka.de!rusux1!mark

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!usc!snorkelwacker.mit.edu!ira.uka.de!rusux1!mark
From: mark@adler.philosophie.uni-stuttgart.de (Mark Johnson)
Newsgroups: comp.lang.prolog
Subject: Question about DCGs and natural language grammars
Message-ID: <MARK.90Nov21120114@adler.philosophie.uni-stuttgart.de>
Date: 21 Nov 90 11:01:14 GMT
Sender: zrf80385@rusux1.rus.uni-stuttgart.de
Distribution: comp
Organization: IMS, University of Stuttgart
Lines: 73