Подходы к реализации объяснительных способностей ЭС




Попов- 1987/с.185

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

Некоторые из них, такие, как ответы на вопросы типа

ЛИ, КАКОЙ, СКОЛЬКО, ЧТО, КТО и т.п., в отличие от ответов на вопросы КАК и ПОЧЕМУ, не являются объяснениями.

Они лишь сообщают запрашиваемые значение или оценивают истинность фактов.

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

1. ЗАПИСАННЫЕ ОБЪЯСНЕНИЯ – использование заранее подготовленных текстов ответов на естественном языке (ЕЯ).

2. ГЕНЕРАЦИЯ ОБЪЯСНЕНИЙ из программных кодов или из трека выполнения программы (трассировка рассуждений).

 

Ä 3. Формирование объяснений НА ОСНОВЕ МОДЕЛИ и ПРИНЦИПОВ ПРОБЛЕМНОЙ ОБЛАСТИ с использованием методов автоматического программирования (Свартаут-83) -

НЕ ОБЯЗАТ-НО - у Попова не рассм-ся

 

ЗАПИСАННЫЕ ОБЪЯСНЕНИЯ

(фиксация событий и состояний)

Попов/185-6, Алиев/122

Это простейший способ – запоминание ответов на естественном языке (ЕЯ) на ВСЕ возможные вопросы, касающиеся определенных событий и состояний программы.

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

Типичный пример – сообщение программы о стандартных ошибках.

Подробнее:

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

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

Преимущество такого подхода – формирование удобных и простых для восприятия объяснений.

Но этот подход применим, когда можно предвидеть ВСЕ вопросы, и когда программа относительно небольшая.

Ограничения этого подхода:

1. Объяснения надо исправлять каждый раз, когда меняется БЗ или используемые эвристики.

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

2. Все вопросы и объяснения должны быть известны программисту заранее – невыполнимо для больших программ.

 

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

 

4. Нельзя обеспечить объяснения, учитывающие разнообразие целей и знаний пользователей, т.е. адаптировать систему к определенному пользователю.

5. Часто пользователя интересует именно ХОД рассуждения, цепоча лог. выводов, которая приводит к заключению, а данный подход не дает такую цепочку.

Этот подход применялся в ранних ЭС (DENDRAL – химия: определение структуры молекулы).

Применяется и в наст. время в простых ЭС.

 

 

ГЕНЕРАЦИЯ ОБЪЯСНЕНИЙ ИЗ ПРОГРАММ

(трассировка рассуждений)

Объяснительная компонента (ОК) ИССЛЕДУЕТ текст выполняемой программы и на его основе генерирует объяснения.

Типичный пример:

ЭС МИЦИН (MYCIN) - для консультации врача при установлении диагноза и выдаче рекомендаций по лечению инфекционных заболеваний крови. Попов/34-55

Для того чтобы, обеспечить возможность объяснения решений ЭС МИЦИН была создана

ЭС ТИРИЗИАЗ (TEIRESIAS) - вспомогательная ЭС, которая -- осуществляет анализ поведения системы МИЦИН,

- имеет средства для разъяснения ее решений и

- помогает врачу в исправлении правил, приводящих к неверным заключениям;

- она содержит набор метаправил, т.е. правил о формах правил системы МИЦИН и их использовании

"ИИ в интегр-х. произв-х с-мах"/137

ТРИ ВИДА ОБЪЯСНЕНИЙ

Объяснительные компоненты ЭС (примером которых могут служить) МИЦИН и ТИРИЗИАЗ) генерируют три вида объяснений (обрабатывая при этом три соответствующих вида вопросов)

1) о действиях системы,

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

3) о статических знаниях (о знаниях, хранимых в БЗ).

 

1.Объяснение действий системы

Принципы осуществления таких объяснений.

1.Создание сокращенного описания действий системы т.е. сокращенной ЗАПИСИ последовательности событий, которые привели к цели (решению задачи) - ЕТ]

