Редактор онтологий Protege 4 – релиз!

16 июня 2009 года  команда CO-ODE выпустила релиз одного из самых популярных редакторов онтологий  Protege 4.

В качестве основных возможностей этого редактора заявляют поддержку OWL 2, возможности прямого подключения к подсистемам логического вывода Pellet и FaCT++.

Более подробно о функциональных возможностях релиза Protege 4 можно почитать здесь!

Загрузить релиз можно отсюда!

Скриншот релиза Protege 4:

 Скриншот  релиза Protege 4

На пути к OWL 2…

Рабочаю группа по OWL закончила Last Call и в ответ на замечания выпустила небольшой  обзорный документ, в котором описаны отличия OWL 2 от OWL 1.

Вполне возможно, что больше в OWL 2 серьезных изменений  не будет:

http://www.w3.org/TR/owl2-overview/

Сегодня,  уважаемые читатели сайта SHCHERBAK.NET, вам предлагается для ознакомления статья, в которой  предлагается подход к представлению онтологий в виде конечного автомата. Такое представление позволяет ввести операции на онтологиях. Операции на онтологиях дают возможность автоматизировать процесс анализа и синтеза онтологий и их составляющих.

Читать


Хочу выразить благодарность авторам статьи, за интересный и, скажем чесно, нестандартный взгляд на проблему представления онтологий. Авторы статьи – Крывый С. Л. , Ходзинский А.Н. (Институт кибернетики им. В.М. Глушкова НАН Украины).

Крывый С. Л., Ходзинский А.Н.

Институт кибернетики им. В.М. Глушкова НАН Украины,

Украина, Киев, пр. акад. Глушкова, 40,

т. (044)-526-22-34, 526-04-58, email: krivoi@i.com.ua, ho@cyber.kiev.ua

Аннотация. Предлагается подход к представлению онтологий в виде конечного автомата.
Такое представление позволяет ввести операции на онтологиях. Операции на онтологиях дают возможность автоматизировать процесс анализа и синтеза онтологий
и их составляющих частей.

Abstract. A representation of ontology by using finite state automata is considered. This representation allows to introduce the operations on ontologies by using regular algebra of languages. The operations over ontologies allow to automatisate the process of analysis and synthesis for ontologies and their members.

Ключевые слова: онтологии,операции, конечные автоматы

Введение

В последнее время в естественных науках и, в частности, в теоретическом программировании появилось столько различных направлений, течений и теоретических результатов, что становится проблематичным охватить хотя бы малую часть поля научной деятельности даже в отдельно взятых областях. Одним из подходов к пониманию взаимосвязей между различными течениями и теориями является онтологический подход [1,2]. Кроме того, в связи с возрастанием сложности программного и технического обеспечения вычислительных процессов требуется интеллектуализация этих процессов и такой интеллектуализации можно достичь, по мнению многих специалистов, путем использования онтолого-управляемых систем поиска, извлечения и обработки знаний, содержащихся в онтологиях. Онтологический подход для построения связей между понятиями некоторой предметной области, как правило, основывается на определении отношения «предметная область – свойства – модели – приложения». В данной работе рассматривается способ представления онтологий с помощью конечных автоматов с одной стороны, и отношений, лежащих в основе каждой онтологии. Этот подход позволяет ввести операции на онтологиях используя операции на языках и автоматах. При таком подходе типы онтологий и их иерархия не детализируется с целью подчеркивания общности рассматриваемых операций. Операции иллюстрируются на простых примерах онтологий,
относящихся к компьютерной математике [3].

Автоматное представление онтологий

Будем предполагать, что онтологии представляются в виде орграфа G = (V, E), где множество вершин V представляет множество предметных областей, а множество ребер E – бинарное отношение между этими предметными областями. С каждым таким орграфом G = (V, E) будем ассоциировать конечный (вообще говоря) частичный детерминированный автомат без выходов A = (V, X=V, f,S, F), где
V – множество состояний, которое также служит входным алфавитом данного автомата, S – подмножество начальных состояний, F – подмножество заключительных состояний (которое, в частности, может быть пустым), а функция переходов данного автомата определяется следующим образом: f(u,v) = v тогда и только тогда, когда (u,v) E и не определено в остальных случаях.

Рассмотрим пример представления фрагмента онтологии для предметной области «Комбинаторика» с помощью конечного автомата [5].

Пример 1. Пусть задана онтология, отражающая малую часть предметной области «Комбинаторика», в виде следующего орграфа:

Рис. 1. Онтология О

Соответствующий данной онтологии конечный автомат имеет вид A = (V = {1,2, 3, 4,5, 6,7}, X = {1,2,3,4,5,6,7}, f, {1}, {7}), где f задана таким графом переходов:

Рис. 2. Конечный автомат А для О

Это значит, что f(1,2) = 2, f(1,3) =3, f(1,4) =4, f(3,5) =5, f(5,7) =7,f(4,6) =6. Остальные переходы в данном автомате неопределенны.

Операции на онтологиях в автоматном представлении

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

- объединение – теоретико-множественное объединение множества состояний и множества переходов данных автоматов-аргументов;

- пересечение – теоретико-множественное пересечение множества состояний и множества переходов, пополненное транзитивным замыканием отношения достижимости на автоматах-аргументах;

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

- итерация – повторяемая конечное число раз операция умножения, применяемая в рамках одной онтологии с целью уточнения и пополнения этой онтологии (эта операция практически означает пошаговое уточнение и пополнение онтологий);

- обращение – ориентация в противоположном направлении переходов в автомате, представляющем данную онтологию, т. е. построение функции переходов g(v,u) = u, тогда и только тогда, когда f(u,v) = v и неопределенно в остальных случаях.

Пример 2. Пусть дана онтология вида

Рис. 3. Онтология О1

Рис. 4. Автомат А1 для онтологии О1

где A1=({0,1,7,8,9,10,11},{0,1,…,11},g,{0},{11}).

Тогда введенные выше операции дают такие результаты, если их применить к автоматам A1 и A из предыдущего примера.

Объединение:

Рис. 5. Автомат АА1

Пересечение:

Рис. 6. Автомат АA1

Итерация: уточнение онтологии О1:

Рис. 7. Уточнение О2 для онтологии О1

Рис. 8. Автомат А2 для онтологии О2

Конкатенируя автоматы А1 и А2 по начальному состоянию 8 автомата А2, получаем автомат, представляющий уточненную онтологию O1*O2.

Обращение: применяя эту операцию к А1, получаем автомат:

Рис. 9. Автомат обращения для онтологии О1

Краткая характеристика операций

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

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

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

Проблемы реализации операций

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

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

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

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

Заключение

Тема данной работы возникла в связи с докладами, которые были представлены на конференциях KDS-2005  и KDS-2007 (Варна, Болгария) [1-4]. Раздел по онтологиям на этих конференциях был одним из самых больших и доклады, представленные в этих разделах, были стимулирующими для разработки представления онтологий и операций на онтологиях с целью автоматизации процесса проектирования и манипулирования этими объектами. Возможно после данной попытки ввести операции на онтологиях появятся и другие подходы к построению алгебры онтологий, что было бы весьма желательным и плодотворным для развития этой области знаний. Наш подход, по видимому, не является самым лучшим, поскольку требует решения перечисленных выше проблем.

Список литературы

[1] Gavrilova T., Puuronen S. In Search of a Vision: Ontological
View on User Modeling Conferences’ Scope. XII-th International Conference KDS
2007, ITHEA, Sofhia, 2007. Volume 2, p.422-427.

[2] Gribova V. Automatic Generation of Context-sensitive Help Using a User Interface Project. XII-th International Conference KDS 2007, ITHEA, Sofhia, 2007. Volume 2, p.417-422.

[3]Кривой С., Матвеева Л., Лукъянова Е., Седлецкая О. Онтологический взгляд на теорию автоматов. XII-th International Conference KDS 2007, ITHEA, Sofhia, 2007. Volume 2, p.427-436.

[4] Artemieva I. XII-th International Conference KDS 2007, ITHEA, Sofhia, 2007. Volume 2, p.403-411.

[5] Кривий С. Л. Дискретна математика. Вибрані питання. Київ.Видавничий дім „Києво-Могилянська академія”. – 2007. – 572 с.

Развитие семантического веба выводит на первый план задачи, о которых многие специалисты по искусственному интеллекту, включая, собственно, и меня,  стали забывать. А это задачи, связанные с анализом ествественно-языковых текстов, при чем анализ зачастую проводится на основе онтологий или для построения онтологий. В этом плане мне показались интересными статьи Евгения Рабчевского по автоматическому формированию онтологий:

Автоматическое построение онтологий

Проектирование экспертных систем технической поддержки на основе онтологий

Автоматическое построение онтологий для тематических поисковых систем


Хочу выразить благодарность Евгению Рабчевскому от себя и читателей сайта SHCHERBAK.NET за интересные материалы! :grin: Кроме того,  я надеюсь, что идеи, выраженные в статьях, получат дальнейшее развитие…

© Е.А.Рабчевский Г.И.Булатова

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

614990, Пермь, ул.Букирева,15.

evgeny@ranat.ru

Аннотация

Описывается модель базы знаний поисковой системы, специализирующейся под определенную предметную область. Раскрывается алгоритм автоматизированного построения онтологий с помощью анализа англоязычных текстов, содержащихся в веб ресурсах. Описывается технология RDF/A (одна из спецификаций Semantic Web).

1. Введение

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

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

Необходимо заметить, что оригинальная спецификация WWW [1] разрабатывалась именно для решения задачи интеграции научных материалов. Очевидно, что для эффективной интеграции данных некой предметной области из различных Интернет источников, соответствующее приложение должно работать с семантикой веб ресурсов. В этой связи, в таких приложениях актуально использование различных технологий Semantic Web [2].

2. Руководство для читателя

В третьей главе описываются базовые стандарты Semantic Web, которые используются в работе для представления знаний. Четвертая глава посвящена технологиям RDF/A и GRDDL, которые также используются в работе, и недостаточно освещены в литературе. В пятой главе формулируются сервисы, которые должна предоставлять тематическая поисковая система (специализирующаяся под определенную предметную область). Шестая глава раскрывает модель базы знаний, на основе которой строится тематическая поисковая система. В седьмой главе приводятся результаты оригинальных исследований, на основе которых выработан алгоритм, позволяющий автоматизировать процесс построения основного элемента базы знаний тематической поисковой системы – онтологии. Восьмая глава описывает построение указанной онтологии без использования средств автоматизации.

3. Представление знаний в Semantic Web

В Интернет используется множество языков представления данных, основанные на XML. В рамках проекта Semantic Web консорциумом W3 разработан ряд спецификаций для работы с машинным представлением знаний. В частности, для представления данных, имеющих графовую структуру, на основе XML, разработан язык RDF [3] (Resource Definition Framework – Среда Описания Ресурса). RDF предоставляет средства для записи триплетов, троек данных – субъект – предикат – объект.

Объект и субъект соответствуют узлам графа, а предикат или свойство -направленной дуге графа. Все элементы триплета называются RDF ресурсом и идентифицируются с помощью URI идентификаторов.

Платформа RDF активно используется для представления различных данных, в частности RSS 3.0 [4] агрегаторы новостей собирают информацию в формате RDF.

Для машинного представления различных предметных областей в Интернет, используются онтологии. Онтология – спецификация концептуализации[5], или явное, формальное описание предметной области. Как и в объектно-ориентированном описании области знаний, онтология состоит из классов и их экземпляров, У классов и экземпляров выделяются свойства, на свойства могут накладываться логические ограничения.

Поисковой системой SWOOGLE [6] на сегодня проиндексировано свыше 10 тысяч онтологий и словарей, доступных в Веб. Онтологии используются научными сообществами – для описания терминологии [7], в электронной коммерции – для описания товаров и услуг [8], и в других приложениях Интернет. Из-за своей популярности онтологии стали использоваться и в качестве баз знаний локальных интеллектуальных систем [9].

Для описания онтологий, доступных через Веб, созданы языки RDFS [10] (RDF Schema – RDF Схема) и OWL [11] (Ontology Web Language – Язык Сетевых Онтологий). В качестве своих базовых элементов данные языки используют RDF ресурсы. RDFS используется для записи словарей, а OWL – онтологий. Сетевые онтологии предоставляют более выразительные возможности по сравнению с RDF словарями, например логические операции над классами и логические ограничения свойств.

4. Семантическая разметка,  RDF/A, GRDDL

RDF графы и онтологии на их основе могут размещаться в отдельных Веб ресурсах, например файлах или RDF хранилищах, доступ к которым осуществляется через RDF сервера [12]. Также  RDF графы могут встраиваться в другие XML документы, например в XHTML. Встраивание RDF данных в XHTML используется для спецификации семантики (семантической разметки) контента за счет указания ссылки на понятие во внешней семантической модели, которому соответствует часть контента.

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

Для семантической разметки одной из рабочих групп [13] W3 консорциума был разработана технология RDF/A [14], которая позволяет встраивать RDF данные в XHTML. RDF/A является одним из множества микроформатов [15] или диалектов языков, расширений языка HTML, в котором определяется, каким образом использовать конструкции языка HTML, чтобы интерпретировать записанный таким образом HTML код, как RDF данные.

Существуют микроформаты для записи таких словарей, как vCard, DC, RDF Calendar, RSS, GeoInfo. Все указанные словари записываются в виде RDF графов, RDF/A является микроформатом для записи непосредственно RDF синтаксиса, и может быть использован для записи терминов любых RDF словарей, например тех же vCard, DC, RDF Calendar, RSS, GeoInfo.

