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

Невзорова Ольга Авенировна

Доцент, к.т.н., заместитель директора,

Научно-исследовательский институт "Прикладная семиотика" Академии наук Республики Татарстан,

Казанский (Приволжский) федеральный университет

ул. Баумана, 20, г. Казань, 420111, (843)2924914

onevzoro@gmail.com

Аннотация

В статье рассматривается структура учебного курса «Представление знаний» и его специфика, связанная с разработкой моделей онтологий для различных прикладных задач. Обсуждается структура онтологий и используемые формализмы для представления онтологических знаний. Особое внимание уделяется рассмотрению современных редакторов онтологий, в том числе Protégé 4 и системы “OntoEditor+”, разработанной при участии автора.

The paper describes the structure of the course "Knowledge Representation" and its specificity associated with the development of ontologies for various applications. The structure of ontologies and formalisms used to represent of ontological knowledge are discussed.  The focus is on  the current ontology editors, including Protégé 4 and the "OntoEditor +" system, developed with the participation of the author.

Ключевые слова

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

knowledge representation, ontology, ontology editor, knowledge engineering, professional competencies, model of learning

Введение

Федеральный государственный стандарт высшего профессионального образования (ФГОС ВПО) третьего поколения в качестве главных целевых установок процесса обучения определяет формирование базовых компетенций студентов, т.е. способностей применять знания, умения и личностные качества для успешной деятельности в определенной области. Учебная программа по дисциплине «Представление знаний в информационных системах» входит в цикл специальных дисциплин,  составлена в соответствии с требованиями ФГОС ВПО и предназначена для студентов специальности 230202.65 «Информационные системы в образовании».

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

Актуальность рассматриваемой дисциплины связана с современными тенденциями развития информационного общества, в котором особую актуальность приобретают интеллектуальные информационные технологии, т.е. информационные технологии, основанные на знаниях [1]. Развитие интеллектуальных информационных технологий связано с новыми средствами представления и обработки знаний. Наиболее перспективным является семантический подход к управлению знаниями, который представлен в проекте семантического веба (Semantic Web) [2]. Ключевыми элементами этого проекта являются онтологии и их применение для семантического индексирования документов. В рамках семантического веба разработаны средства описания контента документов (RDF-представления) [3] и формального представления онтологий (язык описания OWL) [4]. Онтологический подход, модели представления онтологий составляют ключевое содержание курса «Представление знаний в информационных системах».

Содержание данной дисциплины включает следующие разделы:

Основные понятия инженерии знаний (классификация знаний, характеристика знаний и отличия знаний от данных, типы моделей представления знаний, декларативные и процедурные модели представления знаний);

Логическая модель представления знаний;

Фреймовая модель представления знаний;

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

Онтологии и тезаурусы;

Продукционные модели представления знаний;

Представление неточных и нечетких знаний;

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

Технологии приобретения знаний (методы извлечения и структурирования знаний для информационных систем);

Инструментальные средства работы со знаниями (классификация инструментальных средств, редакторы онтологий);

Экспертные системы.

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

Структура онтологий

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

глоссарий (набор терминов);

простая таксономия (иерархия терминов);

тезаурус (таксономия с терминами);

система понятий с произвольным набором отношений (семантическая сеть);

полностью аксиоматизированная теория (формальные онтологии).

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

В 2004 году консорциум W3C предложил универсальный стандарт для сетевого обмена  онтологической информацией – язык OWL (Web Ontology Language), который позволяет снять проблему совместимости различных онтологий.  OWL представлен тремя различными по выразительности диалектами: OWL Lite, OWL DL, и OWL Full.

OWL Lite предназначен для разработки классификационных иерархий (тезаурусов и таксономий) и выполнения  некоторых простых ограничений, например, ограничений кардинальности (допускаются значения кардинальности 0 или 1).  

OWL DL обладает максимальной степенью выразительных возможностей при сохранении полноты вычислений (все заключения будут гарантировано вычисляемыми), и разрешимости (все вычисления выполняются за конечное время).  OWL DL использует формализм дескрипционной логики (DL) и конструкции языка должны удовлетворять строгим ограничениям формального синтаксиса и семантики. Реализация данного диалекта поддерживается в современных редакторах онтологий, например, Protégé.

