Студент
Сложный экзамен с помощью чего по учебникам кем(агент) инструмент
для чего(цель) когда(время)
где
(место)
Успешной сдачи читальный зал солнечный ясный день
Запросы
Кто готовил экзамен |
Студент |
Что делал студент в читальном зале |
Готовил |
Когда студент готовил сложный экзамен |
В солнечный ясный день |
Где студент готовил экзамен |
В читальном зале |
Для чего студент готовил экзамен |
Для успешной сдачи |
Что готовил студент по учебникам |
Сложный экзамен |
По чему студент готовил сложный экзамен |
По учебникам |
DOMAINS
list=string*
PREDICATES
sentence(list,list)
agent(list,list)
effect(list,list)
object(list,list)
instrument(list,list)
purpose(list,list)
position(list,list)
time_action(list,list)
time_prep(string)
purpose_prep(string)
position_prep(string)
instrumental_prep(string)
time_name_group(list,list)
ins_name_group(list,list)
purpose_name_group(list,list)
position_name_group(list,list)
verb(string)
pronoun(string)
verb_group(list,list)
name_group(list,list)
noun(string)
adjective(string)
purpose_noun(string)
position_noun(string)
ins_noun(string)
time_noun(string)
sublist(list,list)
prefix(list,list)
suffix(list,list)
append(list,list,list)
action(list)
answer(string,list,list)
qagent(string)
qeffect(string)
qpurpose(string)
qposition(string)
qtime(string)
qobject(string)
qinstrument(string)
abc(list,list,list)
wr_sp(list)
otvet(string,list)
CLAUSES
abc([X|L],[],[X|L3]).
abc([C|L],[C|L2],[X|L3]):-abc(L,L2,[X|L3]).
sublist(Sub,List):- prefix(Pre,List), suffix(Sub,Pre).
sublist(Sub,List):- suffix(Suf,List), prefix(Sub,Suf).
prefix([],X).
prefix([X|List],[X|List1]):-prefix(List,List1).
suffix(List,List).
suffix(X,[Y|List]):-suffix(X,List).
% конкатенация списков
append([],L,L).
append([N|L1],L2,[N|L3]) :- append(L1,L2,L3).
wr_sp([]).
wr_sp([X|S]) :- write(X," "),wr_sp(S).
sentence(S,S0):-agent(S,S1), effect(S1,S2),
object(S2,S0).
sentence(S,S0):-agent(S,S1), effect(S1,S2),
instrument(S2,S3), object(S3,S0).
sentence(S,S0):-agent(S,S1), effect(S1,S2),
position(S2,S3),instrument(S3,S4),
object(S4,S0).
sentence(S,S0):- time_action(S,S1),agent(S1,S2),
effect(S2,S3), position(S3,S4),
instrument(S4,S5), object(S5,S0).
sentence(S,S0):- time_action(S,S1),agent(S1,S2),
effect(S2,S3), position(S3,S4),
instrument(S4,S5), object(S5,S6),
purpose(S6,S0).
sentence(S,S0):- time_action(S,S1),agent(S1,S2),
effect(S2,S3), instrument(S3,S4),
object (S4,S0).
sentence(S,S0):-agent(S,S1), effect(S1,S2),
instrument(S2,S3), object(S3,S4),
purpose(S4,S0).
sentence(S,S0):- time_action(S,S1),agent(S1,S2),
effect(S2,S3),position(S3,S4),
object(S4,S5),purpose(S5,S0).
sentence(S,S0):- time_action(S,S1),agent(S1,S2),
effect(S2,S3), object(S3,S4),
purpose(S4,S0).
agent([X|S0],S0):-pronoun(X).
agent(S,S0):-name_group(S,S0).
agent([X|S0],S0):-noun(X).
effect(S,S0):-verb_group(S,S0).
effect([X|S0],S0):-verb(X).
object(S,S0):-name_group(S,S0).
object([X|S0],S0):-pronoun(X).
instrument([X|S],S0):-instrumental_prep(X),
ins_name_group(S,S0).
instrument(S,S0):-ins_name_group(S,S0).
time_action([X|S],S0):-time_prep(X),time_name_group(S,S0).
time_action(S,S0):-time_name_group(S,S0).
position([X|S],S0):-position_prep(X),
position_name_group(S,S0).
position(S,S0):-position_name_group(S,S0).
purpose([X|S],S0):-purpose_prep(X),
purpose_name_group(S,S0).
purpose(S,S0):-purpose_name_group(S,S0).
name_group([A,B|S],S):-adjective(A),noun(B).
name_group([A|S],S):-noun(A).
verb_group([A,B|S],S):-adjective(A),verb(B).
verb_group([A|S],S):-verb(A).
ins_name_group([A,B|S],S):-adjective(A),ins_noun(B).
ins_name_group([A|S],S):-ins_noun(A).
time_name_group([A,B|S],S):-adjective(A),time_noun(B).
time_name_group([A|S],S):-time_noun(A).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.