Ниже следует пример использования терминов словаря набора данных DC [16] (словарь DC описывает мета свойства электронных документов) в XHTML.

<head profile=»http://www.w3.org/2003/g/data-view»>

<link rel=»schema.DC»href=»http://purl.org/dc»/>

<meta name=»DC.Title» xml:lang=»en» lang=»en» content=»Использование терминов словаря DC в XHTML коде» />

</head>

Данный XHTML соответствует триплету, субъектом которого является URI самого ресурса, предикатом – свойство Title, описанное в словаре DC по адресу http://purl.org/dc, объектом – строка «Использование терминов словаря DC в XHTML коде»Вставка такого RDF триплета в заголовок HTML страницы позволит соответствующим приложениям «понять», что название документа – «Использование терминов словаря DC в XHTML коде». При этом, это название может отличаться от того, которое представлено пользователю с помощью тега <title>.

Таким образом, в XHTML можно вставлять любые RDF графы. Использование профиля profile=http://www.w3.org/2003/g/data-view необходимо для возможности указания значения «transformation» у тега rel, что необходимо для указания ссылки на механизм GRDDL извлечения (см. следующий абзац).

Для извлечения RDF данных из различных микроформатов W3 консорциум разработал технологию GRDDL [17] (Gleaning Resource Descriptions from Dialects of Languages – Извлечение Описания Ресурса из Диалектов Языков). Для работы GRDDL-скреперов (программ, извлекающих RDF данные из XHTML) в XHTML коде необходимо указать ссылку на механизм извлечения:

<link rel=»transformation»http://www.w3.org/2000/06/dc-extract/dc-extract.xsl/> 11

Механизм извлечения основан на технологии преобразования XML документов XSLT [18], в данном случае XHTML преобразуется в RDF.

5. Интеграция знаний в масштабе Интернет

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

Это определение предполагает сервисы, которые должны предоставляться интегрирующим приложением:

§  проверка знаний, содержащихся в различных ресурсах на противоречивость, актуальность;

§  отслеживание появления новых ресурсов по соответствующей тематике;

§  выявление в ресурсах новых знаний, и вписывание их в имеющуюся картину знаний;

§  определение оригинального источника результатов, опубликованных в ресурсе;

§  поиск Веб ресурсов с учетом семантики поискового запроса;

§  объяснение в обучающей экспертной системе для данной предметной области [19].

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

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

Данные виды отношений впервые в компьютерных лингвистических ресурсах были введены авторами тезауруса английского языка WordNet [23]. Существует RDF представление тезауруса WordNet [24].

6. База знаний и семантический индекс

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

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

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

Структурная организация базы знания представлена на следующем рисунке.

image001

Семантически размеченный ресурс хранится в RDF/A части семантического индекса, а его семантика описывается при помощи ссылки на соответствующие части семантической модели. XHTML часть индекса подобна индексу традиционных поисковых систем.

7. Автоматическое построение онтологии

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

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

Для решения данной задачи был сформирован корпус англоязычных текстов, относящихся к теме Semantic Web. Ресурсы корпуса представляют собой спецификации технологий Semantic Web с сайта W3 консорциума.

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

7.1 Автоматическое построение семантической карты ресурса

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

§  формировался набор пар «текст – конструкция языка OWL»;

§  по набору выявленных пар «текст – OWL конструкция» выявлялись правила, позволяющие автоматизировать процесс отображения текста в соответствующую OWL конструкцию;

Семантическая карта строится в два этапа, на первом строится формальная семантическая OWL конструкция, на втором происходит привязка полученной конструкции к конкретной предметной области.

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

Рассмотрим несколько правил:

§ «Сложный предмет» или «noun1 + noun2» (два подряд идущих существительных), например словосочетание «ontology editor».

Проанализируем данный пример. Можно предположить существует целый класс абстрактных редакторов – Editor. Этот класс характеризуется тем, что все его экземпляры обладают неким характерным для этого класса свойством. В данном случае, это то, что они все что-либо редактируют. Назовем это характерное свойство mainPropertyOfEditor. Доменом этого свойства является класс Editor.

Определим диапазон этого свойства, как класс RangeOfMainPropertyOfEditor.

Выделим класс OntologyEditor, который будет подклассом класса Editor. При этом значение свойства mainPropertyOfEditor для подкласса OntologyEditor имеет строго определенное значение – экземпляр класса RangeOfMainPropertyOfEditor, индивид Ontology. Данные утверждения можно представить следующим OWL кодом:

<owl:Class rdf:ID=»Editor»>

<rdfs:comment rdf:datatype=»http://www.w3.org/2001/XMLSchema#string»>класс абстрактных редакторов</rdfs:comment>

</owl:Class>

<owl:Class rdf:ID=»RangeOfMainPropertyOfEditor»>

<rdfs:comment rdf:datatype=»http://www.w3.org/2001/XMLSchema#string>диапазон характерного свойства реадактора (редактируемый объект)</rdfs:comment>

</owl:Class>

<owl:Class rdf:ID=»OntologyEditor»>

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty>

<owl:ObjectProperty rdf:ID=»MainPropertyOfEditor»/>

</owl:onProperty>

<owl:hasValue>

<RangeOfMainPropertyOfEditor rdf:ID=»Ontology»/>

</owl:hasValue>

</owl:Restriction>

</rdfs:subClassOf>

<rdfs:comment rdf:datatype=»http://www.w3.org/2001/XMLSchema#string»>класс редакторов онтологий</rdfs:comment>

<rdfs:subClassOf rdf:resource=»#Editor»/>

</owl:Class>

<owl:ObjectProperty rdf:about=»#MainPropertyOfEditor»>

<rdfs:domain rdf:resource=»#Editor»/>

<rdfs:range rdf:resource=»#RangeOfMainPropertyOfEditor»/>

<rdfs:comment rdf:datatype=»http://www.w3.org/2001/XMLSchema#string»>характерное свойство редактора (редактирует)</rdfs:comment>

</owl:ObjectProperty>

§ «Предмет с определением» или «adjective + subject», например словосочетание «abstract syntax». Для записи соответствующего OWL кода необходимо провести рассуждения, аналогичные приведенным в предыдущем примере:

<owl:Class rdf:ID=»Syntax»/>

<owl:Class rdf:ID=»AbstractSyntax»>

<rdfs:subClassOf rdf:resource=»#Syntax»/>

<rdfs:subClassOf>

<owl:Restriction>

<owl:hasValue>

<RangeOfMainPropertyOfAbstract rdf:ID=»Abstract»>

<rdfs:comment rdf:datatype=»http://www.w3.org/2001/XMLSchema#string»>абстрактный – экземпляр класса уровень детализации</rdfs:comment>

</RangeOfMainPropertyOfAbstract>

</owl:hasValue>

<owl:onProperty>

<owl:ObjectProperty rdf:ID=»mainPropertyOfAbstract»/>

</owl:onProperty>

</owl:Restriction>

</rdfs:subClassOf>

</owl:Class>

<owl:Class rdf:ID=»RangeOfMainPropertyOfAbstract»>

<rdfs:comment rdf:datatype=»http://www.w3.org/2001/XMLSchema#string»>диапазон характерного свойства прилагательного абстрактный (уровень детализации)</rdfs:comment>

</owl:Class>

<owl:ObjectProperty rdf:about=»#mainPropertyOfAbstract»>

<rdfs:comment rdf:datatype=»http://www.w3.org/2001/XMLSchema#string»>главное свойство определения абстрактный (уровень детализации)</rdfs:comment>

<rdfs:range rdf:resource=»#RangeOfMainPropertyOfAbstract»/>

</owl:ObjectProperty>

§ Простое предложение, subject1 + verb + preposition + subject2 (подлежащее, сказуемое, предлог, дополнение), например «Ontology’s incorporate information about

<owl:Class rdf:ID=»Ontology»/>

<owl:Class rdf:ID=»Class»/>

<owl:ObjectProperty rdf:ID=»incorporateInformationAbout»>

<rdfs:range rdf:resource=»#Class»/>

<rdfs:domain rdf:resource=»#Ontology»/>

</owl:ObjectProperty>

§ subject1 + are + subject2 + that + verb + preposition + subject3 (подлежащее, are/is, дополнение, that, сказуемое, предлог,дополнение), например предложение «Decision Engineering is an emerging

discipline that focuses on developing tools». Что можно представить следующим OWL кодом:

<owl:Class rdf:ID=»EmergingDiscipline»/>

<owl:Class rdf:ID=»DecisionEngineering»>

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty>

<owl:ObjectProperty rdf:ID=»focusesOn»/>

</owl:onProperty>

<owl:hasValue>

<RangeOfFocusesOnProperty rdf:ID=»DevelopingTools»/>

</owl:hasValue>

</owl:Restriction>

</rdfs:subClassOf>

<rdfs:subClassOf rdf:resource=»#EmergingDiscipline»/>

</owl:Class>

<owl:Class rdf:ID=»RangeOfFocusesOnProperty»/>

<owl:ObjectProperty rdf:about=»#focusesOn»>

<rdfs:domain rdf:resource=»#EmergingDiscipline»/>

<rdfs:range rdf:resource=»#RangeOfFocusesOnProperty»/>

</owl:ObjectProperty>

Отдельно выделяются правила, которые сами не строят семантическую конструкцию, но определяют, каким образом (к каким словам) применять правила, непосредственно выявляющие семантические конструкции. Например, правило «Если сложный предмет состоит из трех и более простых, то нужно применять правило «noun1 + noun2» начиная с конца».

Рассмотрим более подробно правило «adjective + subject», в котором введены свойство mainPropertyOfAbstract и класс RangeOfMainPropertyOfAbstract. Данные конструкции введены чисто формально,используя некие законы языка, однако данное свойство и класс имеют определенную семантику. Так определение Abstract характеризует некую особенность предмета Syntax. В данном случае эту особенность можно назвать, например как «степень детализации».

Если же подходить к анализу данного словосочетания с учетом семантики, указанные свойство и класс назывались бы «имеетСтепеньДетализации» и «СтепеньДетализации» соответственно.

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

приведенной ниже:

Слово Характерное свойство
Abstract Степень детализации
Editor Редактирует

Предполагается представить данный источник знаний в виде RDF представления WordNet подобного ресурса [24] компьютерной лингвистики.

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

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

7.2 Анализ массива ресурсов

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

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

§ Веб пространстве в целом;

§ на узлах заданной степени доверия;

§ вместе с терминами заданной степени важности.

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

Семантическая карта ресурса представляет собой онтологию, представленную в виде RDF графа. Однако после построения граф еще ни как не связан с предметной областью и нет гарантий, что информация ресурса, а значит и его семантическая карта с понятиями и отношениями, соответствуют реальной картине исследуемой предметной области.

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

8. Онтология Semantic Web

Для оценки работы программного компонента автоматического построения онтологии авторы создают онтологию предметной области «Semantic Web» без средств автоматизации. Онтология создается на основе того же корпуса англоязычных  тестов, из которого выявляются правила построения семантической карты ресурса. Тексты корпуса исследовались следующим образом:

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

§ каждое понятие дополнялось экспертным определением;

§ выявлялись триплеты, содержащие найденные понятия;

§ для каждого понятия и триплета фиксировался ресурс-источник.

На данный момент, выявлено 70 понятий и 260 их содержащих триплетов. В дальнейшем, после реализации компонента построения семантической карты ресурса, планируется оценить его работу, обработав исследуемый корпус с помощью компонента и сравнив результаты с полученным в ручном режиме массивом триплетов. Создан RDF словарь для хранения полученных результатов.

Авторы благодарят профессора, заведующего кафедры КСиТ Пермского Государственного Университета, М.А. Марценюка за обсуждение работы.

Литература

[1] Tim Berners-Lee, World Wide Web: Proposal for HyperText Project. 1990. // http://www.w3.org/Proposal.html

[2] Сообщество Semantic Web // http://www.w3.org/2001/sw

[3] Платформа RDF http://www.w3.org/RDF/

[4] Aaron Swartz, Спецификация RSS 3.0 // http://www.aaronsw.com/weblog/000574

[5] Gruber, T.R. (1993) A translation approach to portable ontology specifications. Knowledge Acquisition. Vol. 5.

[6] Swoogle – Semantic Web Search Engine. // http://swoogle.umbc.edu/

[7] Е.М.Бениаминов  «Алгебраические методы в теории баз данных и представлении знаний». М.:Научный мир, 2003.

[8] Реестр товаров и услуг ООН. // http://www.unspsc.org/.

[9] Рабчевский Е.А., Архипов Е.С., Проектирование экспертных систем технической поддержки на основе онтологий // Интеллектуальные системы и компьютерные науки. Материалы IX международной
конференции (23-27 октября 2006г., г. Москва). – Москва: МГУ 2006.

[10] RDF Schema 1.0, Язык описания RDF словарей. Рекомендация W3C 10 Февраля 2004. // http://www.w3.org/TR/rdf-schema/

[11] Язык OWL. // http://www.w3.org/2004/OWL/

[12] Joseki – A SPARQL Server for Jena. //http://www.joseki.org/

[13] Рабочая группа лучшей практики и развертывания Семантического Веба. // http://www.w3.org/2001/sw/BestPractices/

[14] Встраивание RDF в XHTML RDFa. Рабочий документ W3C 12 марта 2007. // http://www.w3.org/TR/xhtml-rdfa-primer

[15] Сообщество пользователей микроформатов. // http://microformats.org

[16] Метаданные Dublin Core для нахождения ресурсов, RFC2413

[17] Рабочая группа GRDDL http://www.w3.org/2001/sw/grddl-wg/

[18] Семейство Расширяемых Языков Таблиц Стилей (XSL). // http://www.w3.org/Style/XSL/

