Изкуствен интелект Упражнение № 9
DESCRIPTION
Изкуствен интелект Упражнение № 9. спец. Информатика, ФМИ 2003/2004. Формална граматика. букви правила лексикон - списък от думи групирани в категории (части на речта) : отворени класове съществителн o ( noun,pronoun) глагол (verb) прилагателно (adjective) затворени класове - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/1.jpg)
Изкуствен интелектИзкуствен интелект
Упражнение № 9
спец. Информатика, ФМИ
2003/2004
![Page 2: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/2.jpg)
Формална граматикаФормална граматика букви правила лексикон - списък от думи групирани в
категории (части на речта): отворени класове
• съществителнo (noun,pronoun)• глагол (verb)• прилагателно (adjective)
затворени класове• определителeн член (article, determiner)• предлог (preposition)• съюз (conjunction)• наречие (adverb)
![Page 3: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/3.jpg)
Формална граматикаФормална граматика нетерминални символи
S (sentence) NP (noun phrase) VP (verb phrase) PP (prepositional phrase) RelClause (relative clause)
![Page 4: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/4.jpg)
Формална граматикаФормална граматикаS NP VP
S S Conjunction S
NP Pronoun
NP Noun
NP Det Noun
NP NP PP
NP NP RelClause
![Page 5: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/5.jpg)
Формална граматикаФормална граматикаVP Verb
VP VP NP
VP VP Adjective
VP VP PP
VP VP Adverb
PP Preposition NP
RelClause that VP
![Page 6: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/6.jpg)
Обработка на естествен Обработка на естествен езикезик
Синтактичен анализ (syntactic analysis, parsing)
Семантичен анализ (semantic analysis)
![Page 7: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/7.jpg)
Основни алгоритмиОсновни алгоритмиза синтактичен анализза синтактичен анализ
Отгоре надолу (Top-down parsingTop-down parsing)Отдолу нагоре (Bottom-upBottom-up parsingparsing)
![Page 8: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/8.jpg)
Отдолу нагоре Отдолу нагоре ((Bottom-up parsing)Bottom-up parsing)
the cat is dead
DetDet cat is dead (Det->the)
Det NounDet Noun is dead (Noun->cat)
NPNP is dead (NP -> Det Noun)
NP VerbNP Verb dead (Verb->is)
NP Verb AdjNP Verb Adj (Adj->dead)
NP VPNP VP (VP-> Verb Adj)
SS (S-> NP VP)
![Page 9: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/9.jpg)
Отгоре надолу Отгоре надолу ((Top-down parsing)Top-down parsing)
SS
NP VPNP VP (S-> NP VP)
Det Noun VPDet Noun VP (NP -> Det Noun)
the Noun VPNoun VP (Det->the)
the cat VP VP (Noun->cat)
the cat Verb Adj Verb Adj (VP-> Verb Adj)
the cat is Adj Adj (Verb->is)
the cat is dead (Adj->dead)
![Page 10: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/10.jpg)
S
NP VP
Det Noun Verb Adj
The deadiscat
![Page 11: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/11.jpg)
S
NP VP
Det Noun Verb Adj
The bigisdog
![Page 12: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/12.jpg)
Отгоре надолуОтгоре надолу
det([the]).det([the]).
det([a]).det([a]).
noun([cat]).noun([cat]).
noun([dog]).noun([dog]).
verb([is]).verb([is]).
adj([big]).adj([big]).
adj([dead]).adj([dead]).
![Page 13: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/13.jpg)
Недетерминиран Недетерминиран appendappend
append([X|Y],Z,[X|L]):-append([X|Y],Z,[X|L]):-
append(Y,Z,L).append(Y,Z,L).
append([],X,X):-!.append([],X,X):-!.
![Page 14: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/14.jpg)
sentence(S):-sentence(S):-
append(NP,VP,S),append(NP,VP,S),
np(NP),np(NP),
vp(VP).vp(VP).
![Page 15: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/15.jpg)
np(NP):-np(NP):-
append(Det,Noun,NP),append(Det,Noun,NP),
det(Det),noun(Noun),det(Det),noun(Noun),
write(det=Det),nl,write(noun=Noun),nl.write(det=Det),nl,write(noun=Noun),nl.
![Page 16: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/16.jpg)
vp(VP):-vp(VP):-
append(Verb,Adj,VP),append(Verb,Adj,VP),
verb(Verb),adj(Adj),verb(Verb),adj(Adj),
write(verb=Verb),nl,write(adj=Adj),nl.write(verb=Verb),nl,write(adj=Adj),nl.
![Page 17: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/17.jpg)
ПримерПример
| ?- sentence([the,cat,is,dead]).| ?- sentence([the,cat,is,dead]).
det=[the]det=[the]
noun=[cat]noun=[cat]
verb=[is]verb=[is]
adj=[dead]adj=[dead]
yesyes
![Page 18: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/18.jpg)
S
ProN VP
VerbNP PP
saw
PPNounDet NP
NounDet
Prep
NP
NounDet
Prep
I theman onthe telescopethewithhill
![Page 19: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/19.jpg)
S
ProN VP
VerbNP PP
saw
PP
NounDet NP
NounDet
PrepNP
NounDet
Prep
I theman onthe telescopethewithhill
![Page 20: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/20.jpg)
sentence --> noun_phrase verb_phrasesentence --> noun_phrase verb_phrase
noun_phrase --> determiner noun rel_clausenoun_phrase --> determiner noun rel_clause
noun_phrase --> proper_nounnoun_phrase --> proper_noun
verb_phrase --> trans_verb noun_phraseverb_phrase --> trans_verb noun_phrase
verb_phrase --> intrans_verbverb_phrase --> intrans_verb
rel_clause --> that verb_phraserel_clause --> that verb_phrase
rel_clause --> or verb_phraserel_clause --> or verb_phrase
rel_clause -->rel_clause -->
![Page 21: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/21.jpg)
determiner --> everydeterminer --> everydeterminer --> adeterminer --> anoun --> mannoun --> mannoun --> womannoun --> womannoun --> studentnoun --> studentproper_noun --> johnproper_noun --> johnproper_noun --> maryproper_noun --> marytrans_verb --> lovestrans_verb --> lovestrans_verb --> istrans_verb --> istrans_verb --> livestrans_verb --> lives
![Page 22: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/22.jpg)
Отдолу нагореОтдолу нагоре
% noun(Sentence,Rest,Var,LF)% noun(Sentence,Rest,Var,LF)
noun([man|Rnoun([man|Restest],],RestRest,X,man(X)).,X,man(X)).
noun([woman|Rnoun([woman|Restest],],RestRest,X,woman(X)).,X,woman(X)).
noun([student|Rnoun([student|Restest],],RestRest,X,student(X)).,X,student(X)).
% proper_noun(Sentence,Rest,LF)% proper_noun(Sentence,Rest,LF)
proper_noun([john|Rproper_noun([john|Restest],],RestRest,john).,john).
proper_noun([mary|Rproper_noun([mary|Restest],],RestRest,mary).,mary).
![Page 23: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/23.jpg)
% % trans_verbtrans_verb(Sentence,Rest,Var1,Var2,LF)(Sentence,Rest,Var1,Var2,LF)
trans_verb([loves|Rtrans_verb([loves|Restest],],RestRest,X,Y,loves(X,Y)).,X,Y,loves(X,Y)).
trans_verb([is|Rtrans_verb([is|Restest],],RestRest,X,Y,is_a(X,Y)).,X,Y,is_a(X,Y)).
% in% intrans_verbtrans_verb(Sentence,Rest,Var,LF)(Sentence,Rest,Var,LF)
intrans_verb([lives|Rintrans_verb([lives|Restest],],RestRest,X,lives(X)).,X,lives(X)).
![Page 24: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/24.jpg)
:-op(800,xfy,#).:-op(800,xfy,#).
:-op(700,xfy,&).:-op(700,xfy,&).
rel_clause([that|Rrel_clause([that|Rest1est1],],RestRest,X,N,X,N_LF_LF,(,(N_LF N_LF && VP_LF VP_LF)):-)):-
verb_phrase(verb_phrase(Rest1Rest1,,RestRest,X,,X,VP_LFVP_LF).).
rel_clause([or|rel_clause([or|Rest1Rest1],],RestRest,X,N,X,N_LF_LF,(,(N_LF N_LF ## VP_LF VP_LF)):-)):-
verb_phrase(Rverb_phrase(Rest1,Restest1,Rest,X,V,X,VP_LFP_LF).).
determiner([every|Rdeterminer([every|Restest],],RestRest,X,,X,RR_LF,V_LF_LF,V_LF,all(X,(R,all(X,(R_LF _LF ->-> VV_LF_LF))).))).
determiner([a|Rdeterminer([a|Restest],],RestRest,X,,X,
RR_LF_LF,,V_LFV_LF,exists(X,(,exists(X,(R_LF R_LF && V_LF V_LF))).))).
![Page 25: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/25.jpg)
sentence(S,sentence(S,RestRest,,LFLF) :-) :-
noun_phrase(noun_phrase(SS,,NPRestNPRest,X,,X,VVPP_LF_LF,,LFLF),),
verb_phrase(verb_phrase(NPRestNPRest,,RestRest,X,,X,VP_LFVP_LF).).
noun_phrase(S,noun_phrase(S,RestRest,X,,X,VP_LFVP_LF,,VP_LFVP_LF) :-) :-
proper_noun(proper_noun(SS,,RestRest,X).,X).
noun_phrase(S,noun_phrase(S,RestRest,X,V,X,VP_LFP_LF,,LFLF) :-) :-
determiner(S,Ddeterminer(S,DRestRest,X,,X,R_LFR_LF,V,VP_LFP_LF,L,LFF),),
noun(noun(DRestDRest,,NRestNRest,X,N,X,N_LF_LF),),
rel_clause(rel_clause(NRestNRest,,RestRest,X,,X,N_LFN_LF,,R_LFR_LF).).
![Page 26: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/26.jpg)
verb_phrase(S,verb_phrase(S,RestRest,X,L,X,LFF) :-) :-
trans_verb(S,trans_verb(S,VRestVRest,X,Y,V,X,Y,V_LF_LF),),
noun_phrase(noun_phrase(VRestVRest,,RestRest,Y,V,Y,V_LF_LF,L,LFF).).
verb_phrase(verb_phrase(SS,,RestRest,X,,X,LFLF) :-) :-
intrans_verb(intrans_verb(SS,,RestRest,X,,X,LFLF).).
rel_clause(S,rel_clause(S,SS,_,,_,LFLF,,LFLF).).
![Page 27: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/27.jpg)
ПримерПример| ?- sentence([a,man,loves,a,woman],Rest,LF).| ?- sentence([a,man,loves,a,woman],Rest,LF).
Rest = [],Rest = [],
LF = exists(_A, man(_A)&LF = exists(_A, man(_A)& exists(_B, exists(_B,
woman(_B)&loves(_A,_B))) ?woman(_B)&loves(_A,_B))) ?
yesyes
| ?- sentence([john,loves,mary],Rest,LF). | ?- sentence([john,loves,mary],Rest,LF).
Rest = [],Rest = [],
LF = loves(john,mary) ?LF = loves(john,mary) ?
![Page 28: Изкуствен интелект Упражнение № 9](https://reader036.vdocuments.mx/reader036/viewer/2022062304/568134bc550346895d9bdc9e/html5/thumbnails/28.jpg)
ПримерПример|?-sentence([every,man,that,lives,loves,a,woman],|?-sentence([every,man,that,lives,loves,a,woman],
Rest,LF).Rest,LF).
Rest = [],Rest = [],
LF = all(_A,(man(_A)&lives(_A)-> LF = all(_A,(man(_A)&lives(_A)-> exists(_B,woman(_B)&loves(_A,_B)))) exists(_B,woman(_B)&loves(_A,_B))))