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

Инструментальные средства проектирования онтологий

Разбить на страницы
Показывать лекцию целиком

7.1. Редакторы онтологий

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

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

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

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

Поддерживаемые редактором формализмы и форматы представления

Под формализмом понимается теоретический базис, лежащий в основе способа представления онтологических знаний. Примерами формализмов могут служить логика предикатов (First Order Logic - FOL), дескриптивная логика, фреймовые модели (Frames), концептуальные графы и т.п. Формализм, используемый редактором, может не только существенно влиять на внутренние структуры данных, но и определять формат представления или даже пользовательский интерфейс.

Формат представления онтологии задает вид хранения и способ передачи онтологических описаний. Под форматами подразумеваются языки представления онтологий: RDF, OWL, KIF, SCL.

Таким образом, некоторая формальная модель представляется в формализме FOL и может быть выражена средствами языка KIF.

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

Функциональность редактора онтологий

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

Базовый набор функций обеспечивает:

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

    Сложные инструментальные средства

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

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

    Ontolingua

    Кроме собственно редактора онтологий, эта система содержит:

  • сетевой компонент Webster, предназначенный для определения концептов;
  • сервер, обеспечивающий доступ к онтологиям Ontolingua по протоколу OKBC (Open Knowledge Base Connectivity);
  • Chimaera - инструментарий для анализа и объединения онтологий.
  • Protege

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

    Данный инструмент поддерживает использование языка OWL и позволяет генерировать HTML-документы, отображающие структуру онтологий. Поскольку он использует фреймовую модель представления знаний ОКВС, это позволяет адаптировать его и для редактирования моделей предметных областей, представленных не в OWL, а в других форматах ( UML, XML, SHOE, DAML+OIL, RDF / RDFS и т.п.). Подробнее об этом редакторе будет рассказано далее в этой лекции.

    DOE

    DOE (Differential Ontology Editor) - простой редактор, который позволяет пользователю создавать онтологии. Процесс спецификации онтологии состоит из трех этапов.

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

    OntoEdit - инструментальное средство, обеспечивающее просмотр, проверку и модификацию онтологии. Оно поддерживает языки представления онтологии OIL и RDFS, а также внутренний язык представления знаний OXML, основанный на XML. Как и Protege, это автономное Java-приложение, но его коды закрыты. Свободно распространяемая версия OntoEdit Free ограничена 50 концептами, 50 отношениями и 50 экземплярами.

    OilEd

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

    WebOnto

    WebOnto представляет собой Java-апплет и разработан для просмотра, создания и редактирования онтологий. Для моделирования онтологий он использует язык OCML (Operational Conceptual Modeling Language). Пользователь может создавать различные структуры, в том числе классы со множественным наследованием. Инструмент имеет ряд полезных особенностей: просмотр отношений, классов и правил, возможна совместная работа над онтологией нескольких пользователей.

    ODE, WebODE

    ODE (Ontological Design Environment) взаимодействует с пользователями на концептуальном уровне, обеспечивает их набором таблиц для заполнения (концептов, атрибутов, отношений) и автоматически генерирует код на языках LOOM, Ontolingua и F-Logic. Данный инструмент получил свое развитие в редакторе онтологий WebODE, который интегрирует все сервисы ODE в единую архитектуру, сохраняя свои онтологии в реляционной БД.

    Сравнение редакторов

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

    Сравнение редакторов онтологий
    НазваниеКраткое описаниеФормализмы, языки, форматыURL
    Ontolingua Совместная разработка онтологий OKBC, KIF www.ksl.stanford.edu/software/ontolingua/
    Protege Создание, просмотр онтологий JDBC, UML, XML, XOL, SHOE, RDF / RDFS, DAML+OIL, OWL protege.stanford.edu
    OntoSaurus Web-браузер баз знаний на языке LOOM LOOM www.isi.edu/isd/ontosaurus.html
    OntoEdit Разработка и поддержка онтологий F-Logic, RDFS, OIL, OXML www.ontoknowledge.org/tools/ontoedit.shtml
    OilEd Разработка онтологий, поддержка логического вывода DAML+OIL oiled.man.ac.uk
    WebOnto Многопользовательская разработка онтологий OCML kmi.open.ac.uk/projects/webonto/
    WebODE Создание онтологий с помощью методологии Methontology F-Logic, LOOM, Ontolingua webode.dia.fi.upm.es/WebODEWeb/index.html

    7.2 Редактор Protege

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

    Используемые формализмы и форматы

    Изначально единственной моделью знаний, поддерживаемой Protege, была фреймовая модель. Этот формализм сейчас является "родным" для редактора, но не единственным.

    Protege имеет открытую, легко расширяемую архитектуру и помимо фреймов поддерживает все наиболее распространенные языки представления знаний ( SHOE, XOL, DAML+OIL, RDF/RDFS, OWL ). Protege поддерживает модули расширения функциональности (plug-in). Расширять Protege для использования нового языка проще, чем создавать редактор этого языка "с нуля".

    Protege основан на модели представления знаний OKBC (Open Knowledge Base Connectivity). Основными элементами являются классы, экземпляры, слоты (представляющие свойства классов и экземпляров) и фасеты (задающие дополнительную информацию о слотах).

    Пользовательский интерфейс

    Пользовательский интерфейс состоит из главного меню и нескольких вкладок для редактирования различных частей базы знаний и ее структуры. Набор и названия вкладок зависят от типа проекта (языка представления) и могут быть настроены вручную. Обычно имеются следующие основные вкладки: Классы, Слоты (или Свойства для OWL ), Экземпляры, Метаданные.

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

    Вкладка "Классы"

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

    (рис 7.1) Общий вид редактора Protege. Вкладка "Классы"

    Вкладка "Слоты"

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

    (рис 7.2) Вкладка "Слоты"

    Вкладка "Экземпляры"

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

    (рис 7.3) Вкладка "Экземпляры"

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

    Практическая разработка онтологии включает:

  • определение классов в онтологии;
  • расположение классов в таксономическую иерархию ( ПОДКЛАСС-НАДКЛАСС );
  • определение слотов и описание их допустимых значений;
  • заполнение значений слотов экземпляров.
  • После этого можно создать базу знаний, определив отдельные экземпляры этих классов, введя в определенный слот значение и дополнительные ограничения для слота.

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

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

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

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

    Страницы:

    7.1. Редакторы онтологий

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

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

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

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

    Поддерживаемые редактором формализмы и форматы представления

    Под формализмом понимается теоретический базис, лежащий в основе способа представления онтологических знаний. Примерами формализмов могут служить логика предикатов (First Order Logic - FOL), дескриптивная логика, фреймовые модели (Frames), концептуальные графы и т.п. Формализм, используемый редактором, может не только существенно влиять на внутренние структуры данных, но и определять формат представления или даже пользовательский интерфейс.

    Формат представления онтологии задает вид хранения и способ передачи онтологических описаний. Под форматами подразумеваются языки представления онтологий: RDF, OWL, KIF, SCL.

    Таким образом, некоторая формальная модель представляется в формализме FOL и может быть выражена средствами языка KIF.

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

    Функциональность редактора онтологий

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

    Базовый набор функций обеспечивает:

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

    Сложные инструментальные средства

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

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

    Ontolingua

    Кроме собственно редактора онтологий, эта система содержит:

  • сетевой компонент Webster, предназначенный для определения концептов;
  • сервер, обеспечивающий доступ к онтологиям Ontolingua по протоколу OKBC (Open Knowledge Base Connectivity);
  • Chimaera - инструментарий для анализа и объединения онтологий.
  • Protege

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

    Данный инструмент поддерживает использование языка OWL и позволяет генерировать HTML-документы, отображающие структуру онтологий. Поскольку он использует фреймовую модель представления знаний ОКВС, это позволяет адаптировать его и для редактирования моделей предметных областей, представленных не в OWL, а в других форматах ( UML, XML, SHOE, DAML+OIL, RDF / RDFS и т.п.). Подробнее об этом редакторе будет рассказано далее в этой лекции.

    DOE

    DOE (Differential Ontology Editor) - простой редактор, который позволяет пользователю создавать онтологии. Процесс спецификации онтологии состоит из трех этапов.

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

    OntoEdit - инструментальное средство, обеспечивающее просмотр, проверку и модификацию онтологии. Оно поддерживает языки представления онтологии OIL и RDFS, а также внутренний язык представления знаний OXML, основанный на XML. Как и Protege, это автономное Java-приложение, но его коды закрыты. Свободно распространяемая версия OntoEdit Free ограничена 50 концептами, 50 отношениями и 50 экземплярами.

    OilEd

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

    WebOnto

    WebOnto представляет собой Java-апплет и разработан для просмотра, создания и редактирования онтологий. Для моделирования онтологий он использует язык OCML (Operational Conceptual Modeling Language). Пользователь может создавать различные структуры, в том числе классы со множественным наследованием. Инструмент имеет ряд полезных особенностей: просмотр отношений, классов и правил, возможна совместная работа над онтологией нескольких пользователей.

    ODE, WebODE

    ODE (Ontological Design Environment) взаимодействует с пользователями на концептуальном уровне, обеспечивает их набором таблиц для заполнения (концептов, атрибутов, отношений) и автоматически генерирует код на языках LOOM, Ontolingua и F-Logic. Данный инструмент получил свое развитие в редакторе онтологий WebODE, который интегрирует все сервисы ODE в единую архитектуру, сохраняя свои онтологии в реляционной БД.

    Сравнение редакторов

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

    Сравнение редакторов онтологий
    НазваниеКраткое описаниеФормализмы, языки, форматыURL
    Ontolingua Совместная разработка онтологий OKBC, KIF www.ksl.stanford.edu/software/ontolingua/
    Protege Создание, просмотр онтологий JDBC, UML, XML, XOL, SHOE, RDF / RDFS, DAML+OIL, OWL protege.stanford.edu
    OntoSaurus Web-браузер баз знаний на языке LOOM LOOM www.isi.edu/isd/ontosaurus.html
    OntoEdit Разработка и поддержка онтологий F-Logic, RDFS, OIL, OXML www.ontoknowledge.org/tools/ontoedit.shtml
    OilEd Разработка онтологий, поддержка логического вывода DAML+OIL oiled.man.ac.uk
    WebOnto Многопользовательская разработка онтологий OCML kmi.open.ac.uk/projects/webonto/
    WebODE Создание онтологий с помощью методологии Methontology F-Logic, LOOM, Ontolingua webode.dia.fi.upm.es/WebODEWeb/index.html

    7.2 Редактор Protege

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

    Используемые формализмы и форматы

    Изначально единственной моделью знаний, поддерживаемой Protege, была фреймовая модель. Этот формализм сейчас является "родным" для редактора, но не единственным.

    Protege имеет открытую, легко расширяемую архитектуру и помимо фреймов поддерживает все наиболее распространенные языки представления знаний ( SHOE, XOL, DAML+OIL, RDF/RDFS, OWL ). Protege поддерживает модули расширения функциональности (plug-in). Расширять Protege для использования нового языка проще, чем создавать редактор этого языка "с нуля".

    Protege основан на модели представления знаний OKBC (Open Knowledge Base Connectivity). Основными элементами являются классы, экземпляры, слоты (представляющие свойства классов и экземпляров) и фасеты (задающие дополнительную информацию о слотах).

    Пользовательский интерфейс

    Пользовательский интерфейс состоит из главного меню и нескольких вкладок для редактирования различных частей базы знаний и ее структуры. Набор и названия вкладок зависят от типа проекта (языка представления) и могут быть настроены вручную. Обычно имеются следующие основные вкладки: Классы, Слоты (или Свойства для OWL ), Экземпляры, Метаданные.

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

    Вкладка "Классы"

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

    (рис 7.1) Общий вид редактора Protege. Вкладка "Классы"

    Вкладка "Слоты"

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

    (рис 7.2) Вкладка "Слоты"

    Вкладка "Экземпляры"

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

    (рис 7.3) Вкладка "Экземпляры"

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

    Практическая разработка онтологии включает:

  • определение классов в онтологии;
  • расположение классов в таксономическую иерархию ( ПОДКЛАСС-НАДКЛАСС );
  • определение слотов и описание их допустимых значений;
  • заполнение значений слотов экземпляров.
  • После этого можно создать базу знаний, определив отдельные экземпляры этих классов, введя в определенный слот значение и дополнительные ограничения для слота.

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

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

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

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

    Вернуться к учебному плану