[19] Гадиатулин Р., Оболочка экспертных систем XG# 1.0: Подход  к автоматизированному извлечению онтологий и их применению в компоненте объяснения // Интеллектуальные системы и компьютерные науки. Материалы IX международной конференции (23-27 октября 2006г., г. Москва). – Москва: МГУ 2006.

[20] А.Н. Бездушный, Э.А. Гаврилова, В.А. Серебряков,А.В. Шкотин МЕСТО ОНТОЛОГИЙ В ЕДИНОЙ ИНТЕГРИРОВАННОЙ СИСТЕМЕ РАН // СОВРЕМЕННЫЕ ТЕХНОЛОГИИ В ИНФОРМАЦИОННОМ ОБЕСПЕЧЕНИИ НАУКИ. Сборник научных трудов (Москва 2003)

[21] Добров Б.В., Лукашевич Н.В., Синицын М.Н., Шапкин В.Н., Разработка лингвистической онтологии для автоматического индексирования текстов по естественным наукам //Электронные библиотеки: перспективные методы и технологии, электронные коллекции. Труды седьмой Всероссийской научной конференции (3-7 октября 2005г.,г.Ярославль). – Ярославль: ЯрГУ, 2005.

[22] Guarino N., Some Ontological Principles for Designing Upper Level Lexical Resources. // Proceedings of First International Conference on Language Resources and Evaluation, 1998.

[23]  C. Fellbaum. WordNet: An Electronic Lexical Database. MIT Press, 1998.

[24] RDF/OWL представление WordNet, Рабочий документ W3C 19 Июня 2006 http://www.w3.org/TR/wordnet-rdf/


Automatic ontologies construction for custom search engines

Evgeny Rabchevsky, Gulnara Bulatova

This paper describe knowledge base model for search engine that are customized for some

domain. It defines algorithm for automatic ontology construction by English-speaking web resources text analysis. There are quoted RDF/A technology (some of Semantic Web specification).

Ув. читатели SHCHERBAK.NET, вашему вниманию предлагаются материалы статьи «Semantic Web как новая модель информационного пространства Интернет» авторов  Ф.И. Андон, И.Ю. Гришановой и В.А. Резниченко.

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

Полную версию статьи читаем здесь !

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

От имени читателей SHCHERBAK.NET хочу выразить благодарность  Ирине Гришановой за предоставление материалов интересной статьи!

Н.Г. Кеберле
Запорізький державний університет

З єдиних позицій проаналізовано сучасний стан систем інтеграції неоднорідних баз даних і знань

Ключові слова: неоднорідні бази знань, бази знань, семантична інтероперабельність,
онтологія предметних областей, онтологій задач, онтологія методів розв’язування
класів задач, формальна онтологія.

1. ВСТУП

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

На той час у розвинутих інформаційних системах (ІС) уже була потреба спільного використання
декількох (можливо, розподілених) баз даних, керованих різними СКБД, що супроводжувалося
значними зусиллями з боку розроблювачів цих інформаційних систем. Прикладами рішення
задачі про спільне використання мережних, ієрархічних і реляційних баз даних, що
відносяться до початку 80-х р.р., можуть бути проекти СИЗИФ [24, 25, 26], POLYPHEME[2],
проект Каліфорнійського університету [6] та інші.

На сьогоднішній день ця задача набула ще більш важливого значення, у зв’язку зі
зростанням кількості різноманітних за змістом, структурою, обсягом інформаційних
ресурсів (баз даних, баз знань, програмних компонентів і т.д.), створених на різних
програмно-апаратних платформах. Інформація, представлена цими ресурсами, багаторазово
дублюється, її спільне використання утруднене в силу різних специфікацій інформаційних
ресурсів, прийнятих різними розроблювачами. Така ситуація послужила причиною розвитку
досліджень в області спільного і повторного використання компонентів інформаційних
ресурсів. Важливість даної проблематики була підкреслена в [27] і виділена як один
із трьох базових напрямків у дослідженнях на поточне десятиріччя.

Наведемо основні використовувані надалі визначення.

Інтероперабельність означає можливість створення систем з довільних неоднорідних,
розподілених компонентів, на основі уніфікованих інтерфейсів [23].

Інтероперабельна інформаційна система складається з компонентів, що представляють
довільні інформаційні ресурси (програмні компоненти, бази даних, бази знань, файли
даних і т.д.), які розглядаються незалежно від апаратно-програмної платформи і розміщення
в просторі. Компоненти взаємодіють, обмінюючись заявками.

Задачу досягнення інтероперабельності різнорідних інформаційних ресурсів можна розбити
на дві підзадачі:

1.     Досягнення технічної інтероперабельності, тобто забезпечення
спільної роботи різнорідних апаратно-програмних платформ. У даному огляді питання
технічної інтероперабельності розглядатися не будуть, оскільки саме цю проблему
вирішував консорціум Object Management Group, OMG (потрібну інформацію можна почерпнути
в [17,18,19]).

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

Розглянемо системи інтеграції неоднорідних баз даних і баз знань з погляду семантичної
інтероперабельності і використані в цих системах підходи.

2. СЕМАНТИЧНА ІНТЕРОПЕРАБЕЛЬНІСТЬ

У випадку створення ІС на неоднорідних інформаційних ресурсах, для досягнення семантичної
інтероперабельності необхідно вирішувати проблеми порівняння вмісту цих ресурсів,
відшукання відповідностей і вирозв’язування конфліктів між ними, а також проблему
сполучення різнорідних ресурсів. Отже, задача побудови семантично інтероперабельної
ІС складається з трьох частин:

1.      Вироблення специфікацій, достатньо уніфікованих
і повних з погляду конкретної задачі, для всіх інформаційних ресурсів.

2.      Вироблення засобів порівняння можливостей доступних
інформаційних ресурсів з потребами прикладних задач, розв’язуваних даною ІС.

3.      Створення несуперечливої й адекватної моделі предметної
області задачі шляхом композиції моделей предметних областей, які представлені конкретними
інформаційними ресурсами.

При цьому повна специфікація інформаційного ресурсу буде охоплювати:

·       специфікацію його структури і функцій (статичні
характеристики);

·       специфікацію обмежень цілісності;

·       специфікацію поведінки інформаційного ресурсу
(динамічні характеристики);

·       специфікацію контексту, тобто області, у якій
передбачається використання ресурсу.

Сучасні системи інтеграції неоднорідних інформаційних ресурсів використовують концепцію
медіатора (див. наприклад в [20]), тобто посередника між розподіленими інформаційними
ресурсами у межах інтероперабельної системи та користувачами цих ресурсів.

Структура і поведінка конкретного інформаційного ресурсу завжди визначена семантикою
предметної області, що її відображає цей ресурс. Специфікація цієї змістовної оболонки
даних може бути виконана у вигляді інформаційної схеми (як, наприклад, у структурованих
моделях даних типу реляційної). Однак на більш загальному рівні, будь-яку специфікацію
семантики даних можна записати деякою формалізованою мовою, наприклад, численням
предикатів першого порядку, або багатосортною логікою.

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

У [23] наведено визначення онтологічної специфікації інформаційного компонента
як набору визначень і понять, а також правил (аксіом), пов’язаних з визначеннями
і поняттями з предметної області (прикладного контексту).

Термін “онтологія” сьогодні використовують у двох контекстах:

·         у філософському: онтологія
– система категорій, використовувана для розгляду з урахуванням конкретного бачення
світу [11];

·         у контексті інформаційних систем:
онтологія – формалізований опис загальноприйнятого розуміння деякої предметної
області, за допомогою якого можуть спілкуватися люди, комп’ютерні системи [22].
Програмні компоненти, для взаємодії між собою в рамках інтегрованої системи неоднорідних
ресурсів, використовують онтології. Передбачають, що онтологія не залежить
від мови представлення предметної області.

Онтологія, на відміну від бази знань, не містить ані знань про методи розв’язування
задач, що стосуються предметної області, ані знань, що дають змогу видавати відповіді
на прямі запити про предметну область [9].

На відміну від метаданих, таких як тип, розмір атрибута, онтології повинні мати
набагато багатші засоби вираження семантики даних. Онтологія може бути традиційною
ієрархією понять і типів об’єктів, разом з точним описом кожного типу, однак може
містити й аксіоми, що задають обмеження на можливі інтерпретації цих понять[9].

За сучасними уявленнями, розрізняють чотири типи онтологій: онтології предметних
областей
, онтології задач, онтології методів розв’язування
класів задач, і формальна онтологія [11].

Онтологія, специфічна для домену, або онтологія предметної області (domain-specific
ontology) – опис предметної області, що не залежить від її використання.

Онтологія задач (task ontology) – опис термінів предметної області, прийнятої в
конкретному класі задач.

Онтологія методів рішення класу задач (problem-solving methods ontology)– опис термінів
і правил, у яких задані методи рішення класу задач. При цьому методи рішення задач
– незалежні від предметної області специфікації алгоритму рішенні проблеми (задачі),
які можна використовувати для різних предметних областей і (можливо) різних класів
задач.

Формальна онтологія (formal ontology або top-level ontology) – опис абстрактних
понять, таких як “простір”, “час”, об’єкт”, “подія” тощо.

3. ДОСЛІДЖЕННЯ В ОБЛАСТІ ОНТОЛОГІЙ

Перші праці з дослідження онтологій з’явилися на стику таких галузей науки як штучний
інтелект, філософія, логіка і теорія баз даних.

Одним з найперших проектів, у якому використано поняття онтології, є проект CYC
[13]. Його мета – створення величезної (близько 100 000 000 аксіом) бази знань про
навколишній світ, яку можна було б використовувати в системах штучного інтелекту
для того, щоб перебороти обмеженість сприйняття такими системами навколишнього світу
в силу відсутності в їхніх базах знань набору загальноприйнятих понять, так званого
загальноприйнятого змісту (common sense).

У рамках проекту CYC була розроблена мова представлення знань CycL. База знань була
розділена на два рівні: епістемологічний (для визначення понять, їх зв’язків, аксіом,
що задають обмеження) і евристичний (представлений набором засобів логічного висновку,
таких як “генератор аргументу”, “порівняння аргументів”, “знаходження протиріч”,
“відновлення логічних висновків”, і функціонального інтерфейсу для спілкування з
евристичним рівнем бази знань CYC). База знань використовує онтологію, організовану
за принципом колекцій категорій (точніше, натуральних сортів Куайна), упорядкованих
за допомогою абстракцій узагальнення / спеціалізації.

Колектив розроблювачів зі Стенфордського університету з кінця 1980 р. займається
розробкою і стандартизацією мов представлення знань [8], інструментальними засобами
створення і модифікації онтологій [9]. У середовищі Ontolingua [9] можна створювати
онтології доменів, класів задач, методів розв’язування класів задач.

Особливе місце в дослідженні онтологій посідає розробка формальної онтології, яку
розглядають як “…теорію апріорних форм і суті об’єктів…”[12]. Метою цих досліджень
є розробка системи логічних примітивів (предикатів), представлених на деякій формалізованій
мові, структурованих на підставі множини розглянутих раніше онтологічних угод про
довільну предметну область. Особливу цінність здобуває формалізація визначень тієї
чи іншої категорії, для того, щоб при побудові онтології використовувати строгі
принципи поділу типів, а не інтуїтивні, евристичні правила [12].

Подальшою задачею є об’єднання цих систем примітивів, і приведення їх до загальної
формальної онтології.

4. СИСТЕМИ ІНТЕГРАЦІЇ НЕОДНОРІДНИХ БАЗ ДАНИХ

Відповідно до класифікації, запропонованої в [20], існуючі у світі інформаційні
системи можна розділити на три покоління, за рівнем інтероперабельності.

Перше покоління: інформаційні системи, засновані на структурованих базах даних.
Домінуючий підхід при розподілі даних – використання федеративних систем баз даних.
Основа для технічної інтероперабельності – локальні мережі.

Друге покоління: інформаційні системи ґрунтуються на структурованих базах даних,
частково структурованих даних (текст, гіпертекст у форматі SGML), на форматах даних,
специфічних для конкретної предметної області (наприклад, графіка, відео тощо).
Дані можуть зберігатися на десятках локальних мереж, об’єднаних між собою. Вважають
досягнутою технічну інтероперабельность, основну увагу приділяють узгодженню мов
звертання до даних і узгодження структур інформаційних компонентів.

Третє покоління: інформаційні системи, засновані на усіх відомих способах комп’ютерізованого
збереження даних, особливу увагу приділяють підтримці відео / просторових / часових
/ наукових даних. Дані можуть зберігатися як у глобальних корпоративних мережах,
так і в Інтернет. Вважають досягнутою технічну, синтаксичну, структурну інтероперабельність,
і особливу увагу приділяють узгодженню семантики використовуваних компонентів.

Вочевидь, сьогодні найрозвиненішими є інформаційні системи першого покоління інтероперабельності,
але для нас більш цікавими будуть системи другого і третьго поколінь.

Є декілька проектів систем другого покоління, що використовують погляд на світ з
боку семантики, закладеної в метаданих, і застосовують онтології. До таких проектів
відносяться SIMS [3], HERMES [1],
InfoSleuth [4], TSIMMIS [7], Information Manifold [14],
OBSERVER[16].

Ці проекти надають доступ до гетерогенних і розподілених інформаційних ресурсів.

Розглянемо ті з них, що надають можливість спільного використання неоднорідних баз
даних.

SIMS (sims)

