![]() |
![]() |
![]() |
![]() |
analyysi(Lause) :-
Intransitiivne verb nõuab ainult subjekti (alust):
analyysi(Lause) :-
Subjekt e. aluserühm koosneb nimetavas käändes olevast nimisõnast või nimisõnast ja seda iseloomustavast omadussõnast (täiendist); viimasel juhul peavad nimisõna ja omadussõna arv (ainsus või mitmus) ja kääne olema samad :
subjekt(Sonad,Arv,Kaane) :-
aluseryhm(Sonad,Arv,Kaane) :-
aluseryhm(Sonad,Arv,Kaane) :-
Sihitis on oma süntaksilt (vormilt) samasugune kui aluserühm:
objekt(Sonad,Arv,Kaane) :-
Predikaat on kas verb (tegusõna) või verb ja tegevust iseloomustav määrus:
predikaat(Sona,Arv,Tyyppi) :-
predikaat(Sonad,Arv,Tyyppi) :-
Jääb üle veel kirjeldada sõnastik:
omadussona([suur],ainsus,nimetav).
omadussona([suurt],ainsus,sihitav).
omadussona([röömus],ainsus,nimetav).
omadussona([rõõmsat],ainsus,sihitav).
omadussona([rõõmsaid],mitmus,sihitav).
nimisona([poiss],ainsus,nimetav).
nimisona([auto],ainsus,nimetav).
nimisona([palli],ainsus,sihitav).
nimisona([pojad],mitmus,nimetav).
nimisona([kastid],mitmus,nimetav).
maarus([kiiresti]).
maarus([kohe]).
verb([lööb],ainsus,transitiivne).
verb([roolib],ainsus,transitiivne).
verb([roolivad],mitmus,transitiivne).
verb([liigub],ainsus,intransitiivne).
verb([loeb],ainsus,transitiivne).
verb([loevad],mitmus,transitiivne).
verb([naerab],ainsus,intransitiivne).
verb([naeravad],mitmus,intransitiivne).
Et kontrollida, milliseid laused see programm suudab anal˙˙sida (genereerida), tuleb lauset moodustavate sõnade nimistu väljastada:
Ülesanne
raagi(Lause) :-
spit_out([X|Y]) :-
spit_out([]) :-
Täienda ülaltoodud programmi sõnade vormi määramisega lõputunnuste abil (vt. loeng 18), nii et sõnastikus võiks esitada ainult sõnade tüved, st. kahe fakti
nimisõna([auto],ainsus,nimetav).
nimisõna([autod],mitmus,nimetav).
asemel võiks esitada vaid fakti
nimisõna(auto).
ja programm moodustaks ise nii ainsuse kui ka mitmuse vormid ja oskaks neid analüüsis kasutada, s.t. töötaks samamoodi kui ülaltoodud programm.
Küsimused, probleemid:
jaak@cc.ttu.ee