УДК 519
А. А. Али, Х. К. Али
ПРОЕКТИРОВАНИЕ ИНТЕЛЛЕКТУАЛЬНОЙ ДИАЛОГОВОЙ ОБУЧАЮЩЕЙ СИСТЕМЫ НА БАЗЕ ОНТОЛОГИЙ
Ключевые слова: онтология, обучение, проектирование, архитектура, декларативное описание, модель.
Статья посвящена рассмотрению актуальных проблем, связанных с особенностями, трудностями и перспективами проектирования интеллектуальной диалоговой системы на базе онтологий. В процессе исследования формализована архитектура образовательного сервера, представлена формальная модель онтологии. Отдельное внимание уделено этапам создания онтологии для проектирования интеллектуальной диалоговой обучающей системы. Подробно рассмотрен этап интеграции и объединения уже существующих антологий, в рамках которого автором предложено использовать специальный алгоритм. Также в статье представлен обзор различных языков программирования, которые могут быть использованы для описания онтологических баз знаний. Используя объектно-ориентированное программирование, автором предложен порядок создания архитектуры онтологической интеллектуальной диалоговой обучающей системы.
Keywords: ontology, training, design, architecture, declarative description model.
The article considers the current problems with the features, constraints and perspectives of design and intellectual dialogue system based on ontology. The study architecture formalized educational server, a formal model of ontology. Special attention is paid to the steps of creating an ontology for the design of intelligent interactive learning system. Details considered stage of integration and consolidation of the existing anthologies, in which the author proposed to use a special algorithm. The article also provides an overview of different programming languages, which can be used to describe the ontological knowledge bases. Using object-oriented programming, the author proposed a procedure for the creation of architecture ontological intelligent interactive learning system.
На сегодняшний день во всех сферах образования ведется поиск путей повышения эффективности и качества обучения. Внедрение в учебный процесс технических средств и компьютеризация являются характерными чертами современного образования. В результате традиционный подход к обучению существенно потеснили альтернативные методы, основанные на информационных технологиях. Современные автоматизированные обучающие системы являются средством представления информации, усвоения знаний и умений, промежуточной и итоговой проверки, помощи, как по программе обучения, так и по предмету [1]. Системы адаптируются к студенту (уровню знаний, скорости, последовательности изучения тем, и т.д.), собирают и обрабатывают статистическую информацию о каждом студенте, группах и потоках, накапливают информацию об ошибках как системы, так и студентов.
Ключевая проблема, возникающая при создании таких систем, и одновременно являющаяся одной из центральных нерешенных проблем компьютерных наук и искусственного интеллекта заключается в представлении знаний о предметной области и как следствие в построении диалога с информационной системой на естественном языке. С развитием систем электронного обучения важность разработок в этом направлении растет, поскольку только интеллектуальные обучающие системы могут в определенной степени заменить присутствие преподавателя. При таком способе организации обучения лицо контактирует с информационной системой, подавая ей запросы на естественном языке и получая ответы также в понятном для нее виде, то есть на естественном языке [2].
Для преодоления отмеченной проблемы в области программной инженерии распространяется при-
менение различных видов декларативных описаний [3]. Одной из разновидностей декларативного программирования является онтологическое, основанное на использовании онтологий, что подтверждает актуальность выбранной темы исследования, ее практическую и теоретическую значимость.
С учетом вышеизложенного цель статьи заключается в исследовании этапов проектирования интеллектуальной диалоговой обучающей системы на базе онтологий.
Онтология (в искусственном интеллекте) - это попытка всеобъемлющей и детальной формализации некоторой области знаний с помощью концептуальной схемы. Обычно такая схема состоит из структуры данных, содержащей все релевантные классы объектов, их связи и правила (теоремы, ограничения), принятые в этой области [4].
Существует много рекомендаций, советов и указаний на тему построения онтологий, но на данный момент нет общего алгоритма создания онтологий.
Конкретные архитектурные решения платформ, позволяющих обмениваться знаниями между преподавателями и студентами в рамках диалоговых обучающих систем можно найти в работах Пантелеева М.Г., Пузанкова Д.В., Татаринова Ю.С, Беуе^с, V. Фактически данные платформы отражают связь преподавателя и слушателя с образовательными серверами с помощью педагогических агентов. Интеллектуальные педагогические агенты обеспечивают необходимую инфраструктуру для потока знаний и информации между клиентами и серверами [4].
Педагогические агенты осуществляют доступ к образовательному контенту на сервере, используя высокоуровневые образовательные услуги (рис. 1), а сервер обладает достаточным интеллектом для по-
полнении (personalization) учебных задач, которые он поддерживает.
Рис. 1 - Архитектура образовательного сервера (О! - онтологии)
Фактически, с точки зрения ученика, сервер является интеллектуальным репетитором с предметными и педагогическими знаниями, позволяющими ему осуществлять учебную сессию (имеется в виду учебные действия). Он использует презентационный планировщик (presentation planner) для выбора, подготовки и адаптации предметных материалов в дальнейшем предоставлении студенту. Он также поэтапно строит модель студента в течение сессии, для того чтобы сохранять историю действий студента и учебного прогресса, выявлять и исправлять его ошибки и недоразумения, и возможно таким образом переадресовывать сессию.
Понятно, для того, что бы все описанное выше заработало вначале нужно разработать подходящие предметные и педагогические онтологии. В идеальном случае, создание образовательного веб-контента с онтологической аннотацией должно быть поддержано авторскими инструментами и классами онтологических иерархий. Более того, онтологии должны быть связаны с библиотекой сроков, и взаимосвязаны для возможности осуществления повторного использования или изменения сроков.
Очевидно, что онтология должна проектироваться или развиваться так, чтобы адаптироваться к задачам интеллектуальной диалоговой обучающей системы. Эффективность адаптации определяется заложенными в структуру и функции базы знаний механизмами настройки онтологии в процессе эксплуатации программного комплекса, то есть с помощью самообучения [5]. Понятие онтологии предполагает определение и использование взаимосвязей и взаимосогласованной совокупности трех компонентов: таксономии терминов, определений терминов и правил их обработки. Учитывая это, введем
определение понятия модели онтологии для проектирования интеллектуальной диалоговой обучающей системы.
Под формальной моделью онтологии Оi следует понимать упорядоченную триаду следующего вида:
О1 = (С,Я, V),
где C - конечное множество концептов (понятий, терминов) предметной области, которую задает онтология О^
R - конечное множество отношений между концептами (понятиями, терминами) заданной предметной области;
F - конечное множество функций интерпретации (аксиоматизация, ограничения), заданных на концептах или отношениях онтологии.
Теперь рассмотрим более подробно этапы создания онтологий для проектирования интеллектуальной диалоговой обучающей системы.
1. Определение области и масштаба онтологии. Для этого необходимо ответить на следующие основные вопросы:
- какую предметную область будет охватывать онтология?
- для чего будет использоваться онтология?
- на какие виды вопросов должна давать ответ информация в онтологии?
Онтологическое представление знаний о курсах, входящих в состав интеллектуальной диалоговой обучающей системы, можно использовать для объединения информационных ресурсов одной области знаний в единое информационное пространство (см. рис. 2).
Онтология специальности
Онтология учебного заведения Онтология учебного процесса
Конкретные понятия и отношения
Рис. 2 - Онтологическое представление знаний в интеллектуальной диалоговой обучающей системе
Как свидетельствует рис. 2 предметной областью в интеллектуальной диалоговой обучающей системе является вся терминология, используемая для организации учебного курса: тема, лекция, практическое занятие, лабораторная работа, контрольные вопросы, примеры, а также все более мелкие компоненты каждого из объектов.
2. Рассмотрение вариантов повторного использования существующих онтологий. Многие онтологии уже доступны в электронном виде и могут быть импортированы в используемую среду проектирования
онтологии. На данном этапе перед разработчиком может стать проблема интеграции и объединения существующих онтологий. Задача объединения онтологий формулируется следующим образом: даны две правильные онтологии, нужно создать третью правильную онтологию, которая представляет понятие во входных онтологиях, а также дополнительные ограничения и взаимосвязи, если они нужны. Исследователи разных отраслей информатики работают над автоматическим или поддерживаемым инструментально объединением онтологий, однако эти исследования и разработки находятся на ранних стадиях и требуют дальнейшего развития.
Рассмотрим более подробно работу подсистемы объединения онтологий. Онтология рассматривается как граф классов. Каждое понятие является вершиной, а отношения класс-подкласс является дугами. Класс без базового класса является вершиной графа. Разрешено множественное наследование. Рассмотрим онтологии, которые представляются единым графом понятий с одной корневой вершиной. Граф не имеет ссылок на внешние онтологии.
Для объединения онтологий автор предлагает следующий алгоритм, состоящий из таких действий:
1) Выравнивание порядков онтологий.
2) Разрешение конфликта имен.
3) Объединение классов, их свойств и отношений.
Под порядком онтологии понимается количество
уровней иерархии графа. Предлагаемый алгоритм может работать при выполнении двух требований, которые предъявляются к объединяемым онтологиям:
- количество уровней иерархии должно быть одинаковым;
- не должно быть совпадения имен понятий, находящихся в онтологиях на разных уровнях иерархии, то есть должен отсутствовать конфликт имен [6].
В алгоритме одна из онтологий считается базовой, другая - той, что дополняет. Алгоритм будет работать более эффективно, если базовая онтология больше, чем та, что дополняет. Вероятность того, что онтологии, которые объединяются, будут иметь различную иерархическую структуру, достаточно велика. Для корректной работы предложенного алгоритма необходимо выравнивание порядков онто-логий. Выравнивание реализуется путем добавления в иерархическую структуру фиктивных уровней иерархии. Имена понятий на фиктивных уровнях иерархии не рассматриваются при работе алгоритма.
Реализация предлагаемого алгоритма предполагает выполнение следующих шагов.
Шаг 1. Формирование списка сходящихся имен понятий онтологий, находящихся на разных уровнях иерархии.
Шаг 2. Формирование списка сходящихся имен понятий онтологий, находящихся на одинаковых уровнях иерархии.
Шаг 3. Формирование списка имен понятий онтологии, для которых отсутствовала синонимика понятий в базовой онтологии на одинаковых уровнях иерархии.
Список, полученный на первом шаге до начала объединения онтологий, должен быть рассмотрен экспертом с целью разрешения существующего конфлик-
та имен. То есть конфликт имен должен быть устранен к работе алгоритма на 2 и 3 шаге. На втором шаге синонимичные понятия онтологий анализируются модулем «проверка соответствия». На шаге 3 несовпадающие понятия обрабатываются модулем «анализ элементов, которые не совпадают».
3. Выбор технологии представления знаний:
- иерархическая модель (фреймы, семантические сети, БД, ООП);
- представления знаний в виде иерархии структурированных объектов, которые связаны между собой отношениями;
- логика первого порядка (FOL) - формальная теория, которая допускает высказывания относительно переменных, фиксированных функций и предикатов;
- дескриптивная логика - образовалась путем объединения семантических сетей и FOL. Дескриптивная логика сочетает в себе возможность представления знаний в виде иерархии понятий с одной стороны, и возможность машинной обработки знаний с другой.
4. Выбор языка для описания онтологических баз знаний:
- RDF (Resource Description Framework) - простой способ описания данных экземпляров в формате субъект-отношение-объект, в котором в качестве любого элемента этой тройки используются только идентификаторы ресурсов.
- RDF (s) - семантическое расширение RDF. Этот язык предоставляет механизмы для описания групп связанных ресурсов и отношений между этими ресурсами.
- OWL (Ontology Web Language) - разработан для использования в программном обеспечении, которое должно обрабатывать содержание информации, а не только представлять эту информацию.
- OIL - язык, специально предназначенный для онтологий с формальной семантикой и средствами вывода, представляемых дескриптивной логике. OWL обеспечивает полную машинную обработку информации и больше всего подходит для создания онтологий интеллектуальной диалоговой обучающей системы.
5. Выбор программного инструментария для разработки онтологии. В таблице 1 приведено краткое описание программных инструментов и перечень поддерживаемых языков.
Таблица 1 - Сравнение редакторов онтологий
Название Короткое описание Язык
Protégé Создание, просмотр онтологий. Бесплатный в пользовании. RDF/RD F, OIL, OWL
OntoEdit Разработка и поддержка онтологий. RDFS, OIL
OilEd Разработка онтологий, поддержка логического вывода OIL
6. Определение всех важных терминов. Необходимо определить все важные понятия в учебной дисциплине. Набор терминов является индивиду -альным для каждой учебной дисциплины вузов,
ведь в большинстве случаев одно понятие в разных областях знаний, определяется по-разному.
7. Определение классов и иерархии классов. Данный этап является ключевым и самым трудным в разработке онтологии. Необходимо определиться со способом разбиения на классы (нисходящий, восходящий, комбинированный). Для учебных дисциплин более подходит нисходящий способ - сначала определяем общие понятия, которые затем конкретизируются, но окончательный выбор зависит от разработчика онтологии. Также необходимо определиться с перечнем отношений между понятиями. Так для учебных дисциплин наиболее подходят следующие основные типы отношений: is-a, has-a, a-kind-of, have-value.
8. Определение свойств классов. Каждое свойство может быть задано конкретным значением или способом (например, формулой, реализуемой с помощью присоединенной процедуры) вычисления значения этого свойства.
9. Формальная интерпретация аксиом. Аксиомы задают правила использования терминов в контексте других терминов. Аксиомы также могут описывать новые сроки, пользуясь уже определенными простыми терминами из текущей онтологии.
10. Создание экземпляров. Определение экземпляров начинается с определения нужной глубины детализации в их представлении. Глубина детализации, зависит от цели создания онтологии - что именно должна делать будущая интеллектуальная диалоговая обучающая система.
11. Уточнение и верификация созданной онтологии. Любая онтология создается путем постоянного дополнения к созданной модели. Чтобы проверить онтологию необходимо подготовить ряд вопросов, на которые должна дать ответ созданная онтология и с помощью созданной модели построить ответ на них.
Теперь после создания отологии сосредоточимся на проектировании самой интеллектуальной диалоговой обучающей системы.
Сначала необходимо спроектировать средство построения и направления запросов к онтологии от пользователя. Проектирование и разработка такого средства является достаточно нетривиальной задачей. Поэтому следует использовать стандартизированный протокол запросов к онтологиям SPARQL, который стандартизирован консорциумом W3C. Основным элементом протокола запросов SPARQL является шаблон тройки (triple pattern). Шаблон тройки - это тройка в понимании RDF-модели, в которой на местах предиката, субъекта, объекта стоят переменные или константы. Исследования показывают, что в таких системах часто используются SPARQL select - и describe-запросы, менее часто используются ask-запросы.
Основную работу по поиску ответов на запросы выполняет машина вывода (SPARQL reasoner). Разра-
ботка машины вывода представляет собой достаточно сложную самостоятельную задачу, поэтому проще использовать существующие машины вывода.
Для реализации интеллектуальной диалоговой системы автор предлагает выбрать библиотеку Jena. Выбор этой библиотеки обуславливает выбор языка программирования для реализации интеллектуальной диалоговой обучающей системы. Таким образом, проектирование системы должно осуществляться в терминах объектно-ориентированного языка программирования Java.
При проектировании системы, в качестве ее основы целесообразно принять концепт архитектуры информационной системы на базе онтологии, описанный в фундаментальном патентном документе [7]. А определение архитектуры следует проводить с учетом концепта, представленного в работе Грувера [8].
Таким образом, в результате данного исследования была разработана методика построения онтоло-гий интеллектуальной диалоговой обучающей системы. С помощью объектно-ориентированного программирования предложен порядок создания архитектуры онтологической учебной системы, которая направлена на универсальность и предусматривает в дальнейшем переход от интеллектуальной диалоговой системы, работающей с отдельной онтологией, к фреймворку для разработки классов систем.
Литература
1. Окулова Л.П. Автоматизация и компьютеризация процесса обучения как способ повышения эффективности обучения // Электронный научно-практический журнал Культура и образование. - 2014. - №2(6). - С. 32.
2. Рыбина Г.В., Сергиенко Е.С., Моросин О.Л. Интеллектуальные обучающие системы на основе интегрированных экспертных систем: моделирование умений обучаемых решать сложные учебные задачи // Информационно-измерительные и управляющие системы. - 2014. -Т. 12. - №8. - С. 34-40.
3. Рудина Е.А. Спецификация сетевых протоколов с использованием декларативного языка описания // Проблемы информационной безопасности. Компьютерные системы. - 2012. - №2. - С. 69-75.
4. Сагинова О.В., Завьялова Н.Б., Скоробогатых И.И. Показатели исследовательской деятельности и эффективность преподавателя // Вестник Российского экономического унта им. Г.В. Плеханова. - 2014. - №11(77). - С. 3-15.
5. Родзин С.И., Родзина Л.С. Мобильные обучающие системы и онтологии //Онтология проектирования. -2013. - №3(9). - С. 70-81.
6. Старых В.А., Башмаков А.И., Белоозеров В.Н. Информационные ресурсы для сферы образования: каталогизация, классификация, онтология // Информационные системы и технологии. - 2013. - №6. - С. 88-102.
7. Hammit, L. C. and Beckert, J. (2007) Ontology-driven information system. US Patent No. 7,200,563, Apr. 3.
8. Gruber, T. R. (1993) A translation approach to portable ontology specifications. Knowledge systems laboratory technical report KSL 92-71. Stanford, pp. 3-27.
© А. А. Али - асп. каф. информатики и прикладной математики КНИГУ, препод. Аденского ун-та (Йеменская Республика), anees_aleysai@yahoo.com; Х. К. Али - к.т.н., доц. Аденского ун-та (Йеменская Республика), khalid_shafal@yahoo.com.
© Ali Anees Abdullah Shafal, Ph.D. student of Applied Mathematics & Computer Science department, Kazan National Research Technological University, junior lecturer - Aden University (Republic of Yemen), anees_aleysai@yahoo.com; Ali Khalid Kaid Shafal, Ph.D., Assistant Professor - Aden University (Republic of Yemen), khalid_shafal@yahoo.com.