Damit unsere Grammatik Ausdrücke wie *John laughed the girl oder *Mary put the book als ungrammatisch ausschließt, mußten Unterklassen des Verbs postuliert werden, die durch Kategorialsymbole wie Vi oder Vtp bezeichnet wurden. Diese Lösung hat mehrere Schönheitsfehler:
Was können wir also tun?
Wir müssen uns zunächst vor Augen halten, daß in unserem Grammatikformalismus die Kategorien durch Merkmalstrukturen definiert sind, und die Kategorialsymbole nur konventionelle Namen für Merkmalstrukturen darstellen. Jeder Knoten in einem Strukturbaum stellt also eine Merkmalstruktur dar. Der folgende Baum
S _____|______ NP V ___|____ | Det N Vi the boy cried
ist zu lesen als:
S:[cat: S …] ___________|___________ NP:[cat: NP …] VP:[cat: VP…] ___________|__________ | Det:[cat:Det…]N:[cat: N …] Vi:[cat: Vi …] the boy cried
Die drei Pünktchen sollen andeuten, daß jeweils noch weitere Merkmale möglich sind.
In einem Kategorialsymbol wie Vt ist das t eigentlich ein Index: Vt , entsprechend bei den anderen Verbtypen: Vi, Vt2, Vtp, Vp, Vc. Damit soll ausgedrückt werden, daß es sich jeweils um ein Verb (V) mit einer bestimmten Valenzeigenschaft handelt.
Wir können unser Problem einfach dadurch lösen, daß wir das, was durch den Index ausgedrückt werden soll, durch ein Subkategorisierungsmerkmal ausdrücken. Das Gemeinsame an Vi, Vt, ... Vc, ist das Merkmal [cat: V].Hinzu kommt ein Subkategorisierungsmerkmal. Wie wir das entsprechende Attribut nennen wollen, bleibt uns überlassen. In modernen Grammatikformalismen wie Generalized Phrase Structure Grammar (GPSG) und Head-Driven Phrase Structure Grammar (HPSG) wird das Attribut subcat verwendet, und wir wollen uns diesem anschließen. Als Wertevorrat für dieses Attribut nehmen wir der Einfachheit halber die bisher verwendeten Indizes an: i, t, t2, p, tp, c.
Ein Verb vom Typ Vt wäre dann wie folgt definiert:
[cat: V subcat: t]
Wie muß unsere Grammatik jetzt verändert werden?
Wir müssen zunächst in allen Regeln für die VP die Symbole für das Verb in V ändern und zusätzlich eine funktionale Gleichung für die Subklasse einfügen. Die Regel für intransitive Verben
Rule {VP mit Vi} VP -> Vi <VP head> = <Vi>.
muß also wie folgt geändert werden:
Rule {VP mit Vi} VP -> V <VP head> = <V> <V subcat> = i
Die Analyse des Satzes scheitert, weil nach den vorgenommenen Änderungen die Grammatik und das Lexikon nicht mehr harmonieren! Die Regel für das Verb admired lautet (partiell):
Rule VP -> V NP: <VP head> = <V> <VP subcat> = t.
Der Eintrag für admired im Lexikon lautet jedoch:
\w admired \c Vt
Wie wir gesehen haben, wird aus dieser Information in der Grammatik die folgende Merkmalstruktur erzeugt.
[cat: Vt lex: admired]
Es sieht also so aus, als müßten wir in unserem Lexikon alle Verbeinträge ändern, indem wir alle Angaben über die lexikalische Kategorie ändern in
\c V
Weitere Merkmalsspezifikationen werden durch die Markierung \f eingeführt, z.B.
\f <subcat> = t
Bei einem umfangreichen Lexikon wäre dies mit sehr viel Schreibarbeit verbunden. Es gibt im PATR-Formalismus jedoch einen Mechanismus, der es uns erlaubt, das Lexikon in seiner alten Form weiter zu verwenden.
Es wurde bereits darauf hingewiesen, daß die Kategorialsymbole eigentlich nur Namen für Merkmalstrukturen sind. Der hier zur Anwendung kommende Mechanismus beruht darauf, daß beliebigen Merkmalstrukturen per Konvention Namen zugewiesen werden können, so daß in bestimmten Kontexten diese Namen stellvertretend für die Merkmalstrukturen verwendet werden können. Das ist vergleichbar mit der Definition von Formatvorlagen in Word, oder von sog. Makros in Programmiersprachen. In PC-PATR werden diese Abkürzungskonventionen Merkmalschablonen (engl. feature template) genannt.
Die Definition einer Merkmalsschablone (feature template) in PC-PATR hat folgende Teile (in der angegebenen Reihenfolge):
Beispiel:
Let Vt be [cat: V subcat: t].
Wenn der Name der Schablone wie im Beispiel eine terminale Kategorie ist (d.h. ein terminales Symbol in einer der Phrasenstruktur-Regeln), dann definiert die Schablone die default-Merkmale für diese Kategorie. Andernfalls dient der Schablonenname als eine Abkürzung für die assoziierte Merkmalstruktur.
Diese Merkmalschablonen werden in der Grammatikdatei definiert. Wir können also unser Problem auf relativ einfache Weise dadurch lösen, daß wir für jedes unserer verbalen Kategorialsymbole (Vi, Vt, Vt2, Vtp, etc.) eine Merkmalschablone gleichen Namens definieren. Bevor wir dies in Angriff nehmen, soll noch auf eine weitere Vereinfachungsmöglichkeit hingewiesen werden:
Merkmalschablonen können ein Kaskade bilden, d.h. daß eine bereits definierte Schablone in der Definition einer weiteren Schablone verwendet werden kann.
Es ist leicht zu sehen, daß in allen Schablonen das Merkmal [cat: V] auftreten wird. Es bietet sich daher an, dafür eine Schablone zu definieren, die in allen weiteren verwendet wird:
Let V be [cat: V]. Let Vt be V [subcat: t].
Gegeben seien folgende Daten:
Wie müssen wir unsere Grammatik verändern, damit diese Daten beschreibbar sind?
Hier geht es offensichtlich darum, dass in der Nominalphrase der Determinator und das Nomen hinsichtlich des Numerusattributs (engl. number) übereinstimmen müssen. Als Namen wollen wir dafür num verwenden, als Wertebereich gilt für das Englische {singular plural}, mit den Abkürzungen sg und pl. Das Wort houses hat also u.a. das Merkmal [num: pl], das Wort this hingegen das Merkmal [num: sg]. In der Regel für die Struktur der NP müssen wir zum Ausdruck bringen, daß Det und N hinsichtlich des Numerusmerkmals übereinstimmen müssen.
Rule {NP} NP -> Det (AP) N (PP): <Det num> = <N num> …
Für das Lexikon gibt es jedoch einige Probleme.
Die Nomina müssen für Numerus spezifiziert werden. Wir haben jedoch in unserem Lexikon bereits eine Reihe von Einträgen (alle im Singular) und es wäre lästig für alle Nomina das Numerusmerkmal für jeden Eintrag angeben zu müssen. Es wäre auch nicht verkehrt, wenn man davon ausginge, daß Nomina im Normalfall (engl. default) im Singular stehen. Nun haben wir beim Verb gesehen, daß man durch eine Merkmalschablone dem Kategoriennamen Merkmalstrukturen zuordnen kann.
Let V be [cat: V].
Man könnte versucht sein, für Nomina etwas Ähnliches zu versuchen und folgendes zu definieren:
Let N be [num: sg].
Das würde jedoch bedeuten, daß alle Nomina im Singular stehen, was zu Konflikten führt. In einem Lexikoneintrag für feet z.B. müßte man spezifizieren, daß entgegen der Festlegung durch die Merkmalschablone für N, das Attribut num den Wert pl hat.
Merkmalspezifikationen im Lexikon werden in einem eigenen Datenfeld notiert, das durch die Markierung \f eingeleitet wird:
\w feet \c N \f <num> = pl
Das führt jedoch zu einem Widerspruch, weil ja in der Merkmalschablone für N für das Attribut num der Wert sg festgelegt worden ist, im Merkmalsfeld \f aber der Wert pl. Ein Attribut kann aber nur einen Wert haben.
Was wir eigentlich ausdrücken wollen ist, daß Nomina im Singular stehen, wenn an anderer Stelle nichts gegenteiliges festgelegt wird (default). Dafür gibt es eine eigene Notation, ein vorgesetztes Ausrufungszeichen:
Let N be [num: !sg].
Durch diese Definition wird bestimmt, daß das Numerusattribut eines Nomens den Wert sg hat, es sei denn, daß an anderer Stelle (z.B. im \f Feld) etwas anderes festgelegt wird.
Wir müssen in unserem Lexikon jetzt nur neue Einträge für Pluralformen machen (z.B. für houses).
Um die Schreibarbeit zu reduzieren können wir Abkürzungen durch Merkmalschablonen einführen:
Let sg be [num: sg]. Let pl be [num: pl].
Es wäre auch nicht verkehrt, für Determinatoren einen default-Wert zu bestimmen:
Let Det be [num: !sg].
Einige Wörter haben für Singular und Plural die gleiche Form, z.B. der Artikel the, die Possessivpronomina my, your, his, her sowie einige Substantive wie sheep, fish etc. Wir können aber nicht sagen, daß diese Wörter kein Numerusattribut haben, sondern daß dessen Wert entweder sg ist oder pl sein kann. Das scheint zunächst auf Doppeleinträge hinauszulaufen:
\w sheep ; default \c N \w sheep \c N \f pl ; Abkürzung für <num> = pl.
Es lassen sich jedoch Merkmalschablonen definieren, die alternative Merkmalstrukturen aufweisen. Diese werden in geschweifte Klammern gesetzt.
Let sg/pl be {[num: sg] [num: pl]}.
Da wir für [num: sg] und [num: pl] bereits die Schablonen sg und pl definiert haben, können wir kürzer schreiben:
Let sg/pl be {[sg] [pl]}.
Die eckigen Klammern müssen hier stehen, weil sonst die Abkürzungen sg und pl als Atome verstanden würden.
Rule{NP-Test} S -> NP: <S ms> = <NP>.; ms steht für "Merkmalstruktur"
Sie können dann auch NP-Strukturen separat analysieren lassen.
Dieses Verfahren läßt sich natürlich auch auf andere Phrasen (VP, AP, PP) anwenden.
Erweitern Sie die Grammatik so, daß auch folgende Daten korrekt beschrieben werden:
Neben der korrekten Erfassung der Formen geht es hier besonders auch um die Übereinstimmung zwischen dem Subjekt und dem finiten Verb.
Welche neuen Probleme ergeben sich durch die Einführung der Wortformen I, you, he, she?
[1] Vgl. Lösung zu Hausaufgabe 3. Sie finden die Grammatik auch auf der PC-PATR Webseite.