Автор: Юрин А.Ю.
Источник: Институт динамики систем и теории управления СО РАН, г. Иркутск, 2012. [Ссылка]
Аннотация:В данной работе описан редактор продукционных баз знаний, ориентированный на непрограммирующего специалиста. Применение редактора позволяет автоматизировать этап формализации знаний и описания их на определенном языке представления знаний. Высокая степень универсальности редактора достигается за счет использования универсальной модели данных – абстрактного (мета) уровня представления продукций. Приведены описания требований к редактору и решаемых им задач, его архитектуры, основных функций и универсальной модели для представления и хранения продукций. Модель включает понятия: база знаний, шаблон, факт, слот, правило, условие, предусловие, действие, функция, переменная, аргумент. Отличительной особенностью редактора является его способность интегрироваться с моделями предметных областей, построенными с применением CASE-средств (например Poseidon for UML, IBM Rational Rose), которые используют формат XMI для описания своих моделей. Редактор обладает расширяемой архитектурой, то есть реализована возможность подключения динамических библиотек (модулей), поддерживающих различные языки представления знаний. В настоящий момент реализован модуль поддержки языка представления знаний CLIPS, обеспечивающий преобразование знаний из универсальной структуры в CLIPS и обратно. Редактор использован при создании баз знаний для решения задачи прогнозирования технического состояния и остаточного ресурса деталей уникальных машин и аппаратуры в нефтехимии и автоматизированного построения деревьев отказов и событий на основе модели динамики технического состояния.
Ключевые слова: метауровень, редактор, продукции, база знаний, экспертные системы.
Сложность и трудоемкость процесса разработки экспертных систем (ЭС) обусловлена главным образом сложностью и трудоемкостью этапа разработки БЗ, включающего задачи по формализации предметных знаний и их описанию на определенном языке представления знаний. Повышение эффективности решения данных задач путем их автоматизации обусловливает необходимость разработки специализированных программных средств. Подобные программные средства в виде редакторов БЗ (Visual Expert System Designer, Expert System Designer, ES-Builder, ДИЭКС и др.) позволяют повысить эффективность процесса разработки за счет использования визуального мо- делирования, шаблонов представления знаний, автоматизации процесса верификации БЗ и генерации их программного кода на целевом языке представления знаний. Одним из перспективных направлений в данной области является создание редакторов, способных интегрироваться с моделями предметных областей, построенными с использованием онтологических систем (например Protege) или CASE-средств (например Poseidon for UML, IBM Rational Rose).
Целью работы является создание редактора для БЗ продукционного типа с учетом следующих основных принципов:
На основании этих принципов сформулированы основные требования и задачи:
В результате решения поставленных задач была разработана универсальная модель (рис. 1) для хранения и представления знаний, включающая понятия: БЗ, шаблон, факт, слот, правило, условие, предусловие, действие, функция, переменная, аргумент. Структура основана на модели, предложенной в [2].
Разработанная модель позволяет абстрагироваться от особенностей описания продукций в разных языках представления знаний и хранить знания в собственном независимом формате. Программная реализация структуры на уровне хранения знаний выполнена при помощи XML.
Архитектура редактора (рис. 2) включает модули управления БЗ, поддержки языков представления знаний (ЯПЗ), управления модулями поддержки ЯПЗ, управления словарями-справочниками (интеграции с онтологиями), интеграции с графическими форматами, управления машинами вывода и графический интерфейс пользователя.
Данные модули обеспечивают выполнение следующих функций:
Графический пользовательский интерфейс обеспечивает доступ к перечисленным функциям. Основное рабочее пространство пользователя разделено на три рабочие области.
1. «Проводник». Отображает элементы (переменные, функции, шаблоны, факты, правила) БЗ, открытой для редактирования, и содержит кнопочную панель для вызова мастеров, реализующих основные функции манипуляции с элементами БЗ.
2. «Информация об объекте». Обеспечивает возможность просмотра описания выбранного элемента БЗ (описание может содержать либо не содержать операторы языка представления знаний).
3. «Справочная информация». Содержит окна справочных сведений и истории действий пользователя (с возможностью их отмены).
Мастера представляют собой последовательность экранных форм, сегментирующих и упорядочивающих процессы ввода и редактирования элементов БЗ. В частности, при вводе шаблона пользователю последовательно предлагается задать имя шаблона (используется для отображения в редакторе), короткое имя (используется в процессе логического вывода), описание и свойства (слоты) шаблона. При создании каждого свойства (слота) также используется мастер, который позволяет последовательно ввести для нового свойства (слота) имя, короткое имя, описание, тип (строка, символ или число), возможное значение по умолчанию и ограничение на это значение (больше, меньше, равно, не равно).
Подобные мастера применяются при вводе и редактировании фактов и правил.
Задача интеграции редактора с тематическими словарями-справочниками (онтологиями) решена с помощью XML – наиболее распространенного механизма внешней интеграции и унификации интерфейсов взаимодействия программных систем. Разработана структура описания терминов (понятий, значений), обеспечивающая их загрузку в редактор из текстовых файлов и онтологии [3]. Структура содержит поля: название словаря, описание словаря, список понятий со свойствами и значениями.
Основные отличительные свойства разработанного редактора:
Редактор использован при создании БЗ для решения задачи прогнозирования технического состояния и остаточного ресурса деталей уникальных машин и аппаратуры в нефтехимии [4] и автоматизированного построения деревьев отказов и событий на основе модели динамики технического состояния [5].
Дальнейшие исследования связаны с расширением функциональности разрабатываемого программного средства с целью его интеграции в единую систему управления знаниями, обеспечивающую их концептуализацию, формализацию, извлечение, верификацию, хранение и повторное использование.