Computerlinguistik II: DCG (definite clause grammars)

Differenzlistengrammatik mit syntaktischen Merkmalen

In einer DCG ist es möglich, zusätzlich Argumente in die Aufrufe einzufügen. Die Regeln:

werden in folgende Prologregel (mit Differenzlisten) übersetzt:

Nun können wir folgende neue Prologgrammatik schreiben, um Kasus und Genus der NPn korrekt zu analysieren:

%Regeln
s --> np(nom), vp.
np(Kasus) --> art(Kasus,Genus), n(Kasus,Genus).
np(Kasus) --> en(Kasus).
vp --> vt, np(akk).

%lexikonregeln
vt --> [entdeckt].

art(nom,mask) --> [der].
art(akk,mask) --> [den].

art(nom,fem) --> [die].
art(akk,fem) --> [die].

art(nom,neut) --> [das].
art(akk,neut) --> [das].


n(nom,mask) --> [astronom].
n(akk,mask) --> [astronomen].
n(nom,mask) --> [planet].
n(akk,mask) --> [planeten].
n(nom,neut) --> [gestirn].
n(akk,neut) --> [gestirn].
n(nom,fem) --> [sonne].
n(akk,fem) --> [sonne].

en(_) --> [uranus]. %Alle Kasusformen gleich: anonyme Variable
en(nom) --> [herschel].
en(akk) --> [herschel].
en(gen) --> [herschels]. %wird noch nicht gebraucht


Kurs-Startseite
Übersicht Begleitmaterial