Экспертные системы - Методология разработки экспертных систем

Разработка интеллектуальных информационных систем отличается от создания обыч­ного программного продукта. Опыт разработки ранних экспертных систем по­казал, что использование традиционной технологии програм­мирования ли­бо чрезмерно затягивает процесс разработки, либо во­обще приводит к от­рицательному результату. Это связано главным об­разом с не­об­хо­ди­мостью модифицировать принципы и способы построения по мере того, как увеличивается знание разработчиков о проблемной области.

Известно, что большая часть знаний в конкретной предметной области ос­тается личной собственностью эксперта. Наибольшую проблему при раз­ра­бот­ке экспертной системы представляет процедура получения знаний у эксперта и занесения их в базу знаний, называемая извлечением знаний. Это происходит не по­тому, что он не хочет разглашать своих секретов, а потому, что не в состоянии сде­лать это — ведь эксперт знает гораздо больше, чем сам осознает. Для выявления знаний эксперта и их формализации на протяжении всего периода разработки с ним взаимодействует инженер по знаниям.

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

  • Потребность в решении должна соответствовать затратам на ее раз­работку. Суммы затрат и полученная выгода должны быть ре­а­листическими.
  • Невозможно использовать знания человека-эксперта там, где это необходимо. Если «экспертные» знания широко распростра­не­ны, то маловероятно, что стоит разрабатывать экспертную сис­тему. Однако в таких областях как разведка нефти и медицина мо­гут быть редкие специализированные знания, которыми можно недорого снабдить экспертную систему, и не использовать очень высоко оплачиваемого эксперта.
  • Проблема может быть решена с использованием символических методов рассуждения.
  • Проблема хорошо структурирована и не требует применения зна­ний, основанных на здравом смысле. Знания, основанные на здра­вом смысле, хорошо известны, поэтому их незачем фиксировать и представлять.
  • Проблема не может быть легко решена с использованием более тра­диционных вычислительных методов. Если имеется хорошее ал­горитмическое решение проблемы, не следует использовать экспертную систему.
  • Существуют эксперты в данной проблемной области. Поскольку экспертная система проектируется для успешной работы, весьма существенно, чтобы эксперты желали помогать при ее проек­ти­ро­ва­нии, а не считали, что их работе угрожают. Кроме того не­об­хо­дима поддержка администрации и потенциальных пользователей.
  • Проблема имеет подходящий размер и область применения. Как правило, проблема требует применения знаний высоко спе­ци­а­ли­зи­рованных экспертов, но человек-эксперт должен тратить на ее ре­ше­ние короткое время, максимум час.

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

Рис. 10.2. Технология разработки экспертных систем