Модель предметної області (application domain) створюється із використанням системи
представлення знань для того, щоб забезпечити фіксований словник описів об’єктів
предметної області, атрибутів і відносин між об’єктами. Кожному інформаційному ресурсу
ставиться у відповідність модель, у якій описана використовувана в цьому ресурсі
модель даних, мова запитів, розташування в мережі, приблизні розміри, і т.д., а
також зміст атрибутів цього ресурсу в термінах моделі предметної області. Запити
в SIMS формулюються загальною мовою високого рівня також в термінах моделі предметної
області. SIMS визначає потрібні інформаційні ресурси за допомогою знань, закладених
у модель предметної області й у моделях інформаційних ресурсів системи. Потрібні
інформаційні ресурси визначаються під час виконання запиту.

HERMES (hermes)

Зовнішні інформаційні ресурси представлені у вигляді доменів, що виконують визначені
функції з визначеними вхідними і вихідними типами даних. Опис зовнішніх ресурсів
виконується за допомогою гібридних баз знань [15]. Звертання
до цих доменів виконується за допомогою декларативної мови, заснованої на формальній
логіці. На технічному рівні інтероперабельності використовується архітектура медіаторів.

INFOSLEUTH (infosleuth)

Інформаційні ресурси доступні на рівні семантичних концепцій, що є досягненням автономії
даних. Інформаційні запити формулюються природно, незалежно від структури, розміщення
і навіть існування потрібних інформаційних ресурсів. INFOSLEUTH фільтрує ці запити,
сформульовані на семантичному рівні, і знаходить потрібні значення в доступних на
час запиту інформаційних ресурсах.

У проекті використовується загальна онтологія домену, і локальні відображення схем
баз даних у цю загальну онтологію. Система виконує попередню обробку і перетворює
дані з окремої бази даних у записи, атрибути яких є концепціями загальної онтології
домену.

TSIMMIS (tsimmis)

Підтримується модель даних і загальна мова запитів для об’єднання інформації зі
структурованих і частково структурованих джерел даних. Особлива увага приділяється
автоматичному створенню трансляторів і медіаторів для доступу до різнорідних ресурсів.
Результуюча інформація представляється в моделі обміну об’єктами (Object Exchange
Model).

Information Manifold (imhome.html)

Призначена для підтримки інформаційних ресурсів (структурованих і неструктурованих).
Архітектура система заснована на базі знань, що містить багату модель предметної
області, у термінах якої і відбувається опис ресурсів. Користувач має можливість
переглядати інформаційну базу як у виді бази знань, так і у вигляді окремих інформаційних
ресурсів, і задавати запит на пошук на декларативній мові запитів. Головною задачею
й особливістю цієї системи є можливість оптимізації запиту користувача.

Щодо систем 3-го покоління інтероперабельності зазначимо, що на сьогодня існує декілька,
наразі тільки рамкових, програм зі створення таких систем. Це:

Knowledge Sharing Effort (knowledge-sharing)

Intelligent Integration of Information (i3)

Digital Library Initiative (dli_home.html)

Як можна побачити, у сучасних системах використовуються дві концепції архітектури
медіатора:

1.          Централізований підхід,
за яким необхідно існує центральний медіатор. Цей медіатор визначає, до якого ресурсу
треба звернутися при відповіді на запит користувача, за допомогою центрального словника
даних, або загальної онтології ІС. (TSIMMIS, Information Manifold).

2.          Децентралізований підхід,
в якому кожен ресурс має програмного агента, що відображає онтологічну специфікацію
ресурсу в загальну онтологію даної ІС. Відповідь на запит формується після комунікації
агентів окремих ресурсів із агентом брокера ресурсів, який, на відміну від центрального
медіатора, визначає релевантні ресурси в процесі відповіді на запит, виходячи із
доступних/релевантних ресурсів (InfoSleuth, SIMS, HERMES).

5. СИСТЕМИ СПІЛЬНОГО ВИКОРИСТАННЯ ЗНАНЬ

В разі спільного використання різних баз даних цінність становить обсяг і семантика
даних, що зберігається в тій чи іншій базі. Водночас, розробка комплексних систем
знань пов’язана зі значними зусиллями по формалізації і представленню знань, тому
що цінність матимуть якість і повнота наявних концепцій. Тому поряд із системами
інтеграції неоднорідних баз даних, не менше значення мають дослідження в
області спільного використання компонентів баз знань.

Проект IBROW3 [5] призначений для розробки інтелектуального сервісу, що дозволить
використання компонентів знань від різних розроблювачів, з використанням технологій
WWW. У рамках проекту використовуються і онтології предметних областей, і онтології
класів задач, і онтології методів рішення класів задач. Як базову мову для опису
бібліотеки методів рішення задач в цьому проекті використовують мову UPML.

Паралельно IBROW3 розвивається проект DARPA за назвою High-Performance Knowledge
Bases (HPKB) (http://www.teknowledge.com:80/HPKB). Метою проекту було створення
масштабованих, повторно використовуваних компонентів знань і доступ до них за допомогою
Internet. Зараз на зміну проекту HPKB прийшов проект RKF (Rapid Knowledge Formation),
метою якого є розробка механізмів для швидкого проектування баз знань із компонент.

6. Доступ до різнорідних даних в Інтернет

Особливе місце в системах інтеграції неоднорідних компонентів відіграває Інтернет
і World – Wide Web. Величезна кількість інформації розсіяна по Мережі, і тут важливість
має пошук релевантної інформації і відсікання непотрібної інформації. Сучасні машини
пошуку (search engines), що застосуються на пошукових серверах, мають потребу в
додаткових засобах пошуку тільки релевантної інформації. Онтології предметних областей,
як засоби специфікації онтологічних угод між постачальниками інформації і користувачами,
можуть змінити ситуацію на краще. Використання онтологій дає змогу користувачу сформулювати
свій запит на вищому рівні абстракції, ніж це можливо при пошуку по ключових словах.

Розглянемо приклади систем, що використовують онтології для роботи з Інтернет.

OBSERVER (http://siul02.si.ehu.es/~jirgbdat/OBSERVER)

Ця система пропонує підхід використання безлічі вже існуючих онтологій для доступу
до гетерогенних, розподілених і незалежно розроблювальних репозиторіях даних [16]. Реалізація такого підходу – ідеологія брокера
онтологій предметних областей. Передбачається, що існує безліч заздалегідь створених
онтологій предметних областей, і користувачу необов’язково “підбудовуватися” під
конкретну онтологію. Користувач формулює свій запит на деякій мові, у термінах однієї
чи декількох онтологій, і брокер «шукає» релевантні інформаційні ресурси, виконуючи
транслювання запиту в придатні онтології, а в разі потреби, і сполучення декількох
онтологій для більш точної відповіді на запит.

OntoSeek [10]

Ця система розроблена для контекстного отримання інформації з он-лайнових “жовтих
сторінок” та каталогів продуктів. Система може працювати як з однорідними, так і
з неоднорідними каталогами продуктів. Для точної фіксації контексту може бути застосований
інтерактивний підхід, коли користувач поступово уточнює зміст ключових слів, за
допомогою лінгвістичної бази даних WordNet.
WordNet – це лінгвістична база даних, що складається із сінсетів(synsets) – груп
слів, еквівалентних за змістом. WordNet є водночас і лексичним словником (створеним
для декількох європейських мов), і онтологією, що представляє зв’язки між словами
у словнику. Опис ресурсу реалізується у вигляді лексичного концептуального графа[21],
де вершини відповідають словам, а іменовані дуги – семантичним відносинам між словами
(наприклад, відносини типа “частина”, або “підклас”, або ін.), назви вершин і дуг
також беруть із WordNet, під час створення концептуального графа конкретного ресурсу.
Знаходження ресурсів, відповідних до запиту користувача, базується на порівнянні
онтологій (лексичних концептуальних графів) цих ресурсів. А саме, при відборі ресурсів,
відповідних до запиту користувача, OntoSeek виконує порівняння концептуального графа
запиту із існуючими концептуальними графами ресурсів або з частинами цих графів.

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

Підхід, використаний в OntoSeek, відрізняється від підходу, який застосовується
у моделі W3C Resourse Description Framework (W3C RDF,
http://www.w3c.org)
. У RDF опис структури даних (тобто, схема даних у вигляді
<subject, predicate, object>), додається прямо у HTML/XML документ, а не зберігається
окремо. Ніяких додаткових умов щодо семантичної узгодженості даних RDF не вимагає.

7. Підсумки

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

Сьогодні задача інтеграції неоднорідних ресурсів має багато розв’язків. Однак, серед
узагальнювальних факторів її розв’язування виділимо такі:

1. використання онтологій як специфікацій предметних областей, задач, методів рішення
задач;

2. розвиток інтернет-технологій, що дають змогу зробити різнорідні інформаційні
ресурси «ближче до користувача»;

3. застосування систем інтелектуальних агентів для реалізації архітектури медіатора
неоднорідних розподілених інформаційних ресурсів.

ЛІТЕРАТУРА

1.
Adali S., Subrahmanian V.S. Amalgamating knowledge bases, II. Distributed mediators.
International Journal of Intelligent and Cooperative Information Systems 3(4): 349-383,
1994.

2.        Adiba M.et al.
POLYPHEME:An Experience in Distributed Data Base System Design and Implementation.-In:
Proc. of the International Symposium on Distributed Data Bases. Paris. Amsterdam:
North-Holland, 1980.

3.
Arens Y., Knoblock C.A., Shen W. Query Reformulation for Dynamic Information Integration.
Journal of Intelligent Information Systems. 1996.

4.
Bayardo et al. InfoSleuth: Semantic Integration of Information in Open and Dynamic
Environment. In Proceedings of the 1997 ACM International Conference on the Management
of Data (SIGMOD), Tucson, Arisona, May 1997.

5.        Benjamins V.R.
et al. IBROW3: An Intelligent Brokering Service for Knowledge-Component Reuse on
the World – Wide Web. Proceedings of the 11th Workshop on Knowledge Acquisition,
Modeling and Management, KAW’98
.

6.        Cardenas A.F, Pirahesh
M.H. Data Base Communication in a heterogeneous data base management system network.
-Information Systems, 1980, 5, p.55-79
.

7.        Garcia-Molino H.
et. Al. The TSIMMIS Approach to Mediation: Data Models and Languages. In Proceedings
of the NGITS (Next Generation Information Technologies and Systems), June 1995.

8.        Genesereth M.R.,
Fikes R.E., et.al. Knowledge Interchange Format Version 3.0 Reference Manual. Logic-92-1,
Stanford University Logic Group, 1992.

9.        Gruber T. A Translation
Approach to Portable Ontology Specifications. Knowledge Acquisition, 5:199-220,
1993.

10.     Guarino N., Masolo C., Vetere G.
Content-Based Access to the Web. IEEE Intelligent Systems,
May/June 1999,
p.70-80.

11.
Guarino N. The Role of Ontologies in Information Systems Design. Proceedings of
the First International Conference on Formal Ontologies, FOIS’98.

12.     Guarino N., The Ontological Level.
In: Casati R., Smith N. and White G.(eds.), Philosophy and the Cognitive Sciences,
Vienna: Ho:lder-Pichler-Tempsky, 1994.

13.     Lenat D. et al. CYC: Toward programs
with Common Sense, Communications of the ACM, Vol.33, No.8, august 1990, p. 30-49
.

14.     Levy A., Srivastara D., Kirk T.
Data Model and Query Evaluation in Global Information Systems, Journal of Intelligent
Information Systems, 5(2), September 1995.

15.
Lu J., Nerode A., Subrahmanian V.S. Hybrid Knowledge Bases, IEEE Transactions on
Knowledge and Data Engineering, 1994.

16.
Mena E., Kashyap V., Sheth A., Illaramendi A. OBSERVER: An Approach for Query Processing
in Global Information Systems based on Interoperation across Pre-Existing Ontologies.
In Proceedings of the First IFCIS International Conference on Cooperative Information
Systems (CoopIS’96), Brussels (Belgium), June. IEEE Computer Society Press, 1996.

17.
Object Managament Group, “Object Managament Architecture Guide”, OMG Document Number
91.11.1, September 1, 1992.

18.     Object Managament Group, “Object
Services Architecture”, Revision 8.0
.

19.     Object Managament Group, “The Common
Object Request Broker: Architecture and Specifications”, OMG Document Number 91.12.1,
December 1991
.

20.     Sheth
A.P. Changing Focus on Interoperability in Information Systems: from System, Syntax,
Structure to Semantics
.
In: Interoperating Geographic Information Systems. Goodchild M.F., Egenhofer M.J.,
Fegeas R. and Kottman C.A. (eds.). Kluver. 1998.

21.     Sowa J. Conseptual Structures: Information
processing in Mind and Machine. Addison-Wesley,
Reading, Mass.,1984.

22.     Uschold M., Gruninger M.
Ontologies: Principles, Methods and Applications. Knowledge Engineering Review,
11(2), 1996.


23.     Брюхов Д.О., Задорожный В.И., Калиниченко Л.А.,
Курошев М.Ю., Шумилов С.С. Интероперабельные информационные системы: архитектуры
и технологии. // СУБД. Москва, 1995, №4. – С.86-113.

24.     Калиниченко Л.А., Рывкин В.М., Чабан
И.А. Принципы организации и архитектура СИЗИФ – системы организации интегрированных
баз данных
// Программирование. – Москва, 1975,
№ 4.

25.     Калиниченко Л.А., Рывкин В.М., Чабан
И.А. Основные особенности языка манипулирования данными в системе интегрированного
запоминания информации СИЗИФ // Программирование.
– Москва, 1975, № 6.

26.     Калиниченко Л.А. 1983. Методы и
средства интеграции неоднородных баз данных.
– Москва: Финансы и Статистика,
1983. – 300 с.

27.     Программа
исследований в области баз данных на следующее десятилетие (Асиломарский отчет о
направлениях исследований в области баз данных)
// Открытые системы. – Москва,
1999, №1.

HETEROGENEOUS database and knowledge-based INTEGRATING SYSTEMS: THE REVIEW

N.G. Keberle

Zaporozhye State University In Zaporizhzhya

The short review of modern systems integrating information stored in heterogeneous
databases and knowledge-based systems is presented. Discussed are such systems which
use domain ontologies, problem-solving methods ontologies as the means of semantic
integration of heterogeneous information resources. Ontologies help in achieving
sharing and reuse of information resources, allowing formal representation of semantics
of correspondent domains.

Key words: heterogeneous information system; database system; knowledge-based system;
semantic interoperability; domain ontology; task ontology; problem-solving methods
ontology


Owlgres – масштабируемый OWL2 DL-Lite Reasoner

Для обработки онтологий в стандарте OWL 2 можно использовать reasoner Owlgres.  Кстати, reasoner – это подсистема логического вывода; OWL 2 – следующая версия Web Ontology Language.

Чем Owlgres хорош? Во-первых, это опенсорсный продукт (а учитывая то, что он распространяется и по коммерческой лицензии,  есть вероятность, что проект быстро не погибнет). Во-вторых, в Owlgres поддерживается высокоскоростной логический вывод на основе дескриптивной логики. Высокая скорость поддерживается за счет реализации Owlgres поверх реляционной СУБД PostgreSQL.

Кстати, идея реализации онтологий на OWL (или других языках) поверх реляционных баз данных не нова. Вы уже слышали, на страницах моего сайта о Oracle Spatial… Кроме того, это оказывается и не так уже и сложно, когда есть математическая модель онтологий и навыки проектирования реляционных баз данных. Сложность скорее в той рутинной работе, которую нужно сделать, чтобы учесть все ньюансы OWL и LBASE.

В качестве языка запросов к онтологии OWL в Owlgres используется SPARQL-DL.

И, напоследок, уже доступна альфа-версия Owlgres, которую можно использовать как Sparql-точку доступа для создания, например, «умных» сайтов или web-сервисов.

PS. Помниться был еще один подобный проект по хранению онтологий в  Postgress (правда академический), но о нем уже года полтора ничего не слышно, а жаль – можно было бы сравнить, например, производительность.  И лицензия для использования была там получше ))

Если у вас есть информация о подобных проектах, пишите в коментариях ))

