Personal tools
You are here: Home Events Abstract Archives 1996 Default Unification

Default Unification

Alex Lascarides (Centre for Cognitive Science, Edinburgh) LFCS Theory Seminar Room 2511, JCMB, King's Buildings 4pm, Tuesday 22nd October 1996

For a number of years now, computational linguists have being using inheritance on typed (i.e., sorted) information to encode linguistic generalisations at the lexical, syntactic and semantic levels. Generally, inheritance has been implemented as a unification operation, familiar from logic programming languages such as PROLOG.

However, in the last seven years or so, some linguists have felt that normal unification is too constrained for representing certain generalisations that are useful for linguistic processing. This is because normal unification doesn't allow one to represent default generalisations; in other words, rules that admit a few exceptions.

Because of this, people have extended the notion of inheritance to default inheritance, which in turn has been implemented via an operation known as default unification. Default unification is different from normal unification, in that if the two pieces of information that are to be unified are incompatible, you don't necessarily get unification failure. Rather, you get all of the first piece of information being preserved, together with as much of the second piece of information as is compatible with the first piece.

There are problems with this default unification operation, however. Up until now, default unification has lacked the perspicuity and declarativity familiar from normal unification. This is largely because it is an order dependent operation (that is, it's not commutative or associative), and the results of default unification is not always equal to what normal unification would give you, even when the two pieces of information being unified are compatible, and so normal unification would succeed.

In this talk, I will discuss what desiderata default unification should meet if it is to fit seamlessly within a framework that utilises normal unification as well. And I will provide the definition of a default unification operation that meets these desiderata. This operation is known as YADU, standing for Yet Another Default Unification.

I have used YADU in several applications in linguistics. It has proved useful for encoding generalisations about lexical semantic information and morphology. These are both areas where there are a lot of generalisations that admit exceptions, but where the kinds of reasoning mechanisms you need don't have to be as powerful as the ones you get from logics for default reasoning familiar from AI.

What I would like to do now is import this default unification tool back into computer science, since it is essentially an extension of a technique---namely unification---that computational linguists took from computer science. So what I'm hoping for in this talk is some feedback on whether you can think of any applications in CS where YADU would prove useful.

Document Actions