Научная статья на тему 'Построение и эволюция онтологий'

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

CC BY
343
83
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
интеллектуальные информационные системы / Онтология / Семантический веб / семантическая обработка информации / эволюция онтологии / Intellectual information systems / Ontologies / OWL / Semantic web / semantic information processing
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The authors considered the basic aspects of the ontologic approach in the semantic web, problems and features of ontologies construction. The modular structure of dynamic ontology including an active component an ontology kernel is offered. The problems, carried out by a kernel of ontology and the scheme of interaction modules are defined.

Текст научной работы на тему «Построение и эволюция онтологий»

ИЗВЕСТИЯ

ПЕНЗЕНСКОГО ГОСУДАРСТВЕННОГО ПЕДАГОГИЧЕСКОГО УНИВЕРСИТЕТА имени В. Г. БЕЛИНСКОГО ФИЗИКО-МАТЕМАТИЧЕСКИЕ И ТЕХНИЧЕСКИЕ НАУКИ № 18 (22) 2010

IZVESTIA

PENZENSKOGO GOSUDARSTVENNOGO PEDAGOGICHESKOGO UNIVERSITETA imeni V. G. BELINSKOGO PHYSICAL, MATHEMATICAL AND TECHNICAL SCIENCES № 18 (22) 2010

УДК 004.822

ПОСТРОЕНИЕ И ЭВОЛЮЦИЯ ОНТОЛОГИИ

© В. Д. СЛЕТА1, А. С. СЕРГЕЕВ2 ‘Пензенский государственный университет, кафедра математического обеспечения и применения ЭВМ 2Пензенский государственный педагогический университет имени В. Г. Белинского, кафедра прикладной математики и информатики e-mail: vds_pnzgu@mail.ru, hackpnz@gmail.com

Слета В. Д., Сергеев А. С. - Построение и эволюция онтологий // Известия ПГПУ им. В. Г. Белинского. 2010.

№ 18 (22). С. 196-200. - Авторами рассмотрены основные аспекты онтологического подхода в рамках концепции семантического веба, а также проблемы и особенности построения онтологий. Предложена модульная структура динамической онтологии, включающая в себя активный компонент - ядро онтологии. Определены задачи, выполняемые ядром онтологии и схема взаимодействия модулей.

Ключевые слова: интеллектуальные информационные системы, онтология, семантический веб, семантическая обработка информации, эволюция онтологии

Slyota V. D., Sergeev A. S. - Creation and evolution of ontologies // Izv. Penz. gos. pedagog. univ. im.i V. G. Belin-skogo. 2010. № 18 (22). P. 196-200. - The authors considered the basic aspects of the ontologic approach in the semantic web, problems and features of ontologies construction. The modular structure of dynamic ontology including an active component - an ontology kernel is offered. The problems, carried out by a kernel of ontology and the scheme of interaction modules are defined.

Keywords: intellectual information systems, ontologies, OWL, Semantic Web, semantic information processing

ВВЕДЕНИЕ

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

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

Современный Интернет разрабатывался как информационное пространство, полезное не только для коммуникации людей, но и как пространство, в котором эффективное содействие могут оказывать также и машины [1]. Однако со временем релевантный поиск в сети стало все сложнее осуществлять из-за экспоненциального роста объема размещенной там информации. Данный аспект ставит новые задачи перед разработчиками поисковых машин и интеллектуальных информационных систем. Главной задачей является обеспечение релевантного поиска информации по семантическому признаку. Рядом зарубежных исследователей в области информационных технологий были разработаны инструментальные средства и механизмы, представленные в рамках единой концепции так называемой «семантической паутины».

1. Современное состояние работ в области онтологий

Концепция «семантической паутины» (Semantic Web) базируется на следующих основных компонентах: активном использовании метаданных; метаязыке XML, онтологическом подходе, модели Resource Description Framework (RDF) [2]. Они позволяют осуществлять обмен данными и их многократное использование. В рамках этого проекта, наибольшее распространение получила модель представления метаданных Resource Description Framework (RDF). RDF предоставляет средства для записи триплетов, троек данных: субъект-предикат-объект. Объект и субъект соответствуют узлам графа, а предикат или свойство -направленной дуге графа. Дуга направлена от субъекта к объекту. Каждый из элементов триплета называют RDF ресурсом и идентифицируют с помощью URI идентификаторов. Платформа RDF активно используется для представления различных данных, в частности RSS 3.0 агрегаторы новостей собирают информацию в формате RDF [5]. Однако простое использование RDF не позволяет реализовывать задачи семантического паутины.

Наиболее общий способ представления знаний, при котором предметная область рассматривается как совокупность объектов и связывающих их отношений, реализован в сетевой модели знаний. Одним из главных достижений консорциума по всемирной паутине (W3C) является разработка стандарта описания онтологий. Наиболее признанным является определение онтологии, предложенное в [3], согласно которому онтология есть точная спецификация концептуализации. Любая онтология предполагает выделение ее трех взаимосвязанных компонентов: таксономии терминов, описаний смысла терминов, а также правил их использования и обработки. Онтология используется для структурирования информации. Модель онтологии может быть статической или динамической. Для описания отношений в онтологиях используются весь спектр математического аппарата, разработанного в области искусственного интеллекта - исчисление предикатов, системы продукций, семантические сети, фреймы и т.п. Таким образом, модный сегодня термин «онтология» оказался близок по значению к термину «искусственный интеллект», а термин «онтологический инжиниринг» явился синонимом термина «инженерия знаний». К основным задачам, решаемым с помощью онтологии, относятся создание и использование баз знаний организация семантического поиска, реализация механизмов рассуждений, представление смысла в метаданных об информационном ресурсе и др. [4].

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

