Computerlinguistik II: Phrasenstrukturgrammatiken

Die Grammatik - als Phrasenstrukturgrammatik

Startsymbol: S
Nichtterminale Symbole: S, NPN, NPA, VP,NN,NA,ARTN,ARTA,VI,VT
Terminale Symbole: weint, lacht, entdeckt, der, den, astronom, planeten

Regeln
S -> NPN VP
NPN -> ARTN NN
NPA -> ARTA NA
VP -> VI
VP -> VT NPA

Lexikonregeln
VI -> weint
VI -> lacht

VT -> entdeckt

ARTN -> der
ARTA -> den

NN -> astronom
NA -> planeten


Eine erste Grammatik - In Prolog

%Regeln
s(SL) :- npn(NPL), vp(VPL), append(NPL,VPL,SL).
npn(NPL) :- artn(ARTNL), nn(NNL), append(ARTNL,NNL,NPL).
npa(NPL) :- arta(ARTAL), na(NAL), append(ARTAL,NAL,NPL).
vp(VPL) :- vi(VPL).
vp(VPL) :- vt(VIL), npa(NPAL), append(VIL,NPAL,VPL).

%lexikonregeln
vi([weint]).
vi([lacht]).

vt([entdeckt]).

artn([der]).
arta([den]).

nn([astronom]).
na([planeten]).



Möglichkeiten zur Effizienzsteigerung


Differenzlistengrammatik

%Regeln
s(SL,R) :- npn(SL,R1), vp(R1,R).
npn(NPL,R) :- artn(NPL,R1), nn(R1,R).
npa(NPL,R) :- arta(NPL,R1), na(R1,R).
vp(VPL,R) :- vi(VPL.R).
vp(VPL,R) :- vt(VPL,R1), npa(R1,R).

%lexikonregeln
vi([weint|R],R).
vi([lacht|R],R).

vt([entdeckt|R],R).

artn([der|R],R).
arta([den|R],R).

nn([astronom|R],R).
na([planeten|R],R).


Differenzlistengrammatik - als DCG

%Regeln
s --> npn, vp.
npn --> artn, nn.
npa --> arta, na.
vp --> vi.
vp --> vt, npa(.

%lexikonregeln
vi --> [weint].
vi --> [lacht].

vt --> [entdeckt].

artn --> [der].
arta --> [den].

nn --> [astronom].
na --> [planeten].


Kurs-Startseite