
- •Глава 2. Основы Теории эс. Технологии инженерии знаний Введение в экспертные системы
- •Особенности экспертных систем
- •Инженерия знаний
- •Структура экспертной системы
- •Этапы разработки эс
- •Коллектив разработчиков эс
- •Технологии инженерии знаний
- •Коммуникативные методы извлечения знаний
- •Пассивные методы
- •Наблюдения
- •Анализ протоколов «мыслей вслух»
- •Активные методы Активные групповые методы
- •«Круглый стол»
- •«Мозговой штурм»
- •Ролевые экспертные игры в группе
- •Активные индивидуальные методы
- •Анкетирование
- •Интервью
- •Вопросы для интервью
- •Экспертные игры Игры с экспертом
- •Игры с тренажерами
- •Компьютерные экспертные игры
- •Текстологические методы
- •Алгоритм извлечения знаний из текста
- •Сравнительные характеристики методов извлечения знаний
- •Контрольные вопросы
Структура экспертной системы
В целом процесс функционирования ЭС можно представить следующим образом: пользователь, желающий получить необходимую информацию, через пользовательский интерфейс посылает запрос к ЭС; решатель, пользуясь базой знаний, генерирует и выдает пользователю подходящую рекомендацию, объясняя ход своих рассуждений при помощи подсистемы объяснений (рис. 23).
Пользователь - специалист предметной области, для которого предназначена система. Обычно его квалификация недостаточно высока, поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС.
Инженер по знаниям - специалист в области искусственного интеллекта, выступающий промежуточным звеном между экспертом и базой знаний (когнитолог, аналитик, инженер - интерпретатор).
Интерфейс пользователя - комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и при получении результатов.
База знаний - ядро ЭС, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на языке, приближенном к естественному). Параллельно такому представлению существует БЗ в машинном представлении.
Решатель - программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ (дедуктивная машина, машина вывода, блок логического вывода).
Подсистема объяснений - программа, позволяющая пользователю получить ответы на вопросы:
Как была получена та или иная рекомендация?
Почему система приняла такое решение?
Ответ на вопрос «как?» – это трассировка всего процесса получения решения с указанием использованных фрагментов БЗ, ответ на вопрос «почему?» - ссылка на умозаключение, непосредственно предшествующее полученному решению.
Интеллектуальный редактор БЗ - программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок (help) и других сервисных средств, облегчающих работу с базой.
П
редставленная
структура является минимальной, то есть
все указанные блоки должны обязательно
присутствовать в ЭС, реальные прикладные
ЭС могут быть гораздо сложнее и
дополнительно включать базы данных,
интерфейсы обмена данными с различными
пакетами прикладных программ, электронными
библиотеками и т.д.
Этапы разработки эс
Перед тем, как начать разработку ЭС необходимо определить проблемную область и задачу, найти подходящего эксперта, желающего сотрудничать при решении проблемы, назначить коллектив разработчиков, определить предварительный подход к решению проблемы, проанализировать расходы и прибыль от разработки и подготовить план разработки.
После того, как инженер по знаниям убедился, что:
данная задача может быть решена с помощью экспертной системы;
экспертную систему можно создать предлагаемыми на рынке средствами;
имеется подходящий эксперт;
предложенные критерии производительности являются разумными;
затраты и срок их окупаемости приемлемы для заказчика,
он составляет план разработки ЭС. План определяет шаги процесса разработки и необходимые затраты, а также ожидаемые результаты (рис. 24).
Рис. 24. Этапы разработки экспертной системы
На этапе идентификации проблемы уточняется задача, определяются необходимые ресурсы (время, люди, ЭВМ), источники знаний (книги, дополнительные эксперты), цели (распространение опыта, автоматизация рутинных действий), классы решаемых задач.
На стадии извлечения знаний происходит перенос компетентности от эксперта к инженеру по знаниям с использованием различных методов (анализ текстов, диалоги, экспертные игры, лекции, дискуссии, интервью, наблюдение и др.).
При структурировании знаний выявляется структура полученных знаний о предметной области, то есть определяются: терминология, список основных понятий и их атрибутов, отношения между понятиями, структура входной и выходной информации, стратегия принятия решений и т.д.
На стадии формализации строится формализованное представление предметной области на основе выбранного языка представления знаний.
При реализации создается прототип ЭС, включающий базу знаний и остальные блоки, при помощи программирования на традиционных языках (C++, Pascal и др.), программирования на специальных языках, применяемых в задачах искусственного интеллекта (LISP, FRL, SMALLTALK) или с использованием инструментальных средств разработки ЭС типа СПЭИС.
Тестированием оценивается работа прототипа с целью приведения в соответствие с реальными запросами пользователя.
При неудовлетворительном функционировании прототипа эксперт и инженер по знаниям имеют возможность оценить, что именно будет включено в окончательный вариант системы. После чего происходит доработка прототипа до конечного варианта ЭС.