Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Собственно текст документа.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
8.39 Mб
Скачать

7.3.3. Вывод портретов и генерация их текстовых представлений

Для удобства работы психолога-эксперта результаты профилирования выдают­ся в специальное окно в виде графика, на оси абсцисс которого указаны факторы, а на оси ординат - «сырые баллы», набранные испытуемым по каждому из фак­торов. Существует в системе и возможность табличной визуализации числового профиля. Несколько иначе визуализируется результат построения качественно­го профиля испытуемого. Здесь психологу-эксперту выдается 16 семантических шкал (по числу факторов), на каждой из которых отмечается числовое значение соответствующего фактора.

Процедуры обработки данных анкетирования в рамках предыдущих опций бази­руются на знаниях. Но знания эти доведены до алгоритмов, реализация которых в виде продукционной системы нецелесообразна. Поэтому в ЭС «Cattell» все такие процедуры реализуются на языке C++, а затем подключаются в нужных точках.

Вместе с тем сами технологические знания представлены эксплицитно совокупностью следующих фреймов прототипов и экземпляров:

[a_n_tbl is_a prototype;

f_A {frame}; /* ответы по фактору А с весами */

f_B {frame}; /* ответы по фактору В с весами */

……………………………………………………………………………………………………

f_Q4 {frame}; /* ответы по фактору Q4 с весами */];

[a_n_elem is_a prototype;

ans_dsc string; /* имя фрейма-экземпляра ответа на анкету */

weight_a, weight_b, weight_c int; /* веса ответа типа «а», «б» и «с»

*/];

[ answer is_a prototype;

prt_name, exm_name, slot_name string];

