Path: 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: Date: 21 Nov 90 15:41:34 GMT References: 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 In article 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