Семантическая Паутина. Часть 1

== Семантическая Паутина. Часть 1 ==

Жишкевич Николай

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

В начале 2000-ых годов я впервые услышал о идее которую пропагандировал Тим Бернерс-Ли. Это была идея Семантической Паутины (Semantic Web) и о том как она изменит привычный нам internet. Не секрет, что с самых первых дней развития internet предпринимались попытки создать такой способ представления информации в ней, чтобы указывать на ее логическое значение. Указать, что же хранится в том или ином абзаце или таблице. Придумали теги, такие как STRONG, EM – они должны были играть роль указателей на то, что какие-то части веб-страницы имеют более важное значение, дать акцент на них. Или, например, тег CITE, который должен был служить для хранения цитат или сносок на другую информацию. Тег ACRONYM мог бы указать на … акронимы. Или тег ADDRESS, который должен был бы хранить информацию об авторе документа. Все эти теги не только имели особые шрифты или отступы, но, прежде всего, должны были дать больше “информации об информации” поисковым машинам и браузерам. А теперь, положа руку на сердце, признайтесь, кто из вас слышал и тем более использовал эти возможности? Во всевозможных книжках про веб-программирование и верстку говорят, прежде всего, о том, как создать какой-то красивый эффект, о том, как сделать, чтобы что-то мигало, вертелось и двигалось. Все теги, о которых я упомянул выше (EM, CITE, ACRONYM), пали жертвой ряда обстоятельств: отшумевшая война браузеров, слабые визуальные возможности html заставляли использовать эти теги, прежде всего, для визуального оформления, не обращая внимания на их логический смысл. Эти теги были первой робкой попыткой сделать internet более целостным, что же … покойтесь с миром. Первоначальный этап, когда при разработке сайтов говорили только о его визуальном наполнении, картинках, flash-роликах прошел. Конечно, и сейчас визуальное оформление является важнейшим фактором, но по мере увеличения количества людей постоянно пользующихся internet-ом, ростом широкополосных сетей, бумом социальных сетей, с тем как internet становится все более близким для “домохозяек” и появлением новых моделей коммерции в internet, произошел возврат к старым идеям и попытка их реализовать на новой технологической базе.

Read the rest of this entry »

УДК 519.71

Кучеренко Е.И., Павлов Д.А.

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

About problems of displaying of incompleteness and superfluity of subject of inquiry in ontological spaces

Ye.I. Kucherenko, D.A. Pavlov

There has spotted problems of appearance of elements of incompleteness and superfluity of ontologies during changes or development of their versions. There were suggested criteria and algorithms for displaying and localization of these properties. There were determined mathematical and logical relations between incompleteness and superfluity. Listed recommendations how to use these theoretical results in practice.

Введение

В настоящее время получили широкое распространение распределенные системы обработки данных и управления. В связи с чем, начали значительно развиваться идеи унификации представления информации. Одной из самых важных и разрабатываемых идей является использование онтологий. Сегодня уже предложен ряд высоко специфицированных языков представления онтологической информации, такие как OWL, OIL и DAML [1]. В основе всех указанных языков заложены возможности распределения информации, то есть написание отдельных частей онтологии и синхронизация их на основе механизмов ссылок.

Одной из сложнейших задач поддержки распределенной онтологии является сохранение ее целостности в процессе развития. Так, например, некоторое изменение версии одного из элементов онтологии может негативно сказаться на всей онтологии в целом. В ней могут возникнуть противоречия, неполнота либо избыточность, которые в ходе ее использования часто приводят к изначально ошибочным результатам. Сегодня предложен ряд методов по устранению проблем, связанных с тем, что информация, с которой работают автомати­зиро­ванные либо автоматические системы обработки информации, является неполной либо избыточной [2, 3, 4, 5]. Однако эти подходы в значительной степени обладают функциональной ограниченностью, что требует новых подходов и решений. Поэтому формализованные новые методы решения данной задачи являются важными и актуальными.

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

1. Постановка задачи

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

Необходимо:

- предложить и обосновать формальные критерии выявления неполноты () онтологической информации:

(1)

где – версия в момент времени , – пространство времени, в котором существует альтернативная версия онтологии;

- предложить и обосновать формальные критерии выявления избыточности ( ) онтологической информации:

(2)

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

Для снижения сложности решения принять ограничения на входящую информацию типа:

- поступающие данные предоставлены строго в онтологическом виде;

- в системе должны храниться все предыдущие версии онтологий;

- при изменении версии онтологии специалист должен иметь возможность определить степень подобия версий.

2. Формальное представление неполноты и избыточности

Существует множество случаев, когда в обрабатываемой информации присутствует свойство неполноты (1).

Определение 1. Под неполнотой (1) будем понимать следующее: собрана не вся возможная информация (неполнота) или не вся необходимая (недостаточность) информация, для некоторых элементов определены не их точные описания, а лишь множества, которым эти описания принадлежат (недоопределенность); ряд элементов задачи описан лишь по аналогии с уже решавшимися задачами, имеется лишь «замещающее» описание (неадекватность) [6].

Помимо неточной и неполной информации в систему может зачастую поступать и избыточная информация.

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

Тогда к избыточности относятся сведения, не имеющие отношения к существу вопроса, и сведения в объеме, превышающем возможности своевременной их обработки [7].

Утверждение 1. Избыточность (2) представим как обратное подобие неполноты (1).

Справедливость утверждения 1 следует из определений (1) и (2).

Следствие 1. Положение утверждения 1 будем использовать для формализации разрабатываемых критериев.

Уточним основное понятие, используемое в данной работе [8].

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

Основными элементами онтологии являются:

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

- свойства – атрибуты, которые могут иметь представители классов.

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

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

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

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

Рекурсивные процедуры анализа. Рекурсивные процедуры анализа основаны на анализе классов по их составляющим по свойствам.

Пусть заданы состояния некоторой онтологии или онтологии:

(3)

где – онтология в момент времени , – j-й класс онтологии,

(4)

где – онтология в момент времени ,– j-й класс онтологии, причем классы онтологии и подлежат сравнению на логическом уровне.

Утверждение 2. Онтология (4) является неполной относительно онтологии (3), если соответствующие в них классы обладают свойствами неполноты.

Утверждение 3. Онтология (4) является избыточной относительно онтологии (3), если соответствующие в них классы обладают свойствами избыточности.

Утверждения 2 и 3 справедливы в контексте решаемых задач, если принять истинность замечания 1.

Идентификация соответствия классов онтологий контрольным объектом. Проверка классов контрольным объектом основывается на предусловиях взятых из исходной
онтологии либо заданных отдельно. Такие предусловия оперируют со свойствами эквивалентности и неравенства объектов.

Пусть:

(5)

где – объект, представитель класса , а  – объект, представитель класса .

Утверждение 4. Если , где и – рассмотрение объекта в контексте , то мы наблюдаем явление неполноты .

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

Пусть:

(6)

Утверждение 5. Если , то мы наблюдаем явление избыточности .

Действительно, утверждение 5 справедливо, если учесть что при справедливости

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

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

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

(7)

где – свойство класса, ,, .

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

(8)

где – свойство класса, ,, .

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

(9)

Если учесть, что в ряде случаев указывает на , то есть свойство класса представлено классом, подлежащим дальнейшему анализу, то, очевидно, что (7) и (8) четко описывает рекурсивный поиск.

Эти функции оперируют с классами количество свойств которых (далее мощность) одинаково. Каждое из свойств одного класса имеет сравнимое с ним свойство в другом классе. Тогда перед их использованием будем использовать метод приведения классов:

(10)

где , , , , – структура выхода функции .

Таким образом, на выходе (10), имеем два класса, некоторые из свойств которых являются нулевыми и удовлетворяют следующему требованию:

(11)

где – функция критерия неполноты либо избыточности.

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

,если (12)

(13)

(14)

где обозначает в данном контексте нулевой класс или класс, не описанный в онтологии.

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

(15)

Также содержательная часть некоторых из (15) может быть представлена лингвистическими переменными [10, 11] при изменении их
мощностей:

|A|  (16)

В связи с этим возникает необходимость новых подходов к оценке состояния (15) на основе нечеткой логики [11].

Анализ показал, что степенью сравнения классов согласно определений (1) – (3) и предложенных критериев (7) – (8) в нечетком пространстве состояний [10] может быть значение индекса нечеткости на основе, например, обобщенного расстояния Хемминга [11]:

(17)

где – мощность нечеткого множества атрибутов класса , – четкое множество, ближайшее к нечеткому . Аналогично (17) определяется процедура для класса .

На основе нахождения нормы расстояния

(18)

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

Если

(19)

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

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

3. Алгоритмическое обеспечение

Рассмотрим алгоритмы реализации на примере определения различия классов и .

Пусть а В дальнейшем, примем для определенности , a , что ни в коей мере не сужает общности рассуждений. Тогда класс , а класс . Пусть попарно сравнимы между собой свойства и, и, и.

Критерий неполноты. Алгоритм может быть представлен в виде:

Шаг 1. Выполним операцию нормализации (10).

где ,

теперь .

Шаг 2. Рассчитаем непосредственно количественное значение критерия по неполноте (7):

=(+ ++ + + )/6.

Используя (13) и (14), получим :

=(+ + + 1 + 0 + 0)/6.

Повторив рекурсивно расчет для функций

и , а также определив различия и c помощью (5) и (6), имеем четко определенное значение .

В следствие (11) имеем значение .

Шаг 3. Анализ полученных результатов.

Критерий избыточности.
Алгоритм может быть представлен в виде:

Шаг 1. Выполним операцию нормализации (10).

где ,

теперь .

Шаг 2. Рассчитаем непосредственно количественное значение критерия по избыточности (8):

=(+ ++ ++ >)/6.

Учтем взаимосвязь неполноты и избыточности (9). Тогда:

= (++ +++ )/6.

Что в свою очередь

= (++ + 0 + 1 + 1)/6.

Пройдя рекурсию до конца, имеем значение критерия избыточности.

Шаг 3. Анализ полученных результатов.

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

Утверждение 6. Верхняя оценка вычислительной сложности выполнения алгоритма по критерию временных затрат определяется согласно:

(20)

где – временные затраты на выполнение единичного такта алгоритма, – количество классов онтологии, – среднее число атрибутов в классе.

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

4. Практическая реализация

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

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

Существуют также методы устранения неполных данных [12]. Эти методы имеют ряд практических приложений, но они используются в применении к статистическим данным, что в условиях использования онтологий не применимо. Применение полученных результатов позволило осуществить предварительный анализ динамики развития и изменения
онтологии, которые определяют различия новых версий по отношению к предшествующим. Это дает возможность определения ограничений на использование новых версий онтологий.

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

Таким образом, требования к объему памяти при реализации предложенных алгоритмов соизмеримы с размерами описания онтологии, а время анализа значительно меньше, чем процесс непосредственной загрузки онтологии, что следует из сравнения верхней границы сложности вычисления и экспериментального замера времени загрузки. В связи с этим, к программным реализациям и техническим средствам нет необходимости предъявлять дополнительные требования, и реализация приложений может быть выполнена на персональных компьютерах, что чрезвычайно важно в практических реализациях. Минимальные требования к компьютерам для программной реализации: Intel Celeron 1000 MHz, 128 Mb Ram.

