- •Мурманский государственный технический университет с.И. Плотников интеллектуальные информационные системы
- •Глава 1. Классификация интеллектуальных информационных систем 4
- •Глава 2. Технология создания экспертных систем 25
- •Введение
- •Глава 1. Классификация интеллектуальных информационных систем
- •1.1. Особенности интеллектуальных информационных систем
- •1.2. Системы с интеллектуальным интерфейсом
- •1.3. Экспертные системы
- •Классы экспертных систем
- •1.4. Самообучающиеся системы
- •Индуктивные системы
- •Нейронные сети
- •Глава 2. Технология создания экспертных систем
- •2.1. Этапы создания экспертной системы
- •2.2. Идентификация проблемной области
- •2.3. Построение концептуальной модели
- •2.4. Формализация базы знаний
- •Выбор инструментальных средств реализации экспертной системы
- •2.5. Методика получения экспертных знаний
- •Психологический аспект
- •Инженер по знаниям
- •Лингвистический аспект
- •Гносеологический аспект
- •3. Создание эс в системе guru
- •3.1. Общие характеристики системы guru
- •Функциональные возможности
- •3.2. Построение экспертной системы
- •3.4. Тестирование экспертной системы
- •3.4. Запуск системы и работа в режиме меню Запуск системы
- •Некоторые сведения о работе в режиме меню
- •Использование режима меню
- •Описание команд меню Expert Systems
- •Режим редактирования набора правил (guru Rule Set Manager)
- •Режим редактирования правил
- •Часть if – посылка правила. Может быть любым выражением.
- •Режим редактирования переменных
- •Описание команд меню Information Manager
- •3.5. Пример создания эс в guru
- •Литература
- •Приложение 1 Листинг 1. Эс для оценки надежности поставщика (в среде guru)
- •Листинг 2. Пример работы эс для оценки надежности поставщика
- •Пример объяснений
- •Листинг 3. Подсистема прогнозирования цен Текст программы
- •Пример консультации (результат работы эс)
- •Приложение 2 Листинг исходного кода эс «Выбор банка»
- •Приложение 3 Листинг исходного кода эс «Выбор стратегии развития»
1.3. Экспертные системы
Экспертные системы представляют собой класс компьютерных программ, которые выдают советы, проводят анализ, выполняют классификацию, дают консультации и ставят диагноз. Назначение экспертных систем (ЭС) заключается в решении трудно описываемых на математическом уровне задач на основе накопленной базы знаний, отражающей опыт работы экспертов в рассматриваемой проблемной области. Экспертные системы предоставляют возможность принятия решений в уникальных ситуациях, для которых алгоритм заранее не известен и формируется по исходным данным в виде цепочки рассуждений (правил принятия решений) из базы знаний. Причем решать задачу приходиться в условиях неполноты, недостоверности, многозначности исходной информации и качественных оценок процессов.
Экспертная система является инструментом, усиливающим интеллектуальные способности специалиста, и может выполнять следующие функции:
консультанта для неопытных или непрофессиональных пользователей;
ассистента менеджера при анализе различных вариантов решений;
помощника при рассмотрении вопросов, относящихся к источникам знаний из смежных областей деятельности.
Экспертные системы используются во многих областях, среди которых лидирует сегмент приложений в бизнесе, производстве и медицине (рис. 1.2). Менее всего ЭС используются в науке, так как почти каждый автор считает себя уникальным экспертом [21].
.
Рис. 1.2. Области применения экспертных систем
Архитектура экспертной системы (рис. 1.3) включает в себя два основных компонента: базу знаний (хранилище единиц знаний) и программный инструмент доступа и обработки знаний, состоящий из механизмов вывода заключений (решения), приобретения знаний, объяснения получаемых результатов и интеллектуального интерфейса. Причем главным компонентом экспертной системы является база знаний, которая по отношению к другим компонентам выступает как содержательная подсистема, составляющая основную ценность. Содержимое базы знаний хорошей экспертной системы оценивается в сотни тысяч долларов, в то время как программный инструментарий – в тысячи или десятки тысяч долларов.
База знаний – это совокупность единиц знаний, которые представляют собой формализованное с помощью некоторого метода представления знаний отражение объектов проблемной области, их взаимосвязей, а также действий над объектами.
Рис. 1.3 Архитектура экспертной системы
В качестве методов представления знаний чаще всего используются либо правила, либо фреймы (объекты), либо их комбинация. Так, правила могут быть представлены следующим образом:
Если < условие >,
То <заключение> CF (Фактор уверенности) <значение>
В качестве факторов уверенности (CF), как правило, выступают либо условные вероятности байесовского подхода (от 0 до 1), либо фактор уверенности CF (от 0 до 100). Примеры правил имеют вид:
Правило 1: Если Коэффициент рентабельности > 0.1 ,
То Рентабельность = "удовл." CF 100 .
Правило 2: Если Задолженность = "нет" и Рентабельность = "удовл.",
То Финансовое_сост. = "удовл." CF 80 .
Правило 3: Если Финансовое_сост. = "удовл." и Репутация="удовл.",
То Надежность предприятия = "удовл." CF 90 .
Фреймы(объекты) представляют собой совокупность атрибутов, описывающих свойства и отношения с другими объектами. В отличие от записей баз данных каждый объект имеет уникальное имя. Часть атрибутов отражают типизированные отношения, такие как "род – вид" (super-class – sub-class), "целое – часть" и др. Вместо конкретных значений атрибутов объектов могут быть заданы значения по умолчанию, присущие целым классам объектов, или присоединенные процедуры (process). Пример описания фреймов представлен на рис. 1.4.
Имя слота |
Указатель наследования |
Тип |
Значение |
Super-сlass |
U |
FRAME |
ROOT |
Sub-сlass |
U |
FRAME |
Предприятие |
Код предприятия |
U |
String |
101 |
Код отрасли |
U |
String |
123 |
Отраслевой коэффициент. рентабельности. |
U |
Real |
20 |
-
Имя слота
Указатель наследования
Тип
Значение
Super-сlass
S
FRAME
Предприятие
отрасли
Sub-сlass
-
-
-
Код предприятия
S
String
101
Код отрасли
S
String
Ё
Отраслевой коэффициент. рентабельности
S
Real
20
Коэфф. рентабельности
Real
25
Задолженность
String
Нет
Репутация
String
Удовл
Финансовое состояние
Process
Fin_sost
Надежность
Process
Nad
Рис. 1.4. Описание фреймов (объектов)
Интеллектуальный интерфейс. Обмен данными между конечным пользователем и ЭС выполняет программа интеллектуального интерфейса, которая воспринимает сообщения пользователя и переводит внутреннее представление результата обработки в формат пользователя. Важнейшим требованием к организации диалога пользователя с ЭС является простота и естественность, которая в ряде случаев предполагает использование предложений естественного языка. Важно, чтобы последовательность решения задачи была гибкой, соответствовала представлениям пользователя и велась в профессиональных терминах.
Механизм вывода. Этот программный инструмент получает от интеллектуального интерфейса преобразованный во внутреннее представление запрос, формирует из базы знаний конкретный алгоритм решения задачи, выполняет его и полученный результат предоставляется интеллектуальному интерфейсу для выдачи ответа на запрос пользователя.
В основе использования любого механизма вывода лежит процесс нахождения в соответствии с поставленной целью и описанием конкретной ситуации (исходных данных) относящихся к решению единиц знаний (правил, объектов, прецедентов и т. д.) и связыванию их при необходимости в цепочку рассуждений, приводящую к определенному результату. Для представления знаний в форме правил это может быть прямая (рис. 1.5) или обратная (рис. 1.6) цепочка рассуждений.
Рис. 1.5. Прямая цепочка рассуждений
Рис. 1.6. Обратная цепочка рассуждений
Для объектно-ориентированного представления знаний характерно применение механизма наследования атрибутов, когда значения атрибутов передаются от вышестоящих классов к нижестоящим (например, на рис. 1.4 код отрасли, отраслевой коэффициент рентабельности). Также при заполнении атрибутов фрейма необходимыми данными запускаются на выполнение присоединенные процедуры.
Механизм объяснения. В процессе решения задачи или по результатам ее решения пользователь может запросить объяснение или обоснование хода решения. С этой целью ЭС должна представить соответствующий механизм объяснения. Объяснительные способности ЭС определяются возможностью механизма вывода запоминать путь решения задачи. Тогда на вопросы пользователя "Как?" и "Почему?" получено решение система всегда может выдать цепочку рассуждений до требуемой контрольной точки, сопровождая объяснения заранее подготовленными комментариями. Если решение задачи отсутствует, объяснение выдается пользователю автоматически. Полезно иметь и гипотетическое объяснение решения задачи, когда система отвечает на вопрос, что, возможно, произойдет в том или другом случае.
Однако пользователя не всегда может интересовать полный вывод решения, содержащий множество ненужных деталей. В этом случае система должна уметь выбирать из цепочки только ключевые моменты с учетом их важности и уровня знаний пользователя. Для этого в базе знаний необходимо поддерживать модель знаний и намерений пользователя. Если же пользователь не понимает полученный ответ, то система должна быть способна в диалоге (на основе поддерживаемой модели проблемных знаний) обучать пользователя тем или иным фрагментам знаний, т. е. раскрывать более подробно отдельные понятия и зависимости, если даже эти детали непосредственно в выводе не используются.
Механизм приобретения знаний. База знаний содержит знания экспертов (специалистов) о действиях в различных ситуациях или в процессе решения характерных задач. Выявлением подобных знаний и последующим их представлением в базе знаний занимаются специалисты, называемые инженерами знаний. Для ввода знаний в базу и их последующего обновления ЭС должна обладать механизмом приобретения знаний. В простейшем случае это - интеллектуальный редактор, который позволяет вводить единицы знаний в базу и проводить их синтаксический и семантический контроль, например, на непротиворечивость. В более сложных случаях извлекать знания следует с помощью специальных сценариев интервьюирования экспертов, которые приводятся ниже в гл.3, или из опыта работы самой интеллектуальной системы.