OWL Full обладает максимальными выразительные возможностями и синтаксической свободой RDF без гарантий вычисления (нет полных и эффективных процедур автоматического анализа). OWL Full  полностью совместим с RDF (синтаксически и семантически), т.е. любой RDF-документ является OWL Full-документом. Любое истинное RDF/S-утверждение является истинным  OWL Full-утверждением.  Например,   класс в OWL Full может рассматриваться как собрание индивидов и как индивид в своем собственном значении. OWL Full допускает онтологии, которые расширяют состав предопределенного (RDF или OWL) словаря. Однако, в настоящий момент не существует полной программной поддержки этого диалекта.

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

Каждая допустимая OWL Lite онтология есть допустимая OWL DL онтология.

Каждая допустимая OWL DL онтология есть допустимая OWL Full онтология.

Каждое правильное OWL Lite заключение есть правильное OWL DL заключение.

Каждое правильное OWL DL заключение есть правильное OWL Full заключение.

Проектирование онтологий

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

определение концептов (классов) домена;

организация концептов в иерархию (класс-подкласс);

определение атрибутов и свойств (отношений) классов и ограничений на их значения;

определение индивидов (экземпляров) и приписывание значений атрибутам и свойствам.

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

 

Рис. 1. Цикл разработки онтологий

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

2.       Анализ области применения, определяющий необходимый объем моделируемых знаний.

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

4.       Выделение (перечисление) терминов. Этап включает сбор и уточнение определений терминов, построение полуформальных классификаций терминов.

5.       Определение классов (выделение необходимого уровня абстракций). Выделение базовых классов и классов, определяемых через базовые классы. Задание отношений. Организация иерархии классов. 

6.       Определение свойств. Свойства (роли) описывают атрибуты класса, выделяются внутренние и внешние свойства.

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

8.       Добавление экземпляров классов.

Проектирование онтологий в редакторе онтологий Protégé 4

Редактор Protégé 4 [5] поддерживает разработку OWL-онтологий и базируется на модели дескрипционной логики. Логическая  модель  позволяет создавать определения классов, соответствующие неформальному описанию, а также использовать рассуждения, которые могут проверить все ли утверждения и определения в онтологии взаимно согласуются. 

Редактор Protégé 4 состоит практически из тех же компонентов, которые используются в Protege 3 (редакторе фреймов). Однако терминология, используемая для описания этих компонентов, немного отличается от используемой терминологии в Protege 3. Онтология OWL состоит из отдельных индивидов, свойств и классов, которые примерно соответствуют  экземплярам, слотам и классам в фреймовой модели. Подробно описание работы в Protege 3 дано в методическом пособии [6]. 

Индивиды (экземпляры) представляют собой конкретные объекты предметной области. Свойства - это бинарные отношения на индивидах. Различают обратные, транзитивные, симметричные, функциональные свойства.  Для функционального свойства область значений ограничена единственным объектом.  Свойства примерно эквивалентны слотам в Protege-фреймах. Классы OWL интерпретируются как множества, элементами которых являются индивиды. Классы могут быть организованы в иерархию отношений вида  «подкласс-суперкласс» (таксономия). В OWL для классов вводятся условия на членство индивида в классе.

Рассмотрим некоторые основные операции в редакторе Protégé 4.1. Основными строительными блоками онтологии OWL являются классы. На рис. 2  приведена форма редактора Protégé 4.1 c открытой вкладкой "Иерархия классов" (Class hierarchy).

 

Рис. 2. Вкладка «Иерархия классов» в редакторе Protégé 4.1

В качестве примера рассматривается онтология профессиональной математики OntoMathPro, разработанная при участии автора в Казанском федеральном университете.

В OWL  представлены два основных типа свойств (отношений): свойства объектов и свойства типа данных (DataType). Свойствами объекта являются отношения между двумя индивидами. OWL также поддерживает третий тип свойства - свойства аннотации. Свойства аннотации могут использоваться для добавления информации (метаданных) для классов, отдельных индивидов и свойств объектов/типов данных. На рис. 1 в окне Annotations показаны свойства выделенного класса «Дискретная математика»: аннотации comment (комментарий),  label (метка, связывающая класс с литерной строкой). Свойства могут быть созданы с помощью вкладки «Свойства объекта» (Object Properties).

Каждое свойство объекта может иметь соответствующее обратное свойство. Если некоторые свойство связывает индивида а с некоторым индивидом b, то его обратное свойство связывает индивид b с индивидом а. На рис. 3 выделено свойство Определяет, для которого определено обратное свойство Определяется_через.

Если свойство является функциональным, то для данного индивида  может существовать не более одного индивида, который имеет отношение к первому индивиду через это свойство. Функциональные свойства определяются как однозначные свойства, а также как индивидуальные особенности индивида. Если свойство p транзитивное и свойство связывает индивида a и индивида b, а также индивида b связывает с индивидом c, то выводимо, что индивид а связан с индивидом c через свойство p. Если свойство p симметричное, и свойство связывает индивида а с индивидом b, то индивид b связан также с индивидом а через свойство р. Если свойство p асимметричное, и свойство связывает индивида а с индивидом b, то индивид b не может быть связан с индивидом a через свойство p. Список характеристик свойств  приведен на рис. 4 в окне Characteristic. Свойства могут иметь домен (область определения) и указанный диапазон (область значений). Свойства связывают индивидов из доменов с индивидами в диапазонах. Определение домена и диапазона свойства показано на рис. 3. Можно указать несколько классов для задания диапазона свойств, при этом определяется новый класс как пересечение исходных классов.

Домены и диапазоны свойств используются как «аксиомы» в аргументации и не являются ограничениями. Это обстоятельство может привести к неожиданным выводам процедуры вывода (reasoner), которые трудно отслеживаются в большой онтологии.

 

Рис. 3.  Определение обратного свойства

Рис. 4. Определение домена и диапазона свойства

Исследование структурных свойств онтологий в системе “OntoIntegrator

При разработке больших и сверхбольших онтологий актуальной задачей является исследование структурных свойств построенного  ресурса. Данная задача имеет эффективное решение при использовании системы “OntoIntegrator”, разработанной под руководством автора статьи [7]. Система “OntoIntegrator” содержит в своем составе подсистему проектирования онтологий “OntoEditor+”, которая используется в курсе «Представление знаний в информационных системах» для исследования свойств построенных онтологий.

Инструментальная система визуального проектирования онтологий «OntoEditor+» является специализированной СУБД. Система предназначена для ручного редактирования онтологий, хранящихся в реляционной базе данных в определенном формате, а также обслуживания запросов пользователей и внешних программ.

Инструментальная система позволяет:

добавлять, изменять и удалять отдельные записи БД;

автоматически корректировать данные при удалении конкретных записей (например, удалять отношения стертого концепта);

поддерживать ведение нескольких онтологий, в том числе смешанных (например, с общими списками типов отношений, классов, синонимов и др.);

импортировать онтологии различных форматов данные из внешних  баз данных  (механизмы импорта разрабатываются на конкретную базу данных);

вести обработку онтологий в табличной и графической формах;

поддерживать иерархическую структуру классов;

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

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

осуществлять поиск цепочек отношений концептов с заданными свойствами;

выводить требуемую информацию на печать или в текстовый файл в заданных формах отчета в кодировках ANSI и ASCII;

обрабатывать внешние запросы с использованием механизма обмена DDE (Dynamic Data Exchange).

Система поддерживает многооконный интерфейс и снабжена развитой системой подсказок, а также механизмами поиска конкретной записи.

 

Рис. 5. Иерархия концептов онтологии

На рис. 5 приведена основная форма подсистемы, на которой отображена иерархия концептов онтологии OntoMathPro по отношению «класс-подкласс». Различные инструменты формы позволяют выполнять редактирование онтологии, выводить статистические данные по различным характеристикам онтологии, анализировать список концептов, не вошедших в рассматриваемую иерархию. Для поиска концепта в онтологии используется расширенная навигация по иерархии: по имени концепта; по корневым, терминальным, нетерминальным и многозначным (имеющим более одного родительского элемента) вершинам построенного дерева. Статистические данные формируются по всему дереву, а также  по каждой ветви от селектированного концепта.

