УДК 81 '322(075.8) Темникова Елена Александровна,
аспирант кафедры «Химия»,
Иркутский государственный университет путей сообщения (ИрГУПС), е-mail: lenchik89-07@mail.ru
РАЗРАБОТКА ОНТОЛОГИИ ПРЕДМЕТНОЙ ОБЛАСТИ НА ПРИМЕРЕ УЧЕБНОГО ЦЕНТРА
Е.А. Temnikova
DOMAIN ONTOLOGY FOR THE TRAINING CENTER «PROFILE»
Аннотация. В данной статье описана разработанная авторами онтология предметной области, в которой отражена информация о структуре учебного центра «Профиль» (занимающегося подготовкой специалистов в сфере промышленной безопасности): списки организаций-заказчиков, преподавателей, дисциплин, расписание занятий, а также заявки на обучение и др. Онтология разработана на основе редактора Протеже 4.2. Приведены примеры описания онтологии на языке RDF, концептуальная карта и SPARQL-запросы. Также представлена автоматизированная система мониторинга учебного процесса «Профиль». Система позволяет формировать списки и таблицы с данными, редактировать, удалять и хранить их, автоматически рассчитывать коэффициент эффективности учебного процесса, снижать трудоемкость обработки данных, формировать и выдавать на печать все требуемые формы отчетов. Созданная автоматизированная система имеет простой и удобный интерфейс.
Ключевые слова: онтология, семантическая сеть, концептуальный граф, язык описания онтологии, автоматизированная система, моделирование.
Abstract. This article describes a domain ontology for the training center «Profile». Examples of ontology description on RDF language, the conceptual map and SPARQL requests are given. The ontology is developed on the basis of the Protégé 4.2 editor. Also the automated system for monitoring the educational process «Profile» is presented. The system allows to create lists and tables of data, edit, delete and store them, automatically calculate the efficiency ratio of the educational process, reduce the complexity of the data, generate and output to print all the required reporting forms. An automated system has a simple and intuitive interface.
Keywords: ontology, semantic network, conceptual graph, ontology description language, automated system, modeling.
Введение
Хотя термин «онтология» сейчас достаточно популярен в информационных системах, четкого его определения еще не сложилось. Онтология позволяет описывать декларативные знания в виде классов и отношений между ними, является основой коммуникации между людьми и компьютерными агентами, представляет собой семантический базис. Онтология помогает разработчикам программных обеспечений в создании и поддержке явных моделей предметных областей (ПрО) и включении этих моделей в программный код.
Саздание онтологии ПрО в редакторе Protégé
Для разработки сложной многоуровневой автоматизированной системы мониторинга учебного процесса (АСМУП) необходимо четко определять: взаимосвязь между ее элементами, иерархию отношений между компонентами системы, структурированность и полноту информационной базы. Для достижения перечисленных задач нами была спроектирована онтология предметной области, в которой описана информация о структуре учебного центра «Профиль», занимающегося подготовкой специалистов в сфере промышленной безопасности, а именно: списки организаций-заказчиков, преподавателей, дисциплин, расписание занятий, а также заявки на обучение и др.
Разработанная онтология является необходимым ресурсом, описывающим систему понятий, иерархическую структуру изучаемой ПрО, позволяющим определять взаимосвязь между концептами (классами). На рис. 1 представлен OntoGraf -концептуальная карта [1], которую можно приравнять к семантической сети, так как она имеет сетевую структуру, возможность указания типа связи, использует в вершинах слова, имеет множественные связи между идеями и концепциями.
В данной работе для описания классов при проектировании онтологической модели использовался редактор Protégé 4.2. - локальная, свободно распространяемая Java-программа, предназна-
Современные технологии. Транспорт. Энергетика. Строительство. _Экономика и управление_
ф MajtUi
[*» Керчи I _
Audit] |ул
1
* HülfYMí 11
^О LongKams j
• Place I" fe» ГЮ |
1/ _ l
j
I # Telephone |
f > Г /V-
ж'
Paspart
Ф PersanaJData —[—
• Section J
Tiling
\ * Birthday ~| \ pj
Co ntral_syste rrs
__ILS
r Q FormaZaniatiya
Safety_equipmen iv-
Hazardous waste
j » Soup ~| Q Pod gro up ~j - ,
4 p^-
ф Zapravshik ~| "W—
Person j-
С
Manage ,ment_syst
Stepen Kategory
ZvanieKaftegoiy
Q РУЮтоцр I
Qboznachenie
Organization
I
YmAdiees |
мы j f*'» OrgTelephona | E-mai "
Рис. 1. Концептуальная карта ПрО
ченая для построения (создания, редактирования и просмотра) онтологий прикладной области [2]. Protégé основан на фреймовой модели представления знания (Open Knowledge Base Connectivity) и позволяет ее адаптировать для редактирования моделей, хранимых в разных форматах (стандартный текстовый, в базе данных JDBC, UML, языков XML, XOL, SHOE, RDF и RDFS, DAML+OIL, OWL).
Класс THING представляет набор, содержащий все объекты предметной области, поэтому все классы являются подклассами THING. На рис. 2 представлена созданная в онтологии иерархия классов, позволяющая определить компоненты, которые будут входить в расписание учебных занятий, а также объекты, на основе которых будут оформляться заявки на обучение в УЦ.
Современные языки представления метаданных строятся на базе языка XML и модели RDF [3].
В данном случае онтология применяется для формирования пространств имен, словарей, ква-лификаторов для обеспечения их единообразных интерпретаций. В данных языках описания онтологии существует два основных типа свойств: первое представляет отношение между объектами (ObjectProperty), а второе - свойство типа данных (DataType). На рис. 3 отображена иерархия свойств классов и объектов рассматриваемой нами ПрО, где, например, свойство «hasPerson» является обратным к свойству «isPersonOf». Таким образом, если организация имеет работника - Иванова Ивана Ивановича, то он, в свою очередь, является работником организации. В нашей иерархии свойств существует большое количество подобных вышеописанному примеру инверсий.
Г'
ichy fe
s hierarchy {inferred)
s hierarchy: Prep-od
Thing • Client
i-t Organïzatïon
.....4 Person
O Disciplina © FormaZaniatïya » Group @ FulIGroup ▼••••# Oboznachenie f «TB
L.....mzs
-f Podgroup 0 Kategory
fl StepenKategory
# Zva n ïe Katego ry € LongKours
Personal Data Place
# Auditorya | • City
f Korpus Prepod Spécial nost I Kranovshik Í Stropalshik I Svarshik •••# Zapravshik Zayavka
Рис. 2. Иерархия классов
Object property hierarchy: hasPerson
Tí e w
▼ etopObjectProperty
■ hasChild
■ hasDisciplinOf Prepod
■ HasKranovshikOfGroup
■ hasSpouse
■ hasStepenOf Prepod
■ hasWorker
■ hasZa pravshikOf Group
■ hasZvanieOfPrepod
■ isChild Of
■ isDisciplin Prepod Of
■ isPersonOf
■ isSpouseOf
■ isStepen Prepod Of
■ is Worker Of Orga n ization
■ isZvaniePrepodOf
Description: hasPerson
Equivalent To ^^ Sub Property Of ^ Inverse Of ^^
■ isPersonOf
Domains intersection) ^ Ranges (intersection) ^ Disjoint With ^^ SuperProperty Of (Chain) ^^
Рис. З. Панель характеристик свойств (Object PropertyTab)
ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ
Свойство типа данных (DataType) связывает индивида со значением типа данных схемы XML или RDF, т. е. определяет связи между индивидом и значениями данных. Свойство типа данных «hasGroupContentValue» используется для описания наполняемости групп двух классов категоризации: «FullGroup» (полная группа с количеством учащихся от пятнадцати человек включительно) и «Podgroup» (подгруппа с количеством учащихся менее пятнадцати человек), а также охватывает любого индивида, который имеет данное свойство. Пример описания класса, экземпляров класса и его типа данных приведен на рис. 4 и 5.
Description: FullGroup
Equivalent То ^ 1 Group and (hasGroupContentValue some ¡nteger[>= 0000 15])
SubClass Of
• Group
Subclass Of (Aionymous Ancestor)
4 hasGroupContentValue some integer o©oo
Ivtembers ^
те. 5-11
♦ ZS-08
Target for Key ^^
Disjoint With € Podgroup 0000
Disjoint Union Of ^^
Рис. 4. Панель описания класса FullGroup
Description: Podgroup nasi
Equivalant То
• Group
and (hasGroupContentValue some ïnteger[< 15])
O0OO
Subclass Of Q
• Group
Subclass Of (Aionymous Ancestor)
• hasGroupContentValue some integer
Members ^^
;#7B.5-11-1 ¡•"ГВ.5-11-2
:#zs-os-i
♦ZS-08-2
Disjoint With ^^ â FullGroup
©ООО
0®OO
Disjoint Union Of ^
Рис. 5. Панель описания класса Podgroup
Например, подклассом «Group» будет класс «FullGroup», который включает в себя экземпляры класса: «ТВ.5-11» и «ZS-08», наполняемость которых будет больше или равна пятнадцати (см. рис. 4). Подобным образом мы связали между со-
бой классы: «Преподаватель - Дисциплина», «Преподаватель - Ученая степень», «Преподаватель - Звание», «Клиент - Организация», «Клиент - Группа», «Направление обучения - Группа» и т. д.
Созданные классы мы можем наполнять индивидами (компонентами классов).
В панели Individuals редактора Protégé 4.2 определим индивидов, которые могут использоваться в описании класса, а также зададим свойства индивидов (см. пример на рис. 6). Видно, что индивид «Strelcov_Aleksey_Sergeevich» является экземпляром подкласса «FIO», класса «Prepod» (Преподаватель). Он имеет такие свойства, как: «hasDisciplinOfPrepod», связывающее конкретного преподавателя с дисциплиной, которую он ведет; свойство «hasZvanieOfPrepod», которое определяет, что указанный преподаватель имеет звание профессора, и другие свойства, позволяющие связать индивида с конкретными экземплярами с помощью свойств, описывающих классы.
Кроме описания именованных классов через суперклассы и анонимных через ограничения, языки описания онтологии позволяют определять классы списком индивидов, которые являются членами класса. В нашей онтологии мы определили перечислимый класс LongKours (длительность курсов), содержащий только индивидов: две недели, месяц, полгода, один год.
Как уже отмечалось, онтологии создаются, прежде всего, для того, чтобы зафиксировать знания в какой-либо предметной области и использовать их в различных приложениях. Чтобы приложение могло использовать онтологию, она должна быть описана на языке, понятном приложению, таком как RDF, его расширение RDFS, OWL и др. Главный элемент языка RDF - это тройка, или триплет. Тройка представляет собой совокупность трех сущностей: субъект, предикат, объект. Предикаты еще часто называют свойствами. С математической точки зрения, тройка представляет собой экземпляр некоторого бинарного отношения. Рассмотрим, как, например, данные о клиенте (учащемся группы) можно описать в виде онтологии на языке RDF. Информация об учащемся содержит следующие поля: идентификатор (id); имя (fname); фамилия (sname); возраст (age); номер телефона (phone). Принцип здесь простой: каждая строка таблицы представляется как экземпляр класса user. Элементы соответствующих столбцов в этом случае выступают как поля класса, что выражается в языке RDF в виде т. н. свойств - экземпляров класса rdf:Property. Чтобы выразить на языке RDF этот факт, будет использоваться специальный предикат rdf:type. Итак, имеем объявления
Современные технологии. Транспорт. Энергетика. Строительство. _Экономика и управление_
полей как специальных свойств: (usr:id, rdf:type, rdf:Property) (usr:fname, rdf:type, rdf:Property) (usr:sname, rdf:type, rdf:Property) (usr:age, rdf:type, rdf:Property) (usr:phone, rdf:type, rdf:Property) Рассмотрим теперь, как задается таблица данных. Сначала для каждой строки таблицы зададим экземпляр класса «client»:
(usr:client1, rdf:type, usr:client) (usr:client2, rdf:type, usr:client) Наконец, можно приступить к описанию самих данных:
(usr:client1,usr:id,1) (usr:client1,usr:fname,Иван) (usr:client1,usr:sname,Брусенко) (usr:client1,usr:age,39) (usr:client1,usr:sex,Мужской) (usr:client2,usr:id,2) (usr:client2,usr:fhame,Татьяна) (usr:client2,usr:sname,Волкова) (usr:client2,usr:age,23) (usr:client2,usr:sex,Женский). Вероятно, сами по себе языки представления онтологий не были бы так сильно востребованы, если бы не возникло необходимости автоматически обрабатывать онтологии, наполнять их содержимым и выполнять к ним запросы. Наиболее популярным среди запросов к RDF-хранилищам на сегодняшний день являются языки RDQL и SPARQL - Protocol and RDF Query Language, способные передавать по протоколу эти запросы и ответы на них. SPARQL является одной из рекомендованных технологий семантической паутины при публикации данных в Интернет. В нашей работе мы осуществили запрос, используя комментарий о классе, а также запрос, который вернул только те классы, которые являются подклассами класса «Place», основанный на отношениях между концептами:
PREFIX rdf: <http://www.w3.org/1999/02-rdf-syntax-ns#>
PREFIXowl: <http://www.w3.org/2002/07/owl#> PREFIX xsd:
<http://www.w3.org/2001/XMLSchema#> PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema#
SELECT ? subject rdfs:subClassOf ? class.
? class rdfs:lable "Place"@en
Автоматизированная система мониторинга учебного процесса
С целью оптимизации и снижения временных затрат при подготовке и реализации учебного процесса разработана АСМУП «Профиль», в которой предусмотрено создание баз данных по категориям информационных потоков учебного центра, автоматическое заполнение таблиц, справочников и отчетов по качеству, автоматический расчет коэффициента эффективности обучения, составление расписания занятий учебного центра [4].
На рис. 7 приведен пример одной из таблиц АСМУП.
Заключение
Онтология, созданная для АСМУП, обеспечивает возможность: описания, редактирования понятий предметной области и зависимостей между ними, генерации баз данных и баз знаний, трансляции с одного языка/формата описания онтологии в другой. Использование онтологии позволило избавиться от избыточности и многозначности информации, структурировать, подробно разобрать предметную область и оптимизировать разработанную АСМУП.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Темникова Е.А., Асламова В.С. Концептуальная карта предметной области мониторинга учебного процесса // Математические методы в технике и технологиях (ММТТ-26) : сб. тр. Междунар. науч. конф. Нижний Новгород : Нижегород. гос. техн. ун-т, 2013. С. 73-75.
2. Болотова Л.С. Системы искуственного интеллекта: модели и технологии, основанные на знаниях : учебник. М. : Финансы и статистика, 2012. С. 411-419.
3. Онтологии и тезаурусы: модели, инструменты, приложения. М. : Ин тернет-Уни верситет Ин формацион ных Технологий; БИНОМ. Лаборатория знаний, 2009. С.61-77.
4. Темникова Е.А., Асламова В. С. Автоматизированная система мониторинга учебного процесса // Современные технологии. Системный анализ. Моделирование. 2011. № 3 (31). С. 214-220.