Назначение и структура экспертной системы

Экспертная система — это программа, которая действует как эксперт в некото­рой, обычно узкой прикладной области. К типичным ее приложениям относятся та­кие задачи, как медицинская диагностика, поиск причин неисправностей оборудова­ния или интерпретация результатов измерений. Экспертные системы должны быть способными решать задачи, для которых требуются специальные знания в опреде­ленной области. Они должны обладать этими знаниями, представленными в опреде­ленной форме. Поэтому такие системы называют также системами, основанными на знаниях. Но не каждую систему, основанную на знаниях, можно рассматривать как экспертную. Мы придерживаемся той точки зрения, что экспертная система должна быть способна в определенной степени объяснять свое поведение и свои решения пользователю, как это делают люди-эксперты. Такие функции объяснения особенно необходимы в областях, характеризующихся значительной неопределенностью (как медицинские диагнозы), поскольку они позволяют укрепить доверие пользователя к рекомендациям системы и дают возможность обнаружить возможную ошибку в ее рассуждениях. Поэтому экспертные системы должны обладать способностью друже­ственного взаимодействия с пользователем, благодаря которому ход рассуждений системы становится прозрачным для пользователя.


I


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

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

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

• Функции взаимодействия с пользователем, которые, в частности, позволяют объяснить намерения и выводы системы в процессе решения задачи и по за­вершении этого процесса.

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

Разработку экспертной системы удобно разделить на следующие три главных мо­дуля (рис. 15.1).

1. База знаний.

2. Машина логического вывода.

3. Пользовательский интерфейс.

 

 

 

 

 

 

 

 

 

 

 

 

               
База знаний Машина логического вывода Пользова­тельский интерфейс  
    Командный интерпретатор    
       

Рис. 15.1. Структура типичной экспертной системы

База знаний содержит сведения, которые относятся к рассматриваемой приклад­ной области, в том числе такие информационные компоненты, как простые факты об этой области, правила или ограничения, которые описывают отношения, или фено­мены в этой области и возможно также методы, эвристики и идеи для решения задач в данной области. Машина логического вывода обладает способностью активно ис­пользовать знания, представленные в базе знаний. Пользовательский интерфейс обеспечивает бесперебойное взаимодействие пользователя и системы, а также дает возможность пользователю получить представление о том, как выполняется процесс решения задачи, осуществляемый машиной логического вывода. Машину логическо-


Глава 15. Представление знаний и экспертные системы



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

В описанной выше схеме экспертной системы предусматривается разделение зна­ний и алгоритмов, с помощью которых используются эти знания. Такое разделение удобно по следующим причинам. С одной стороны, очевидно, что состав базы знаний зависит от приложения, С другой стороны, командный интерпретатор, по крайней мере в принципе, не зависит от проблемной области. Поэтому, если должны быть разработаны экспертные системы для нескольких приложений, целесообразно внача­ле создать командный интерпретатор универсального назначения, а затем подклю­чать к нему новую базу знаний по мере разработки каждого нового приложения. Безусловно, при таком подходе все базы знаний должны соответствовать одним и тем же формальным требованиям, которые совместимы с командным интерпретатором. Но практический опыт создания сложных экспертных систем показывает, что под­ход, в котором используются один командный интерпретатор и много разных баз знаний, удается реализовать без особых затруднений, только если прикладные облас­ти действительно очень похожи друг на друга. Тем не менее, даже если и потребует­ся вносить изменения в командный интерпретатор при переходе от одной проблем­ной области к другой, то по крайней мере могут быть сохранены основные принципы формирования экспертных систем.

В данной главе описаны некоторые основные методы функционирования эксперт­ных систем. В частности, здесь рассматриваются способы представления знаний с помощью правил вывода (правил "if-then"), главные механизмы логического вывода в экспертных системах на основе правил (такие как прямой или обратный логиче­ский вывод), усовершенствование представления на основе правил с учетом неопре­деленности, байесовские сети доверия, семантические сети и средства представления знаний с помощью фреймов.