[comp.lang.prolog] Question about DCG's and natural language

ada612@csc.anu.oz.au (11/22/90)

Re: Message-ID: <MARK.90Nov21120114@adler.philosophie.uni-stuttgart.de>
    From: mark@adler.philosophie.uni-stuttgart.de (Mark Johnson)

>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.

I would say that the correct reading of `means(X,Y)' is `sentence X
can have meaning Y', so that one sentence can have this relation to
several meanings, just like one person can have the `sister/2' relation
to several people.  For talking about particular situations, one might
want a three-place predicate `means(X,Y,S)' `sentence X had meaning Y
in (particular) situation S', where Y is supposed to be unique for
given X and S, but semioticists seem to differ on this kind of issue.

Presumably the and/or vagaries in the English renditions in the Horn clauses
arise from the the relations between the various senses of `mean', plus
modal logic & Cricean maxims.  e.g., it violates the maxim of quantity
to say `Possible(X or Y)' when `Possible(X) and Possible(Y)' isn't true.

  Avery Andrews (ada612@csc.anu.oz.au)

mark@adler.philosophie.uni-stuttgart.de (Mark Johnson) (11/23/90)

I'll keep this short, since I think my original posting really
said all I know about this topic.

Avery Andrews ada612@csc.anu.oz.au suggests
>I would say that the correct reading of `means(X,Y)' is `sentence X
>can have meaning Y', so that one sentence can have this relation to
>several meanings, 

Yes, I agree that if one interprets DCGs in this modal fashion
(i.e. in terms of "possibile interpretations") then they give 
just the right results.  But our DCG axioms aren't written in 
modal logic; so isn't it a little strange that we have to interpret
means/2 in a modal fashion?

>Presumably the and/or vagaries in the English renditions in the Horn clauses
>arise from the the relations between the various senses of `mean', plus
>modal logic & Gricean maxims.  e.g., it violates the maxim of quantity
>to say `Possible(X or Y)' when `Possible(X) and Possible(Y)' isn't true.

An interesting suggestion.  Is it possible to formalize this, say,
in first-order logic, or would it need something more expressive
to handle the modal (and epistemic?) concepts that you just used.
If this is right, it suggests that the "intuitive" notion of "means"
I was appealing to (and I suspect that most non-logic programmers
would agree with) is much more complicated than I thought.

(Does anyone seriously doubt that if you ask a non-logic programmer
"What does 'John likes flying planes' mean?" they will say "Well,
it means that either that John enjoys looking at flying planes *or*
John enjoys piloting aircraft"?)

Ted Dunning (ted@nmsu.edu) suggested that 
>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 ... .
Care to share this axiom with us?  And perhaps explain why it doesn't
render our system inconsistent, since it would seem to contradict
the axioms for "means" which assert that ambiguous sentences have
two different meanings?

Jerry Morgan (morgan@bach.cogsci.uiuc.edu) suggestion that one way
of avoiding the problem is to distinguish the meaning of a sentence
(which has this "conjunctive" interpretation) and means-to-convey
(which has the disjunctive interpretation I am after) is interesting.

The following axioms seem to be a first approximation; they get
the disjunctive interpretation I want. 

   means-to-convey(String,Meaning) -> means(String,Meaning)

    "If String means-to-convey Meaning, then Meaning must be
     a possible meaning of String"

   Exists M means(String,M) -> Exists M' means-to-convey(String,M')

    "If String means anything, then String means-to-convey something"

(Perhaps these are just lemmas following from the Gricean axioms
that Avery was talking about?)

Comments?

Mark