Онтологии и тезаурусы: модели, инструменты, приложения

Введение. Основные определения

Показывать лекцию целиком

Определения онтологии

Слово "онтология" имеет два значения:

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

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

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

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

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

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

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

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

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

    Содержание онтологии

    Основными компонентами онтологии могут являться:

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

    Отношения представляют тип взаимодействия между понятиями предметной области. Формально n -арные отношения определяются как подмножество произведения n множеств: R ⊆ C1 x C2 x … x Cn. Пример бинарного отношения - отношение ЧАСТЬ-ЦЕЛОЕ. Отношения тоже могут быть организованы в таксономию по включению; например, отношения быть_отцом_для и быть_матерью_для на множестве людей содержатся в отношении быть_родителем_для, которое в свою очередь содержится в отношении быть_предком_для.

    Функции - это специальный случай отношений, в которых n -й элемент отношения однозначно определяется n-1 предшествующими элементами. Формально функции определяются следующим образом: F: C1 x C2 x ... x Cn-1 -> Cn. Примерами функциональных отношений являются отношения быть_матерью_для на множестве людей, или цена_подержанного_автомобиля, которая вычисляется в зависимости от модели автомобиля, даты изготовления и пробега.

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

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

    Работник, являющийся руководителем проекта, работает в проекте.

    Вводятся переменные Е (работник) и P (руководитель проекта). Тогда аксиома записывается следующим образом:

    Forall (E,P)  Employee(E) and  Head-Of-Project(E,P)
      => Works-At-Project(E,P)

    Цели создания онтологий

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

    Например, в области медицины созданы большие стандартные, структурированные словари, такие как SNOMED и семантическая сеть Системы Унифицированного Медицинского Языка (Unified Medical Language System, UMLS). Также появляются обширные общецелевые онтологии. Например, Программа ООН по развитию (the United Nations Development Program) и компания Dun Bradstreet объединили усилия для разработки онтологии UNSPSC, которая предоставляет терминологию товаров и услуг (unspsc.org).

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

    Почему возникает потребность в разработке онтологии? Вот некоторые причины, которые ниже будут рассмотрены подробнее:

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

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

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

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

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

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

    Основные темы курса

    В данном курсе будут рассмотрены следующие вопросы:

  • существующие классификации онтологий по различным критериям;
  • способы сопоставления понятий, содержащихся в онтологиях, и языковых (лексических) выражений;
  • существующие лингвистические (лексические) онтологии;
  • применение онтологий в решении различных задач, в частности:
  • онтологии в концепции Semantic Web,
  • онтологии для решения задач информационного поиска,
  • онтологии для интеграции разнородных источников данных;
  • структура конкретных онтологий, таких как:
  • онтологии верхнего уровня,
  • онтология вина и пищи,
  • онтология в сфере культурного наследия CIDOC CRM;
  • структура, проблемы и применение наиболее известной лингвистической онтологии WordNet;
  • традиции использования ресурсов для информационного поиска, таких как информационно-поисковые тезаурусы (ИПТ), которые рассматриваются как вид онтологических ресурсов;
  • методы использования ИПТ в современных условиях, характеризующиеся значительным преобладанием автоматических режимов обработки текста;
  • принципы разработки специальных тезаурусов как ресурсов для автоматической обработки текстов, которые соединяют в себе существующие традиции в трех областях создания ресурсов онтологического типа:
  • формальные онтологии,
  • лингвистические онтологии,
  • традиционные информационно-поисковые тезаурусы;
  • использование тезауруса для автоматической обработки текстов в различных приложениях в области информационного поиска.
  • Вернуться к учебному плану