Этап 2: разработка прототипной системы
Понятие прототипной системы
Прототипная система является усеченной версией экспертной системы, спроектированной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Она также дает возможность инженеру по знаниям привлечь эксперта к активному участию в разработке экспертной системы и, следовательно, к принятию им обязательства приложить все усилия для создания системы в полном объеме.
Объем прототипа – несколько десятков правил, фреймов или примеров. На рис. 16.8 изображены шесть стадий разработки прототипа и минимальный коллектив разработчиков, занятых на каждой из стадий (пять стадий заимствованы из [10]). Приведем краткую характеристику каждой из стадий, хотя эта схема представляет грубое приближение к сложному итеративному процессу.
Рис. 16.8.Стадии разработки прототипа ЭС
Хотя любое теоретическое разделение бывает часто условным, осознание коллективом разработчиков четких задач каждой стадии представляется целесообразным. Роли разработчиков (эксперт, программист, пользователь и аналитик) являются постоянными на протяжении всей разработки. Совмещение ролей нежелательно.
Сроки приведены условно, так как зависят от квалификации специалистов и особенностей задачи.
Идентификация проблемы
Уточняется задача, планируется ход разработки прототипа экспертной системы, определяются:
необходимые ресурсы (время, люди, ЭВМ и т.д.);
источники знаний (книги, дополнительные эксперты, методики);
имеющиеся аналогичные экспертные системы;
цели (распространение опыта, автоматизация рутинных действий и др.);
классы решаемых задач и т.д.
Идентификация проблемы– знакомство и обучение коллектива разработчиков, а также создание неформальной формулировки проблемы.
Средняя продолжительность 1 - 2 недели.
Извлечение знаний
Происходит перенос компетентности экспертов на инженеров по знаниям с использованием различных методов:
анализ текстов;
диалоги;
экспертные игры;
лекции;
дискуссии;
интервью;
наблюдение и другие.
Извлечение знаний– получение инженером по знаниям наиболее полного представления о предметной области и способах принятия решения в ней.
Средняя продолжительность 1-3 месяца.
Структурирование или концептуализация знаний
Выявляется структура полученных знаний о предметной области, т.е. определяются:
терминология;
список основных понятий и их атрибутов;
отношения между понятиями;
структура входной и выходной информации;
стратегия принятия решений;
ограничения стратегий и т.д.
Концептуализация знаний– разработка неформального описания знаний о предметной области в виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной области.
Такое описание называется полем знаний. Средняя продолжительность этапа 2-4 недели.
Формализация
Строится формализованное представление концепций предметной области на основе выбранного языка представления знаний (ЯПЗ). Традиционно на этом этапе используются:
логические методы (исчисления предикатов I порядка и др.);
продукционные модели (с прямым и обратным выводом);
семантические сети;
фреймы;
объектно-ориентированные языки, основанные на иерархии классов, объектов и др.
Формализация знаний– разработка базы знаний на языке, который, с одной стороны, соответствует структуре поля знаний, а с другой – позволяет реализовать прототип системы на следующей стадии программной реализации.
Все чаще на этой стадии используется симбиоз языков представления знаний, например, в системе ОМЕГА [7] – фреймы + семантические сети + полный набор возможностей языка исчисления предикатов. Средняя продолжительность 1 - 2 месяца.
Реализация
Создается прототип экспертной системы, включающий базу знаний и остальные блоки, при помощи одного из следующих способов:
программирование на традиционных языках типа Паскаль, Си и др.;
программирование на специализированных языках, применяемых в задачах искусственного интеллекта: LISP [14], FRL [1], SmallTalk [7] и др.;
использование инструментальных средств разработки ЭС типа СПЭИС [3], ПИЭС [11];
использование "пустых" ЭС или "оболочек" типа ЭКСПЕРТ [2], ФИАКР [7] и др.
Реализация- разработка программного комплекса, демонстрирующего жизнеспособность подхода в целом. Чаще всего первый прототип отбрасывается на этапе реализации действующей ЭС.
Средняя продолжительность 1 - 2 месяца.
Тестирование
Оценивается и проверяется работа программ прототипа с целью приведения в соответствие с реальными запросами пользователей. Прототип проверяется на:
удобство и адекватность интерфейсов ввода-вывода (характер вопросов в диалоге, связность выводимого текста результата и др.);
эффективность стратегии управления (порядок перебора, использование нечеткого вывода и др.);
качество проверочных примеров;
корректность базы знаний (полнота и непротиворечивость правил).
Тестирование– выявление ошибок в подходе и реализации прототипа и выработка рекомендаций по доводке системы до промышленного варианта.
Средняя продолжительность 1 - 2 недели.