4.1 Architecture of our Grammar

This section gives an overview of the general architecture we've adopted for our flexible and modular implementation of a semantics construction system.

We have adopted a fairly simple grammar architecture that has four (2x2) parts: a lexicon, DCG-rules, semantic macros, and (semantic) combination rules. Before we go through each of these parts in detail, we will give an overview over what exactly the tasks are of each of these components.

The figure below shows how our system analyses the sentence ``John walks'':

Syntax...

Look at the left-hand side of the figure. This side shows the syntactic parts of the grammar. The syntactic analysis consists of two steps: First, a lexicon look-up tells us that ``John'' is a proper name () and that ``walks'' is an intrantitive verb (). Second, the two non-branching DCG-Rules and tell us that ``John'' is also a noun phrase () and that ``walks'' is also a verb phrase (). Finally, the DCG-rule tells us that ``John walks'' in fact is a sentence. A grammar that's as simple as that on the side of syntax will do for our purposes.

...and Semantics.

Now look at the right-hand side of the figure. Here, you see the semantic parts of the grammar. The semantic macros for proper names (pnSem(...)) and for intransitive verbs (ivSem(...)) provide us with the semantic representations of the lexical items, in this case: and . Then, two so-called combine-rules (there is one for each DCG-rule) tell us how to obtain the semantic representations npSem(...) and vpSem(...) out of the semantic representations pnSem(...) and ivSem(...), respectively. Finally, there is a combine-rule that tells us how to combine these semantic representations to end up with the semantic representation of the sentence. At present, we're using functional application for this task and get: .

To get , a postprocessing step is neccessary, namely doing -reduction.

The division of our grammar into syntactic and semantic parts will make life easier for us as semanticists, because once we have specified the lexical entries for the words belonging to the syntactic categories of interest, and once we have formulated the DCG-rules that license buliding all complex phrases we want to deal with, we need not bother with syntax any more. Instead, we can concentrate on the semantic macros that give meaning to the lexical entries, and we can design the combine rules so that they adequately compute the meaning of larger phrases out of the meaning of their parts.


Aljoscha Burchardt, Stephan Walter, Alexander Koller, Michael Kohlhase, Patrick Blackburn and Johan Bos
Version 1.2.5 (20030212)