- •1.1. Данные и знания
- •Классификация по глубине
- •1.3. Этапы разработки экспертных систем
- •Выбор подходящей проблемы
- •Разработка прототипной системы
- •Доработка прототипа до промышленной экспертной системы
- •Поддержка системы
- •1.4. Коллектив разработчиков
- •Программист
- •Эксперт
- •Глава 2. Теоретические аспекты извлечения знании
- •Процедурный слои
- •Когнитивный слой
- •Понятийная структура
- •Словарь пользователя
- •Внутренняя согласованность
- •Системность
- •Объективность
- •Историзм
- •Описание и обобщение фактов
- •Установление связей и закономерностей
- •Глава 3. Когнитивная психология в инженерии знании
- •3.2. Семантическая репрезентация знании
- •О множественной репрезентации понятий
- •3.4. Восприятие информации
- •Перцептивные процессы
- •Семантическое кодирование
- •3.5. Организация памяти
- •Глава 4. Методы извлечения знаний Кто скажет, тот не знает,
- •4.2. Пассивные методы
- •Наблюдения
- •Анализ протоколов “мыслей вслух”
- •6. Расшифруйте записи лекции в тот же день.
- •8. Рационально используйте перерывы в лекции для 'подытоживания про-длущанного.
- •12. Считаете ли Вы, что для лечения ангины эффективен эритромицин?
- •13. Какие дозы эритромицина Вы обычно рекомендуете? При отрицательном ответе на 12-й вопрос 13-й является лишним. Его можно избежать, усложнив вопрос.
- •12. Применяете ли Вы эритромицин для лечения ангины и если да, то в
- •4.5. Экспертные игры
Разработка прототипной системы
Прототипнаи система является усеченной версией ЭС, демонстрирующей жизнеспособность выбранного подхода, а также предназначенной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Она дает возможность инженеру по знаниям привлечь эксперта к активному участию в процессе разработки ЭС.
Объем 'прототипа — несколько десятков правил, фреймов или примеров. Па рис. 1.6 изображены шесть стадий разработки прототипа и минимальный коллектив разработчиков, занятых на каждой из стадий (пять стадий заимствованы из [115]).
1. Идентификация проблемы. Уточняется задача, планируется ход разработки прототипа ЭС, определяются: источники знаний (книги, дополнительные эксперты, методики); цели (распространение опыта, автоматизация рутинных действий) и др.;
классы решаемых задач и т. д.
Рис. 1.6. Стадии разработки прототип
-- 19 --
Задача идентификации — знакомство и обучение членов коллектргеа разработчиков, а также создание неформальной формулировки .проблемы. Средняя продолжительность 1...2 недели.
II. Получение (извлечение) знаний. Происходит перенос компетентности экспертов на инженеров по знаниям, с использованием различных методов: анализа текстов; диалогов; экспертных -игр; лекции; дискуссии; интервью; наблюдений и др. Для некоторых систем эта стадия происходит как формирование или приобретение знаний (см. гл. 7).
Задача стадии извлечения — получение инженером по знаниям .наиболее полного из возможных представления о предметной области и способах 'принятия решения в ней. Средняя продолжительность 1 ... 3 месяца.
III. Структурирование или концептуализация знаний. Выявляется структура полученных знаний о предметной области, т. е. определяются: список основных понятий и их атрибутов; отношения .между понятиями; структура входной и выходной информации; стратегия принятия решений; ограничения стратегий и т. д.
Задача стадии концептуализации — разработка неформального описания знаний о предметной области в 'виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной области. Такое описание назовем полем знаний. Средняя продолжительность 2... 4 недели.
IV. Формализация. Строится формализованное представление концепций .предметной области на основе выбранного языка представления знаний или специального формализма (см. приложение). Традиционно на этом этапе используются: логические методы (исчисление предикатов 1-го порядка и др.); продукционные .модели (с прямым и обратным выводом); семантические сети и волновые языки; фреймы; объектно-ориентированные языки, основанные на иерархии классов объектов, и др.
Задача стадии формализации — разработка фрагмента базы знаний на языке, который, с одной стороны, соответствует структуре поля знаний, а с другой — позволяет реализовать прототип системы на V стадии. Все чаще на этой стадии используется симбиоз ЯПЗ, например, в системе ОМЕГА [7] — фреймы + семантические сети + полный набор возможностей языка исчисления предикатов. Средняя продолжительность 1 ... 2 месяца.
V. Реализация. Создается прототип ЭС, включающий базу знаний и остальные блоки (см. рис. 1.3), с помощью одного из следующих способов: программирование на традиционных языках типа Турбо-Паскаль, Си и др.; программирование на специализированных языках, применяемых в задачах искусственного интеллекта: Лисп [85], Пролог [165], FRL [8], SMALLTALK [148] и др.; использование инструментальных средств разработки ЭС типа СПЭИС '[65], ПИЭС [150]; использование “пустых” ЭС или “оболочек” типа ЭКСПЕРТ [62]; ФИАКР [133] и др.
-- 20 --
VI. Тестирование. Оценивается и проверяется работа программы прототипа с целью приведения в соответствие с реальными запросами пользователей. Прототип проверяется: на удобство и адекватность интерфейсов ввода-вывода (характер вопросов в диалоге, связность выводимого текста результата и др.); эффективность стратегии управления (порядок перебора, использование нечеткого вывода и др.); корректность БЗ (полнота и непротиворечивость травил).
Задача стадии тестирования — выявление ошибок в подходе и реализации прототипа и выработка рекомендаций по доводке системы до промышленного варианта. Средняя продолжительность 1 ...2 недели.
В описанной методологии разработки прототипа теоретическое разделение на стадии достаточно условно, хотя осознание коллективом разработчиков четких задач каждой стадии представляется целесообразным. Все чаще при разработке прототипа квалифицированным коллективом разработчиков используется так называемая шестимесячная формула (six-month formula) [210]. Роли разработчиков (эксперт, программист, пользователь и аналитик) являются постоянными на протяжении всей разработки. Совмещение ролей нежелательно.