2.Последующий ПРОСМОТР этой последовательности в определенном порядке (возможно задаваемом пользователем) и

3.Выдача результатов этого просмотра пользователю.

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

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

1) Действия системы, составляющие это описание, должны быть понятны (достаточная детальность описания);

2) Должныописываться действия, значимые для пользователя, и игнорироваться несущественные детали (достаточная общность описания);

3) Должны описываться действия, адекватно объясняющие поведение системы (достаточная полнота описания).

 

Основная трудность - не всегда может быть найден подходящий уровень детальности такого описания.

 

Для построения такого сокращенного описания действий системы следует найти (сформировать) некоторый ОСТОВ, с позиций которого можно рассматривать действия системы так, чтобы они были понятны пользователю [и удовлетворяли перечисленным требованиям ] (Попов/186-7)

 

Часто в качестве такого ОСТОВА выбирается ДЕРЕВО ЦЕЛЕЙ (поскольку ЭС решает задачи с помощью поиска в дереве целей), а уровень детальности описания действий системы соответствует рассмотрению этих действий на уровне выполнения системой продукционных правил. (напр, ЭС МИЦИН и ТИРИЗИАЗ- Попов разд 2.3-),

Дерево целей представляет собой граф типа И/ИЛИ и содержит:

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

2) информацию о способе достижения каждой цели (выведена цель с помощью правила или сообщена пользователем);

3) информацию о результате – об успехе в достижении цели или о причине неудачи.

Основываясь на ДЦ, объяснительная компонента (ОК) может объяснить, КАК было получено заключение, т.е. как была достигнута глобальная цель.

Это достигается путем прохождения подцелей, которые были удовлетворены при движении к глобальной цели, т.е. осуществляется "обратное развертывание" дерева целей (движение "ВНИЗ" от глобальной цели) - прохождение трассы вывода. (Кузин)

ЕТ:

Пользователь может так же получить объяснение относительно того, КАК было выполнено определенное действие (представляющее некоторую промежуточную текущую цель в ДЕРЕВЕ ЦЕЛЕЙ) и ПОЧЕМУ это действие (текущая цель) выполнялось.

Эти объяснения генерируются путем движения по ДЕРЕВУ ЦЕЛЕЙ, выполняемого от текущей цели (заданного действия) с помощью вопросов двух видов: КАК и ПОЧЕМУ. Попов/с.187

Пользователю предоставляется возможность задавать эти два основных вопроса с помощью соответствующих команд.

Ответ на вопрос ПОЧЕМУ? соответствует движению ВВЕРХ по дереву в поисках ближайшей суперцели, котораяобъясняет "ПОЧЕМУ" достигается данная (текущая) цель (причину, по которой система стремиться достигнуть или достигла данную цель).

Ответ на вопрос КАК? соответствует движению ВНИЗ по дереву от нашей текущей цели и объясняет "КАК" достигается данная (текущая) цель (способ достижения этой цели).

При этом находятся подцели (одна или несколько, т.к. ДЦ – это граф И/ИЛИ), которые должны быть достигнуты для того, чтобы была выполнена данная цель (о которой задается вопрос).

Если текущая цель - это И-цель, то надо найти ВСЕ непосредственные подцели.

Если текущая цель - это ИЛИ-цель, то надо найти ту непосредственную подцель (хотя бы одну), которая уже была достигнута.

Комбинируя последовательность вопросов КАК и ПОЧЕМУ, пользователь может просматривать ДЕРЕВО ЦЕЛЕЙ.

Вопрос ПОЧЕМУ имеет один параметр, указывающий, на сколько шагов вверх осуществляется перемещение по дереву. Это позволяет получать объяснения на различных уровнях конкретности.

Ä (пока) Вопрос КАК тоже имеет один параметр – номер одной из строк, сообщенных системой в ответ на один из предшествующих вопросов ПОЧЕМУ.

Типичные вопросы пользователя.

КАК получено данное решение?

КАК использована некоторая данная информация?

