Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование онтологий в среде Protégé.doc
Скачиваний:
162
Добавлен:
19.11.2018
Размер:
4.7 Mб
Скачать

1. Теоретические аспекты построения онтологий

1. 1. Определение онтологии

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

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

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

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

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

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

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

Выделим следующие интерпретации этого термина:

  1. Онтология как философская дисциплина.

  2. Онтология как неформальная концептуальная система.

  3. Онтология как формальный взгляд на семантику.

  4. Онтология как спецификация «концептуализации».

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

  • специальными формальными свойствами или

  • только ее назначением

  1. Онтология как словарь, используемый логической теорией.

  2. Онтология как (метауровневая) спецификация логической теории.

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

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

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

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

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

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

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

Итак, под онтологией предметной области понимают:

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

2. Онтология предметной области есть та часть знаний предметной области, которая ограничивает значения терминов предметной области. Значения терминов предметной области не зависят от остальной (изменяемой) части знаний предметной области.

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

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

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

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

  • совместного использования людьми или программными агентами общего понимания структуры информации;

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

  • того чтобы сделать допущения в предметной области явными;

  • отделения знаний в предметной области от оперативных знаний;

  • анализа знаний в предметной области.

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

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

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

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

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

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

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

Онтологии сами по себе включают семантику

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

Онтологии чаще повторно используются

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

Онтологии децентрализованы по своей природе

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

Информационные модели онтологии богаче

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

Классы и экземпляры могут быть одними и теми же

В базах данных четко различается информация о схеме и информация об экземплярах. Во многих мощных системах представления знаний сложно определить, где заканчивается онтология и начинаются экземпляры. Использование метаклассов (классов, где в качестве экземпляров используются другие классы) во многих системах (например, Protégé, Ontolingua, RDFS) размывает или стирает границу между классами и экземплярами. Метаклассы – это множества, чьи элементы тоже являются множествами. Это значит, что «экземпляр» и «класс» - на самом деле лишь роли понятия.