[net.ai] Use of 'and'

andrew@inmet.UUCP (03/24/84)

#R:sri-arpa:-14500:inmet:11000010:000:454
inmet!andrew    Mar 23 13:54:00 1984

I haven't heard of that one, but there was an article recently (in
Datamation?) about a natural language processing system which
repeatedly gave no results when asked for "all customers in Ohio
and Indiana".  Of course, no customer can be in both states
at once; the question should have been phrased as ".. Ohio *or*
Indiana".  When this was pointed out, the person using the
program commented something to the effect of "Don't tell *me*
how to think!"

parks@ut-sally.UUCP (Thomas Parks) (03/29/84)

>Nf-From: inmet!andrew    Mar 23 13:54:00 1984
>
>I haven't heard of that one, but there was an article recently (in
>Datamation?) about a natural language processing system which
>repeatedly gave no results when asked for "all customers in Ohio
>and Indiana".  Of course, no customer can be in both states
>at once; the question should have been phrased as ".. Ohio *or*
>Indiana".  When this was pointed out, the person using the
>program commented something to the effect of "Don't tell *me*
>how to think!"

    While it is somewhat amusing the way the user in the above story queried
imprecisely and got huffy when "corrected", the problem really should be
considered to be with the software. Certainly understanding natural language
is not an easy thing to do, but if the system claims to do that, then the
software should either reject ambiguous statements or list possible
interpretations and ask the user to choose.  As a natural language user, I
had no problem understanding the intended meaning of the query, a program
that "understands" natural language should be able to do the same or know
that it cannot.  To properly use "or" instead of "and" here, one would have
to say "all customers in Ohio or *in* Indiana" - "Indiana" cannot be
considered "true or "false".

              --------- TEDIUM AHEAD ---------

    I believe that it is reasonable for a "natural language processing
system" to understand "and" as both a boolean operator ("^") and a set
conjunction ("U") operator.  In this case, the sentence "all customers
in Ohio and Indiana" could be guessed to mean many things. However,
the interpretation of "and" as a set operator would allow the original
statement to be correctly interpreted with only an addition of logical
parentheses: "all customers in [(] Ohio and Indiana [)]" - or more
formally, "{all customers x, such that x is in ( {all people y, such
that y is in Ohio} union {all people z, such that z is in Indiana})}".
Admittedly, stretching the set {all people z, s.t. z is in Indiana}
out of the query word "Indiana" is a questionable interpretation.  But
the interpretation as a set operator could also see: "all customers in
Ohio and [all customers in] Indiana" - formally "{all customers x,
s.t. x is in Ohio} union {all customers z, s.t. z is in Indiana}". 
The interpretation of "and" only as a boolean operator would require
something like: "all customers in Ohio and [in] Indiana" - or "{all
customers x, s.t. (x is in Ohio) ^ (x is in Indiana)}".  The user
really was being asked to think like the program, rather than the
other way around.  (In this situation, however, it might be more
efficient to "reprogram" the user than the software |-).)

               /|\    
              / | \   
            /   |  \  
          /     |   \ 
        / \     |    \
      /    |    |     \
     Tom Parks at ut-sally

Denber.wbst@PARC-MAXC.ARPA (03/31/84)

""all customers in Ohio and Indiana".  Of course, no customer can be in
both states at once; the question should have been phrased as ".. Ohio
*or* Indiana""

Well, this is actually a case of ellipsis.  "Or" has its own problems.
What is really meant is "all customers in Ohio and [all customers in]
Indiana".  Happens all the time.  Looked at this briefly at the U of R
before I was elided myself.  I don't have my references here.  Some work
at Toronto (?)  Perhaps Gary the Dog Modeller can say more.

                        - Michel
                        Speaker to Silicon