ПОЧЕМУ использовалась (не использовалась) данная информация?

КАКОЕ решение принято по определенной подзадаче?

КАКИЕ знания использовались при получении данного решения?

…………….. Алиев/123

 

 

Джексон/с.353

Пример: ЭС MYCIN:

Система отслеживает прохождение структур «цель - подцель» в процессе выполнения вывода, что позволяет ей отвечать на вопросы типа:

«ПОЧЕМУ в процессе вывода ЭС выясняет, какова окраска микроорганизма (точнее, выясняет, является ли окраска микроорганизма грамотрицательной)?»

В ответ система процитирует правило, которое утверждает, что если микроорганизм имеет грамотрицательную окраску и соблюдаются другие условия, то этот организм относится к определенному классу (пусть к классу E).

 

 

Это правило:

ЕСЛИ (1) организм имеет грамотрицательную

окраску, и

(2) организм имеет форму палочки, и

(3) организм аэробный,

ТО есть основания предполагать (0,8), что этот организм

относится к классу Е

 

т.е. ответ можно выразить словами: «ПОТОМУ ЧТО требуется выяснить, относится ли этот микроорганизм к классу E».

В ответе указывается также, что текущая цель - выяснение класса микроорганизма.

Данная текущая цель стоит «выше» в дереве целей, и для ее достижения требуется выполнение нижележащей цели.

 
 
Класс микроорганизма Е

 


……………………………КАК?

 

Аэробичность
Морфология
Окраска
ПОЧЕМУ?

 

 

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

Объяснительная компонента (ОК) должна быть способна перефразировать правила на естественном языке (ЕЯ) (в краткой формулировке) и описать мотивации их использования, которые базируются на знаниях ЭС о самой себе (метазнаниях).

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

………………….

!! Об использовании МЕТАПРАВИЛ на примере систем EMYCIN и NEOMYCIN - см. Джексон/с.355

……………………

 

Один из способов обоснования решений – проверка или оценка их правильности путем прогнозирования последствий в случае использования этих решений и выявление возможных узких мест.

 

ИТАК, чтобы создать объяснительную компоненту ЭС надо выполнить следующие действия. [ Попов/с. 187]

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

2. Обеспечить для системыспособность ЗАПОМИНАТЬ свое поведение на выбранном уровне детальности, т.е. запоминать последовательность выполнения минимального фрагмента.

Результат такого запоминания – полный ТРЕК поведения системы (т.е. история активизации всех правил).

3. Выбрать ОСТОВ, с позиций которого ТРЕК выполнения правил может быть понят пользователем.

ТРЕК – это запись поведения системы, т.е. запись последовательности выполнения правил, составляющих минимальный фрагмент, подлежащий объяснению.

ОСТОВ обеспечивает способ понимания этой записи поведения системы. Выбор ОСТОВА – центральная задача при конструировании объяснительной компоненты. Часто в качестве ОСТОВА используется ДЕРЕВО ЦЕЛЕЙ.

4. Разработать программу, которая позволяет анализировать ТРЕК действий системы, т.е. исследовать ТРЕК [м.б. представить его? ЕТ] в терминах ЦЕЛЕЙ и ПРАВИЛ, способствующих достижению целей.

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

Возможные добавления

Попов/с. 187:

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

быть сформулированы в виде четырех требований:

1. Необходимо….

2. ………….

3. ……………..

4. ……………

 

Добавить: Алиев/123-124;

Попов-1987г./с. 188-190 - на примере ЭС МИЦИН и ТИРИЗИАС; 190-211

Джексон_Гл.16, с.351; разделы 16.11(352-354); 16.12 (354-356 – МИЦИН); 16.15 (365-366- использ-е фреймов))

Пример (Winston/p.57)

Задача перемещения блоков роботом – решение методом "редукции задачи".

B
A
Задача: "Поставить блок А на блок В" (PUT-ON AB).

 

           
   
 
C
 
 
   

 

 


Фрагмент дерева целей:

 
 

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-29 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: