Инструментальные средства проектирования онтологий
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.3 Методология создания онтологий
Практическая разработка онтологии включает:
- определение классов в онтологии;
- расположение классов в таксономическую иерархию ( ПОДКЛАСС-НАДКЛАСС );
- определение слотов и описание их допустимых значений;
- заполнение значений слотов экземпляров.
После этого можно создать базу знаний, определив отдельные экземпляры этих классов, введя в определенный слот значение и дополнительные ограничения для слота.
Выделим некоторые фундаментальные правила разработки онтологии. Они выглядят довольно категоричными, но во многих случаях помогут принять верные проектные решения.
- Не существует единственно правильного способа моделирования предметной области - всегда существуют жизнеспособные альтернативы. Лучшее решение почти всегда зависит от предполагаемого приложения и ожидаемых расширений.
- Разработка онтологии - это обязательно итеративный процесс.
- Понятия в онтологии должны быть близки к объектам (физическим или логическим) и отношениям в интересующей предметной области. Скорее всего, это существительные (объекты) или глаголы (отношения) в предложениях, которые описывают предметную область.
Знание того, для чего предполагается использовать онтологию, и того, насколько детальной или общей она будет, может повлиять на многие решения, касающиеся моделирования. Нужно определить, какая из альтернатив поможет лучше решить поставленную задачу и будет более наглядной, более расширяемой и более простой в обслуживании. Следует помнить, что онтология - это модель реального мира, и понятия в онтологии должны отражать эту реальность.
После того как определена начальная версия онтологии, мы можем оценить и отладить ее, используя ее в каких-то приложениях и/или обсудив ее с экспертами предметной области. В результате начальную онтологию скорее всего нужно будет пересмотреть. И этот процесс итеративного проектирования будет продолжаться в течение всего жизненного цикла онтологии.
Повторное использование существующих онтологии может быть необходимым, если системе нужно взаимодействовать с другими приложениями, которые уже вошли в отдельные онтологии или контролируемые словари. Многие полезные онтологии уже доступны в электронном виде и могут быть импортированы. Существуют библиотеки повторно используемых онтологий, например, Ontolingua или DAML.