[ ank_numb is_a a_n_tbl;

f_A={q _3, q _4, q _26, q _27, q _51, q _52, q _76, q _101, q _126, q _151, q _176 }; f_B={q _28,q _53,q _54,q _77,q _78,q _102,...q _152, q _153,q _ 177,q _178};

…………………………………………………………………………………………………….

f_Q4={q _25, q _49, q _50, q _74, q _75, q _99, q _100,... q _150, q _174, q _175; ];

[ q _3 is_a a_n_elem;

ans_dsc = «ans_003»;

weight_a= 2;

weight_b= 1;

weight_c= 0 ];

……………………………………………………………………………………………………..

[ ans_003 is_a answer;

prt_name= «anketa»;

exm_name= «anketa0037»;

slot_name= «ans3» ];

Запускаются процедуры получения числового и семантического профилей испы­туемого как демоны при выборе соответствующих опций в меню ЭС «Cattell».

В опции «портретирование» осуществляется психологическая интерпретация полученных на предыдущих этапах профилей испытуемого с целью построения его словесного личностного портрета. Здесь уровень алгоритмизации знаний пси­холога-эксперта существенно иной. Разные школы психологов несколько по-раз­ному оценивают роль и вес разных факторов, приписывают им различные тексто­вые отображения. Поэтому реализация вывода словесного портрета испытуемого в ЭС «Cattell» базируется на продукционно-фреймовом формализме. Собствен­но вербализация портрета - нисходящая (от цели), а подготовка его структури­рованного невербализованного описания - восходящая (от данных). Наиболее сложным и интересным является этап вывода невербализованного портрета, реализованный в виде продукционной системы, предложенной в рабо­те [Гаврилова и др., 1992]. Правила этой системы служат для выявления и устра­нения противоречий двух типов. Первый связан, в конечном счете, с анализом ответов на определенные вопросы анкеты и позволяет фиксировать ситуации, когда построение сколько-нибудь достоверного личностного портрета на осно­вании имеющихся данных нецелесообразно. Возникновение таких ситуаций обычно связывается либо с невнимательным заполнением анкеты испытуемым, либо с попыткой преднамеренного искажения результатов тестирования за счет противоречивых ответов на дублирующиеся по семантике вопросы теста. И в том и в другом случае анкета помечается как «плохая» и из дальнейшей обработ­ки исключается. Второй тип противоречий связан с выявлением и устранением контекстной зависимости и доминирования значений разных факторов, что по­зволяет получить более «гладкий» личностный портрет.

Но и в том и в другом случае исходными данными для работы продукционной системы являются числовой и семантический профили испытуемого, прототи­пы которых (n_prfl и s_prfl) приведены выше. Примеры словесных формулиро­вок правил разрешения противоречий выглядят следующим образом:

Если

значение фактора «F» в семантическом профиле испытуемого «Очень Низкий», а значение фактора «03» - «Низкий»,

то

фактор «03» поглощается фактором «F».

Если

значения факторов «01» и «02» в семантическом профиле испытуемого «Очень Высокий»,

то

для принятия решения о поглощении нужно сравнить значения этих факторов в числовом профиле испытуемого. Кандидатом на поглощение будет тот фактор, у которого числовое значение меньше.

На уровне ЯПЗ PILOT/2, обсуждавшегося выше, описание этих правил транс­формируется во фрагмент продукционной программы вида:

rule F-поглощает-QЗ :: [$curr_s_prfl : F] = = «QН» && [$curr_s_prfl : Q3] = = «Н» = => delete (Q3);

section Q1-Q2 if ([$curr_s_prfl : 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 : Q2] = => delete (Q1);

Функционирование продукционной системы позволяет получить невербализованный портрет. На вход блока генерации вербального представления поступает фрейм-экземпляр прототипа not_verb, слот order которого означен последова­тельностью имен групп (b1- b4) в порядке убывания «силы» этих групп, а слоты bi; bi_valn и bi_vals - последовательностями факторов, составляющих ту или иную группу вместе с их значениями из числового и семантического профиля. Собственно генерация текстов достаточно проста и сводится к регулярной заме­не значений факторов фразами естественного языка на основе следующих зна­ний:

[ factor is_a prototype;

ОН, Н, СР, В, OB {string} ];

[ A is_a factor;

0Н = {«Это человек замкнутый и необщительный, критичный и отчужденный.»};

Н = {«Это человек малообщительный и довольно замкнутый.»};

СР = ;

В = {«Это человек общительный и готовый к сотрудничеству.»};

0В = {«Это человек внимательный к людям, открытый, общительный и готовый к сотрудничеству.»} ];

[ В is_a factor;

0Н = {«Не имеет навыка решения логических задач, медленно обучается новым понятиям.»};

Н={«Не имеет навыка решения логических задач, довольно медленно обучается новым понятиям.»};

СР={«Имеет определенные навыки в решении логических задач.»};

В={«Умеет абстрактно мыслить, хорошо решает логические задачи, довольно быстро обучается новым понятиям.»};

0В={«Умеет абстрактно мыслить, очень хорошо решает логические задачи, быстро обучается новым понятиям.»};

………………………………………………………………………………………………

[ Q4 is_a factor;

0Н={«В настоящий момент самоуспокоен, расслаблен, не напряжен.»};

Н={«В настоящий момент находится в спокойном расслабленном состоянии.»}; СР=;

В={«В настоящий момент человеку присуще высокое рабочее напряжение, собранность, энергичность.»};

0В={«В настоящий момент человек напряжен, собран и даже несколько «взвинчен».»};

Учитывая то, что генерация текстовых представлений портретов осуществляется в ЭС «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 b1;

$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 : b1 ] = $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 ] );

rule A

:: <$curr_b1 == «A»

==> <<$curr_b1;

$curr_txt = all_of [ A : <<$curr_b1_vals ];

[ $curr_verb : b1_txt ] = $curr_txt;

clear ($curr_txt);

rule E

:: <$curr_b1 = = «E»

= => <<$curr_b1;

$curr_txt = all_of [ E : <<$curr_b1_vals ];

[ $curr_verb : b1_txt ] = $curr_txt;

clear ($curr_txt);

rule N

:: <$curr_b1 = = «N»

= => <<$curr_b1;

$curr_txt = all_of [ N : <<$curr_b1_vals ];

[ $curr_verb : b1_txt ] = $curr_txt;

clear ($curr_txt);

………………………………………………………………………………………………

section B4

if ( ?[ $curr_not_verb : $curr_b4_vals = all_of b4_vals ] );

rule В

:: <$curr_b4 = = «B»

= => <<$curr_b4;

$curr_txt = all_of [ В : <<$curr_b4_vals ];

[ $curr_verb : b4_txt ] = $curr_txt;

clear ($curr_txt);

rule Q1

:: <$curr_b4 = = «Q1»

= => <<$curr_b4;

$curr_txt = all_of [ Q1 : <<$curr_b4_vals ];

[ $curr_verb : b4_txt ] = $curr_txt; clear ($curr_txt);

Результатом работы этой продукционной программы является фрейм-экземпляр прототипа verb, слоты order и b1-b4 которого содержат ту же информацию, что и в невербальном портрете, а слоты bl_txt-b4_txt - собственно текстовое пред­ставление портрета испытуемого.