
- •Введение
- •1. Понятие онтологии. Общая характеристика подхода
- •2. Основные виды программного инструментария онтологий
- •3. Язык rdf
- •3.1. Структура rdf-моделей
- •3.2. Нотация rdf/xml
- •3.3. Контейнеры и коллекции
- •3.4. Общая характеристика языка описания словарей rdfs
- •3.5. Синтаксис описания классов и типов-свойств в rdfs
- •3.6. Использование rdf
- •4. Язык owl
- •4.1. Диалекты owl
- •Структура онтологий
- •Основные элементы owl
- •. Картирование онтологий
- •Сложные классы [owl dl]
- •Версии онтологий
- •5. Разработка онтологий в среде Protege-2000
- •Состав онтологии
- •Обобщенная методика создания онтологий
- •Рекомендации по организации иерархий классов
Введение
Одной из определяющих тенденций современного этапа развития Internet-технологий является интеллектуализация процессов распределенной обработки данных и знаний. Эта тенденция обусловлена появлением широкого класса качественно новых задач, связанных с обеспечением работы открытых информационных систем (или их сообществ) в семантически неоднородных (гетерогенных) средах, к числу которых относится и сам Internet. Подобные системы и основанные на их применении технологии требуют согласования источников и потребителей информации не только на уровне инфологических структур данных, но и на уровне понятийного содержания (семантики) этих данных. При этом участие человека в непосредственном функционировании таких систем может полностью исключаться или носить опосредованный характер, а следовательно, основной объем работ по «осмыслению» семантических характеристик используемой информации должен выполняться программными средствами автоматически или с высоким уровнем автоматизации. Примерами систем, обладающих указанными свойствами, являются системы семантического (не традиционного атрибутивного или лексического) поиска в Internet, корпоративные хранилища данных и знаний, интеллектуальные мультиагентные системы, базы данных и знаний (в том числе распределенные) с открытыми программными интерфейсами, интеллектуальные Web-порталы, системы электронного бизнеса, дистанционного обучения, автоматического перевода и многие другие классы информационных систем, в которых по тем или иным причинам необходима передача функций интеллектуального восприятия или отображения данных (знаний) программе. Решение задач описанного вида требует наличия соответствующих методов и средств представления знаний, которые позволяли бы «объяснять» программе «смысл» запрашиваемой и получаемой информации.
В настоящем пособии рассматривается один из широко распространенных подходов к интеллектуальному межсистемному взаимодействию в глобальных и корпоративных информационных средах – подход, основанный на использовании онтологий, т. е. моделей и средств, выполняющих роль своеобразных толковых словарей, энциклопедий, рубрикаторов и т. п., с помощью которых программы «усваивают» понятийную структуру той или иной проблемной области и «находят общий язык» общения. При этом основное внимание в пособии уделяется конкретному рассмотрению двух наиболее широко используемых в Internet-технологиях соответствующего профиля языков гипертекстовой разметки, поддерживающих аппарат онтологий – RDF/RDFS и OWL, активно применяемых в рамках инициативы Semantic Web («Cемантический Web») международного консорциума W3C. Кроме того, в заключительном разделе пособия рассматривается обобщенная методика разработки онтологий, при исследовании которой иллюстрируются возможности популярного редактора онтологий Protege-2000.
1. Понятие онтологии. Общая характеристика подхода
Понятие онтологии впервые появилось в древнегреческой философии, где оно изначально трактовалось как учение о бытии как таковом, независимо от его частных видов. Однако ни в философии, ни в других науках, использовавших данное понятие, однозначное определение термина «онтология» так и не сформировалось. Не является исключением и сфера современных информационных технологий, где и сейчас преобладают скорее интуитивные, нестрогие толкования онтологий. В связи с этим дадим несколько распространенных определений.
Онтологией называют представленную на некотором языке совокупность наиболее значимых знаний о некоторой области интересов (проблемной или предметной). Онтологии непременно сопутствует некоторая концепция рассмотрения соответствующей области интересов. Чаще всего эта концепция выражается посредством определения базовых объектов (индивидов, атрибутов, процессов) и отношений между ними. Определение этих объектов и отношений называют концептуализацией. На некоторых этапах изучения проблемной или предметной области концептуализация может быть неявной (или ментальной). Онтология же является явным представлением некоторой концептуализации и может иметь несколько форм представления: неформальную (на каком-либо естественном языке), полуформальную (на каком-либо ограниченном и структурированном подмножестве естественного языка), слабоформализованную (на каком-либо языке из области искусственного интеллекта с формальным синтаксисом) или формализованную (на каком-либо языке с формальным синтаксисом и семантикой).
Следующее определение обобщает многие трактовки понятия онтологии и представляется наиболее подходящим для употребления в контексте информационных технологий, в связи с чем будет принято за основу в настоящем пособии: онтологией является общепринятая и общедоступная концептуализация определенной области знаний, содержащая и определяющая: а) базис, необходимый для моделирования данной области; б) процедуры взаимодействия между агентами, использующими знания из этой области; в) соглашения о представлении понятийных основ данной области.
Уточним также, что, применительно к тематике пособия, все определения, необходимые для описания онтологии, будут интерпретироваться как машинно-ориентированные.
Создание онтологий в конкретной области человеческой деятельности предполагает: унификацию нормативного ядра понятий, которая позволит достичь однозначного семантического толкования основных объектов и процессов данной области и интерпретации новых понятий; определение множества отношений между понятиями нормативного ядра, допускающего исследование динамических и статических аспектов среды, влияния различных факторов, вывод, планирование и т. д.
Прагматической целью синтеза любой онтологии является обеспечение возможности последующего «изучения» и использования знаний из соответствующей области какими-либо внешними агентами (людьми или программами). Следует сразу отметить, что обобщенного метода построения онтологий не существует. Однако первичным в любом процессе создания онтологии является онтологический анализ описываемой области знаний.
Онтологический анализ начинается с составления словаря терминов, который используется при обсуждении и исследовании характеристик объектов и процессов, составляющих рассматриваемую область, а также создания системы точных определений этих терминов. Кроме того, фиксируются основные логические взаимосвязи между соответствующими введенными терминами (в дальнейшем понятия и термины не будут логически различаться). Результатом этого анализа является онтология системы, или же совокупность словаря терминов и определений взаимосвязей между ними.
Таким образом, онтология включает в себя совокупность терминов и правила, согласно которым эти термины могут быть скомбинированы для построения достоверных утверждений о состоянии рассматриваемой области (или системы) в некоторый момент времени. Кроме того, на основе этих утверждений могут быть сделаны выводы, позволяющие вносить изменения как в саму онтологию, так и в описываемую ею систему.
В терминах онтологии понятие взаимосвязи однозначно описывает (или является «точным дескриптором») зависимости между объектами системы в реальном мире, а термины являются, соответственно, точными дескрипторами самих реальных объектов. При построении онтологии в первую очередь происходит создание перечня дескрипторов, с помощью которых (если их набор достаточен), создается модель системы. На начальном этапе должны быть решены следующие задачи:
1) создание словаря терминов;
2) описание правил и ограничений, согласно которым на базе введенной терминологии формируются достоверные утверждения, описывающие состояние системы (области);
3) построение модели, которая на основе существующих утверждений позволяет формировать необходимые новые утверждения. При рассмотрении каждой системы существует некоторое множество утверждений, достоверно отображающих ее состояния в различных режимах и условиях среды. Построенная онтологическим способом модель должна выбирать из них наиболее полезные для эффективного рассмотрения в конкретном контексте. Дополнительно модель помогает описывать поведение объектов и соответствующее изменение взаимосвязей между ними, т. е. поведение системы.
Таким образом, онтология представляет собой некий словарь данных, включающий в себя и терминологию, и модель поведения системы.
С точки зрения информационных технологий наиболее важными аспектами понятия онтологии являются следующие:
1) онтология представляет собой модель знаний (или метаданных), содержащую терминологический словарь описываемой области знаний (в частности, знаний о системе, процессе, структуре данных и т. д.), множество определенных связей между понятиями, а также информацию о способах интерпретации данных из соответствующей области;
2) онтология ориентирована на машинную (программную) обработку и представляет собой средство автоматизации взаимодействия различных программных агентов на базе семантической трансляции информации о «предмете», описываемом онтологией.