PM 1: Semantic Parsing
Summer Semester 2015
Prof. Dr. Alexander Koller
Tue 12-14; Golm, Haus 14, Raum 0.09
Starts on Tuesday, April 21
Semantic parsing is the problem of computing, for a given natural-language expression, a formal semantic representation. Traditionally, this was done using hand-written grammars that simultaneously described the syntactic and semantic structure of an expression. More recently, the problem has enjoyed a lot of attention in computational linguistics in a new disguise. The task is now to learn a mapping between strings and semantic representations from data.
There is a growing literature on semantic parsing, which varies e.g. in the choice of semantic representation formalism, the formal tools with which the string-semantics mapping is represented, and whether a grammar is used at all. Annotated data has become available in various different styles. For instance, one recent focus has been the development of graph-banks, in which English sentences have been annotated manually or automatically with graphs representing the sentence meaning.
Structure of the course. This project is split into two parts. In the first part, we will review the current literature on semantic parsing. You will read several research papers per week, and we will then come together to discuss any questions you might have. The goal of this intensive reading phase is to bring you up to speed regarding the state of the art in semantic parsing.
In part two, you will then design, implement, and evaluate your own approach to semantic parsing. As we wrap up the literature review phase, you will come together in teams of three students each, and come up with a project you would like to do together. You will then spend the rest of the semester working on this project. At the end, you will evaluate the project and present your results to the rest of the class.
You are free to choose any project you like, as long as it is interesting, related to semantic parsing, and can be done within the semester. I imagine a typical project will select a concrete data set and a concrete approach to representing and learning the sentence-semantics mapping (either one from the literature, or an extension to one, or a novel idea of your own), and then implement the semantic parser and train and evaluate it on the dataset. But I look forward to having you surprise me. :)
Requirements for participation. I assume that participants will have successfully completed BM1 “Advanced Natural Language Processing”. I also assume fundamental knowledge of formal semantics, e.g. from FM3 “Foundations of Linguistics”. For instance, you should be familiar with simply typed lambda calculus, and have a sense of how one can construct lambda terms for simple natural-language expressions. It may be worth reviewing the semantics chapters of the Jurafsky & Martin book before the course starts.
Grading. The course grade will be a combination of your team’s project work (50%) and a paper you will individually write about it (50%).
Note that a PM1 course is worth 12 credit points. This translates into about 20 hours of work per week during the term. Do not be misled by the fact that we only meet for two hours per week; most of your work happens outside of class. Please plan your course load accordingly.