логические операции над классами и логические ограничения свойств [10].

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

2. Построение онтологий

Информационные системы различного назначения на основе онтологий на практике показали свою эффективность, однако построение онтологии требует экспертных знаний в исследуемой предметной области. На данном этапе развития онтологического инжиниринга процесс разработки онтологии занимает существенный объем времени, так как основан на ручном создании онтологии экспертом предметной области. На данный момент в мире существует несколько десятков систем для поддержки разработки онтологий, наиболее полный обзор этих средств представлен в [6]. Такой технологический процесс на данном этапе развития ИТ не может считаться эффективным, поэтому актуальной задачей является автоматизация процесса построения онтологии. На данный момент не существует полноценных инструментов автоматического построения предметных онтологий, хотя ведутся работы в этом направлении. Для первоначального извлечения информации из различных источников настоящее время пользуются подходы, основанные на автоматизации извлечения знаний из данных, текстов и веб-ресурсов (data-mining, text-mining, web-mining).Однако полученные данные обычно требуют их обработки экспертом предметной области. Любая онтология для ее успешного использования должна обладать рядом свойств, выделенных Томом Грубером [7]:

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

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

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

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

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

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

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

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

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

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

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

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

3. Динамическая модель онтологии

Модель онтологии может быть статической или динамической. Преимущества динамического подхода были рассмотрены в [9]. О необходимости привнесения динамики в онтологии говорит также опыт практического применения распространенных статичных онтологий. Так, в [7] рассматриваются несколько экспериментов, ставящих цель повышение точности поиска с использованием семантики лингвистической онтологии WordNet. Целью экспериментов была попытка выполнить поиск документов на основе не отдельных слов, а значений WordNet. Эффективность использования векторов синсетов сравнивалась с эффективностью информационного поиска на основе стандартной вектора слов. Оценки эффективности информационного поиска на основе показателя средней точности показали серьезное ухудшение эффективности для векторов, включающих синсеты (от 6.2 % до 42.3 %). Основная причина такого ухудшения эффективности заключается в том, что процедура разрешения многозначности для слова в запросе может выбрать одно значение, а для того же слова в документе другое значение. Другая группа экспериментов

по использованию WordNet в информационном поиске исследовала возможность расширения запроса синонимами или другими словами, связанными со словами запроса отношениями, описанными в WordNet. В таких экспериментах нет необходимости выбора единственного значения слова, что в случае ошибки приводит к серьезному ухудшению результатов поиска. Максимальное улучшение, которое удалось получить - 0.7 % средней точности, что не является статистически значимой величиной [7].

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

Другой подход к решению проблемы эффективного использования онтологий предложен авторами языка семантической разметки SHOE (Simple HTML Ontology Extensions) [8]. SHOE является основанным на онтологиях языком представления знаний, встраиваемым в существующие веб-страницы. Он позволяет привнести в разметку страницы логику (например, логические операторы IF-THEN-ELSE), создавать алиасы свойств и терминов онтологии, агрегировать несколько онтологий. Язык SHOE содержит, кроме того, механизм поддержки версий. Но, как и в случае со сторонней программной компонентой, применявшейся в ходе экспериментов с онтологией WordNet, язык во многом полагается на интеллектуальных агентов, предлагая лишь более гибкую и мощную разметку и достаточно примитивную логику, встроенную непосредственно в него.

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

4. Модульная структура онтологии

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

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

Рис. 1. Модульная структура онтологии

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ВЫВОДЫ

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

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

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

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

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

1. Бернерс-Ли Т. Дорожная карта семантического WEBa URL: http://www.w3.org/DesignIssues/Semantic.html.

2. Башмаков А.И., Башмаков И.А. Интеллектуальные информационные технологии. М.: Изд-во МГТУ им. Н.Э. Баумана, 2005.

3. Gruber T. R. A translation approach to portable ontologies // Knowledge Acquisition. 1993. № 5(2). P. 199-220.

4. Ермаков А. Е. Автоматизация онтологического инжиниринга в системах извлечения знаний из текста // Труды Международной конференции Диалог-2008. Бекасово, 2008.

5. Овдей О. М., Проскудина Г. Ю. Обзор инструментов инженерии онтологий //Электронные библиотеки. Москва: Институт развития информационного общества. 2004. Т. 7. Вып. 4.

6. Gruber T. R. Toward principles for the design of ontologies // International Workshop on Formal Ontology. URL: http://tomgruber.org/writing/onto-design.htm.

7. Соловьев В. Д., Добров Б. В., Иванов В. В., Лукаше-

вич Н. В. Онтологии и тезаурусы. Казань, Москва, 2006. URL: http://window.edu.ru/window_catalog/

redir?id=41722&file=ot_2006_posobie.pdf.

8. Heflin J., Hendler J. Dynamic Ontologies on the Web.

URL: http://citeseerx.ist.psu.edu/viewdoc/download?

doi=10.1.1.43.947&rep=rep1&type=pdf.

9. Слета В.Д., Сергеев А.С. Интеллектуальная поддержка онтологий семантической паутины // Проблемы информатики в образовании, управлении, экономике и технике. Матер. IX Междунар. научно-техн. конф. Пенза: ПГПУ, 2009.

10. Рабчевский Е. Автоматическое построение онтологий на основе лексико-синтаксических шаблонов для информационного поиска // Электронные библиотеки: перспективные методы и технологии, электронные коллекции - RCDL’2009. Труды 11-й Всерос. науч. конф. Петрозаводск, 2009.

11. Berners-Lee T., World Wide Web. Proposal for HyperText Project. 1990. URL: http://www.w3.org/Proposal.html.

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