Подсистема «OntoEditor+» обеспечивает широкие возможности визуализации данных онтологии. Визуальная работа над онтологией поддерживается следующими группами операций над одним или несколькими объектами одновременно:

Масштабирования (n-кратное увеличение или уменьшение изображения, переход к предыдущему виду, выбор полного обзора онтологии с минимально допустимыми размерами графических объектов, отображения на полный экран выделенной указателем мыши области или по границе зоны расположения селектированных образов);

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

Ранжирования (по порядку занесения в БД, по именам концептов, по классам, по количеству синонимов, по количеству связей, произвольно; выбор направления построения; автоматическое или ручное размещение при изменении онтологии);

Фильтрации (маскирования-демаскирования групп образов по различным критериям, например, выделения, отношения к тому или иному классу и др.);

Выделения (селектирования конкретных объектов или группы объектов для дальнейшей обработки);

Поиска (конкретных концептов, синонимов, отношений или цепочек отношений, существующих между двумя концептами) с последующим выделением;

Драггирования (перетаскивания графических объектов на плоскости при ручном режиме размещения);

Информационного отображения параметров объектов при прохождении указателя мыши над принадлежащей им "функциональной зоной".

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

выбор графических образов объектов;

задание цветовой гаммы представления объектов;

определение минимально возможных размеров графических образов;

выбор функций, закрепляемых за клавишами мыши и клавиатурными комбинациями;

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

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

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

поиск подсети заданной конфигурации (типы отношений, длины выводимых цепочек);

выбор типа (концепт, эквивалент, отношение) селектируемого объекта;

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

замораживание конкретных видовых экранов для дальнейшего изучения и сравнения результатов;

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

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

 

Рис. 6. Визуальная форма прикладной онтологии

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

 

Рис.7. Выполнение поисковых запросов на онтологии

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

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

Заключение

В статье описаны инструментальные средства, применяемые автором в процессе преподавания курса «Представление знаний в информационных системах». Для разработки онтологий в рамках данного курса применяется редактор онтологий Protégé 4, который имеет удобный пользовательский интерфейс и поддерживает  основные функции проектирования онтологий. Преимуществом Protégé 4 является поддержка разработки OWL-онтологий. Однако исследовательские функции Protégé 4 ограничены простыми поисковыми запросами, ведением простой статистики и  построением визуального графа. Для исследования структурных свойств онтологии более удобно использовать инструментальные возможности подсистемы «OntoEditor+» в составе научно-исследовательской среды “OntoIntegrator”.

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

Литература

1.         Рогушина Ю.В. Внедрение современных Интернет-технологий в образовательный процесс // Международный электронный журнал "Образовательные технологии и общество (Educational Technology & Society)" –2008. –V.11. - № 3. – C. 375 – 381. – ISSN 1436 - 4522. URL:http://ifets.ieee.org/russian/periodical/journal.html

2.         W3C Semantic Web Activity [Электронный ресурс] URL:http://www.w3.org/2001/sw/ (дата обращения 15.06.2013).

3.         RDF Primer [Электронный ресурс] URL:  http://www.w3.org/TR/REC-rdf-syntax/ (дата обращения 15.06.2013).

4.         Web Ontology Language [Электронный ресурс] URL:http://www.w3.org/2004/OWL/ (дата обращения 15.06.2013).

5.         Protégé4 [Электронный ресурс] URL:http://protegewiki.stanford.edu/wiki/Protege4UserDocs (дата обращения 15.06.2013).

6.         Муромцев Д.И. Онтологический инжиниринг знаний  в системе Protégé. Методическое пособие. – СПб: СПб ГУ ИТМО, 2007. – 62 с.

7.         Невзорова  О.А. Инструментальная система визуального проектирования онтологий "OntоEditor+" в лингвистических приложениях // Вестник КГТУ им. А.Н.Туполева. – № 3. – 2006. – С. 56-60.