Научная статья на тему 'Методы и средства построения онтологий для интеллектуализации сети Интернет'

Методы и средства построения онтологий для интеллектуализации сети Интернет Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
3031
375
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Батищев С. В., Искварина Т. В., Скобелев П. О.

В настоящей работе рассматривается проблема интеллекту ализации сети Интернет и создания так называемого Semantic Web за счет реализации нового поколения программных Интернет-приложений, использующих понятие "онтология" для понимания смысл а информационных ресурсов и кооперативного взаимодействия между собой. Сравниваются различные определения понятия "онтология", описываются критерии построения онтологий и онт ологический базис первичных понятий и отношений для построения онтологий как "фрагментов мира". Рассматриваются методы формализации и интеграции онтологий, а также языковые средства для представления и работы с онтологиями. Формулируются требования к программным инструментам для построения онтологий и даются примеры успешной реализации онтологий в сети Интернет.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ONTOLOGY DEVELOPMENT METHODS AND TOOLS FOR INTELLECTUALIZATION OF INTERNET RESOURCES

The problem of Internet resource intellectualization and "Semantic Web" development is analyzed. New generation of Internet applications (based on the concept of "ontology" for semantic description of Internet resources and cooperative activities) are overviewed. Different approaches to "ontology" concept definition are compared. Ontology development criteria and basis of primary concepts are given. Methods for formal ontology definition and integration (together with relevant programming language tools for ontology description) are described. Software tools requirement are proposed. Examples of successful implementations of different ontology-based web projects are given.

Текст научной работы на тему «Методы и средства построения онтологий для интеллектуализации сети Интернет»

УПРАВЛЕНИЕ И МОДЕЛИРОВАНИЕ

УДК 681.3

МЕТОДЫ И СРЕДСТВА ПОСТРОЕНИЯ ОНТОЛОГИЙ ДЛЯ ИНТЕЛЛЕКТУАЛИЗАЦИИ СЕТИ ИНТЕРНЕТ

© 2002 С.В. Батищев1, Т.В. Искварина1, П.О. Скобелев2

1 Самарский филиал Физического института им. П.Н. Лебедева РАН 2 Институт проблем управления сложными системами РАН, г. Самара

В настоящей работе рассматривается проблема интеллектуализации сети Интернет и создания так называемого Semantic Web за счет реализации нового поколения программных Интернет-приложений, использующих понятие "онтология" для понимания смысла информационных ресурсов и кооперативного взаимодействия между собой. Сравниваются различные определения понятия "онтология", описываются критерии построения онтологий и онтологический базис первичных понятий и отношений для построения онтологий как "фрагментов мира". Рассматриваются методы формализации и интеграции онтологий, а также языковые средства для представления и работы с онтологиями. Формулируются требования к программным инструментам для построения онтологий и даются примеры успешной реализации онтологий в сети Интернет.

Введение

В настоящее время Интернет предоставляет пользователю огромное количество информации, а также разнообразных услуг, от ’№еЪ-магазинов до бюро путешествий. И с каждым днем интенсивность информационных потоков все увеличивается, что вызывает целый ряд новых проблем.

Первая проблема - желание пользователя получать только ту информацию или услугу, которая его интересует, и не получать огромное количество не нужных ему ссылок. Для решения этой задачи должны существовать более интеллектуальные инструменты, более точно понимающие желания пользователя. В частности, поисковые машины должны стремиться к действительному "пониманию" запросов, сделанных на естественном языке, накапливать знания о предметной области или пользователе и уметь делать из них определенные выводы.

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

ся программа продажи некоторого товара в магазине и программа доставки его со склада потребителю). Вместе с тем, взаимодействие программ могло бы положить конец постоянному дублированию разработок и унификации сервисов в сети.

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

Для решения указанных проблем W3C Consortium разрабатывает идею Семантического Веба (Semantic Web). "Семантический Веб (Semantic Web) - это не отдельная сеть, а расширение современной сети, в которой информации присваивается четко определенный смысл, позволяющий людям и компьютерам лучше работать в сотрудничестве" [1]. Суть этой идеи заключается в том, чтобы научить, наконец, машины понимать содержание Интернет-страниц, т.е. распознавать и интерпретировать смысл (значение) той информации, которая находится на странице.

Для семантизации информации в Интернет в настоящее время активно развивается

онтологический подход. В рамках этого подхода каждый информационный квант сети получает описание в терминах специального формализованного фрагмента представления мира - так называемой "онтологии". Для системы бронирования билетов такая модель мира может включать взаимосвязанные представления понятий "самолет", "билет", "рейс", "дата вылета" и т.д. Для Интернет-магазина -"покупатель", "товар", "цена", "продажа", "поставка" и др. При заказе конкретного билета или покупке выбранного товара некоторым покупателем в системе (центре продажи билетов или магазине) сложится определенная сцена, описываемая комбинацией условий и действий, которая может быть интерпретирована программами, в результате чего пользователю может быть предложен другой рейс или дополнительный товар с большой скидкой [2].

При этом особый интерес представляют онтологии для интеллектуальных агентов

- программных объектов, способных воспринимать ситуацию, принимать решения и ком-муницировать с себе подобными [3]. Загружая ту или иную онтологию, агенты могут мгновенно настраиваться на новую предметную область, а также обмениваться между собой не только данными, но и знаниями, что создает предпосылки для создания самоорганизующихся и саморазвивающихся распределенных систем знания.

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

