While reading the Barner and Stiller papers this week on children’s interpretations of scalar implicatures, as a Symbolic Systems major interested in studying natural language processing in the future, I found myself thinking about how machines learn to make pragmatic inferences based on context.
The Barner paper seems to imply that children treat scalar implicatures logically when provided context-independent scales. Most notably, children fail to recognize that “some” implies “not all,” instead simply taking its literal meaning (namely, “greater than one”). This corresponds with the traditional view of computers as machines operating context-free with pure logic, unable to reason "between the lines" and develop alternate hypotheses when interpreting language. "Translating" the child's apparent understanding (or lack thereof) of scalar implicatures to Java code is relatively simple; given a boolean array of n elements, we could write a short program checking whether “some elements are true” is true like the one below.
public boolean areSomeTrue(boolean[] arr) {
int counter = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i])
counter++;
}
return (counter > 1);
}
Similarly, computers treat the AND and OR operators the same way as children. Given the paper's example sentence "Each boy chose a skateboard or a bike" to process, we can translate this to the following:
public boolean allChosen(Boy[] boys) {
for (int i = 0; i < boys.length; i++) {
if (!(boy.choseSkateboard() || boy.choseBike()))
return false;
}
return true;
}
However, this adherence to simple logic changes remarkably when provided probabilistic context. According to Stiller, when children are given some sort of context about the world (i.e., how common something is compared to something else), it seems that they can grasp scalar implicatures with ease. This finding immediately reminded me of the framework of recursive reasoning discussed by Noah Goodman in his SymSys 1 guest lecture. According to Goodman, pragmatic reasoning requires one to consider what the person speaking to you is thinking that you will think that they are thinking (and so on). Using an example of scalars similar to those in Stiller's paper (i.e., identifying colored shapes), he wrote a program in JavaScript to model this process of recursive reasoning based on probability (i.e., surmising that a speaker was identifying a blue circle rather than a blue square when given the word "blue"). I was very surprised that the program was quite accurate when making pragmatic inferences, accounting for over 98% of the variance in the data.
Given this knowledge, I'm curious as to whether computers can also learn to understand scalar implicatures without probabilistic context, as adults do. Since I haven’t taken coursework in NLP, if anyone knows more about this area (or artificial intelligence in general), I’d love your input in the comments!
Really interesting! I also don't know much about NLP (yet), but the connection between computers and children and how they approach these implicatures was something I hadn't picked up on yet. I'm not in Symsys 1 but the idea of recursive reasoning seemed really interesting. I wonder how we can adequately convey context to a computer as easily as we can to children.
ReplyDelete