Разработка онтологий в среде Protege-2000

Реализованная на языке Java система Protege-2000 (это – третья версия Protege; первая реализована в 1987 г.), разработанная в Стэнфордском университете (первоначально – для использования в медицинских научных исследованиях и практике), представляет собой интегрированную инструментальную среду, которая позволяет не только создавать, но и использовать онтологии. Обобщенными функциями системы являются:

- поддержка разработки онтологий и баз знаний;

- поддержка разработки и эксплуатации средств приобретения знаний;

- поддержка логических выводов на онтологиях и базах знаний.

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

Базовой формой представления знаний (включая онтологии) в Protege является объектно-ориентированная фреймовая модель, совместимая с протоколом «открытого взаимодействия баз знаний» – OKBC (Open Knowledge Base Connectivity). Однако наличие широкого спектра функциональных надстроек и интерфейсов позволяет Protege поддерживать в той или иной мере формализмы продукционных и логических систем. В качестве базового механизма логического вывода Protege использует обобщенный универсальный метод так называемого решения проблем. При этом поддерживается конструирование (на базе алгоритмических примитивов) конкретных алгоритмов вывода, увязанных с конфигурацией модели предметной области. Внутренняя архитектура Protege является модульной и легко расширяемой. В ядро системы входит несколько компонентов, обслуживающих базовое модельное представление, системные конструкторы (для создания онтологий и баз знаний, средств приобретения знаний, механизмов вывода и пользовательских сред), низкоуровневые системные программные интерфейсы и механизм связывания ядра с надстройками – встраиваемыми приложениями (plugin). Для интеграции надстроек в единую функциональную среду предназначен аппарат «закладок» (tabs) – типизированных форм графического пользовательского интерфейса, обеспечивающих визуализацию и доступ к данным и настройкам тех или иных моделей и приложений. Стандартными закладками являются «Classes» (работа с иерархией классов объектов), «Slots» (работа со слотами, связанными с фреймом выбранного класса), «Instances» (работа с объектами класса), «Forms» (работа с конструктором пользовательских интерфейсов), «Queries» (работа с конструктором запросов) и др.

Среди наиболее важных доступных надстроек Protege, подключаемых к среде в виде панелей закладок tab, можно выделить «KATool» (конструктор средств приобретения знаний), «Query» (поддержка выполнения запросов к онтологии или базе знаний Protege), «PSM» (настройка механизмов логического вывода на базах знаний), «BeanGenerator» (генерация классов JavaBean на основе иерархии классов Protege), «DataGenie» (импорт баз данных с использованием протокола JDBC – Java Database Connectivity), «PROMPT» (сопоставление и слияние онтологий Protege с внешними онтологиями известных форматов представления), «Jess Tab» (интерфейс с известной оболочкой экспертных систем JESS – Java Expert System Shell), «Algernon» (поддержка прямого и обратного логического вывода на базах знаний Protege), «PAL» (конструктор выражений на встроенном языке описания формальных аксиом PAL), «Prolog Tab» (поддержка подключения механизма логического вывода Prolog) и др. Существует также значительное количество встраиваемых приложений, способных поддерживать различные функции по визуализации онтологий и баз знаний Protege – «Jambalaya», «TGViz», «OntoViz» и др. (внешний вид интерфейса приложения «OntoViz», интегрированного в Protege, изображен на рис. 5.1). Имеется также возможность тесной интеграции с другими распространенными инструментами создания и обработки онтологий (например, Ontolingua, OntoEdit, OilEd, OntoSaurus, WebOnto, WebODE и др).

Protege поддерживает также широкий набор форматов файлового обмена и языковых интерфейсов – Java, CLIPS, UML, XML, RDF/RDFS, DAML+OIL, OWL. Особо следует отметить наличие специальных встраиваемых приложений для работы с OWL, RDF/RDFS и DAML+OIL, занимающих важное место в реализации концепций Semantic Web. Одним из последних шагов в данном направлении можно считать включение в Protege средств поддержки языка SWRL (Semantic Web Rule Language).

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

Рис. 5.1. Визуализация фрагмента онтологии Protege-2000 в OntoViz

Рассмотрим общие методы построения онтологий на примере разработки учебной базы знаний по компьютерным вирусам (Virus.pprj) с использованием Protege-2000 (фрагмент данной онтологии иллюстрировал рис. 5.1). Следует сразу отметить, что разработка онтологий не является строго формализованным процессом в связи с многообразием возможных постановок задач, структур предметных областей, спецификой используемых инструментальных средств и т. д. Поэтому могут рассматриваться лишь некоторые общие черты, характерные для методологии построения онтологий как таковых. В настоящем пособии задача синтеза онтологий будет анализироваться (с учетом специфики Protege) применительно к проблематике проектирования систем представления декларативных знаний на базе фреймовой модели.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: