Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПЗ.doc
Скачиваний:
5
Добавлен:
09.11.2019
Размер:
1.33 Mб
Скачать

4.2 Подходы к реализации объяснительных способностей в промышленных экспертных системах

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

  1. записанные объяснения, то есть использование для объяснений заранее подготовленных текстов на естественном языке;

  2. генерация объяснений непосредственно из программных кодов или из трека выполнения программы;

  3. формирование объяснений на основе модели и принципов области с использованием методов автоматического программирования.(В связи с тем, что последний подход не получил пока сколько-нибудь заметного распространения, мы его рассматривать не будем).

Записанные объяснения. Простейший способ получения объяснений о том, что делает программа, состоит в запоминании ответов на все возможные вопросы, сформулированных на естественном языке. Данный подход применим в том случае, если можно предвидеть все вопросы. При этом подходе пользователь получает объяснение точно в том виде, в котором оно было записано. Типичными примерами записанных объяснений являются сообщения программ о стандартных ошибках.

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

  1. все вопросы и объяснения к ним должны быть известны программисту заранее, что не выполнимо для больших систем;

  2. система не имеет концептуальной модели того, что она говорит, то есть для системы все тексты вне зависимости от их содержания одинаковы.

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

Генерация объяснений из программ. В данном подходе объяснительная компонента исследует текс выполняемой программы и на его основе генерирует объяснения. Такой подход используется в ЭС MYCIN.

Объяснительная компонента MYCIN обрабатывает три вида вопросов:

  1. вопросы о действиях системы;

  2. вопросы о динамических знаниях, то есть о знаниях, используемых системой в ходе решения задачи;

  3. вопросы о статических знаниях, то есть о знаниях, хранимых в базе знаний

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

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

  1. частично упорядоченное множество целей;

  2. информацию о способе достижения каждой целью (то есть, введена ли цель с помощью правила или сообщена пользователем) и о результате, то есть успехе (достижение цели) или причине неудачи (недостижении цели).

Основные идеи, используемые при построении объяснительной компоненты, могут быть сформулированы в виде 4 требований:

  1. Необходимо определить понятие примитивного действия системы. Это задает минимальный фрагмент программы, подлежащий объяснению, тем самым определяется максимальный уровень детальности.

  2. Необходимо снабдить систему способностью запоминать ее поведение на выбранном уровне детальности. Результатом является полный трек поведения системы, то есть история активации всех правил.

  3. Необходимо выбрать остов, с позиций которого трек выполнения может быть понят пользователем. Трек содержит запись поведения системы, а остов обеспечивает способ понимания этого поведения. Выбор остова является центральной задачей при конструировании объяснительных способностей.

  4. Необходимо разработать программу, которая предоставляет пользователю возможность анализировать трек действий системы. Эта программа должна быть способна исследовать трек в терминах целей и правил, способствующих достижению целей. Пользователю должны быть предоставлены команды (ПОЧЕМУ? КАК?), позволяющие просматривать дерево целей, то есть анализировать предыдущие, текущие и будущие состояния системы.

В системе MYCIN в связи с тем, что объяснения рассматриваются в терминах движения от текущей цели по дереву целей, пользователю предоставлены две основные команды: ПОЧЕМУ и КАК. Ответ на вопрос ПОЧЕМУ? соответствует движению вверх по дереву в поисках ближайшей цели, объясняющей «почему» достигается текущая цель. Ответ на вопрос КАК? соответствует движению вниз по дереву целей и объясняет, «как» достигалась текущая цель. В связи с тем, что дерево целей является И/ИЛИ графом, при движении вниз обычно образуется несколько подцелей. Комбинируя последовательность вопросов ПОЧЕМУ? и КАК?, пользователь может просматривать дерево целей. Вопрос ПОЧЕМУ? имеет один параметр, указывающий, на сколько шагов вверх осуществляется перемещение по дереву. Это позволяет получать объяснения на различных уровнях конкретности. Вопрос КАК имеет также один параметр, в котором указывается номер одной из строк, сообщенных системой в ответ на один из предшествующих вопрос ПОЧЕМУ?

Более сложные ситуации возникают, когда команда КАК относится к тем ветвям дерева целей, которые еще не были выполнены системой. Для ответа на подобные КАК – вопросы используется специальная программа, которая для генерирования объяснений моделирует действия системы (например, система TEIRESIAS, предназначенная для отладки и ведения БЗ экспертной системы типа MYCIN).