Определение понятия онтология

В словаре Брокгауза и Ефрона [4] говорится, что "онтология ("оп1;о^1а") - вообще учение о сущем. Здесь рассматриваются понятия нечто и ничто, возможное и невозможное, определенное (или действительное) и неопределенное, количество и мера, качество, порядок и истина (определяемая формально, как единство многообразного или согласие различного), свойства и условия действительного бытия - пространство, время, дви-

жение, форма, происхождение из другого и переход в другое...". Иммануил Кант писал: "Онтология - это теория обо всех моих концептах, которые могут быть поняты мной только априори" [5].

Как следует из этих определений, в философии онтология - это системный раздел о бытии, т.е. о том, что нас непосредственно окружает (для домашнего кабинета - это стол, компьютер, шкаф и т.д.). Для компьютерных систем "существует" только то, что может быть представлено и, в простейшем понимании, онтология - это способ представления знаний о фрагменте окружающего мира, или знания "как они есть" ("knowledge as it is").

По более формальному определению Тома Грубера [6], впервые применившего это понятие в области информационных технологий, онтология - это "спецификация концептуализации". Концептуализация, связанная с введением абстрактных объектов и других понятий для описания мира - это абстрактный, упрощенный взгляд на мир, который мы хотим представить для некоторой цели.

Под формальной моделью онтологии О часто понимают упорядоченную тройку вида

O = <C, R, F>, где С - конечное множество концептов (понятий) предметной области, которую определяет онтология О; R - конечное множество отношений между концептами (понятиями) предметной области; F - конечное множество функций интерпретации (аксиоматизация), заданных на концептах и/или отношениях онтологии О [7]. Естественными ограничениями, накладываемыми на множество С являются конечность и не пустота. Что касается множеств R и F, то они могут быть пустыми, что соответствует частным видам онтологии, когда она вырождается в простой словарь, таксономию понятий и т.д.

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

Критерии построения онтологий

Цель создания онтологий - обеспечить поддержку деятельности по накоплению, разделению и повторному использованию знаний. Исходя из этой цели, в [8] введен ряд критериев, которым должна отвечать онтология:

- Прозрачность - онтология должна эффективно передавать подразумеваемое значение определенного термина.

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

- Расширяемость - онтология должна быть разработана с возможностью использования разделяемого и пополняемого словаря.

- Независимость от синтаксиса - концептуализация должна быть специфицирована на уровне знания максимально независимо от представления понятий на уровне символов.

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

Базис для создания онтологий

Для формализации знаний в онтологии необходимо выбрать базис, в котором будут описываться концепты.

В качестве примера одного из таких базисов в [9] предложен следующий набор компонент:

- классы (classes) - обычно организованы в таксономии;

