- •1. Общее представление об экспертной системе
- •2. История возникновения экспертных систем
- •3. Классификация экспертных систем
- •4. Структура экспертной системы
- •5. Технология проектирования экспертных систем
- •5.3. Выбор подходящей проблемы
- •5.4. Разработка прототипа экспертной системы
- •5.4.1. Стадия идентификации
- •5.4.2. Стадия извлечения знаний
- •5.4.3. Стадия структурирования знаний
- •5.4.4. Стадия формализации знаний
- •5.4.5. Стадия реализации
- •5.4.6. Стадия тестирования
- •5.5. Доработка до промышленной экспертной системы
- •5.6. Оценка, стыковка и поддержка системы
- •6. Пример разработки прототипа экспертной системы для решения задач управления качеством
5.4. Разработка прототипа экспертной системы
Прототипная система является усеченной версией экспертной системы, спроектированной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта.
Она также дает возможность инженеру по знаниям привлечь эксперта к активному участию в процессе разработки экспертной системы, и, следовательно, к принятию им обязательства приложить все усилия к созданию системы в полном объеме [1].
Объем прототипа составляет несколько десятков правил, фреймов или примеров. На рис. 5.4 изображено основных шесть стадий разработки прототипа и минимальный коллектив разработчиков, занятых на каждой из стадий.
Несмотря на то, что любое теоретическое разделение бывает часто условным, осознание коллективом разработчиков четких задач каждой стадии представляется целесообразным. Роли разработчиков (эксперт, программист, пользователь и аналитик) являются постоянными на протяжении всей разработки. Совмещение ролей нежелательно.
Сроки приведены условно, так как зависят от квалификации специалистов и особенностей задачи [1].
Рис. 5.4. Стадии разработки прототипа экспертной системы
5.4.1. Стадия идентификации
На стадии идентификации проблемы уточняется задача, планируется ход разработки прототипа и определяются [1]:
- необходимые ресурсы (время, люди, компьютеры и т. д.);
- источники знаний (книги, дополнительные эксперты, методики);
- имеющиеся аналогичные экспертные системы;
- цели (распространение опыта, автоматизация рутинных действий и др.).
Идентификация задачи заключается в составлении неформального (вербального) описания, в котором указываются:
- общие характеристики задачи;
- подзадачи, выделяемые внутри данной задачи;
- ключевые понятия (объекты), их входные (выходные) данные;
- предположительный вид решения;
- знания, относящиеся к решаемой задаче.
В процессе идентификации задачи инженер по знаниям и эксперт работают в тесном контакте. Начальное неформальное описание задачи экспертом используется инженером по знаниям для уточнения терминов и ключевых понятий. Эксперт корректирует описание задачи, объясняет, как решать ее и какие рассуждения лежат в основе того или иного решения. После нескольких циклов, уточняющих описание, эксперт и инженер по знаниям получают окончательное неформальное описание задачи.
При проектировании экспертной системы типичными ресурсами являются источники знаний, время разработки, вычислительные средства и объем финансирования. Для эксперта источниками знаний служат его предшествующий опыт по решению задачи, книги, известные примеры решения задач, а для инженера по знаниям – опыт в решении аналогичных задач, методы представления знаний и манипулирования ими, программные инструментальные средства. При определении времени разработки обычно имеется в виду, что сроки разработки и внедрения экспертной системы составляют, как правило, не менее года (при трудоемкости 5 чел.-лет). Определение объема финансирования оказывает существенное влияние на процесс разработки, так как, например, при недостаточном финансировании предпочтение может быть отдано не разработке оригинальной новой системы, а адаптации существующей.
При идентификации целей важно отличать цели, ради которых создается экспертная система, от задач, которые она должна решать. Примерами возможных целей являются:
- формализация неформальных знаний экспертов;
- улучшение качества решений, принимаемых экспертом;
- автоматизация рутинных аспектов работы эксперта (пользователя);
- тиражирование знаний эксперта [3].
На этой стадии происходит знакомство и обучение членов коллектива разработчиков, а также создание неформальной формулировки проблемы. Продолжительность стадии колеблется от 1 до 2 недель.