Introduction to CL (LING 185B)

Marcus Kracht

Spring 2006

Time: To be discussed

Short Description of the Course

Given a sentence, say The cat is on the mat how is it that we can find what it means? And how can we know whether or not it is true? Several proposals exist. One is Montague Grammar, and another one is Discourse Representation Theory (DRT). The idea behind DRT is that meanings are simply expressions in predicate logic such as be-on(x,y), and the task is to assemble these formulae into a structure (a DRS) as well as to come up with the right choice of variable. DRS assumes that the choice of variables is given by the parser.

The course will present a third theory that I have developed over the years. It builds on top of DRT by providing systematic algorithms to choose variables. This means that this job is taken away from the parser. These algorithms are very fast, since they use only unification. The theory uses both word order and morphological information, and has been developed with an eye to morphologically rich languages. Thus, the theory is interesting both from a linguistic and a computational perspective, and the course will highlight both.

To Read About the Theory

The theory is documented in the manuscript Agreement Morphology, Argument Structure and Syntax. This explains in full length everything about the theory. Parts of it are not yet finished, and I would be particularly glad about feedback, whatever it may be.

To See It At Work

Since cheking the theory and seeing how it works requires plenty of tedious calculations, I have decided to write a program that can do this sort of thing. It is almost complete; I have not implemented higher order merge, but we will not use it much anyway. (I hope to make some progress in the next weeks.) You can play with it without installing any software, provided you are happy with my dictionary (there is only one at the moment). For the course it would be best to install it on your machines.

Assignments

There will be no weekly assignments. Instead, I encourage you to pick a topic during the course on which you want to work. This can be either some programming task or some theoretical problem. Here is a list of potential topics.