Анализ областей практического применения в значительной части определил перспективы работ. К ним, в первую очередь, следует отнести:

- взвешенное сравнение атрибутов. В настоящей схеме все атрибуты эквивалентны между собой, что в большинстве случаев не так;

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

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

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

5. Выводы

1. Впервые определены и обоснованы формальные критерии выявления свойств неполноты и избыточности в онтологическом
пространстве сложных объектов.

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

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

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

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

Литература:

[1] Michael K. Smith, Chris Welty, Deborah McGuinness. OWL Web Ontology Language Guide, 2003 // http://www.w3.org/TR/owl-guide/.

[2] W. Liu, S. M. Easterbrook & J. Mylopoulos , Rule-Based Detection of Inconsistency in UML Model.
// Workshop on Consistency Problems in UML-Based Software Development, 2002. P. 106 – 123

[3] Paolo Liberatore Redundancy in Logic I: CNF Propositional Formulae // CoRR cs.AI/0211031: 2002

http://arxiv.org/abs/cs.AI/0211031

[4] Абрамов О.Ю. Избыточность в технических системах // Творчество во имя достойной жизни, Великий Новгород, 2001 http://www.natm.ru/triz/articles/abram/abram01.htm

Обработка нечеткой информации в системах принятия решений. / А.Н. Борисов, А.В. Алексеев, Г.В. Меркульева М.: Радиосвязь 1989. 304 с.

[7] Серый Е.С. Бизнес-словарь. Москва. 2003. http://www.businessvoc.ru/

[8] Jennifer Golbeck, Amy Alford, James HendlerOrganization and Structure of Information using Semantic Web Technologies. // Handbook of Human Factors in Web Design. Maryland, College Park 2003.

[9] Kenneth Baclawski, Mieczyslaw M. Kokar,Richard Waldinger, Paul A. Kogut Consistency Checking of Semantic Web Ontologies. // Lecture Notes in Computer Science, LNCS
2342, Springer, 2002. P. 454 – 459

[10] Кофман А. Введение в теорию нечетких множеств: Пер. с франц. М.: Радио и связь, 1982. 432 с.

[11] Tsokalas L.H. Uhrig R.E. Fuzzy and Neural Approaches in Engineering. New York: John Willer & Sons Enc., 1997. 587p.

[12] Warren Sarle. Handling missing or incomplete data. Information Technology Services at The University of Texas at Austin, 2004. http://www.utexas.edu/its/rc/answers/general/gen25.html

Модель интенсивного развития онтологий

ДК 519.178, 519.711
Кучеренко Е.И., Павлов Д.А.

Введение

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

Некоторые из существующих подходов работы с развивающейся онтологией [1] ориентированы на внесение дополнительной метаинформации в ходе разработки онтологии и последующем семантическом анализе этих данных. Такой подход эффективен при строгой формальной разработке онтологий и не достаточно применим к стихийно развивающимся онтологическим структурам. Исследования [2-3], ориентированные на анализ процесса развития, изучают широкий набор базовых изменений в онтологии, но не уделяют внимания неявным последствиям изменений. В работе [4] предлагается метод поддержки адекватного развития онтологии, основанный на проверке целостности текущей версии.

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

Работа, посвященная модульности онтологии в распределенных системах [5], ярко отразила тенденции в прикладных задачах использования онтологий, но оставила без внимания процессы изменения структуры в ходе доработки.

Разработка PROMPT [6] в рамках проекта Protégé[7] предлагает особый подход сравнения версий, но в ней не отражаются подходы использования внешних ссылок онтологии, а также не предусмотрено использование нечетких онтологий [8].

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

  1. Постановка задачи.

Пусть существует онтологическая структура (ОС) представленная набором связанных нечетких онтологий [9]

Struct = <MO,MRI>,

где MO = {Onti} – множество всех онтологий входящих в ОС, MRI = {RIj}, конечное множество всех отношений импорта RI заданных на данной ОС.

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

Существует ряд основных типов различий существующих внутри онтологий одной предметной области:

  • терминологические отличия: для одних и тех же объектов используются различные имена AB, AI=BI;

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

  • кодировочные: правильные значения свойств могут отличаться, могут использоваться различные шкалы
    ;

  • контекстные: терм одного значения в определенном контексте имеет абсолютно другое значение в другом ;

  • уровня детализации: одна онтология более детально описывает предметную область, нежели другая Ont1 Ont2.

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

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

Тогда необходимо:
  • разработать обобщенную модель интенсивного развития онтологии;

  • интегрировать разработанную модель с моделью экстенсивного развития ОС [9];

  • предложить рекомендации к прикладному использованию разработанной модели в задачах оценки адекватности развития.

  1. Элементы интенсивного развития ОС

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

(1)

где I конечный неотрицательный номер версии Ont.

Введем функции, связывающие онтологию и время в соответствии с развитием D. Учитывая дискретность развития

, (2)

где функция значения онтологии в момент t для развития D.

, (3)

где функция обратная (2).

Введем отношение версии такое, что

если , то , (4) и наоборот,
если , то .

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

Определение 1. Сравнимыми онтологиями Ontx и Onty мы будем называть такие онтологии, для которых выполняется отношение близости

near(Ontx,Onty) = true. (5)

Работая с нечеткими онтологиями, а также при необходимости получения большей выразительности понятия близости, в ряде случаев имеет смысл применения непрерывного значения близости near(Ontx,Onty) [0,1]. Фактически, оценка близости двух онтологий – это не тривиальная задача, и она является предметом отдельных, дальнейших исследований в данной области. В статье для вычисления данного условия будем использовать упрощенную функцию, сравнивающую мощность пересечения двух версий и сумму мощностей их различий

, (6)

где |Ont| – мощность онтологии.

Декомпозиция онтологии

Исходя из исследований [10], онтология может быть отображена в виде ориентированного графа. Тогда пусть онтология Ont есть некоторый граф

Ont = <N,E>, (7)

где N – узлы онтологии, E – отношения между узлами (ориентированные дуги).

В рамках онтологии будем выделять три подграфа

1. T-граф – концептуальная часть онтологии. На данном графе узлами являются классы T и отношения R, а дугами базовые
отношения, вводимые грамматикой данного языка онтологий.

2. А-граф – объектный граф. Его узлами является множество объектов онтологии, дуги – отношения между объектами, как вводимые грамматикой данного языка, так и введенные на T-графе отношения R.

3. ТА-граф – связующий между концептуальным и объектным. В качестве узлов содержит классы T и объекты A, принадлежащие этим классам, в качестве дуг здесь выступают отношения принадлежности объекта классу. Данный граф является двудольным.

Ont = T+ A + TA (8)

Принимая во внимание содержательную часть трех подграфов графа (8) часть его узлов в ряде случаев выступает в качестве дуг (отношения R), независимое рассмотрение описанных подграфов по отдельности снимает данную коллизию.

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

Необходимо отметить, что декомпозиция (8) не является единственно возможной. В ряде источников [11] TA- и А-графы рассматриваются как один. Также возможна и более глубокая декомпозиция, зависящая от специфических особенностей онтологии. Предлагаемое разложение универсально и легко осуществляемо в рамках существующих прикладных реализаций структуры онтологии.

Подграфы онтологии неравнозначны, для них характерны зависимости и подчиненные связи.

Отметим, что независимым элементом A и от элемента B онтологии Ont – это такой элемент, для которого верно:

AI = const, , и записывается ,

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

Тогда один подграф G1 зависит от другого G2, nezav(G1, G2) = false, тогда и только тогда когда . В таком случае можем строить иерархию подграфов аналогично иерархии, возникающей при интенсивном развитии ОС.

Атомарность развития

При развитии всякого графа (7) будем различать изменение структуры узлов N и структуры связей E графа онтологии. Изменение структуры узлов N для поставленной задачи может состоять только из удаления и добавления узлов inc(N), dec(N).
Изменение структуры связей также заключается в добавлении и удалении связей inc(E), dec(E), а также изменении значения функции принадлежности ch(E).

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

dec(N) {dec(E)i}

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

inc(N){inc(E)i}

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

dev(Ont1,Ont2)= <inc_N,dec_N,inc_E, dec_E,ch_E>, (9)

где inc_N, dec_N множества добавленных и удаленных узлов с подчиненными связями, inc_E, dec_E – множества добавленных и удаленных независимых связей, ch_E – множество измененных связей.

Отметим что для четкой онтологии ch_E всегда .

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

Ont* =norm(Ont)= <N,E*>|Ont =<N,E> EE*,E*/E= {Rinfi} , (10)

где Ont* –результирующая онтология, E*– измененная структура дуг графа онтологии, Rinf– неявные отношения, полученные путем логического вывода из уже имеющихся знаний.

В существующих решениях в области нормализации онтологий преобладает подход вычисления неявно заданных знаний [11, 12].

Утверждение 1. Если онтологии, полученные в результате нормализации (10), равны, то исходные онтологии равны.

если Ont*x = Ont*y, где Ont*x =norm(Ontx), Ont*y =norm(Ontx), то Ontx = Ontx.

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

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

  1. Гибридизация интенсивного и экстенсивного развития

Рассмотрим некоторую распределенную ОС Struct = <MO, MRI>.

Пусть всякой Onti MO соответствует некоторое развитие Di (1), i=1,I.
Предположим, что для всякого значения времени t мы можем построить соответствующую структуру импортов MRI(t).

Рисунок 1 – Пример схемы гибридного
развития ОС

Тогда

, (11)

является гибридным развитием ОС. Пример такого вида структуры отражен на Рисунке 1.

Рассмотрим главные особенности структуры (11).

В целом зависит от двух групп переменных и . При фиксации одной из групп переменных наблюдаем следующее:

При выполнении условия

, MRI(t)=MRI=const, (12)

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

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

, =MO=const, (13)

Гибридное развитие ОС может содержать разрывы в функциях значения онтологии. Например, представим, что некоторая онтология Ont была в ходе развития заменена двумя (или более) онтологиями Ont1 и Ont2, при чем Ont = Ont1 Ont2.

Из функции (6) очевидно, что .

В то же время .

Таким образом, мы наблюдаем разрыв развития D и появление развитий D1 и D2 (Рисунок 2) (по оси ординат комплексная оценка адекватности изменения версии Ad [13]).

D-> D1,D2.

Очевидно, что возможна и обратная ситуация

D1,D2 ->D.

В таком случае будем говорить об обобщенном интенсивном развитии,

, (14)

где J(t) – количество онтологий в момент времени t, относящихся к развитию D. Развитие (14) является частным случаем общего гибридного развития.

Тогда (2) необходимо обобщить до

. (15)

Рисунок 2 – Разветвление при интенсивном развитии

В процессе развития ОС возможно возникновение неадекватности nAd.

Рассмотрим случай когда

Struct = <{Ont1, Ont2},imp(Ont1, Ont2)>.

Пусть импортируемая онтология Ont2 развивается интенсивно:

Dont2 = <{Ont21,t1},{Ont22,t2}>

Предположим что некоторый узел A, AOnt1, зависит от элемента B, BOnt21, nezav (A,B)= false.

Пусть для изменения версии dev(Ont21, Ont22) удален узел B, dec(B) = true.
Тогда в момент t2 имеем

nezav (A,B) = false | Struct(t) = <{Ont1, f Dont2(t2)}, imp(Ont1, Ont21)>, B=U,

где U – универсум. То есть утверждается зависимость A от некоторого абсолюта, что семантически не верно.

Cостояние развития

Struct (t2)= <{Ont1, Ont21},imp(Ont1, Ont21)>

будем называть неадекватным и записывать

nAd(Struct(t2)) = true. (16)

Тогда если nAd(Struct(t)) = true, где , то время t, будем называть временем неадекватности.

Важно различать адекватность состояния nAd(Struct(t)) (16) и адекватность развития Ad(Ont1,Ont2) [13]. Состояние может быть неадекватным в силу избыточности либо неполноты в структуре. В то же время при развитии мы можем получать полностью адекватную структуру, но она будет настолько отличаться от своей предыдущей версии, что данное развитие будет рассматриваться как неадекватное.

Определение 2. Если nAd(Struct(t)) = false, tt0, то развитие такой структуры мы будем называть всюду структурно адекватным.

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

Определение 3. Если nAd(Struct(t)) = false, tt0, то развитие такой структуры – частично структурно адекватное.

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

Определение 4. Если nAd(Struct(t)) = true, tt0, то развитие такой структуры – структурно неадекватное.

Такого рода структуры наиболее точно описывают развития структур в Интернет, например FOAF [15].

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

Введем операцию получения предыдущих версий онтологии, аналоги которой в литературе именуются rollback (англ. откат)

rb(fD(t1))= fD(t2), (17)

где t2<t1, t2 =max(t), fD(t1) fD(t).
Пусть

rbi(Ont) = rb1(rb2(…(rbi(Ont))…))| i0, rb0(Ont)= Ont.

Принимая во внимание (17)

rb({Onti}) ={{rb(Ont1), Ont2,…, OntI},{ Ont1,rb(Ont2),…,OntI},…,{Ont1,Ont2,…,rb(OntI)}}. (18)

Определение 5. Если существует некоторый набор {ji}, ji min, такой, что nAd(Struct(t)) = false, где , то структура является субадекватной.

При чем, для всякой онтологии, для которой соответствующее значение из набора {ji} равно 0, то данная субадекватная структура является для нее верхней границей адекватности.

Существует некоторый набор {ji} такой, что nAd(Struct) = false .

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

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

nezav(A,B) [0,1], при чем (nezav(A,B)=true) (nezav(A,B)=1).

