Системы искусственного интеллекта, страница 3

"для","бакалаврской","работы"]).

% основные определения частей предложения

verb("решил").

pronoun("он").

pronoun("она").

pronoun("оно").

instrumental_preposition("с использованием").

instrumental_preposition("с").

instrumental_preposition("с помощью").

instrumental_preposition("посредством").

time_preposition("в").

local_preposition("в").

purpose_preposition("для").

adjective("краевую").

adjective("весеннем").

adjective("терминальном").

adjective("бакалаврской").

noun("студент").

noun("задачу").

noun("работы").

noun(X):-local_noun(X).

noun(X):-time_noun(X).

noun(X):-instrument_noun(X).

time_noun("семестре").

local_noun("классе").

instrument_noun("Maple").

qagent("Кто").

qeffect("Что сделал").

qpurpose("Для чего").

qposition("Где").

qtime("Когда").

qobject("Что").

qinstrument("С помощью чего").

qinstrument("чем").

qinstrument("на чём").

% анализ вопроса и синтез ответа

otvet(Q,L):- qunification(Q,L,R), print_list(R),nl.

qunification(Q,L,O):- qobject(Q), object(O,[]), append(A,Y,L), agent(A,[]), append(E,Y1,Y), effect(E,[]),

append(A,E,Z), append(Z,O,Z1), append(Z1,Y1,R), fact(F), sublist(R,F).

qunification(Q,L,A):- qagent(Q), agent(A,[]),append(A,L,R), fact(F), sublist(R,F).

qunification(Q,L,E):- qeffect(Q), effect(E,[]), append(A,O,L), agent(A,P1), object(O,P2),

append(A,E,Z), append(Z,O,R), fact(F), sublist(R,F).

qunification(Q,L,P):- qpurpose(Q), purpose(P,[]), agent(L,S1),effect(S1,S2),object(S2,S0),

fact(F), agent(F,S3),effect(S3,S4),object(S4,Z), sublist(P,Z).                   

qunification(Q,L,P):- qposition(Q), position(P,[]), agent(L,S1),effect(S1,S2),object(S2,S0),

fact(F), agent(F,S3),effect(S3,S4),object(S4,Z),  sublist(P,Z).

qunification(Q,L,T):- qtime(Q), whentime(T,[]), agent(L,S1),effect(S1,S2),object(S2,S0),

fact(F), agent(F,S3),effect(S3,S4),object(S4,Z), sublist(T,Z).

qunification(Q,L,I):- qinstrument(Q), instrument(I,[]), agent(L,S1),effect(S1,S2),object(S2,S0),

fact(F),  agent(F,S3),effect(S3,S4),object(S4,Z),  sublist(I,Z).                         

Запросы к базе знаний:

Запрос

Ответ

Кто купил красивое платье посредством стипендии?

студентка

Что сделала студентка с красивым платьем?

купила

Когда студентка купила красивое платье?

на зимних каникулах

Где студентка купила красивое платье?

в недорогом магазине

Для чего студентка купила красивое платье?

для студенческой вечеринки

Что студентка купила со стипендии?

красивое платье