logo
Базы знаний интелл

2.4.3. Технология быстрого прототипирования

Прототипиая система является усеченной версией экспертной системы, спроектированной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Она также дает возможность инженеру по знаниям привлечь эксперта к активному участию в процессе разработки экспертной системы, и, следовательно, к принятию им обязательства приложить все усилия к созданию системы в полном объеме.

Объем прототипа — несколько десятков правил, фреймов или примеров. На рис. 2.4 изображено шесть стадий разработки прототипа и минимальный коллектив разработчиков, занятых на каждой из стадий (пять стадий заимствовано из работы [Хейес-Рот и др., 1987]). Приведем краткую характеристику каждой из стадий, хотя эта схема представляет собой грубое приближение к сложному, итеративному процессу.

Рис. 2.4. Стадии разработки прототипа ЭС

Хотя любое теоретическое разделение бывает часто условным, осознание коллективом разработчиков четких задач каждой стадии представляется целесообразным. Роли разработчиков (эксперт, программист, пользователь и аналитик) являются постоянными на протяжении всей разработки. Совмещение ролей нежелательно.

Сроки приведены условно, так как зависят от квалификации специалистов и особенностей задачи.

Идентификация проблемы

Уточняется задача, планируется ход разработки прототипа экспертной системы, определяются:

• необходимые ресурсы (время, люди, ЭВМ и т. д.);

• источники знаний (книги, дополнительные эксперты, методики);

• имеющиеся аналогичные экспертные системы;

• цели (распространение опыта, автоматизация рутинных Действий и др.);

Идентификация проблемы — знакомство и обучение членов коллектива разработчиков, а также создание неформальной формулировки проблемы.

классы решаемых задач и т. д.

Средняя продолжительность 1-2 недели.

Извлечение знаний

На этой стадии происходит перенос компетентности от эксперта к инженеру по знаниям, с использованием различных методов (см. главу 4):

• анализ текстов;

• диалоги;

• экспертные игры;

• лекции;

• дискуссии;

• интервью;

Извлечение знаний — получение инженером по знаниям наиболее полного из возможных представлений о предметной области и способах принятия решения в ней.

наблюдение и другие.

Средняя продолжительность 1-3 месяца.

Структурирование или концептуализация знаний

Выявляется структура полученных знаний о предметной области, то есть определяются:

• терминология;

• список основных понятий и их атрибутов;

• отношения между понятиями;

• структура входной и выходной информации;

• стратегия принятия решений;

Структурирование (или концептуализация) знаний — разработка неформального описания знаний о предметной области в виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной области.

ограничения стратегий и т. д.

Такое описание называется полем знаний. Средняя продолжительность этапа 2-4 недели. Подробно стадия структурирования описана в главе 3.

Формализация

Строится формализованное представление концепций предметной области на основе выбранного языка представления знаний (ЯПЗ). Традиционно на этом этапе используются:

• логические методы (исчисления предикатов 1-го порядка и др.);

• продукционные модели (с прямым и обратным выводом);

• семантические сети;

• фреймы;

• объектно-ориентированные языки, основанные на иерархии классов, объектов.

Формализация знаний — разработка базы знаний на языке представления знаний, который, с одной стороны, соответствует структуре поля знаний, а с другой — позволяет реализовать прототип системы на следующей стадии программной реализации.

Все чаще на этой стадии используется симбиоз языков представления знаний, например, в системе ОМЕГА [Справочник по ИИ, 1990] — фреймы + семантические сети + полный набор возможностей языка исчисления предикатов. Средняя продолжительность 1-2 месяца. Подробно см. в главах 3, 4.

Реализация

Создается прототип экспертной системы, включающий базу знаний и остальные блоки, при помощи одного из следующих способов:

• программирование на традиционных языках типа Pascal, C++ и др.;

• программирование на специализированных языках, применяемых в задачах искусственного интеллекта: LISP [Хювянен, Сеппянен, 1991], FRL [Байдун, Бунин, 1990], SMALLTALK [Справочник по ИИ, 1990] и др.;

• использование инструментальных средств разработки ЭС типа СПЭИС [Ковригин, Перфильев, 1988], ПИЭС [Хорошевский, 1993], G2 [Попов, Фоминых, Кисель, 1996];

• использование «пустых» ЭС или «оболочек» типа ЭКСПЕРТ [Кирсанов, Попов, 1990], ФИАКР [Соловьев, Соловьева, 1989] и др.

С

Реализация — разработка программного комплекса, демонстрирующего жизнеспособность подхода в целом. Чаще всего первый прототип отбрасывается на этапе реализации действующей ЭС.

редняя продолжительность 1-2 месяца. Более подробно эти вопросы рассматриваются в главе 6.

Тестирование

Оценивается и проверяется работа программ прототипа с целью приведения в соответствие с реальными запросами пользователей. Прототип проверяется на:

• удобство и адекватность интерфейсов ввода/вывода (характер вопросов в диалоге, связность выводимого текста результата и др.);

• эффективность стратегии управления (порядок перебора, использование нечеткого вывода и др.);

• качество проверочных примеров;

• корректность базы знаний (полнота и непротиворечирость правил).

Тестирование — выявление ошибок в подходе и реализации прототипа и выработка рекомендаций по доводке системы до-промышленного варианта.

Средняя продолжительность 1-2 недели.