Современные информационные технологии
К.т.н. Зартенова Л.Г. к.т.н., Галимова М. студентка
Карагандинский государственный технический университет, Казахстан
Разработка оболочки экспертной системы
Знания — это хорошо структурированные
данные, или данные о том, как устроены данные определенного назначения, т.е. метаданные.
Знания включают в себя понятия предметной области и связи-отношения между ними,
то есть представляют некоторую структуру.
Знания могут быть представлены с помощью
различных моделей. Существуют десятки моделей (или языков) представления знаний
для различных предметных областей. Большинство из них может быть сведено к
следующим классам:
-
продукционные модели;
-
семантические сети;
-
фреймы;
-
формальные логические
модели.
При этом каждая модель может быть
преобразована в другую. Наиболее простой для понимания является продукционная
модель. Эта
модель основана на правилах в виде предложений типа: Если (условие), то
(действие).
В качестве условия в правилах может быть, например, предположение о наличии
той или иной ситуации и действие «срабатывает» только при определенных условиях,
т.е. этим обеспечивается возможность гибкого представления в базе знаний любых
нюансов анализируемой ситуации. Представления
знаний в виде продукций наиболее распространено, так как запись знаний
фактически ведется на подмножестве естественного языка.
Правила, по сравнению с другими способами
представления знания имеют следующие преимущества:
-
модульность;
-
единообразие структуры;
-
естественность (вывод
заключения в такой системе аналогичен процессу рассуждения эксперта);
-
гибкость иерархии
понятий, которая поддерживается только как связи между правилами (изменив
правило, вы можете изменить иерархию).
Так как продукционная модель представления
знаний является наиболее распространенной
и часто используемой моделью, то в данном проекте используется именно
эта модель. Она проста для понимания и реализации.
Первым шагом при разработке системы стала
проблема определения входных и выходных данных, а также способа представления
этих данных. В данной экспертной
системе входным данными являются правила, которые формирует эксперт на
начальном этапе создания базы знаний. Количество условий и действий может
регулировать сам эксперт. Выходными данными будут являться рекомендации, которые
получает пользователь на этапе консультирования.
Следующим шагом является составление словаря терминов и наборов
ключевых слов. На этом шаге проводится текстуальный анализ всех протоколов
сеансов извлечения знаний и определяются с помощью специально построенных алгоритмов
все значимые слова, обозначающие понятия, явления, процессы, предметы,
действия, признаки и т. п. В нашем
случае словарь представляет собой набор условий и выводов, которые
накапливаются в процессе создания новых правил. Для большей наглядности и
удобства работы все условия и выводы представлены в виде дерева (рисунок 1). К
каждому условию эксперт может ввести вопрос, к каждому выводу рекомендацию.
Такая возможность осуществляется при помощи контекстного меню, которое можно
вызвать при выборе определенной переменной условия или переменной вывода. При
этом если вопрос к условию уже введен, то значок возле названия переменной
имеет желтый цвет. Если вопрос еще не
введен, то значок возле названия переменной имеет синий цвет. Аналогично и для ввода
рекомендаций к выводам.
Рисунок 1 – Форма для
заполнения базы знаний
Третьим шагом разработки системы является выявление объектов и понятий.
Производится «просеивание» словаря и выбор значимых для принятия решения понятий и их
признаков. В идеале на этом шаге образуется полный систематический набор терминов из какой-либо области знаний. В ходе
формирования базы знаний при создании новых правил всегда происходит проверка
на избыточность данных.
На следующем шаге происходит выявление связей
между понятиями. То есть осуществляется анализ каждой переменной,
представленной в правилах и строится определенная структура ее связей с
условиями и выводами других правил.
Затем выявляются метапонятия и детализация понятий.
Связи, полученные на предыдущем шаге, позволяют эксперту структурировать
понятия и выявлять
понятия более высокого уровня обобщения (метапонятия) или детализировать их на
более низком уровне.
После этого осуществляется построение пирамиды знаний. Под пирамидой
знаний мы понимаем иерархическую лестницу понятий, подъем по которой означает
углубление понимания и повышения уровня абстракции (обобщенности) понятий. Количество уровней в пирамиде
зависит от особенностей предметной области и профессионализма экспертов.
Таким образом, пирамида позволяет представить все понятия и термины в виде
определенной иерархической структуры. На самом верхнем уровне будут находиться
более общие понятия, которые охватывают достаточно большую область знаний. На
последующих уровнях будут находиться понятия, которые более подробно раскрывают
эту область знаний.
Далее происходит определение
отношений. Отношения между понятиями выявляются как внутри каждого из
уровней пирамиды, так и между уровнями. Фактически на этом шаге даются
имена тем связям, которые обнаруживаются на предыдущих двух шагах, а также обозначаются
причинно-следственные, лингвистические, временные и другие виды
отношений.
Последним шагом является определение стратегий принятия решений, то есть выявление
цепочек рассуждений, что связывает все сформированные ранее понятия и отношения в
динамическую систему базы знаний. В нашей экспертной системе цепочкой рассуждений будет
алгоритм механизма прямого вывода.
Для эксперта и пользователя было
разработано две автономно работающих программы. Интерфейс программы для
эксперта представлен на рисунке 1.
Интерфейс программы разделен на две части.
В левой части, эксперт вводит сами правила. При этом имеется возможность
добавления неограниченного количества условий. Для ввода условий предназначены
специальные выпадающие списки, для выбора условий и выводов из уже имеющихся в
базе знаний, если это необходимо. Имеются кнопки навигации по правилам,
функциональные кнопки для добавления и удаления правил и условий в правилах. В
правой части окна имеются списки условий и выводов. Они представлены в виде
дерева. При выборе одной из переменной появляется список всех значений данной
переменной, а также вопрос к переменным условия и рекомендации к переменным
вывода. Если вопроса или рекомендации нет, то значок возле соответствующей
переменной отображается синим цветом. Для ввода вопроса и рекомендации
используется контекстное меню. Реализована возможность для условий и действий
подключения дополнительных сведений поясняющего или иллюстрирующего назначения,
которые хранятся в базе данных.
Интерфейс
программы для пользователя-клиента представлен на рисунке 2. Пользователь
отвечает на предлагаемые системой вопросы выбором соответствующих вариантов
ответа. В конечном итоге система выдает рекомендацию, которая является
действием заключительного правила в выстроенной цепочке прямого рассуждения в
соответствии с ответами клиента на поставленные вопросы (рисунок 3). Пользователю
может быть предложена картина хода рассуждения системы, для этого необходимо
нажать кнопку «Почему?».
Рисунок 2 – Окно диалога для
пользователя
Рисунок 3 – Окно с выводом
рекомендации-диагноза
Разработанная ЭС ориентирована на решение
задач в области диагностики, интерпретации, ремонта, обучения и, благодаря
универсальности интерфейса, не привязана к определенной предметной области.