Разработка прототипной системы
Прототипная система является усеченной версией ЭС, демонстрирующей жизнеспособность выбранного подхода, а также предназначенной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Она дает возможность инженеру по знаниям привлечь эксперта к активному участию в процессе разработки ЭС.
Объем прототипа — несколько десятков правил, фреймов или примеров. На рис. 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], SМАLLТАLК [148] и др.; использование инструментальных средств разработки ЭС типа СПЭИС [65], ПИЭС [150]; использование «пустых» ЭС или «оболочек» типа ЭКСПЕРТ [62]; ФИАКР [133] и др.
20
Задача стадии реализации — разработка программного комплекса, демонстрирующего жизнеспособность подхода в целом. Чаще всего первый прототип отбрасывается на этапе доработки до промышленной ЭС. Средняя продолжительность 1...2 месяца.
VI. Тестирование. Оценивается и проверяется работа программы прототипа с целью приведения в соответствие с реальными запросами пользователей. Прототип проверяется: на удобство и адекватность интерфейсов ввода-вывода (характер вопросов в диалоге, связность выводимого текста результата и др.); эффективность стратегия управления (порядок перебора, использование нечеткого вывода и др.); корректность БЗ (полнота и непротиворечивость правил).
Задача стадии тестирования — выявление ошибок в подходе и реализации прототипа и выработка рекомендаций по доводке системы до промышленного варианта. Средняя продолжительность 1...2 недели.
В описанной методологии разработки прототипа теоретическое разделение на стадии достаточно условно, хотя осознание коллективом разработчиков четких задач каждой стадии представляется целесообразным. Все чаще при разработке прототипа квалифицированным коллективом разработчиков используется так называемая шестимесячная формула (sixmопth fоrmulа) [210]. Роли разработчиков (эксперт, программист, пользователь и аналитик) являются постоянными на протяжении всей разработки. Совмещение ролей нежелательно.