Таким образом, зависимость ресурсов можно проранжировать. Отметим, что такой переход также необходим для адекватной работы с нечеткой информацией. Тогда nAd(Struct) [0,1], что позволяет выполнять операции минимизации неадекватности структуры.
  1. Алгоритмизация операций с моделями и рекомендации к практической реализации

Оценка адекватности развития произвольной ОС является многогранной и многоуровневой задачей. Рассмотрим наиболее общие и выразительные алгоритмы работы с развивающейся ОС (11).

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

Алгоритм поиска верхней границы адекватности развивающейся ОС.

Пусть существует развитие , для него необходимо определить все верхние границы адекватности для онтологии Ont в момент tk.

Шаг 1. Установка входных значений: входной ОС Struct и онтологии Ont из этой ОС для которой осуществляется поиск (DOnt = <Ont,t>), добавление Struct в очередь структур Queue.

Шаг 2. Текущая ОС Struct равна первому значению в очереди Queue. Из Queue удаляем первое значение.

Шаг 3. Проверка неадекватности (16) состояния текущей Struct: nAd(Struct(t)), если nAd(Struct(t)) = true переход на Шаг 4, иначе переход на Шаг 7.

Шаг 4. Выполняем операцию rollback (17) для набора онтологий текущей структуры. rb(Struct) = {Structi}

Шаг 5. Добавляем в очередь Queue все {Structi}, при чем проверяем, что такие значения Struct еще не помещались в очередь.

Шаг 6. Переход на Шаг 2.

Шаг 7. Добавляем текущую Struct в результирующий список Res.

Шаг 8. Если очередь Queue не пуста переход на Шаг 2,иначе переход на Шаг 9.

Шаг 9. Возвращение списка адекватных структур Res.

Шаг 10. Останов.

Онтологическое представление знаний сопряжено с внушительными требованиями к вычислительным ресурсам, а именно к объемам памяти v и времени расчета t. В связи с этим любые алгоритмические решения в этой области требуют проверки на предмет сложности. Рассмотрим алгоритм на предмет верхних границ вычислительной сложности. Важнейшими параметрами в нем являются размерность ОС и длительность оценки адекватности текущей структуры adt(Struct).

Оценим верхнюю границу сложности поиска адекватного состояния структуры по критерию временных затрат,

C_RBt = k_rbt* (Ji)*adt(Struct), (19)

где Ji – количество версий i онтологии, k_rbt – параметры системы.

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

Оценим верхнюю границу сложности поиска адекватного состояния структуры по критерию затрат памяти C_RBv,

C_RBv = k_rbv* I *adv(Struct), (20)

где I – мощность экстенсивной составляющей развития ОС, adv(Struct) – затраты памяти необходимые для вычисления адекватности, которые включают наборы элементов онтологий, которые имеют внешние ссылки, k_rbv – константа параметров среды.

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

Проследим поведение модели на существующей ОС [16]. Проект SWEET (Semantic Web for Earth and Environmental Terminology) ориентирован на использование
научными сотрудниками различных направлений. Для интеграции множества разнородной информации в проекте используется ряд связных онтологий в формате OWL. Отметим, что в данный момент проект находится в стадии активной разработки, и элементы интенсивного развития присутствуют на всех уровнях структуры.

Рассмотрим процесс интенсивного развития базовой онтологии ОС SWEET, которой является онтология “units”. Она содержит информацию о физических единицах измерения. Рассмотрим ее в трех версиях Dunits= <{units1, t1}, {units2,t2}, {units3,t3}>

Известно, что переход от версии 1 к версии 2 был вызван требованием возможности добавления базовых пропорций:
«процент», «промилле» и др. Также в изменение версии вошло изменение представления понятия «ампер» в виде строки. Множество добавленных объектов отражено количественными характеристиками строки RD12 Таблицы 1.

Переход от версии 2 к версии 3 сопровождался меньшим количеством изменений, но они носили более сложный характер. Так, в частности, появился ряд новых связывающих отношений между уже существовавшими объектами, а также были исправлены некоторые строковые значения. Наиболее ярко сложный процесс изменения отражен столбцом А строки RD23 Таблицы 1.

Таблица 1 – Кортежи развития подграфов (9) онтологии units.

T

TA

A

RD12

<0, 0, 0, 0, 0>

<13N+91E, 0, 0,0, 0>

<13N+14E, 1N+1E, 0, 0, 0>

RD23

<0, 0, 0, 0, 0>

<1N+10E, 0, 0, 0, 0>

<3N+4E, 1N+1E, 2E, 1E, 0>

RD13

<0, 0, 0, 0, 0>

<14N+101E, 0, 0, 0, 0> <16N+18E, 2N+2E, 2E, 1E, 0>
Очевидно, что строка RD13 эквивалентна поэлементному сложению строк RD12 и RD23, что говорит о линейности развития Dunits, а также о независимости изменений.
Рассмотрим гибридное развитие ряда онтологий, входящих в структуру SWEET.
Dunits = <{units1, t1}, {units2,t2}, {units3,t3}>
Dbio= <{bio1,t1},{bio2,t2}>
Dhum_act= <{hum_act, t1}>
Dmat_th= <{mat_th, t1}>
Dearth= <{earth, t1}>
Dspace=<{space1,t1},{space2,t3}>
Dnum=<{num1,t1},{num2,t3}>
Dprop=<{prop1,t1},{prop2,t3}>
Dsubst =<{subst1,t1}, {subst2,t3}>
Dtime =<{time, t1}>

Итак, мы наблюдаем онтологическую структуру на трех этапах развития:
t1, t2 и t3. Отметим, что близость (5) для всех частных развитий выполняется. Проверим неадекватность (16) состояний на всех этапах nAd(Struct(t1))= false nAd(Struct(t2))= true nAd(Struct(t3))= true

Найдем субадекватную структуру для space2.

Расчет показывает, что такого развития не существует. Следовательно развитие space2 не адекватно.

Найдем субадекватную структуру для subst2.
Struct = <{units2,bio2,hum_act, mat_th, earth, space1,num1,prop2,subst2,time }, MRI>.

Данные разрозненные примеры прикладного использования могут быть интегрированы и задействованы в единой системе управления онтологией (СУО), которая будет использовать не только текущее состояние онтологии, но и предыдущие ее версии.

Выводы

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

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

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

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

Список литературы

  1. Heflin J., Pan Z. A Model Theoretic Semantics for Ontology Versioning // ISWC 2004, LNCS 3298, 2004, P. 62–76.
  2. Heflin J. Towards the Semantic Web: Knowledge Representation in a Dynamic, Distributed Environment // PhD thesis,
    University of Maryland, 2001.
    137 p.
  3. Klein M. Change Management for Distributed Ontologies // PhD thesis, Vrije Universiteit, 2004. 206 p.
  4. Haase P., Stojanovic L. Consistent evolution of OWL ontologies // In Proceedings of the Second European Semantic Web
    Conference, Heraklion, Greece, 2005.
    http://www.aifb.uni-karlsruhe.de/WBS/pha/publications/owlevolution05eswc.pdf (12.04.2006)
  5. Stuckenschmidt H., Klein M. Integrity and change in modular ontologies. In Proc. IJCAI’03, Acapulco, Mexico, 2003.

  6. Noy N. F., Musen M. A. PROMPT: Algorithm and Tool for Automated Ontology Merging and Alignment // Seventeenth National
    Conference on Artificial Intelligence (AAAI-2000), Austin, TX, 2000.
    http://dit.unitn.it/~p2p/RelatedWork/Matching/SMI-2000-0831.pdf (12.04.2006)
  7. Noy N. F., Sintek M., Decker S., Crubezy M., Fergerson R. W., Musen M. A. Creating Semantic Web Contents with Protege-2000 // IEEE Intelligent Systems, 2001, 16(2). P. 60-71.

  8. Кучеренко Е.И., Павлов Д.А. Некоторые аспекты анализа развития нечетких онтологий. //Искусственный интеллект. Донецк. 2005. C.
    162-169.
  9. Павлов Д.А. Экстенсивное развитие онтологических структур // Бионика интеллекта: научн.-техн.журнал. Харьков, 2005. (в печати)
  10. Resource Description Framework (RDF) // http://www.w3.org/RDF/ (08.12.2005)
  11. Haarslev V., Moeller R. RACER System Description // in Proceedings of the International Joint Conference on Automated
    Reasoning, IJCAR’2001, 2001.
    http://www.sts.tu-harburg.de/~r.f.moeller/racer/papers/2001/HaMo01a.pdf (13.04.2006)
  12. Sirin E., Parsia B., Grau B. C., Kalyanpur A., and Katz Y. Pellet: A practical owl-dl reasoner. // http://www.mindswap.org/papers/PelletJWS.pdf (08.12.2005)
  13. Павлов Д.А. О подходах к контролю адекватности развития онтологий. // Тезисы доклада на международной научно-технической конференции
    «Искусственный интеллект. Интеллектуальные и многопроцессорные системы». Дивноморское. 2005. Т.2. С. 400 403.
  14. Кучеренко Е.И., Павлов Д.А. О проблемах выявления неполноты и избыточности информации в онтологическом пространстве //Прикладная
    радиоэлектроника, Т.4, №2, Харьков, 2005 г, С. 175-179.
  15. FOAF Vocabulary Specification //http://xmlns.com/foaf/0.1/ (13.04.2006)
  16. Raskin R. Guide to SWEET Ontologies // http://sweet.jpl.nasa.gov/guide.doc (13.04.2006)

На пути к 4D или вперед в недалекое прошлое?

Наталья Кеберле

В продолжение темы, поднятой в заметке «На пути к 4G»… (Щербак)

Действительно, в «пироге языков Semantic Web», куда входит OWL ( и даже его версия OWL 1.1) все языки статичны. В них нет поддержки концепций пространства и времени на уровне логических конструкций языка. Пока разработчик может рассчитывать на «ручную» обработку и заполнение тегов rdf:comment (если онтология описана только в RDF Schema) или тегов owl:priorVersion, owl:versionInfo, owl:backwardCompatibleWith, owl:incompatibleWith, которые W3C зарезервировала на будущее.

Попробуем выяснить, насколько далеко от нас это будущее.

Read the rest of this entry »

Некоторые работы Intelligent Systems Research Group

Некоторые работы Intelligent Systems Research Group (с участием Н. Кеберле)

Проблемы/решения для интеллектуального поиска в Semantic Web с помощью онтологий:

Ermolayev, V.A., Keberle, N.G., Plaksin, S.L., Vladimirov, V.N. (2003)

Capturing Semantics from Search Phrases: Incremental User Personification and Ontology-Based Query Transformation / Извлечение семантики из поисковых фраз: инкрементальная персонификация пользователя и преобразование поисковой фразы с помощью онтологий

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

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

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

Ключеслово/ключефраза получает оценку таким образом:

лючеслово, <семантическое отношение>, концепт онтологии, степень похожести),

где <семантическое отношение> – одно из таких: «подкласс-суперкласс», «часть-целое», «синоним», «экземпляр».

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

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

Опубликовано в : M.D. Godlevsky, S.W. Liddle, H.C. Mayr (Eds.):Proceedings of the 2nd International Conference on Information Systems Technologies and its Applications, GI-LNI P-30, pp.9-20 (ISTA’2003), June 19-21, Kharkiv, Ukraine, 2003.


Проблемы/решения для создания семантически интероперабельных информационных систем:

Ermolayev. V., Keberle, N., Shapar, V., Vladimirov, V. (2004)

Ontology-Driven Sub-Query Extraction for Distributed Autonomous Information Resources in UnIT-Net IEDI./ Выявление подзапросов к распределенным автономным информационным ресурсам в инфраструктуре электронного документооборота UnIT-Net.

Проект UnIT-Net применяет архитектуру mediator-wrapper «от начала до конца» для конкретной задачи – организации специфического электронного документооборота между распределенными разнородными автономными провайдерами информационных ресурсов. В основе такой архитектуры лежит использование онтологий: каждый ресурс снабжается онтологией ресурса, а целостное видение предметной области организуется в онтологию медиатора. Отображения «онтология медиатора – онтологии ресурсов» также организованы в виде онтологий маппингов.

При реализации медиаторной архитектуры в распределенной среде для wrappers было решено использовать Web сервисы. Внутренний язык представления онтологий – OWL DL, внутренний язык запросов к онтологиям – RDQL.

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

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

Опубликовано в: A. Doroshenko, T. Halpin, S. W. Liddle, H. C. Mayr (eds.) Information Systems Technology and its Applications. Proc. 3-d Int. Conf ISTA’2004, July 15-17, 2004, Salt Lake City, Utah, USA, pp. 137-150, GI LNI Vol P-48


Еще одна статья по теме:

Keberle, N., Ermolayev, V., Vladimirov, V., Dzhurinsky, E. (2005)

Visual Semantic Query Formulation and Execution in UnIT-NET IEDI / Визуальное построение семантических запросов и их выполнение в UnIT-NET IEDI.

Требовать от обычного пользователя свободного знания структуры онтологии и языка запросов RDQL неправильно. Удобный визуальный интерфейс, история запросов, сохранение ответов – такие пожелания были взяты за основу при разработке QFI – Query Formulation Interface – Java приложения на стороне клиента системы UnIT-Net.

В статье представлены принципы создания такого интерфейса и его верификация.

Опубликовано в: «Mathematical Modeling, IT, Automated Control Systems» series of the Herald of Kharkiv National University, No 703, ISSN 0453-8048, p. 95-108

Задачи OWL-based поисковой системы и пути их решения

Павлов Дмитрий

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

Введение

