Learning Natural Language Semantics

I went to an NLP symposium at MIT a couple weeks ago. The most interesting thing I learned there was from a 2005 a paper titled Learning to Map Sentences to Logical Form, by Luke Zettlemoyer and Michael Collins.

I'm pretty familiar with the use of lambda calculus for programming languages, but I'd never before seen it used as a formalism for the semantics of natural language. So the first Amazing Revelation was this:

"What states border Texas?"
λx.state(x) ∧ borders(x,texas)

The second Amazing Revelation was that if you assign "types" to English words, then you can "parse" a sentence directly into a semantic model simply by finding a valid tree of logical deductions. The type system used consists of parts of speech (NP, S, etc) plus a way to represent missing phrases on the right or left. So, for example, you can think of S/NP as being like the function type NP->S, except that it requires the NP to be on the right. S\NP would require the NP to be on the left. Here's the deduction tree for the question "What states border texas?"

But these two ideas are merely the background upon which the paper builds. The real meat of the paper is that if you're given a bunch of sentences and their corresponding LC semantics, then you can automatically learn the initial mappings from words to types. And once you've got that initial step covered, then the rest of the problem reduces to finding the most likely (valid) type judgement for the sentence as a whole.

Pretty damn cool, if you ask me. The paper won the best paper award at UAI 2005, so apparently I'm not the only one who was impressed.

After the symposium everybody went out to dinner at CBC in Kendall Square. I ended up sitting across the table from Luke (the primary author on the paper). He's a really cool guy; smart, calm, and interested in what other people are doing. He's currently studying graphical models (e.g. markov random fields).

All in all, it was a great day.

Posted on November 21, 2006 10:26 PM
More school articles

Comments
Post a comment









Remember info?




Prove you're human. Type "human":