
- •1. Введение в интеллектуальные системы.................................................................7
- •2. Разработка систем, основанных на знаниях ........................................................36
- •3. Теоретические аспекты инженерии знаний..........................................................55
- •4. Технологии инженерии знаний.............................................................................. 95
- •5. Новые тенденции и прикладные аспекты
- •6. Программный инструментарий разработки систем, основанных на знаниях............................................................................................................................194
- •7. Пример разработки системы, основанной на знаниях ................................….226
- •8. Представление данных и знаний в Интернете...................................................257
- •9. Интеллектуальные Интернет-технологии..........................................................300
- •1. Введение в интеллектуальные системы
- •1.1. Краткая история искусственного интеллекта
- •1.1.1. Предыстория
- •1.1.2. Зарождение нейрокибернетики
- •1.1.3. От кибернетики «черного ящика» к ии
- •1.1.4. История искусственного интеллекта в России
- •1.2. Основные направления исследований в области искусственного интеллекта
- •1.2.1. Представление знаний и разработка систем, основанных на знаниях (knowledge-based systems)
- •1.2.2. Программное обеспечение систем ии (software engineering for Al)
- •1.2.3. Разработка естественно-языковых интерфейсов и машинный перевод (natural language processing)
- •1.2.4. Интеллектуальные роботы (robotics)
- •1.2.5. Обучение и самообучение (machine learning)
- •1.2.6. Распознавание образов (pattern recognition)
- •1.2.7. Новые архитектуры компьютеров (new hardware platforms and architectures)
- •1.2.8. Игры и машинное творчество
- •1.2.9. Другие направления
- •1.3. Представление знаний и вывод на знаниях
- •1.3.1. Данные и знания
- •1.3.2. Модели представления знаний
- •1.3.3. Вывод на знаниях
- •1.4. Нечеткие знания
- •1.4.1. Основы теории нечетких множеств
- •123456789 10 Рис. 1.7. Формирование нечетких множеств
- •1.4.2. Операции с нечеткими знаниями
- •1.5. Прикладные интеллектуальные системы
- •2. Разработка систем, основанных на знаниях
- •2.1. Введение в экспертные системы. Определение и структура
- •2.2. Классификация систем, основанных на знаниях
- •2.2.1. Классификация по решаемой задаче
- •2.2.2. Классификация по связи с реальным временем
- •2.2.3. Классификация по типу эвм
- •2.2.4. Классификация по степени интеграции с другими программами
- •2.3. Коллектив разработчиков
- •2.4. Технология проектирования и разработки
- •2.4.1. Проблемы разработки промышленных эс
- •2.4.2. Выбор подходящей проблемы
- •2.4.3. Технология быстрого прототипирования
- •2.4.4. Развитие прототипа до промышленной эс
- •2.4.5. Оценка системы
- •2.4.6. Стыковка системы
- •2.4.7. Поддержка системы
- •3. Теоретические аспекты инженерии знаний
- •3.1. Поле знаний
- •3.1.1. О языке описания поля знаний
- •3.1.2. Семиотическая модель поля знаний
- •3.1.3. «Пирамида» знаний
- •3.2. Стратегии получения знаний
- •3.3. Теоретические аспекты извлечения знаний
- •3.3.1. Психологический аспект
- •3.3.2. Лингвистический аспект
- •3.3.3. Гносеологический аспект извлечения знаний
- •3.4. Теоретические аспекты структурирования знаний
- •3.4.1. Историческая справка
- •3.4.2. Иерархический подход
- •3.4.3. Традиционные методологии структурирования
- •3.4.4. Объектно-структурный подход (осп)
- •4. Технологии инженерии знаний
- •4.1. Классификация методов практического извлечения знаний
- •4.2. Коммуникативные методы
- •4.2.1. Пассивные методы
- •4.2.2. Активные индивидуальные методы
- •4.2.3. Активные групповые методы
- •4.3. Текстологические методы
- •4.4. Простейшие методы структурирования
- •4.4.1. Алгоритм для «чайников»
- •4.4.2. Специальные методы структурирования
- •4.5. Состояние и перспективы автоматизированного приобретения знаний
- •4.5.1. Эволюция систем приобретения знаний
- •4.5.2. Современное состояние
- •4.6. Примеры методов и систем приобретения знаний
- •4.6.1. Автоматизированное структурированное интервью
- •4.6.2. Имитация консультаций
- •4.6.3. Интегрированные среды приобретения знаний
- •4.6.4. Приобретение знаний из текстов
- •5. Новые тенденции и прикладные аспекты инженерии знаний
- •5.1. Латентные структуры знаний и психосемантика
- •5.1.1. Семантические пространства
- •5.1.2. Методы многомерного шкалирования
- •5.1.3. Использование метафор для выявления «скрытых» структур знаний
- •5.2. Метод репертуарных решеток
- •5.2.1. Основные понятия
- •5.2.2. Методы выявления конструктов Метод минимального контекста
- •5.2.3. Анализ репертуарных решеток
- •5.2.4. Автоматизированные методы
- •5.3. Управление знаниями
- •5.3.1. Что такое «управление знаниями»
- •5.3.2. Управление знаниям и корпоративная память
- •5.3.3. Системы omis
- •5.3.4. Особенности разработки omis
- •5.4. Визуальное проектирование баз знаний как инструмент познания
- •5.4.1. От понятийных карт к семантическим сетям
- •5.4.2. База знаний как познавательный инструмент
- •5.5. Проектирование гипермедиа бд и адаптивных обучающих систем
- •5.5.1. Гипертекстовые системы
- •5.5.2. От мультимедиа к гипермедиа
- •5.5.3. На пути к адаптивным обучающим системам
- •6. Программный инструментарий разработки систем, основанных на знаниях
- •6.1. Технологии разработки программного обеспечения - цели, принципы, парадигмы
- •6.1.1. Основные понятия процесса разработки программного обеспечения (по)
- •6.1.2. Модели процесса разработки по
- •6.1.3. Инструментальные средства поддержки разработки систем по
- •6.2. Методологии создания и модели
- •6.3. Языки программирования для ии и языки представления знаний
- •6.4. Инструментальные пакеты для ии
- •6.5. WorkBench-системы
- •7. Пример разработки системы, основанной на знаниях
- •7.1. Продукционно-фреймовый япз pilot/2
- •7.1.1. Структура пилот-программ и управление выводом
- •7.1.2. Декларативное представление данных и знаний
- •7.1.3. Процедурные средства языка
- •7.2. Психодиагностика – пример предметной области для построения экспертных систем
- •7.2.1. Особенности предметной области
- •7.2.2. Батарея психодиагностических эс «Ориентир»
- •7.3. Разработка и реализация
- •7.3.1. Архитектура системы и ее база знаний
- •7.3.2. Общение с пользователем и опрос испытуемых
- •7.3.3. Вывод портретов и генерация их текстовых представлений
- •7.3.4. Помощь и объяснения в эс «Cattell»
- •8. Представление данных и знаний в Интернете
- •8.1. Язык html и представление знаний 8.1.1. Историческая справка
- •8.1.2. Html - язык гипертекстовой разметки Интернет-документов
- •8.1.3. Возможности представления знаний на базе языка html
- •8.2. Онтологии и онтологические системы
- •8.2.1. Основные определения
- •8.2.2. Модели онтологии и онтологической системы
- •8.2.3. Методологии создания и «жизненный цикл» онтологий
- •8.2.4. Примеры онтологий
- •8.3. Системы и средства представления онтологических знаний
- •8.3.1. Основные подходы
- •8.3.2. Инициатива (ка)2 и инструментарий Ontobroker
- •Средства спецификации онтологий в проекте Ontobroker
- •Формализм запросов
- •Формализм представления и машина вывода
- •Аннотация Web-страниц онтологической информацией
- •8.3.3. Проект shoe - спецификация онтологий и инструментарий Общая характеристика проекта
- •Спецификации онтологий и инструментарий shoe
- •Формализм представления и машина вывода
- •Аннотация Web-документов на базе онтологии
- •Формализм запросов
- •8.3.4. Другие подходы и тенденции
- •9. Интеллектуальные Интернет-технологии
- •9.1. Программные агенты и мультиагентные системы
- •9.1.1. Историческая справка
- •9.1.2. Основные понятия
- •9.2. Проектирование и реализация агентов и мультиагентных систем
- •9.2.1. Общие вопросы проектирования агентов и mac
- •9.2.2. Инструментарий AgentBuilder
- •9.2.3. Система Bee-gent
- •9.3. Информационный поиск в среде Интернет
- •9.3.1. Машины поиска
- •9.3.2. Неспециализированные и специализированные поисковые агенты
- •9.3.3. Системы интеллектуальных поисковых агентов
- •Autonomy и Web compass - системы интеллектуального поиска и обработки информации
- •Проект системы marri
- •Прототип системы OntoSeek
- •(Onto)2 - агент поиска и выбора онтологий
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 - собственно текстовое представление портрета испытуемого.