УДК 002.53:004.89
МЕТОД ОБЪЕДИНЕНИЯ ОНТОЛОГИЙ ПРЕДМЕТНЫХ ОБЛАСТЕЙ ЗНАНИЙ
А.Ф. Тузовский
Институт «Кибернетический центр» ТПУ Томский научный центр СО РАН E-mail: [email protected]
Предложенный метод объединения онтологических моделей позволяет сформировать согласованную общую модель различных областей знаний с незначительным вмешательством специалистов. Правильность полученной онтологии проверяется с использованием методов дескриптивной логики. Рассмотрены свойства предлагаемой операции объединения онтологий.
Введение
Основной идеей онтолого-семантического подхода [1] к построению систем управления знаниями (СУЗ) является использование онтологической модели знаний организации. Данная модель знаний включает набор онтологий: онтологии верхнего уровня, определяющий основные понятия организаций в общем, онтологии среднего уровня, определяющего понятия специфичные для конкретной организации, и набора онтологий предметных областей знаний, в которых выполняется работа конкретной организации. Для разных областей знаний создаются онтологические модели для определения основных понятий, используемых в них, которые будут связываться с онтологиями более высоких уровней. Все понятия, описанные в модели, выражаются в виде формальной онтологии, которая кодируются на формальном языке, например, OWL-DL, основанном на дескриптивной логике (ДЛ).
Онтологии характеризуются концептуальной локальностью и локальностью в использовании. Системе управления знаниями организации требуется поддерживать онтологию, которая является рабочим набором большого множества различных онтологий.
Текущая используемая онтология СУЗ (модель знаний организации) является динамически развивающимся рабочим набором, состоящим из множества онтологий. Для поддержки такого набора, система управления знаниями должна динамически строить текущую онтологию, импортируя требуемые онтологии из разных подразделений организации. Общая онтология должна поддерживать логическую согласованность между отдельными онтологиями. Кроме этого, загрузка и проверка согласованности должна быть полной и насколько это возможно автоматической.
В статье рассмотрен метод объединения двух онтологий [2]. Общая онтология системы строится путем многократного добавления отдельных онтоло-гий к общей онтологии, вместе с определениями и взаимосвязями между ними. На каждом этапе работы метода объединенная онтология проверяется на правильность с помощью дескриптивной логики.
1. Постановка задачи
Задача объединения онтологий формулируется следующим образом: даны две правильные онтоло-
гии, требуется создать третью правильную онтологию, которая представляет понятия во входных он-тологиях, а также дополнительные ограничения и взаимосвязи, если они требуются. Это может быть сделано ручным просмотром двух онтологий, обнаружением синонимов, разрешением противоречий и созданием третьей онтологии. Но для СУЗ этот процесс должен быть, насколько это возможно, автоматизирован.
Для любых двух онтологий, существует много способов их объединения без создания противоречий. В общем случае, почти любое понятие в одном словаре может быть связано с любым понятием в другом словаре. По этой причине онтологии обычно не могут объединяться без некоторых ограничений и подсказок со стороны проектировщика и/или администратора системы.
Описываемый метод требует небольшого набора естественных ограничений на организацию он-тологий, вместе с набором простых подсказок от разработчика онтологии или администратора системы. При наличии двух онтологий, которые следуют этим правилам, метод автоматически создает полную объединенную онтологию, распространяя результаты сделанных подсказок. Метод объединения находит конфликты между определениями, тем самым гарантируя, что составная онтология будет или правильной, или будет отклонена в связи с логической несогласованностью.
Онтология естественно интерпретируется, как граф классов. Каждое понятие является вершиной, а отношения включения (отношения класс-подкласс) являются дугами. Класс без базового класса является вершиной графа; класс может иметь любое количество базовых классов (т. е. поддерживается множественное наследование). Онтология может использовать (т. е. импортировать) элементы из других онтологий в свои определения. Когда имеются импортированные понятия, то данный метод применяется рекурсивно, к каждой импортированной онтологии. Для простоты, в данном подходе, предполагается, что онтология не имеет ссылок на внешние онтологии. Этого можно добиться, полностью расширяя все импортируемые понятия в онтологии до использования данного метода. Без потери общности, далее будут рассматриваться онтологии, являющиеся единым графом понятий с одной корневой вершиной.
Базовым ограничением на онтологии является то, что они должны быть организованы в виде леса корневых графов или деревьев. По существу это запрещает графы с циклами, т. е. вершины, которые являются родителями одного из своих собственных предков. Ограничение онтологий деревьями позволяет манипулировать онтологиями целиком с использованием операций на небольших наборах корневых вершин. Предлагаемые ограничения являются естественными, в особенности, когда онтология проектируется как расширение онтологии более высокого уровня.
Объединенная онтология проверяется с помощью алгоритма ДЛ, который используется для проверки отдельных онтологий, как это поясняется в [3].
В дополнение к иерархиям связанных понятий, также могут быть и логические взаимосвязи между любыми понятиями в онтологиях. Например, два понятия в разных онтологиях могут быть синонимами, или не корневой класс может быть подклассом некоторого класса в другой онтологии.
Иногда, также может быть важным явно заявить, что два понятия являются, по определению, различными (непересекающимися). Это объявление может быть необходимо, так как два схожих, но различных понятий могут не иметь каких-либо отличительных характеристик в определении онтологии. Эти отношения могут быть явно заявлены в виде утверждений (называемых аксиомами в логическом программировании), которые могут быть включены в качестве подсказок при объединении онтологий (утверждение disjoint (с, cj) дескриптивной логики). Аксиомы добавляются в виде утверждений базы знаний модели ДЛ, когда проверяется правильность объединенной онтологии.
Концептуально, аксиомы представляют собой глобальные ограничения, но они описываются утверждениями языка онтологий, которые обрабатываются точно так же, как определения понятий и отношений. Аксиомы транслируются в размеченные ребра графа онтологии, а затем в соответствующие утверждения логики.
Аксиомы могут определять отношения между понятиями с одной онтологии или между понятиями в разных онтологиях. В первом случае, они могут быть включены в онтологию (как дополнительные отношения). Во втором случае, они могут быть в отдельной онтологии, которая будет импортировать онтологии, на которые ссылаются аксиомы. Аксиомы предоставляют способ явно управлять и даже переопределять используемый по умолчанию метод объединения графов. Этот подход должен использоваться, когда имеется специфический домен знаний, который определяет синонимы межонтологических отношений.
2. Метод объединения
Вначале введем простое определение обычной онтологии. Онтология это упорядоченная пара,
0=(С, Я, Рс), где С - набор вершин, К - набор отношений, а Рс - множество ассиметричных, транзитивных, нерефлексивных бинарных отношений, являющихся отношением частичного порядка на множестве понятий С, которые определяют связи между понятиями С и отношениями Я
Далее для пояснения метода будет использоваться более простое определение онтологии, основанное на графовой модели: Онтология это упорядоченная пара, 0=(С, К), где С - набор вершин, К - набор ребер. Каждое понятие в онтологии представлен в виде вершины в С. Направленное ребро описывает включение понятий или бинарное отношение между понятиями. Корневая вершина не имеет входящих дуг. Вершины и дуги онтологий 01 и 02 имеют уникальные имена. Под правильной онтологией понимается такая онтология, относительно которой будет выполняться доказательство ее согласованности, например, используя ДЛ, как это показано в [3].
Целью предлагаемого метода является создание новой онтологии, которая представляет собой объединение исходных онтологий, включая отношения между понятиями в двух онтологиях. Входными данными являются две правильные онтологии 01, 02: 01=(С1, К1) и 01=(С2, К2), а также набор подсказок (связей): множество Ь упорядоченных пар (с1, с2), где с1е С1 и с2е С2. Требуется, чтобы новая онтология 01+2 была правильной, со всеми понятиями онтологий 01 и 02, а также с отношениями, заявленными в подсказках (связях). Если результирующая онтология содержит противоречие, тогда результат метода является неуспешным (ошибочным).
Метод объединения состоит из 3 шагов: слияние, связывание конкретных корневых вершин, и, затем, проверка правильности новой онтологии, что в ней не появились противоречия.
Шаг 1: Слияние 01 и 02для формирования 01+2. По определению: 01+2=01и02, где 01и02=(С1иС2, К1иК2). Объединение всегда может быть вычислено, но результат в принципе может содержать противоречия. При желании, 01и02 онтология может быть проверена на правильность на данном шаге.
Шаг 2: Связывание взаимосвязанных иерархий, описываемое набором связей. Для каждой пары (с1,с2)еЬ в 01+2 заносится утверждение зыЬС1аз-з0/(с1,с2), т. е. создается новая дуга в графе. После этого шага, составная онтология определяется следующим образом: 01+2=(С1иС2, К1иК2иЬ). При предположении, что элементы этих связей являются правильными (т. е. каждая с1еС1 и с2еС2), эта операция всегда может быть выполнена, но возможно, что использование связей создаст противоречие. Опять, на этом шаге может быть выполнена проверка правильности онтологии 01и 02.
Шаг 3. Проверка правильности составленной онтологии 01+2. Если онтология 01+2 является правильной то тогда УСПЕХ (цель достигнута), иначе НЕУДАЧА. Алгоритм завершен.
При объединении двух онтологий, могут появляться дополнительные логические ограничения или взаимосвязи, которые применяются к объединенной онтологии. В частности, иногда требуется определить взаимосвязи между понятиями в двух исходных онтологиях. Эти взаимосвязи должны быть добавлены к онтологии как дополнительные ребра. Это выполняется путем создания небольшой, фрагментарной онтологии, которая заявляет аксиомы, которые добавляется к 01+2, используя выше описанный метод. Общий процесс объединения может включать объединение нескольких он-тологий, для построения конечной онтологии.
3. Свойства операций объединения онтологий
Метод объединения определяет операцию в универсуме правильных онтологий. Эта операция имеет некоторые простые свойства, которые следуют из определений и монотонности ДЛ [4].
3.1. Операция объединения онтологий
не является замкнутой
Объединение онтологий не является замкнутым над набором правильных онтологий. Если valid(O¡) обозначает, что онтология O¡ является правильной, то val¡d(O1)лval¡d(O2) не предполагает val¡d(Om). Это является верным, так как 01+2 может иметь взаимосвязи между 01 и 02, которые создают противоречия, которые не применимы к отдельным онто-логиям 01 или 02. Для иллюстрации, как это может возникнуть, рассмотрим пример из [5] объединения двух простых онтологий (рис. 1).
Онтология 02 определяет взаимосвязи между понятиями С1 и С3, которые являются теми же самыми понятиями, как С1 и С3 в онтологии 01. В онтологии 02 понятие С3 является производным от понятий С1, т. е. понятие С3 является понятием С1. Онтология 02 является правильной онтологией.
Когда эти две онтологии объединяются, они формируют третью онтологию, 01+2 (рис. 2). Обе исходные онтологии определяют взаимосвязи между понятиями С1 и С3, поэтому онтология 01+2 включает все эти взаимосвязи.
При логическом анализе онтологии 01+2 обнаруживается противоречие. Учитывая, что С1 и С2 определены как непересекающиеся, из отношений вхождения (наследования) следует, что С3 и С4 также должны быть не пересекающимися. Понятие С5 было определено как производным от С3 и С4, но это не возможно выполнить, так как задано утверждение d¡sjo¡nt(C3, С4). В связи с этим, объединенная онтология является не правильной.
Утверждение: disjoint (cj, c2)
противоречие
Cs
Онтология О! Онтология О2
Рис. 1. Две простые онтологии, каждая из которых является правильной
Онтология 01 описывает 5 понятий и взаимосвязи между ними. Понятие С4 определено как производное от понятия С2, а С5 определено, как производное от С3 и С4 (множественное наследие). Кроме этого определено ограничение на понятия С1 и С2: С1 не может быть С2. Это ограничение означает, что объект может быть или С1 или С2, но не совместно С1 и С2. Онтология 01 является правильной, т. е. не содержит противоречий.
Онтология О!+2 Рис. 2. Появление противоречия при объединении правильных онтологий
Этот пример показывает, что объединение двух правильных онтологий не обязательно дает правильную онтологию, т. е. операция объединения не является замкнутой. Противоречие возникает из-за того, что исходные онтологии имеют противоречивые утверждения, по крайней мере, для одного понятия. Логика обнаруживает противоречие, даже в случае, когда ни одна из исходных онтологий не содержит противоречивые утверждения, содержащие понятие С5.
3.2. Операция объединения является коммуникативной
Хотя две составные онтологии не всегда являются правильными, но когда сумма отношений 01+02 является правильной, то сумма 02+01 также должна быть правильной, т. е. val¡d(O1+2)^val¡d(O2+1). Интуитивно понятно, что 01+2 является тем же самым набором, что и 02+1, поэтому они или оба правильные или оба неправильные. Формально это следует из определений и монотонности ДЛ.
Рассмотрим две онтологии, O1=(C1, R1) и O2=(C2, R2) и набор связей L. Операция объединения compose (Ob O2, L) создает онтологию O1+2, которая определяется как: O1+2=(C1UC2, R1UR2UL). Аналогично, compose (O2, O1, L) создает онтологию O2+1, которая определяется как: O2+1=(C2UC1, R2UR1UL). Эти два графа будут создавать один и тот же набор утверждений в ДЛ, возможно только за исключением порядка их следования. Из того факта, что ДЛ является монотонной, следует, что вывод из базы знаний БЗт будет правильным и для базы знаний БЗ2+1. Поэтому, satisfiable^Sm)^satisfiab-le(ESm) и из определения в [3] можно записать, что valid( Om)<^valid( O2+1).
3.3. Операция объединения является ассоциативной
Операция объединения также имеет ассоциативные свойства, т. е. valid((O1+2)+O3)«va-lid(O1+(O2+3)). Это свойство следует из доказательства, аналогичного приведенному выше. Рассмотрим три онтологии O1=(C1, R1), O2=(C2, R2), O3=(C3, R3) вместе со связями L1+2, L2+3, L1+3. Три онтологии объединяются за два шага. Для построения Oa+2)+3, на первом шаге объединяем 1 и 2 онтологии: O1+2= compose (O1, O2, L1+2)=(C1UC2, R1UR2UL1+2).
Предположим, что утверждение valid(Om) является истинным, т. е., satisfable^S1+2) является истинным. На втором шаге добавляет онтологию O3: O(1+2)+3=compose (O1+2, O3, (L1+3UL2+3))=((C1UC!)UC3 ,
(R1U R2U L1+2) U R3U L1+3U L2+3) = ((C1U C2U C3), (R1UR2UR3UL1+2UL1+3UL2+3).
Предположим, что утверждение valid(O{H2)+3) является истинным. Для построения O1+(2+3) можно выполнить два аналогичных объединения: Om=compose (O2, O3, L2+3)=(C2UC3, R2UR3UL2+3) и O+W)=compose (Ob O2+3, (L1+3UL2+3))=((C2UC3)UC1,
(Я2и Я3иЬ2+3) и Я 1иЬ 1+3иЬ1+2) = ((С1и С2и С3), (Я1иЯ2иЯ3иЬтиЬ1+3иЬт).
Это такой же набор, как и 0а+2)+3, за исключением порядка элементов. В связи с этим утверждение уаШ( 01+(2+3)) является истинным. Из определения правильности и монотонности ДЛ следует, что заН-^аЬ/е(БЗ(1+2)+3)«да&/юЬ/е(БЗ1+(2+3)) и поэтому уа-/й(0(1+2)+3)«уа/й(01+(2+3)). Это свойство предполагает, что для любой 01+2+3, полученной, как описано выше, является верным: уаШ(01+2+3)^уа-Нй( 01+2) л уа/1й( 01+3) л уаНй( О 2+3) л уа/1й( 01) л уа-/й(02)луа/й(03).
3.4. Операция объединения не является транзитивной
Можно увидеть, что из свойства не замкнутости операция объединения не является транзитивной. Т. е. из правильности уаШ(01+2)луа/й(02+3) не следует правильность уаНс1(0т). Фактически, даже если верно, что уа/1й(01)луа/1й(01)луа/1й(03)луа-/й(01+2)луаШ(02+3), то все еще возможно, что 01+3 будет иметь противоречия, как это было рассмотрено выше. Аналогично, уа/й(01+2)луа/й(02+3) не предполагает, что уаНс1( 01+2+3) является верной.
Заключение
Рассмотренный метод объединения двух онто-логий позволяет автоматизировать формирование общей онтологической модели и поддерживать логическую согласованность общей объединенной онтологии, что является основой для работы с единой моделью знаний организации. Прикладные подсистемы системы управления знаниями могут использовать итоговую онтологию в рамках семантического ^еЬ-портала для выполнения разнообразных задач по управлению знаниями - категоризации, рекомендации, поиска.
СПИСОК ЛИТЕРАТУРЫ
1. Тузовский А.Ф. Онтолого-семантический подход к созданию систем управления знаниями организаций // Интеллектуальные системы (INTELS'2006): Труды 7 Междунар. симп. -Краснодар, 2006. - С. 286—290.
7. McGrath R.E. Semantic infrastructure for a ubiqutious computing environment [Электронный ресурс]. - 2005. - Режим доступа: http://www.cs.uiuc.edu/research/techreports.php?report=UIUCD CS-R-2005-2587&downioad=pdf
3. Тузовский А.Ф. Работа с онтологической моделью организации на основе дескриптивной логики // Известия Томского политехнического университета. - 2006. - Т. 309. - № 7. -С. 134-137.
4. The Description Logic handbook: theory, implementation, applications // Ed. F. Baader. - Cambridge: Cambridge University Press, 2003. - 564 p.
5. Anand R., McGrath R., Campbell R., Mickunas M. Use of Ontologies in a Pervasive Computing Environment // Knowledge Engineering Review. - 2004. - V. 18. - № 3. - Р. 209-220.