Страница 105
то
для принятия решения о поглощении нужно сравнить значения этих факторов в числовом профиле испытуемого. Кандидатом на поглощение будет тот фактор, у которого числовое значение меньше.
На уровне ЯПЗ PILOT/2, обсуждавшегося выше, описание этих правил трансформируется во фрагмент продукционной программы вида:
rule F-поглощает-QЗ
:: [$curr_s_prfl : F] == «ОН» && [$curr_s_prfl : Q3] == «Н»
==> delete (Q3);
section Q1-Q2
if ([$curr_s_prfi : Q1] == [$curr_s_prfl : Q2] )
set (Q1-поглощает-Q2, Q2-поглощает-Q1);
…………………………………………………………………..
rule Q1-поглощает-Q2
:: [$curr_n_prfl : Q1] >= [$curr_n_prfl : Q2]
==> delete (Q2);
………………………………………………………………….
rule Q2-поглощает-Q1
:: [$curr_n_prfl : Q1] < [$curr_n_prfl : 02]
==> delete (Q1);
Функционирование продукционной системы позволяет получить невербализованный портрет. На вход блока генерации вербального представления поступает фрейм-экземпляр прототипа not_verb, слот order которого означен последовательностью имен групп (b1 b4) в порядке убывания «силы» этих групп, а слоты bi; bi_valn и bi_vals — последовательностями факторов, составляющих ту или иную группу вместе с их значениями из числового и семантического профиля. Собственно генерация текстов достаточно проста и сводится к регулярной замене значений факторов фразами естественного языка на основе следующих знаний:
[factor is_a prototype;
ОН, Н, СР, В, OB {string} ];
[ A is_a factor;
ОН={«Это человек замкнутый и необщительный, критичный и отчужденный.»};
Н={«Это человек малообщительный и довольно замкнутый.»};
СР=;
В={«Это человек общительный и готовый к сотрудничеству.»};
ОВ={«Это человек внимательный к людям, открытый, общительный и готовый к
сотрудничеству.»} ];
[ В is_a factor;
ОН={«Не имеет навыка решения логических задач, медленно обучается новым понятиям.»};
Н={«Не имеет навыка решения логических задач, довольно медленно обучается новым понятиям.»};
СР={«Имеет определенные навыки в решении логических задач.»};
В={«Умеет абстрактно мыслить, хорошо решает логические задачи, довольно быстро обучается новым понятиям.»};
ОВ={«Умеет абстрактно мыслить, очень хорошо решает логические задачи, быстро обучается новым понятиям.»};
……………………………………………………………………………………….
[ Q4 is_a factor;
ОН={«В настоящий момент самоуспокоен, расслаблен, не напряжен.»};
Н={«В настоящий момент находится в спокойном расслабленном состоянии.»};
СР=;
В={«В настоящий момент человеку присуще высокое рабочее напряжение, собранность, энергичность.»};
ОВ={«В настоящий момент человек напряжен, собран и даже несколько «взвинчен».»};
Учитывая то, что генерация текстовых представлений портретов осуществляется в ЭС «Cattell» на уровне целых предложений и групп предложений, здесь используется простая продукционная система со следующими правилами:
section PORTRET-GEN
removeall;
if (?[ $curr_port : $curr_not_verb = not_verb ] &&
?[ $curr_port : $curr_verb = verb ] &&
?[ $curr_not_verb : $curr_order = all_of order ;
$curr_b1 = all_of Ы;
$curr_b2 = all_of b2;
$curr_b3 = all_of b3;
$curr_b4 = all_of b4 ] ) insert (COPY);
………………………………………………………………….
rule COPY
: : ==> [ $curr_verb : order ] = $curr_order;
[ $curr_verb : Ы ] = $curr_b1;
[ $curr_verb : b2 ] = $curr_b2;
[ $curr_verb : b3 ] = $curr_b3;
[ $curr_verb : b4 ] = $curr_b4;
rule_off (COPY);invoke (B1);invoke (B2);invoke (B3);invoke (B4);
section B1
if ( ?[ $curr_not_verb : $curr_b1_vals = all_of b1_vals ] );
Обсуждение Базы знаний интеллектуальных систем
Комментарии, рецензии и отзывы