За последние несколько лет IT индустрия сильно шагнула в развитии автоматического поиска, сбора и обработки информации. Одним из ведущих направлений этой отрасли является технология Semantic Web[1], продвигаемая W3 консорциумом. Среди последних значительных достижений данной технологии спецификация языка описания онтологий OWL[2]. Вместе с появлением такого мощного инструмента возник ряд практических задач его непосредственного внедрения и применения. Решенными задачами на сегодняшний день являются: визуальные среды разработки онтологии[3,4]; спецификация агентного взаимодействия по средством метаописания механизмов передачи и обработки данных[5]; проверка формальной целостности онтологии[6] и пр. В данной работе предполагается использование этих решений.

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

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

1 Постановка задачи

Изначально онтология предполагается как нечто, что можно разделить на элементы, путем указания ссылок друг на друга. Ввиду практической постановки задачи, условимся, что онтология представлена на языке OWL.

Разделяемая структура рождает задачу поиска элементов при использовании предоставляемых ссылок:

SELECT a FROM uri WHERE resource=»uri#a», (1.1)

где а – элемент онтологии, uri[7] – ссылка на элемент, resource – специфицированный элемент RDF[8].

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

SELECT a FROM * WHERE a=b, (1.2)

где а и b – элементы онтологии.

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

SELECT a FROM * WHERE [a, R, b], (1.3)

где [a, R, b] – тройка субъект-предикат-объект, а – один из недостающих элементов тройки.

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

Таким образом, необходимо предложить алгоритм либо ряд алгоритмов онтологического поиска, выполняющие 1.1, 1.2, 1.3, а также их взаимные вариации в условиях распределения данных в сети. Представленные алгоритмы должны базироваться на общих принципах языка OWL и быть обоснованными с точки зрения оптимальности.

2 Онтологический поиск в контексте OWL

Определимся с основными понятиями, которыми мы будем оперировать.

2.1 Сеть

Ont = Σ Stori, i=1,n, (2.1)

где Ont – распределенная онтология, Stori – часть онтологии, находящаяся в i хранилище данных, n – число хранилищ.

Пример топологии сети

Рисунок 2-1 Пример топологии сети

Сеть (Рис. 2-1), в которой функционирует онтология, будем рассматривать как направленный граф, обладающий не всеми дугами. Узлами графа являются хранилища данных, таким образом число узлов – n. Дуги графа – ссылки, которыми обладают хранилища.

Допущение 1. Пусть в графе нет обособленных вершин.

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

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

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

Таблица 2.1 – Формирование дуг сети.

URI Узел-сосед Элемент
http://www.w3.org/2002/07/owl#Class http://www.w3.org/2002/07/owl class
http://www.w3.org/2001/XMLSchema#float

http://www.w3.org/2001/XMLSchema#string

http://www.w3.org/2001/XMLSchema float

string

rmi://127.0.0.1/1.owl#a

rmi://127.0.0.1/2.owl#b

Форсировано объедине\\нный – localhost a

b

2.2 Поиск

Теперь определимся с непосредственным результатом выполнения глобального поиска, то есть фактическим результатом работы системы, функцией search(Ont, query0).

Определение 1. Search(Ont, query0) возвращает наиболее полно описанную элементарную сущность языка OWL, отвечающую базовому запросу query0.

Под элементарной сущностью OWL мы понимаем класс, свойство либо объект, а под запросом query0 мы подразумеваем один из запросов указанных в 1.1 – 1.3.

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

Определение 2. Под локальным поиском мы будем понимать поиск, ограничивающийся ресурсами i хранилища данных.

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

Ввиду допущений 1 и 2, а также топологии сети, введем возможность перемещения поиска из узла, в котором происходит обработка информации, в узлы-соседи:

Stori ->{Stori1, … Storij}, (2.2)

где j число серверов-соседей активного узла.

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

  • поиск элемента онтологии по ссылке URI (1.1);
  • поиск элемента эквивалентного данному (1.2);
  • поиск недостающего элемента тройки N-Triple[8] (1.3).

Рассмотрим каждое направление в отдельности.

Поиск по ссылке (1.1) – тривиальная техническая задача, в которой, имея имя узла и имя искомого на нем объекта, требуется получить развернутое описание объекта.

Поиск эквивалентного элемента (1.2) осуществляется путем использования стандартных рекомендаций для языка OWL[2].

Заполнение недостающего элемента в N-Triple (1.3) будем решать с помощью механизмов RDQL[9].

Не смотря на разобщенность направлений поиска, они тесно связаны. Рассмотрим взаимодействие механизмов поиска (Рис. 2-2).

search(Ont, [a,R,?] ) = Σ search(Ont, [am,Rn,?] ), m=1,M; n=1,N, (2.3)

где [a, R, ?] некоторый базовый запроса, am эквивалентно a, Rn эквивалентно R, M и N – количество найденных эквивалентностей соответствующему элементу N-Triple.

В 2.3 показано взаимодействие между поиском элементов эквивалентных данному (1.2), когда базовый запрос преобразуется в серию эквивалентных ему, и поиском недостающего элемента тройки (1.3). При формировании, как расширения запроса, так и при поиске недостающих элементов возможно возникает задача поиска по ссылке (1.1). Из сказанного следует, что в данном примере показана логическая связь всех трех элементарных типов поиска.

Взаимодействие механизмов поиска

Рисунок 2-2 Взаимодействие механизмов поиска

3 Межсерверное взаимодействие

В основе межсерверного взаимодействия лежит технология агентного взаимодействия OWL-S[10]. Во-первых, ее использование формализует процесс передачи данных внутри сети, во-вторых, позволяет оставить возможность интеграции системы с внешними пользователями, еще не специфицированными на данном этапе разработки.

Для организации межсерверного взаимодействия специфицируется следующий интерфейс:

  1. функция broad(query) преобразующая запрос в список эквивалентных запросов;
  2. функция local_search(query) создающая описание элемента OWL по заданному запросу;
  3. функция search(query), которая, по сути, является объединением двух предыдущих функций. Ее непосредственно вызывают клиенты.

Используя данный интерфейс, были созданы следующие алгоритмы работы сервера, получившего запрос:

  1. Алгоритм 1, простой: сервер расширяет запрос силами своей (локальной) информации и силами всех серверов-соседей, не отличая собственную информацию от чужой, получая, таким образом, наиболее полное расширение для данной сети. Далее для каждого малого запроса выполняет функцию local_search(query) на всех доступных ресурсах. Все полученные ответы соединяются воедино и возвращаются клиенту;
  2. Алгоритм 2, с повышенным доверием: сервер расширяет запрос, опираясь исключительно на собственную модель, а затем выполняет функцию search(query) для своей модели и моделей серверов-соседей. Все полученные ответы соединяются воедино и возвращаются клиенту.
  3. Алгоритм 3, с транслятором: такой вариант можно назвать гибридным алгоритмом. При локальном расширении запроса используется ряд серверов-соседей исключительно в целях нахождения эквивалентных классов, свойств и объектов. Затем на основании полученной трансляции выполняется функция search(query) для своей модели и моделей серверов-соседей, которые не являются трансляторами.

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

Алгоритм 2 предназначен для случаев, когда каждый из серверов представляет в какой-то степени завершенный ресурс. Таким образом, его область имен, классы и свойства наиболее эффективно применять исключительно к его модели. Скорость выполнения запросов в таком алгоритме выше за счет сокращения числа межсерверных пересылок данных, но качество поиска падает, вследствие того, что часть данных, которые были бы выбраны более широким запросом, утеривается. Таким образом вводим Ограничение 1: ни один сервер такой сети не может не содержать ссылок на сервер, хранящий некоторый объект, эквивалентный данному, иначе данные объекты не будут распознаны как эквивалентные. Такой алгоритм в большей степени подходит Internet поисковикам, которые имеют ссылки на сервера различной принадлежности.

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

Важным аспектом оптимизации межсерверного взаимодействия является кеширование результатов в рамках конкретного поиска. Оно заключается в сохранении результатов выполнения каждого конкретного запроса. Благодаря такой организации мы предотвращаем ситуацию зацикливания, облегчаем скорость работы при ветвлении сети (как в узлах 1, 2 и 3 на рис. 2-1), а также значительно ускоряем процесс повторного запроса, который может быть инициирован функцией process.

4 Практическая реализация

Рассмотрим пример используя топологию рисунка 2-1.

Информация узла 1.

[3:Мать ID="Маша"]

[2:породил rdf:resource="#Вася"/]

[/3:Мать]

[2:Ребенок ID="Вася"/]

Информация узла 2.

[owl:class rdf:id="Родитель"/]

[owl:class rdf:id="Ребенок"/]

[owl:objectproperty rdf:id="породил"]

[rdfs:domain rdf:resource="#Родитель" /]

[rdfs:range rdf:resource="#Ребенок" /]

[/owl:ObjectProperty]

Информация узла 3.

[owl:class rdf:id="Мать"]

[rdfs:subclassof rdf:resource="2#Родитель" /]

[/owl:Class]

[owl:class rdf:about="2#Родитель"]

[owl:equivalentclass rdf:resource="4#Parent"/]

[/owl:Class]

Информация узла 4.

[owl:class rdf:id="Parent"/]

Пусть поступил запрос «Кто Parent Васи?», приведя этот запрос к форме языка запросов получим [?, instanceOf, Parent] и [?, породил, Вася]. Имеем два запроса, обладая информацией по каждому из них мы легко можем сделать пересечение ответов.

Построим модель поиска для первого запроса:

Сервер 1:

Расширение:

Поиск в локальных данных:

Трансляция серверу 2 и 3:

[?, instanceOf, Parent]

0

0

Сервер 2:

Расширение:

Поиск в локальных данных:

[?, instanceOf, Parent]

0

0

Сервер 3:

Расширение:

Поиск в локальных данных:

Трансляция серверу 2 и 4:

[?, instanceOf, Parent]

[?, instanceOf, Родитель] [?, instanceOf, Мать]

0

Сервер 2:

Расширение:

Поиск в локальных данных:

[?, instanceOf, Parent] – отказ в результате кеширования [?, instanceOf, Родитель] [?, instanceOf, Мать]

0

0

Сервер 4:

Расширение:

Поиск в локальных данных:

[?, instanceOf, Parent] [?, instanceOf, Родитель] [?, instanceOf, Мать]

0

0

Результат:

Общее расширение:

Общий поиск:

Решение на повторный поиск:

изменилось расширение

[?, instanceOf, Parent] [?, instanceOf, Родитель] [?, instanceOf, Мать]

0

Сервер 1:

Расширение:

Поиск в локальных данных:

Результат:

Общее расширение:

Общий поиск

[?, instanceOf, Parent] [?, instanceOf, Родитель] [?, instanceOf, Мать]

0

[Маша, instanceOf, Мать]

изменился результат самого поиска

0

[Маша, instanceOf, Мать]

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

Построим модель поиска для второго запроса:

Сервер 1:

Расширение:

Поиск в локальных данных:

Результат:

Общее расширение:

Общий поиск

[?, породил, Вася]

0

[Маша, породил, Вася]

изменился результат самого поиска

0

[Маша, породил, Вася]

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

Итак «Кто Parent Васи?» – «Маша».

Предлагаемый пример показывает работу только Алгоритма 1, но базовые элементы этого алгоритма присущи всем остальным предложенным алгоритмам и их детальный анализ не дополнит общей картины.

Выводы

  1. В данной статье впервые проводится анализ проблемы организации поиска среди разнесенного в пространстве множества документов OWL. Предложена грань, позволяющая отделить фазу локального и межсерверного поиска, благодаря чему представляется возможным вести оптимизацию использования ресурсов на стратегически разных уровнях работы системы.
  2. В работе тесно интегрированы, как различные новые разработки Semantic Web, так и собственные решения.
  3. Четко сформулирована цель онтологического поиска. Представлен и логически обоснован процесс формирования ответа на простой запрос.
  4. Предложены рекомендации к практическому использованию полученных теоретических результатов в практических приложениях, что определяет практическую значимость выполненной работы.

Литература:

[1] T. Berners-Lee, J. Hendler, and O. Lassila. The Semantic Web. Scientific American, 284(5):34-43, 2001.

[2] D. L. McGuinness and F. van Harmelen. OWL Web Ontology Language Overview. http://www.w3.org/TR/owl-features/ . August 2003. World Wide Web Consortium (W3C) Candidate Recommendation.

[3] Jeremy J. Carroll, Ian Dickinson, Chris Dollin. Jena: implementing the semantic web recommendations. International World Wide Web Conference. pp. 74 – 83, 2004.

[4] W. E. Grosso et al. Knowledge Modeling at the Millennium (The Design and Evolution of Protege-2000). In Proc. of KAW99, 1999.

[5] D. Martin, M. Burstein, O. Lassila, M. Paolucci, T. Payne, and S. McIlraith. Describing Web Services using OWL-S and WSDL. http://www.daml.org/services/owl-s/1.0/owl-s-wsdl.html, October 2003.

[6] Bijan Parsia, Evren Sirin, Aditya Kalyanpur «Debugging OWL Ontologies», In The 14th International World Wide Web Conference (WWW2005), Chiba, Japan, May 2005.

[7] T. Berners-Lee, R. Fielding, and L. Masinter. Uniform Resource Identifiers (URI): Generic Syntax. 1998.

[8] Graham Klyne, Jeremy J. Carroll Resource Description Framework (RDF): Concepts and Abstract Syntax, http://www.w3.org/TR/rdf-concepts/ 2004

[9] Andy Seaborne, RDQL – A Query Language for RDF HP Labs Bristol http://www.w3.org/Submission/2004/SUBM-RDQL-20040109/ 2004

[10] OWL-S Home Page. http://www.daml.org/services/. 2003.

1 2   Следующая »