Артемьева И.Л. Специализированные оболочки

advertisement
УДК 004.832
СПЕЦИАЛИЗИРОВАННЫЕ ОБОЛОЧКИ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ ДЛЯ
СЛОЖНО-СТРУКТУРИРОВАННЫХ ПРЕДМЕТНЫХ ОБЛАСТЕЙ*
И.Л. Артемьева1
В работе рассмотрены свойства сложно-структурированных предметных областей и
описаны компоненты специализированных оболочек интеллектуальных систем для
этих областей. Описаны свойства всех компонент оболочки. Отмечается, что важным
компонентом такой оболочки является подсистема сопровождения, обеспечивающая
адаптацию оболочки к изменениям предметной области.
Введение
При разработке интеллектуальной системы, основанной на знаниях, должны быть решены
следующие проблемы: как представить знания предметной области, как их использовать при
решении задач, как сопровождать базу знаний. Чем сложнее предметная область, тем сложнее
разработка такой системы и сопровождение ее базы знаний.
Универсальные и специализированные оболочки являются средством, упрощающим процесс
создания интеллектуальной системы. Универсальные оболочки основаны на использовании
некоторого универсального языка представления знаний. В специализированных оболочках при
представлении знаний используется специфичная для предметной области схема, определяемая
онтологией той области, для которой создается оболочка, что позволяет создавать базу знаний
эксперту предметной области без участия посредника, которым является инженер знаний.
В сложно-структурированных предметных областях, связанных с наукой, могут изменяться
не только знания, но онтологии, и, как следствие, множество классов решаемых задач. Однако
методы создания специализированных оболочек не учитывают данных свойств сложноструктурированных
особенностей
предметных
областей.
специализированных
Целью
оболочек
данной
работы
интеллектуальных
является
систем
для
описание
сложно-
структурированных предметных областей.
Свойства сложно-структурированных предметных областей
Рассмотрим
вначале
свойства
сложно-структурированных
предметных
областей,
определяющие свойства специализированных оболочек для них.
* Работа выполнена в рамках программы № 14 Президиума РАН, проект "Интеллектуальные системы, основанные на
многоуровневых моделях предметных областей".
1 690041,г.Владивосток, ул.Радио,5, ИАПУ ДВО РАН, artemeva@iacp.dvo.ru
Любая предметная область характеризуется множеством используемых величин и связанных
с ними набором математических терминов для обозначения операций и отношений над
элементами величин [1]. Вид используемых в предметных областях (ПО) величин определяется
способом получения информации о значениях, а также способом вербального представления
информации об объектах этой ПО. Элементы вербального представления могут задавать
информацию о значениях свойств объектов ПО, о структуре объектов, об (функциональных и
нефункциональных) отношениях между объектами ПО. Каждая величина характеризуется
множеством элементов этой величины, а также набором функций, операций и отношений.
Величины могут быть стандартными (примерами стандартных величин являются размерные,
скалярные и структурные величины, величины множеств, отображений [1]) или нестандартными.
Нестандартные величины свои для каждой предметной области. Примерами нестандартных
величин для химии являются структурные формулы соединений, спектры.
Характеристикой ПО являются знания, которые представляют собой множество утверждений
о свойствах ситуаций действительности. Если знания предметной области могут быть
представлены вербально в виде множества пар <термин, значение термина>, то будем говорить,
что знания структурированы. В противном случае знания неструктурированны и представляются
множеством утверждений на некотором логическом языке. Существуют предметные области, в
которых вербально представлена только часть знаний. Таким свойством обладает химия, в
которой структурированная часть знаний описывает свойства различных объектов этой области,
а неструктурированная содержит законы этой области.
Если знания предметной области или их часть структурированы, то свойством предметной
области является онтология знаний [2], которая определяет понятия, используемые при
вербальном представлении знаний, и онтологические соглашения, задающие ограничения на
множества значений
этих
терминов. Для предметных областей, знания которых не
структурированы, онтология знаний пуста, а все законы ПО представляются с использованием
терминов онтологии действительности, состоящей из описаний терминов и онтологических
соглашений, задающих ограничения целостности действительности.
Если знания предметной области структурированы, то множество онтологических
соглашений кроме ограничений целостности действительности и знаний содержит еще одну
группу соглашений, задающих связи знаний и действительности предметной области.
Онтология сложно-структурированной области является многоуровневой и модульной [3-4]
(рис. 1). Уровень с максимальным номером n представляет онтологию предметной области. Он
содержит термины, при помощи которых определяется онтология следующего уровня (онтология
раздела). Переход к уровню с меньшим номером состоит в задании терминов онтологии (раздела
или подраздела предметной области), а также онтологических соглашений этого уровня.
Определение последних предполагает задание значений терминов онтологии предыдущего
уровня либо утверждений на некотором языке записи соотношений.
Назовем онтологией уровня 1 онтологию вместе с системой знаний. Такая онтология
определяет свойства множества ситуаций действительности предметной области и поэтому в ней
терминам онтологии действительности не сопоставлены значения. Задавая значения терминам
онтологии действительности, получим описания конкретных ситуаций предметной области (или
"онтологию" уровня 0).
Онтология
предметной
области
Онтология
раздела 1
Онтология
раздела i
...
Онтология
подраздела 1
раздела i
Онтология
подраздела j
раздела i
...
...
...
Онтология
раздела n
Онтология
подраздела m
раздела i
...
Рис. 1. Структура онтологии сложно-структурированной предметной
области
Компоненты специализированной оболочки
Можно выделить следующие группы пользователей специализированной оболочки
интеллектуальных систем для сложно-структурированной предметной области:
- сопровождающий программист;
- инженер знаний;
- эксперт;
- специалист предметной области.
Сопровождающий программист обеспечивает развитие программных компонент, инженер
знаний и эксперт – развитие информационных компонент, а специалист предметной области
использует готовые программные и информационные компоненты при решении своих
прикладных задач.
Основными
компонентами
специализированной
оболочки
являются
редактор
многоуровневой онтологии, редактор знаний, управляемый онтологией, и системы для решения
задач разных классов.
Специализированный редактор многоуровневой онтологии предназначен для использования
инженерами знаний. Он обеспечивает возможность создания и редактирования нового модуля
онтологии уровня i под управлением модуля онтологии уровня i+1, а также повторное
использование существующих модулей онтологии каждого уровня.
Специализированные редакторы знаний, управляемые онтологией, предназначены для
использования экспертами сложно-структурированной области. Они обеспечивают возможность
создания и редактирования нового модуля знаний под управлением модуля онтологии знаний
уровня 2.
Специализированные
решатели
классов
прикладных
задач
предназначены
для
использования специалистами предметных областей, они позволяют задать исходные данные
задач, получить результаты решения и их объяснение в терминах онтологии действительности.
Для развивающихся предметных областей важным компонентом специализированной
оболочки является подсистема сопровождения, которая предназначена для использования
сопровождающим программистом. Она позволяет изменить состав программных компонент
оболочки.
Свойства редакторов информационных компонент
Информационными
компонентами
специализированной
оболочки
для
сложно-
структурированной ПО являются многоуровневая модульная онтология и модульная база знаний.
Создание и редактирование информационных компонент осуществляется многоуровневым
редактором онтологий и редактором знаний, разработка которых основывается на онтологии
уровня n.
Редакторы
многоуровневых
онтологии
и
знаний
должны
позволять
создание
и
редактирование модульных онтологий и знаний, а также обеспечивать возможность повторного
использования модулей при создании онтологий и знаний новых разделов и подразделов области,
причем процесс создания и редактирования модуля онтологии уровня i-1 должен управляться
онтологией уровня i, а процесс создания и редактирования модуля знаний – онтологией уровня 2.
Редактор онтологии должен обеспечивать возможность выбора того из существующих
модулей онтологии уровня i, который управляет процессом редактирования создаваемого
модуля. Аналогично при редактировании модуля знаний должна обеспечиваться возможность
выбора «управляющего» модуля онтологии уровня 2.
Редакторы
онтологии
и
знаний
должны
обеспечивать
возможность
задания
структурированной и неструктурированной части онтологии, а также структурированной и
неструктурированной части знаний, т.е. программным компонентом этих редакторов должен
быть специализированный редактор утверждений, позволяющий вводить онтологические
соглашения и законы предметной области.
Добавление новой нестандартной
величины
Добавление нового
редактора
сопровождающий программист
Библиотека подпрограмм для работы с нестандартными
величинами
Каталог
библиотеки
Библиотека редакторов знаний
системы для ввода/
вывода значений
нестандартных величин
Система поддержки
библиотеки подпрограмм для
работы с нестандартными
величинами
Редактор законов и
онтологических
соглашений
Система поддержки
библиотеки редакторов
знаний
Управление
процессом
редактирования
Специализированный
редактор
многоуровневой
онтологии
Модули
онтологии
уровня m-1
Каталог
библиотеки
Специализированные
редакторы знаний
Модули
онтологии
уровня m-2
Модули
онтологии
уровня 2
...
Создание и
редактирование
Модули базы
знаний
Передача
данных
Использование
Информационные компоненты
Передача
управления
Рис. 2. Состав редакторов информационных компонент
Редактор знаний должен обеспечивать возможность ввода/вывода значений нестандартных
величин при редактировании знаний. Для значений нестандартных величин в предметной
области может существовать способ их графического представления. Например, для химии [5]
графически может быть задана краткая структурная формула или структурная формула
химического соединения. Поэтому редактор знаний должен обеспечивать возможность
использования принятого в предметной области графического способа представления значений
нестандартных величин при создании и редактировании знаний. Величина, которой принадлежит
значение некоторого свойства, задается онтологией уровня 2. Поэтому редактор знаний должен
обеспечивать автоматический выбор (управляемый онтологией уровня 2) средств для
графического представления значений нестандартных величин при редактировании знаний.
Редактор онтологии интерпретирует онтологию уровня i при создании модуля онтологии
уровня i-1. Редактор знаний интерпретирует онтологию уровня 2 при создании модуля знаний.
Одна и та же онтология может интерпретироваться разными способами в разных редакторах
знаний. Редакторы знаний могут отличаться не только способом интерпретации знаний, но и
интерфейсом. Очевидно, что более удобный интерфейс и более понятный эксперту способ
интерпретации можно обеспечить для редактора, предназначенного для интерпретации одной
онтологии, а не класса онтологий. Поэтому специализированная оболочка должна позволять
использование редакторов, поддерживающих разные способы интерпретации модуля онтологии
уровня 2 и предоставлять возможность эксперту выбора требуемого ему редактора знаний.
Таким образом, в состав редакторов информационных компонент должны входить (рис. 2):
специализированный редактор многоуровневой модульной онтологии, специализированные
редакторы знаний, управляемые онтологиями уровня 2, системы ввода/вывода значений
нестандартных величин, редактор утверждений, позволяющий задавать законы и онтологические
соглашения предметной области.
Свойства систем для решения прикладных задач
Значения нестандартных величин используются не только при редактировании знаний, но
также при вводе исходных данных задач. Графический способ задания исходных данных задач
более удобен для специалиста предметной области, поскольку в этом случае отсутствует
необходимость громоздкого вербального описания этих данных [5]. Графическое представление
результатов решения является более наглядным способом представления. Поэтому оболочка
должна обеспечивать возможность ввода/вывода значений нестандартных величин при задании
исходных данных задач, а также позволять использование принятого в предметной области
графического способа представления значений нестандартных величин при вводе исходных
данных задач и выводе результатов их решения.
Как уже отмечалось, величина, которой принадлежит значение некоторого свойства,
задается онтологией уровня 2. Оболочка должна обеспечивать автоматический выбор
(управляемый онтологией) средств для графического представления значений нестандартных
величин при задании исходных данных задач.
Каждый раздел (и подраздел) сложно-структурированной ПО характеризуется своим
множеством классов прикладных задач, причем разные множества могут содержать как общие
классы задач, так и специфичные для раздела (подраздела). Решатель задач может быть
предназначен для решения классов задач одного раздела (в этом случае он использует онтологию
и знания этого раздела), либо разных разделов (в этом случае он может использовать разные
онтологии и знания). В первом случае используемая решателем онтология определяется классом
задач. Во втором случае требуется дополнительное указание, какие онтология и знания должны
использоваться в процессе решения. Специализированная оболочка интеллектуальных систем
для сложно-структурированной предметной области должна обеспечивать возможность решения
задач разных классов, причем пользователь должен иметь возможность указания модуля
онтологии и модуля знаний, которые надо использовать при решении задач.
При решении задач одного класса могут использоваться разные системы, имеющие
различные характеристики сложности. Эти характеристики зависят от свойств исходных данных
и условий задачи. Системы для решения задач одного класса могут также отличаться
интерфейсом, использовать разные методы решения этого класса задач. Например, при
вычислении значения некоторого свойства физико-химического процесса могут использоваться
разные законы предметной области.
Таким образом, специализированная оболочка должна содержать расширяемые библиотеки
систем для решения задач разных классов, системы автоматического построения методов
решения задач по их спецификации (рис. 3). Метод решения задач может быть представлен либо
в виде алгоритма, либо в виде множества правил системы продукций. В первом случае для
создания решателя задач используется процессор алгоритмического языка, во втором случае –
процессор языка, основанного на правилах, который является одним из программных компонент
специализированной оболочки.
Система поддержки
библиотеки подпрограмм для
работы с нестандартными
величинами
Каталог
библиотеки
Система поддержки
библиотеки систем для
решения задач разных
классов
Системы автоматического
построения методов
решения классов задач
системы для ввода/
вывода значений
нестандартных величин
Системы для решения
класса задач
Языковой процессор
системы, основанной на
правилах
Каталог
библиотеки
Библиотека систем для
решения задач разных классов
Библиотека подпрограмм для работы с нестандартными
величинами
Передача
данных
Модули
онтологии
уровня m-1
Модули
онтологии
уровня m-2
...
Модули
онтологии
уровня 2
Модули базы
знаний
Использование
Передача
управления
Информационные компоненты
Рис. 3. Системы для решения задач и средства для их разработки
Заключение
Если предметная область развивается, то изменяется и ее онтология, и знания. Следствием
изменения онтологии является изменение множества классов решаемых задач. Таким образом,
развитие сложно-структурированной предметной области предполагает появление как новых
информационных, так и новых программных компонент интеллектуальной системы. Изменение
информационных
компонент
поддерживается
редакторами
этих
компонент.
Развитие
программных компонент предполагает наличие подсистемы поддержки этого процесса.
Подсистема сопровождения специализированной оболочки должна обеспечить возможность
добавления новых подсистем для ввода/вывода значений нестандартных величин, в частности
поддерживающих графический способ их представления, новых классов задач и подсистем для
их решения, а также позволять включение в состав программных компонент подсистем для
автоматического формирования решателей классов задач. Таким образом, программными
компонентами
системы
сопровождения
являются:
подсистема
поддержки
библиотеки
подпрограмм для работы с нестандартными величинами, подсистема поддержки библиотеки
редакторов знаний (рис. 2), подсистема поддержки библиотеки решателей задач, подсистема
поддержки библиотеки систем для автоматического формирования решателей задач по
спецификации задач (рис 3). При разработке методов решения задач в виде множества правил
используется языковой процессор языка, основанного на правилах.
Список литературы
1. Артемьева И.Л., Гаврилова Т.Л., Клещев А.С., Логические модели второго порядка для
предметных областей // Научно-техническая информация, сер.2.- 1997.- № 6. С.14-30.
2. Клещев А.С., Артемьева И.Л. Математические модели онтологий предметных областей.
Часть 2. Компоненты модели. // Научно–техническая информация, сер. 2. – 2001. - № 3. - С.19-29.
3. Артемьева И.Л. Многоуровневые модели предметных областей и методы их разработки //
Десятая нац. конф. по искусственному интеллекту с междунар. участием, Обнинск, 25-28
сентября 2006: сб. тр. в 3-х томах. М.: Физматлит. 2006. - Т.1. - С. 44-51.
4. Артемьева И.Л., Рештаненко Н.В., Цветников В.А. Многоуровневая онтология химии //
Всероссийская конф. с межд. участием «Знания-Онтологии-Теории». Новосибирск, 14-16
сентября 2007. Новосибирск: Институт математики. - Т.1. С. 138-146.
5.
Артемьева И.Л.,
Рештаненко Н.В. Интеллектуальная система, основанная на
многоуровневой онтологии химии // Программные продукты и системы. - 2008. - № 1. – С. 84-87.
Download