# Prolog - Sprachverarbeitung



## Nashe (18. März 2012)

Hallo,

ich habe ein Problem.
Ich möchte ein Prolog-Programm schreiben, welches mir deutsche Sätze analysiert.
Im Detail:

Ich lege ein Lexikon an mit Nomen, Verben, Adverben, Adjektiven und Das Programm soll mir alle KORREKTEN möglichen Sätze anzeigen. D.h. auch, dass auf den Artikel, die richtigen Adjektiven/Adverben verwendet werden soll.

Bisher habe ich:


```
satz(S) :- append(NP, VP, S), nominal(NP), verbal(VP).

nominal([AR, AD1, AD2, NO, X]):- artikel(AR, Z, X), adjektiv(AD1, X), adjektiv(AD2, X), nomen(NO, Z), AD1\=AD2.
verbal([VE, ADV, AR2, AD1, AD2, NO2]):- verb(VE, Y), adverb(ADV), nominal(NP), Y\=trans.


% artikel männlich weiblich
% nominativ
artikel(der, m, n).
artikel(die, w, n).
artikel(das, s, n).
% dativ
artikel(dem, m, d).
artikel(der, w, d).
artikel(dem, s, d).
% akkusativ
artikel(den, m, a).
artikel(die, w, a).
artikel(das, s, a).

% nominativ
adjektiv(kleine, n).
adjektiv(große, n).
adjektiv(dicke, n).
adjektiv(schöne, n).
adjektiv(schmutzige, n).
% dativ
adjektiv(kleinen, d).
adjektiv(großen, d).
adjektiv(dicken, d).
adjektiv(schönen, d).
adjektiv(schmutzigen, d).

nomen(katze, w).
nomen(knochen, m).
nomen(hund, m).
nomen(haus, s).
nomen(kind, s).

adverb(oft).
adverb(bald).
adverb(gern).
adverb(viel).
adverb(wenig).

verb(sieht, trans).
verb(schlägt, trans).
verb(liebt, trans).
verb(hilft, intrans).
verb(dankt, intrans).
```



Dabei ist es relativ egal, ob die Sätze Sinn machen. Sie sollen nur grammatisch richtig sein.

Kann mir jemand helfen**** Es ist leider super dringend.

Vielen Dank schon im voraus.


----------

