Eine Merkmalschablone (engl. feature template) ist eine mit einem Namen identifizierbare (partielle) Merkmalstruktur, die wie Textbaustein in Kontexten verwendet werden kann, in denen Merkmalstrukturen spezifiziert werden, insbesondere in dem mit der Markierung \f eingeleiteten Merkmalfeld eines Lexikoneintrags.
Die Definition einer Merkmalsschablone (feature template) in PC-PATR hat folgende Teile (in der angegebenen Reihenfolge):
Beispiel:
Let common be [num: sg pers: 3 case: subj]
Nach dieser Definition kann der Bezeichner common im Merkmalsfeld eines Lexikoneintrags wie folgt verwendet werden:
\w boy \c N \f common
Bei der Verwendung dieses Lexikoneintrags wird der Bezeichner common durch die zugeordnete Merkmalstruktur ersetzt. Sie können diese Funktionsweise leicht durch folgendes Experiment überprüfen:
Experiment:
Erstellen Sie folgende Kleinstgrammatik:
RuleS -> N: <S ms> = <N>. Let common be [num: sg … ; wie oben im Text
Lexikoneintrag für boy wie oben im Text. Für die Analyse geben Sie einfach das Wort boy ein.
Die ausgegebene Merkmalstruktur ist
[ cat: S ms: [ cat: N lex: boy num: sg pers: 3 case: subj ] ]
Die Informationen kommen aus dem Lexikon, wobei folgende Übersetzungen vorgenommen werden:
\w boy => [lex: boy] \c N => [cat: N] \f common => [num: sg pers: 3 case: subj]
Wenn der Name der Schablone 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.
Die Zeichen (){}[]<>=: dürfen nicht in Schablonennamen verwendet werden, da sie in der Grammatik-Datei für spezielle Zwecke verwendet werden. Die Zeichen /_ können uneingeschränkt in Schablonennamen verwendet werden. Das Zeichen \ sollte nicht als das erste Zeichen eines Schablonennamens verwendet werden, da dies zur Markierung von Feldern in einer Lexikon-Datei dient.
Die durch eine Schablone definierten Abkürzungen werden gewöhnlich im Merkmalsfeld der Einträge in der Lexikondatei eingesetzt. Der Lexikoneintrag für die unregelmäßige Pluralform feet kann beispielsweise die Abkürzung pl in seinem Merkmalsfeld haben. Die Grammatik-Datei würde diese Abkürzung mit einer Schablone folgender Art definieren:
Let pl be [number: PL]
Es kann auch die Pfadnotation verwendet werden:
Let pl be <number> = PL
Es können auch komplexere Merkmalstrukturen in Schablonen definiert werden. Zum Beispiel,
Let 3sg be [tense:PRES agr: 3SG finite:+ vform: S]
was äquivalent ist mit:
Let 3sg be <tense>= PRES <agr>= 3SG <finite> = + <vform> = S
Im folgenden Beispiel wird die Abkürzung irreg unter Verwendung einer weiteren Abkürzung definiert:
Let irreg be <reg> = - pl
Die Abkürzung pl muß natürlich in der Grammatik-Datei bereits vorher definiert worden sein, sonst entsteht ein Fehler. Eine nachfolgende Schablone könnte dann die Abkürzung irreg in ihrer Definition verwenden. Auf diese Weise kann eine Vererbungshierarchie von Merkmalen konstruiert werden.
Merkmalsschablonen erlauben disjunktive Definitionen. Der Lexikoneintrag für der Wort deer zum Beispiel kann die Merkmalsabkürzung sg-pl spezifizieren. Die Grammatik-Datei würde dies als eine Disjunktion von Merkmalstrukturen definieren, die die Tatsache reflektiert daß das Wort entweder Singular oder Plural sein kann:
Let sg/pl be {[number:SG] [number:PL]}
Das ist gleichbedeutend mit der Erzeugung von zwei Einträgen für deer, einen für den Singular und einen anderen für den Plural. Man beachte, daß es für die Anzahl der disjunkten Strukturen, die zwischen geschweiften Klammern aufgelistet werden, keine Grenze gibt. Anders als bei den Elementen einer Disjunktion in den Regeln steht hier zwischen den Elementen der Disjunktion kein Schrägstrich (/). Eine kürzere Version der obigen Schablone unter Verwendung der Pfadnotation sieht wie folgt aus:
Let sg/pl be <number> = {SG PL}
Abkürzungen können auch in Disjunktionen verwendet werden, vorausgesetzt sie sind vorher definiert worden:
Let sg be <number> = SG Let pl be <number> = PL Let sg/pl be {[sg] [pl]}
Man beachte die eckigen Klammern um die Abkürzungen sg und pl; ohne eckige Klammern würden sie als einfache atomare Werte interpretiert werden.
Merkmalsschablonen können atomare Standard-Merkmalswerte zuweisen, was durch Präfigierung eines Ausrufungszeichens angezeigt wird. Ein Standard-Wert (default) kann durch eine explizite Merkmalszuweisung überschrieben werden. Das folgende Schablone besagt, daß alle Elemente der Kategorie N Singular als default-Wert haben:
Let N be <number> = !SG
Diese Schablone bewirkt, daß alle Nomina als Numerus Singular haben, es sei denn sie werden explizit als Plural markiert. Regelmäßige Nomina wie z.B. book brauchen in ihrem Lexikoneintrag kein Merkmal, um zu signalisieren, daß sie Singular sind; ein unregelmäßiges Nomen wie feet andererseits würd in seinem Lexikoneintrag eine Merkmalsabkürzung wie pl aufweisen. Diese würde in der Grammatik als [number: PL] definiert werden und den default-Wert für das Merkmal Number wie in der obigen Schablone spezifiziert überschreiben. Wenn die N-Schablone von oben SG anstelle von !SG verwendet hätte, würde das Wort feet nicht analysiert werden können, da sein Merkmal number einen internen Konflikt zwischen SG und PL stehen würde.