- отношения (relations) - представляют тип связей между концептами предметной области. Формально они определяются как подмножество n множеств таких, что: R: C1 x C2 x ... x Cn. Примеры простых бинарных отношений: "быть частью" ("part-of'), "подкласс-класс" ("subclass-of") или "связанный-с" ("connected-to");

- функции (functions) - специальный слу-

чай отношений, в котором n-й элемент отношения определяется по значениям (n-1) предшествующих элементов: F: C1 x C2 x ... x Cn1 ^ Cn. Примеры: функция "Price-of-a-used-car", которая вычисляет цену подержанной машины в зависимости от ее модели, даты выпуска и числа километров;

- аксиомы (axioms) - моделируют предложения, которые всегда истинны. Пример аксиомы: "если что-то сделано из дерева, оно может гореть";

- экземпляры (instances) - представляют элементы. Например, моя конкретная маленькая белая мышь является экземпляром класса "Мыши".

Заметим, что данный базис - отнюдь не единственный, например, в [10] рассматривается вариант "объекты" - "отношения" -"роли" - "атрибуты" при построении онтологий организаций. В работе [11] была предложена и реализована другая модель онтологического базиса: "объекты" - "свойства" - "процессы" - "отношения" - "атрибуты", восходящая к работам Аристотеля, первым обнаружившим, еще задолго до появления первых языков объектного программирования, что "объекты - суть свойства".

Еще одним примером онтологического базиса может служить формальная онтология свойств, представленная в [12], в которой свойство - центральная сущность. Здесь рассматривается в первую очередь проблема формирования правильной таксономической структуры онтологии. Свойство соответствуют узлу таксономии. Формальная онтология основывается на наборе мета-свойств, построенных вокруг философских понятий идентичности (identity), единства (unity), сущности (entity) и зависимости (dependency). Комбинации мета-свойств определяют разновидности свойств такие, как категория, тип, роль, атрибут и прочие. Таким образом, мета-свойства налагают некоторые ограничения на категоризацию и помогают "очищать" таксономии, т.е. прояснять неправильно выделенные концепты (misconcepts), делая их более понятными, облегчая их сравнение и интеграцию. На практике, ответив на простые вопросы о каждом свойстве в иерархии ("Присуще ли

это свойство всем его экземплярам?", "Зависит ли от какого-нибудь другого свойства?" и т.п.), можно определить наборы мета-свойств каждого узла и, соответственно, отнести его к определенной разновидности свойств. Таким образом, строится основная линия наследования - backbone taxonomy, в которую входят категории, типы и квази-типы. Остальные свойства (различные атрибуты, роли и т.п.) становятся элементами боковых линий. Результатом такой "очистки" в примере, приведенном в [13], стало удаление многих случаев множественного наследования. Это не является обязательной целью, однако, показывается, что множественное наследование часто используется как средство представить нечто большее, чем просто категоризацию. Например, свойство "Страна" было потомком свойств "Место" ("Location") и "Социальная сущность". После первого этапа это понятие было признано не строгим, т.к. страна, например Пруссия, может уже не существовать, в то время как все еще можно поехать на ее географическое местоположение. Но в то же время страна включает в себя два понимания: географический регион (строгое свойство) и политическая сущность (строгое свойство). В итоге же свойство "страна" стала потомком только "свойства" "Социальная сущность", но появилось свойство "Географический регион" - потомок свойства "Место".

Важно отметить, что выбор онтологического базиса приобретает ключевое значение особенно в случае, когда необходимо приобретение новых знаний, например, когда в сети встречаются два агента, имеющие разные онтологии. При наличии единого базиса эти агенты имеют шанс "договориться", поскольку их системы знания базируются на едином основании. В частности, в модели [3] агент в ответ на запрос с указанием на неизвестный объект сможет спросить "что это?" и получить ответ "объект", после чего запросит определения этого объекта и "подцепит" (встроит) его в свою онтологию, получив возможность рассуждать о соответствующих классах и экземплярах объектов.

Формализованное представление знаний

Для формализованного представления знаний наибольшее распространение получили подходы на основе фреймов, семантических сетей и продукционных правил [2]. Отметим, что в уже описанной формальной онтологии свойств используется одна из разновидностей фреймовой модели представления онтологии.

Семантические сети являются на сегодня наиболее сложными и наиболее удобными формами концептуализации знаний. Семантические сети состоят из узлов и упорядоченных отношений (связей), соединяющих эти узлы. Узлы выражают понятия или предположения, а связи описывают взаимоотношения между этими узлами.

Для представления знаний обычно используют неоднородные семантические сети [14]. В самом простом случае неоднородную сеть можно представить как совокупность следующих объектов: множества S имен предметов и процессов реального мира и семейства R отношений на множестве S. Различают экстенсиональные и интенсиональные семантические сети. Экстенсиональные сети задаются посредством перечисления всех экземпляров Интенсиональные сети -это сети, задаваемые посредством обобщающих концептов. Например, вместо отношений "Венди - дочь миссис Дарлинг" и "Майкл - сын миссис Дарлинг" будет введено отношение быть ребенком между детьми и родителями.

В результате развития подхода к представлению знаний в виде семантических сетей, был разработан ряд методик по их построению и использованию, в числе которых выделим отдельно как наиболее интересную Динамические семантические сети (Dynamical Semantic Network - DSN).

DSN, как определяет их Смоленцев С.В. (см. http://inftech.webservis.ru/it/conference/scm/ 2000/session8/smolen.htm), - это метод представления знаний, позволяющий строить сетевые интеллектуальные системы (или сети

интеллектуальных систем). В основу концепции динамической семантической сети положены следующие принципы: интеграция процедурных и декларативных знаний; параллельное функционирование всех компонентов сети; эволюция сети в реальном времени. Динамическая семантическая сеть - это семантическая сеть, у которой каждый узел является выполняемым вычислительным процессом, обладающим: алгоритмами обработки информации и выработки решений; средствами общения с другими узлами сети; определенным поведением, что, как легко заметить, в целом очень близко понятию программного агента.

На основе DSN может быть построена иерархическая DSN, которая представляет собой граф, узлы которого - выполняемые процессы, обладающие набором атрибутов и присоединенных функций. Структура графа отражает текущую модель предметной области. Однако множество дуг графа не ограничивается дугами, отражающими отношения "класс-подкласс", а включает в себя дуги, отражающие отношения "система-подсистема" и ассоциативные связи между узлами. Каждый узел содержит в себе кроме уникальных данных информацию о своей окрестности и множество процедур. Такая технология представляется перспективной для описания современных распределенных и эволюционирующих программных систем.

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

В последнее время помимо рассмотренного формализованного "явного" представления знаний, все большее распространение получают методы их "неявного" представления, примером которого являются нейронныге сети [15]. Для нейронных сетей в настоящее время также существует много развитых ал-

горитмов. Нейронные сети и самообучающиеся автоматы являются красивой и удобной моделью для построения самообучающихся агентов, но требуют весьма рутинной процедуры обучения по примерам, что в ряде случаев сделать не представляется возможным; для эффективного обучения требуется большая выборка; даже на уровне отдельных "особей" трудно выделить семантику принимаемых решений.

Поэтому в настоящее время часто применяются комбинированные схемы, соединяющие преимущества явного и косвенного представления знаний. Примером такого подхода является, например, инструмент визуального конструирования знаний CAKE [16], агентная система Agent Builder компании Reticular Systems, которые используют фрей-мо-продукционную модель. В некоторых случаях применяется также сочетание фреймов и нейронных сетей для представления онтологий (см., например, [17).

Интеграция знаний от различных экспертов

При интеграции знаний от различных экспертов в рамках единой онтологии возникает новая проблема, связанная с индивидуальной природой знаний у экспертов и неравномерностью распределения знания между группой географически удаленных экспертов. В [18] для решения этой проблемы предлагается использовать технику репертуарных решеток Дж. Келли в рамках теории персональных конструктов. В рамках этой теории считается, что в основе нашего знания о мире лежат базовые категории, которые всегда помогают нам упрощать его восприятие, укладывать знания в определенную, понятную нам систему. Отдельные категории, как прутья, складываются в индивидуальные, групповые и профессиональные структуры (которые могут иметь разные названия - иерархии категорий и ценностей, когнитивные модели, и т.п.), всегда имеющие утилитарные значения, которые и позволяют их называть решетками. Метафора решетки очень удобна, т.к. она позволяет говорить об отдельных элементах, из которых состоит решетка. Описать

модель - значит выявить ту решетку, на которой "приготавливается продукт". Использование техники персональных конструктов позволяет расширить границы когнитивного пространства, в рамках которого живут и эксперт, продуцирующий знания, и рядовой пользователь это знания.

Интеграция знаний призвана помогать в организации и координации работы в современных "распределенных" компаниях. В таких случаях при создании онтологий ориентируются в первую очередь не на структуру объектов предметной области, а на структуру производственных и бизнес-процессов.

Для описания процессов и координации выполнения производственных операций все чаще используется методология ЦЬгкГ1о'№ (в буквальном переводе - поток работ) [19]. В основе методологии '^гкГ1о’№ лежат следующие понятия: объект - информационный, материальный или финансовый объект, используемый в бизнес-процессе; событие

- внешнее действие, произошедшее с объектом; операция - элементарное действие, выполняемое в рамках рассматриваемого бизнес-процесса; исполнитель. В рамках этой модели процесс состоит из операций и других процессов. Операция адресуется исполнителям, которые, в свою очередь, отвечают за выполнение одной или нескольких операций бизнес-процесса. Объекты участвуют в выполнении операции. События могут влиять на выполнение операций, например, изменяя результат операций или последовательность их выполнения. Операции обрабатывают события, являясь реакцией системы на внешние действия. Жизненный цикл объекта связан с внешними событиями и операциями, выполняемыми в составе процесса.

Заметим, что для описания такого рода онтологий могут быть использованы и классические сети Петри и алгебрыг процессов [20]. Сети Петри - это класс формализмов, основанных на представлении системы сетями с вершинами двух видов: позициями для представления локальных состояний системы и переходами, соответствующими атомарным действиям. Алгебры процессов - это также класс формализмов для описания и

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

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

Языки представления онтологий

Язык описания онтологий должен удовлетворять следующим требованиям [21]: быть достаточным для описания концептов предметной области; быть легко используемым на существующих платформах; давать возможность неспециалистам легко строить концептуальные модели.

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

Knowledge Interchange Format (KIF) - язык обмена знаниями (подробную спецификацию можно найти по адресу: http://inftech.webservis.ru/ it/conference/scm/2000/session8/smolen.htm). При разработке этого языка пожертвовали наглядностью: наиболее важной была лишь возможность любое представление знаний перевести в KIF, а затем однозначно восстановить или преобразовать с минимальными искажениями в другой формат. В результате KIF позволяет представлять как декларативные, так и процедурные знания, а его синтаксис очень напоминает LISP.

KIF является логическим функциональным языком. Сразу обратимся к примерам. Предложение (material table1 wood) (shape table 1 round) означает, что "table1 сделан из дерева и table 1 имеет круглую форму". Нетрудно описать, используя эту функциональную нотацию, и более сложные явления. Например, (=> (material ?x wood)(can burn ?x)), т.е. "если что-то сделано из дерева, оно может гореть". А фраза: (believe Bob A(shape, table 1, round)) значит, что агент Bob верит, что table 1

- круглый. Отметим, что знаки ‘Л’ и ‘,’ означают, что предложение (shape table 1 round) нужно воспринимать не как список, а как единый объект, единое выражение. Тогда конструкция (=> (believe Bob ?x)( believe myself ?x)) будет значить "я верю во все, во что верит Bob". Таким образом, язык KIF способен описывать и метазнания (знания о знаниях).

Язык KIF обладает широким набором математических функций, логических операций и описателей для формирования метазнаний. Неудивительно, что уже разработана, например, система алгебраических выражений (мир алгебры) в терминах KIF, которая позволяет производить обмен знаниями в области алгебры.

Другой вариацией в области концептуального моделирования является язык Unified Modelling Language (UML). Так, например, в [22] исследуется потенциал объектно-ориентированных стандартов для онтологического моделирования, и в частности описывается язык представления онтологий, основанный на подмножестве UML (универсальный язык моделирования) вместе со связанным с ним языком объектных ограничений OCL (Object Constraint Language).

Большинство же разработок по организации хранения знаний в Интернет в настоящее время основывается на языке XML (extended Markup Language). Популярность XML вызвана тем, что этот формат предназначен для описания структур любой степени вложенности. Такие структуры могут быть легко встроены в Web-страницу, т.к. XML очень легко интегрируется с HTML. В настоящее время разработано несколько стандартов расширения этого языка, например:

- XML DTD и XML Schema предназначены для определения структуры документов. С помощью этого языка можно задавать грамматики языков, производных от XML. Одним из таких языков является RDF (Resource Description Framework) - язык для описания ресурсов и связей между ними, рекомендованный W3C для обмена описаниями содержания страниц (см. http://www.w3.org/TR/1999/ REC-rdf-syntax-19990222);

- XPath и XPointer - расширения для орга-

низации ссылок между различными объектами и частями документов.

В настоящее время на основе XML и RDF разработано несколько языков, претендующих на то, чтобы быть стандартными языками онтологий:

- SHOE (Simple HTML Ontology Extentions);

- OIL (Ontology Inference Layer);

- DAML (DARPA Agent Markup Language).

Все они предназначены для описания

контента HTML-страничек и других объектов Web через установление смысла их содержания и имеют схожие архитектуры.

Рассмотрим структуру таких языков на примере языка OIL (описание языка составлено по материалам http://www.ontoknowledge.org/ oil/downl/dialects.pdf), созданного исторически после SHOE и использованного как база для определения DAML-Ont (а затем и языка DAML+ OIL).

OIL состоит из Standard OIL и Instance OIL, реализует фреймовую модель и содержит конструкции, содержащиеся во многих широко распространенных языках представления знаний.

Standard OIL описывает только декларативную часть онтологии в виде определений классов (class-def) и слотов (slot-def), а так же аксиом.

Определение класса связывает описания класса с его именем (поле name). Класс задается типом (type) - defined или primitive,- последовательностью классов, подклассом которых он является (subclass-of) и набором ограничений на слоты (slot-constraint).

Тип может быть defined или primitive. Первый указывает на то, что определение (т.е. комбинация последовательности предков и ограничений на слоты класса) является критерием для того, чтобы можно было сказать, что объект принадлежит классу. Например, определен defined класс "плотоядное", который является подклассом класса "животное" со слотом "еда". На этот слот наложено ограничение: "еда плотоядного - мясо". Тогда любое животное, у которого значением слота "еда" является "мясо", - "плотоядное". Тип primitive класса определяет ограничения только для этого класса. Т.е. если слон - живот-

ное с серой кожей, это не значит, что все животные, у которых кожа серая, являются слонами.

Очень интересным свойством языка является развитая методика описания таксономии. Subclass-of задается в виде списка классовых выражений (class-expression). Class-expression может быть именем класса, перечислимым классом (one-of...), слотовым ограничением или булевой комбинацией перечисленных выше вариантов с использованием операторов and, or и not.

Определения слота связывает имя слота с его описанием. В описании могут быть указаны: список слотов, подслотом которых является определяемый слот; классы, которым принадлежит слот; диапазон значений; слот, обратный к описываемому (слот "есть" является обратным к "быть-съеденным"); свойства (properties) - транзитивность, симметричность.

Аксиомы определяют некоторые дополнительные ограничения для классов онтологии. Например: плотоядные и травоядные являются несовместными (disjoint) классами, т.е. нет ни одного экземпляра, который был бы экземпляром сразу этих двух классов. Разрешены следующие аксиомы: disjoint, covered, disjoint-covered, equivalent.

Instance OIL добавляет языку Standard OIL возможность определять экземпляры классов и ролей, причем экземпляр может быть экземпляром одного или более классов. Означивание слотов происходит через сло-товые отношения (slot relations), которые соотносят означиваемый экземпляр с другими экземплярами и/или значениями данных.

Программные средства конструирования онтологий

Инструменты поддержки конструирования онтологий в последнее время становятся также все более популярными. При их создании и использовании необходимо помнить о следующих проблемах [21]:

- Поддержка совместных и распределенных работ, поддержка совместимости при работе на разных платформах.

- Масштабируемость, расширяемость,

версификация, безопасность.

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

- Жизненный цикл онтологии, т.е. наличие инструментов поддержки развития онтологий (например, инструменты слияния, система контроля кода и т.п.).

- Простота использования. В том числе, необходима поддержка простого, но разнообразного пользовательского интерфейса как для неискушенных, так и продвинутых пользователей, поддержка разных стилей представления информации (текстовый, графический или др.).

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

Кроме того, сам процесс визуального проектирования онтологии является "достаточно эффективным гносеологическим инструментом" [23, 24]), помогая разработчику или исследователю осознавать структуру предметной области, ее основные и производные концепты и отношения (связи) между ними.

И особенно много вопросов при создании инструментов вызывает проблема поддержки интеграции онтологий.

В онтологических работах слово "интеграция" используется в различных значениях. Так в [25] обсуждаются различные значения "интеграции" и предлагаются 3 слова для различения этих значений: интеграция

(Integration), слияние (Merge) и использование (Use/Application). Другой взгляд на проблему

- исследование по слиянию (merging) и "выравниванию" (alignment) онтологий [26]. Здесь, при слиянии онтологий создается одна согласованная онтологии. При выравнивании онтологий создаются связи между онтологиями, позволяя повторно использовать информацию из одной онтологии в другой. Т.е. в отличие от слияния, результат выравнивания

- две онтологии с постоянными связями, установленными между ними.

К проблемам интеграции относиться также задача трансляции (передачи) знаний между онтологиями. В [27] предлагается производить трансляции знаний на основе кластеризации ресурсов. В этой архитектуре ресурсы кластеризуются на базе похожести концептуальных моделей их областей (не в одной большой, а во многих, но более маленьких разделяемых онтологиях). Такой подход объясняется предположением, что ресурсы с похожими концептуализациями могут вести более "глубокие" переговоры, чем те, которые меньше разделяют свои концептуальные модели. Эта архитектура удобна для выполнения поддержки и масштабируемости, а также близка к человеческой модели концептуализации.

Онтологические кластеры организуются в иерархическую структуру. В кластере верхнего уровня лежат общие концепты, разделяемые всеми ресурсами. В кластерах более низкого уровня концепты, определенные в кластерах-предках, уточняются и расширяются, чтобы представить локальную концепцию для одного или более ресурсов. Если при построении онтологии какой-то агент "знает" некий концепт, который не разделяют другие агенты, то создается новый кластер. Концепты выражаются в терминах унаследованных и отличающих (distinguishing) атрибутов.

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

атрибуты), и, соответственно, смысл понятий исказится.

Для того чтобы сохранить смысл, нужно добавить некоторые ограничения. Трансляцию между двумя локальными онтологиями предлагается получать с помощью последовательных обобщений и специализаций, пытаясь найти первый более общий концепт (гиперним (hypernym)) такой, что существует трансляция между ним и концептом в разделяемой онтологии и создавая непосредственно поверх его онтологии концепты, выраженные в терминах разделяемой онтологии, вместе с их отличающими (distinguishing) атрибутами. Такая трансляция эффективна только, если концепты исходной и целевой онтологий имеют общего предка, который расположен не слишком высоко от них в иерархии, иначе шаги обобщения могут привести к слишком общему предку. В этом случае информация потеряется, и полученная трансляция может быть пустой. Атрибуты и отношения, связывающие концепты, играют важную роль в процессе обобщения, позволяя избежать потери информации. Фактически они не только дают идентификацию гиперниму концепта (в той же или в разделяемой онтологии), но также позволяют "привязать" некоторую характеристическую информацию к каждому концепту, показывая, таким образом, различие между концептом и его предком.

Специализированные методы и средства построения сложных онтологий, проведения онтологического анализа для интеграции знаний и реализации систем компьютерного моделирования разработаны в работе [28].

Применение онтологического подхода для построения онтологии инженерных знаний на примере машиностроения рассмотрено в работе [29].

Примеры успешных Интернет-применений

В настоящее время существует уже довольно много Интернет-проектов, в основу которых положены онтологии. Рассмотрим некоторые из этих систем.

Ontolingua Server (http://ontolingua. stanford.edu/) [30] - это инструмент для созда-

ния, поддержки и использования онтологий, хранимых на сервере. Здесь онтология - это набор определений (на формальном языке) фрагмента декларативных знаний, ориентированный на совместное многократное использование различными пользователями в своих приложениях. В онтологии вводятся термины, типы и соотношения (аксиомы), описывающие фрагмент знания. В системе используется собственный язык Ontolingua, который использует принципы объектноориентированного подхода и является расширением языка KIF для обмена знаниями и взаимодействия между программами.

Инструмент рассчитан на web-приложения. Это проявляется, в частности, в том, что он имеет HTML-интерфейс для визуального создания и поддержки онтологий.

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

В [31] приведен пример создания крупномасштабной базы знаний в виде онтологии. Взята The CIA’s World Fact Book (коллекция географических, экономических, социальных и др. фактов), описанная на SGML. Специально написанный парсер извлекает знания и записывает их в виде KIF-аксиом. В процессе всего этого получают словарь терминов, факты и исключения (куски текста, которые не удалось разобрать). На следующем этапе производится "очистка" знаний и построение таксономии терминов и строятся очевидные функциональные связи терминов. Затем строится онтология (построение классов и отношений между терминами, создание новых KIF-аксиом в этой онтологии на основе аксиом 1-го этапа). Созданная онтология подцеплена к нескольким существующим проектам представления онтологий (DARPA’s High Performance Knowledge Base Upper-Level ontology, Ontolingua Units and Dimensions Ontology).

Программа SMART [32], разработанная как часть системы поддержки моделирования знаний Protégé, базируется на алгоритме полуавтоматического слияния и "выравнивания" онтологий. SMART помогает разработ-

чику онтологий автоматически решать однозначные задачи и "подсказывать" в задачах, в которых возникает неоднозначность. SMART определяет неконсистентность в онтологических утверждениях, возможно из-за действий пользователя, предлагает пути решения. Определено множество базовых операций, применяемых при слиянии и "выравнивании", их действие. SMART опирается на некоторую "всеобщую" модель знаний и потому может быть применен на различных платформах. Алгоритм применен при "выравнивании" онтологии, разработанной как часть проекта DARPA’s High Performance Knowledge Base.

Для "желтых страниц" и каталогов продуктов, структурированное онтологическое представление содержания вместе с лингвистической онтологией может повысить и скорость отклика, и точность основанной на содержании возвращаемой информации. Информационно-поисковая система OntoSeek [33] разработана для семантически ориентированного поиска информации, комбинируя управляемый онтологией механизм установления соответствия смыслов и системы моделирования. Система OntoSeek использует "язык ограниченной выразительности" для представления контента и использует большую онтологию основанную на WordNet для матчинга содержания.

Применения в агентных системах

В последнее время онтологии находят все большее применение в различных агентных системах, позволяя отделить знания предметной области от программного кода агента и сделать их повторно используемыми. Здесь мы приведет только два примера, показывающих как использование онтологий агентами, так и использование агентов для построения онтологий.

Система Bee-gent (http://www2.toshiba. co.jp/beegent/index.htm), разработанная в Toshiba Corporation, Systems and Software Research Laboratories, является любопытным примером агентной системы с использованием онтологий для организации коммуникации. Bee-gent полностью "агентифицирует"

("Agentifies") коммуникацию, которая происходит между неагентными программными приложениями. Приложения запускают агентов, которые с этого момента поддерживают все сообщения между приложениями. Таким образом, Bee-gent позволяет разработчикам строить гибкие открытые распределенные системы, которые оптимально используют существующие приложения.

В Bee-gent есть 2-х типа агентов. "Агенты-Обертки" ("Agent Wrappers") используются для агентификации существующих приложений, т.е. они управляют состоянием "своих" приложений и вызывают их обработчики при необходимости. "Агенты-посредники" ("Mediation Agents") поддерживают координацию коммуникации между приложениями. Агенты используют онтологии при коммуникации. Когда в переговорах агентов-посредников и wrapper-агентов встречаются не интерпретируемые слова, агент-посредник может запросить перевод слова, т.к. в системе уже подготовлены сервисы онтологий. В Bee-gent сервисы онтологий доступны посредникам, если агенты-wrapper-ы являются клиентами OKBC (Open Knowledge Base Connectivity)

Интересное применение агентных технологий для построения онтологий описано в [34]. В этой системе создана и поддерживается метабаза данных онлайновых ресурсов по экономике (например, электронные публикации) - RePEc. Для решения проблемы информационной ориентации пользователей в усиливающемся потоке сведений о результатах исследований для каждого исследователя создается активный информационный робот - сетевой агент. Основной целью активности такого "и-робота" является поиск максимально благоприятных мест в научной системе разделения труда для своего "хозяина" и продвижение результатов "хозяина" среди исследователей, занимающихся близкой тематикой. Одновременная активность множества и-роботов в достижении подобной цели для всех членов некого научного сообщества (например, исследователей-экономи-стов), порождает процесс формирования онтологии ("тематической структуры предмет-

ной области"), происходит привязка к отдельным элементам онтологии имен исследователей. Отдельный исследователь занимает тем более высокое место в онтологической иерархии, чем большее количество работ, выполненных в данном сообществе, используют (цитируют) его результаты.

Заключение

В настоящей работе рассмотрена проблема описания семантики информационных ресурсов в сети Интернет на основе онтологического подхода. Онтологии позволяют разработчикам программных систем создавать семантические описания ресурсов, строить модели мира и обеспечивать возможность коммуникации для программных агентов в мультиагентных системах, а правильно спроектированные онтологии позволяют повторно использовать представленные в них знания и сокращать сроки проектирования систем.

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

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

- полноценный онтологический базис для представления понятий и отношений любой предметной области;

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

- представление гетерогенных знаний в виде смешанных моделей (комбинации семантических сетей, продукций, сценариев);

- динамическое обновление и структуризацию онтологии при одновременной работе многих экспертов;

- интеграцию разрабатываемых инструментальных средств с наиболее распространенными информационными технологиями (сервера Web, сервера приложений, сервера реляционных баз данных);

- интеграцию с другими системами на базе формирующихся в настоящее время defacto стандартов XML.

СПИСОК ЛИТЕРАТУРЫ

1. Berners-Lee T., Hendler J., Lassila O. The Semantic Web // Scientific American, May 2001.

2. Huhns M. N., Singh M. P Ontologies for Agents // IEEE Internet Computing, November-December 1997.

3. Batishev S. V., Ivkushkin C. V., Minakov I.A., Rzevski G.A., SkobelevP.O. MagentA MultiAgent Systems: Engines, Ontologies and Applications // Proc. of the 3rd Intern. Workshop on Computer Science and Information Technologies CSIT’2001, Ufa, Russia, 21-26 September, 2001. Ufa State Aviation Technical University. Institute JurInfoR-MSU. Vol. 1: Regular Papers. 2001.

4. Брокгауз Ф.А., Ефрон И. Энциклопедический словарь в 86 т. СПб., 1890-1907 гг.

5. Kant I. Lectures on metaphysics - Part III. Metaphysik L2 (1790-1791) // Translated and edited by Karl Ameriks and Steve Naragon. Cambridge University Press, 1997.

6. Gruber T. The role of common ontology in achieving sharable, reusable knowledge bases // Proceedings of the Second International Conference, 1991.

7. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. СПб.: Питер, 2000.

8. Gruber T. Toward Principles for the Design of Ontologies // International Workshop on Formal Ontology, March. 1993. Padova. Italy.

9. Gomez-Perez A., Benjamins V.R. Overview of Knowledge Sharing and Reuse Components: Ontologies and Problem-Solving Methods // Proc. of the IJCAI-99 workshop on Ontologies and Problem-Solving Methods (KRR5) Stockholm. Sweden. August 2. 1999.

10. Bummux B.Â. Онтологии сложных систем

- организаций // Препринт ИПУСС РАН. Самара. 1998. № 3.

11. Ândpeee B.B., Ивкушкин K.B., Минаков M.Â., Ржевский ГЛ., Скобелев П.О. Конструктор онтологий для разработки муль-тиагентных систем // Труды 3-ей Международной конференции по проблемам управления и моделирования сложных систем, Самара, 4-9 сентября 2001. Самара: СНЦ РАН, 2001.

12. Guarino N., Welty Ch. A Formal Ontology of Properties // Proc. of 12th Int. Conf. on Knowledge Engineering and Knowledge Management, Lecture Notes on Computer Science. © Springer Verlag. 2000.

13. Guarino N., Welty Ch. Ontological Analysis of Taxonomic Relationships // Proceedings of ER-2000: The International Conference on Conceptual Modeling. October, 2000.

14. ОсиповГ.С. Приобретение знаний интеллектуальными системами: Основы теории и технологии // Проблемы искуственного интеллекта. М.: Наука. Физматлит, 1997.

15. Grand S., Cliff D. Creatures: Entertainment Software Agents with Artificial Life // Autonomous Agents and Multi-Agent Systems 1(1). 1998.

16. BоuновÂ.B. Моделирование интуитивных рассуждений эксперта методами психосемантики и вывода с неопределенностью // Новости искусственного интеллекта. М., 1998. №2.

17. Леонтьев Â.Â., Леонтьев ЛЛ. Способы представления знаний и их компьютерное моделирование // Обработка текста и когнитивные технологии / Под ред. В.Д. Соловьева. Пущино: 1999. Вып.3.

18. Травина Л.Л. Извлечение знаний у эксперта, основанное на технике репертуарных решеток Дж. Келли, в пространстве Всемирной паутины // Обработка текста и когнитивные технологии / Под ред. В.Д. Соловьева. Пущино: 1999. Вып.3.

19. Уринцев Â.И. Об использовании бизнес-объектов в рамках создания ЭИС // Корпоративные системы / М.: Моск. го-суд. ун-т экономики, статистики и информатики, 2000.

20. Зазовская Â.Â., Ломазова ИЛ. О сравни-

тельной выразительности вложенных рекурсивных сетей Петри и алгебры процессов // Труды 7-ой Национальной конференции ИИ-2000, 24-27 октября 2000, Пе-реславль-Залесский, Россия. М., 2000. Т. 1.

21. McGuinness D.L. Ontologies Come of Age // The Semantic Web: Why, What, and How, MIT Press, 2001.

22. CranefieldS., Purvis V. UML as an Ontology Modelling Language // Proceedings of the IJCAI-99 Workshop on Intelligent Information Integration

23. Gavrilova T., Voinov A., Vasilyeva E. Visual Knowledge Engineering as a Cognitive Tool // Proc of International Work Conference on Artificial and Neural Networks IWANN’99. Spain. 1999.

24. Гаврилова Т. Визуальное проектирование баз знаний как гносеологический инструмент // Труды 7-ой Национальной конференции ИИ-2000, 24-27 октября 2000, Пе-реславль-Залесский, Россия. М., 2000. Т. 1.

25. Pinto H. S., Gomez-Perez A., Martins J. P Some Issues on Ontology Integration // Proceedings of the IJCAI-99 workshop on Ontologies and Problem-Solving Methods (KRR5) Stockholm, Sweden, August 2, 1999.

26. Noy N.F., Musen M.A. An Algorithm for Meriging and Aligning Ontologies: Automation and Tool Support // AAAI-99 Workshop on Ontology Management. Also, SMI Technical Report SMI-99-0799.

27. Visser P., Tamma V. An Experience with Ontology-based Agent Clustering // Proceedings

of the IJCAI-99 workshop on Ontologies and Problem-Solving Methods (KRR5) Stockholm, Sweden, August 2, 1999.

28. С.В. Смирнов. Онтологический анализ предметных областей моделирования // Известия Самарского научного центра РАН, 2002. Т.3. №1.

29.Г.Б. Евгенев. Онтология инженерных знаний // Информационные технологии. 2001. №6.

30.Farquhar A., Fikes R., Rice J. Ontolingua Server: a Tool for Collaborative Ontology Construction // International Journal of HumanComputer Studies 46, 707-727, 1997.

31. Farquhar A., Fikes R., Rice J. Building a large Knowledge Base from a Structured Source: The CIA World Fact Book // IEEE Intelligent Systems. January/February. 1999. Vol.14. №1.

32. Noy N.F., Musen M.A. SMART: Automated Support for Ontology Meriging and Alignment // Twelfth Banff Workshop on Knowledge Acquisition, Modeling, and Management; Banff, Alberta, Canada; 1999. Also, SMI Technical Report SMI-1999-0813.

33. Guarino N., Masolo C., Vetere G. OntoSeek: Content-Based Access to the Web // 70 1094-7167/99, IEEE INTELLIGENT SYSTEMS.

34. Krichel T., Левин Д., Паринов С. Активный информационный робот как сетевой агент исследователя (на примере сети онлайновых ресурсов по экономике RePEc/ RuPEc) // Труды Первой Всероссийской научной конференции. СПб., 1999.

ONTOLOGY DEVELOPMENT METHODS AND TOOLS FOR INTELLECTUALIZATION OF INTERNET RESOURCES

© 2002 S.V. Batishchev1, T.V. Iskvarina1, P.O. Skobelev2

1 Samara Branch of Physics Institute named for P.N. Lebedev of Russian Academy of Sciences

2 Institute for the Control of Complex Systems of Russian Academy of Sciences, Samara

The problem of Internet resource intellectualization and "Semantic Web" development is analyzed. New generation of Internet applications (based on the concept of "ontology" for semantic description of Internet resources and cooperative activities) are overviewed. Different approaches to "ontology" concept definition are compared. Ontology development criteria and basis of primary concepts are given. Methods for formal ontology definition and integration (together with relevant programming language tools for ontology description) are described. Software tools requirement are proposed. Examples of successful implementations of different ontology-based web projects are given.

i Надоели баннеры? Вы всегда можете отключить рекламу.