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