Раюшкин, Э. С. Построение онтологической модели «Астрономия» средствами программного обеспечения Protege / Э. С. Раюшкин, В. О. Колесникова, Н. Н. Канубриков. — Текст : непосредственный // Молодой ученый. — 2021. — № 26 (368). — С. 27-32. — URL: https://moluch.ru/archive/368/82710/ (дата обращения: 31.05.2023).
В данной статье рассмотрено использование программного обеспечения Protégé для построения онтологической модели на тему «Астрономия» для дальнейшего использования с целью формализации информации. Определены возможности данных моделей, а также их преимущества и недостатки.
Ключевые слова: онтология, моделирование, Protege, астрономия.
This article discusses the use of Protege to build an ontological model for «Astronomy» for further use in order to generate information. The capabilities of these models, as well as their advantages and disadvantages, have been determined.
Keywords: ontology, modeling, protege, astronomy.
Астрономия — это наука о небесных объектах (таких как звезды, планеты, кометы и галактики) и феноменах, которые происходят за пределами атмосферы Земли (таких как, солнечное сияние и космическая радиация). Она сосредоточена на эволюции, физике, химии, метеорологии и движении небесных тел, равно как и на вопросах формирования и развития вселенных. В переводе с греческого астрономия — это «закон звезд». Астрономия — одна из старейших наук [1].
ЧАСТЬ 1. Создание онтологии в редакторе Protégé
Основными задачами астрономии являются:
- Изучение видимых, а затем и действительных положений, и движений небесных тел в пространстве, определение их размеров и формы.
- Изучение строения небесных тел, исследование химического состава и физических свойств (плотности, температуры и т. п.) вещества в них.
- Решение проблем происхождения и развития отдельных небесных тел и образуемых ими систем.
- Изучение наиболее общих свойств Вселенной, построение теории наблюдаемой части Вселенной — Метагалактики.
Люди, изучающие небесные тела делятся на две категории: астрономы и космонавты. Астрономы наблюдают за небесными телами с Земли, используя различные приборы. Космонавты же летают на Луну, и в будущем на близлежащие планеты и напрямую исследуют их.
Для того формализации знаний об астрономии, необходимо построить онтологическую модель с помощью Protege. Protégé — это свободный, открытый редактор онтологий и фреймворк для построения баз знаний. Платформа Protégé поддерживает два основных способа моделирования онтологий посредством редакторов Protégé-Frames и Protégé-OWL [2].
Непосредственно сама онтология — это формальное явное описание понятий в рассматриваемой предметной области (классов), свойств каждого понятия, описывающих различные свойства и атрибуты понятия (свойств), и ограничений, наложенных на слоты (фацетов). Онтология вместе с набором индивидуальных экземпляров классов образует базу знаний [3].
Онтологическая модель строится на классах. Классы — абстрактные группы, коллекции или наборы объектов. Они могут включать в себя экземпляры, другие классы, либо же сочетания и того, и другого. Классы описывают понятия предметной области.
Онтологии в Protege Урок1. Что такое онтологии? Закрытость и открытость мира
Глоссарий и тезаурус, как правило, являются первым шагом, который инженер по знаниям совершает при составлении онтологии. Оформленные специальным образом онтологические словари позволяют существенно сократить время и трудозатраты дальнейшей разработки онтологии.
Для начала необходимо составить таксономию. Таксономия — это классификация и систематизация объектов, обычно, путем представления их в виде дерева. Она представлена на рис. 1.
Рис. 1. Таксономия
Для создания онтологии в системе Protégé необходимо создать классы. Классы — абстрактные группы, коллекции или наборы объектов. Они могут включать в себя экземпляры, другие классы, либо же сочетания и того, и другого. Классы описывают понятия предметной области. Создадим классы на основании спроектированной онтологии средствами Protégé.
Созданные классы представлены на рис. 2.
Рис. 2. Класс онтологии «Астрономия»
Теперь необходимо создать свойства-отношения. Свойства-отношения определяют некоторые отношения между двумя индивидами (экземплярами классов), т. е. субъектом и объектом RDF-тройки будут индивиды. Свойства-отношения, построенные в Protégé изображены на рис. 3.
Рис. 3. Свойства-отношения
Далее необходимо создать свойства-данные. Свойства-данные определяют некоторые фактические характеристики индивидов (экземпляров классов), т. е. субъектом RDF-тройки будет индивид, а объектом значение характеристики в виде строки, числа, даты и т. п. Разработанные в Protégé свойства-данные представлены на рис. 4.
Рис. 4. Свойства-данные
На основе построенной онтологии выведем онтологический граф. Полученный онтологический граф представлен на рис. 5.
Рис. 5. Онтологический граф
Далее необходимо заполнить онтологию экземплярами классов. Экземпляры классов в онтологии называются индивидами. Аналогичным понятием в объектно-ориентированных моделях является объект, но в RDF оно зарезервировано за одним из элементов RDF-тройки. В RDF-тройке индивид указывается в качестве субъекта, класс — объекта.
Связь между индивидом и классом, представителем которого он является, задается предикатом «rdf:type». Разработанные экземпляры классов представлены на рис. 6.
Рис. 6. Экземпляры классов
По аналогии с базами данных для RDF и OWL онтологических моделей возможно выполнение запросов с целью извлечения знаний, содержащихся в них.
Запрос начинается с ключевого слова «SELECT», после которого указываются:
– переменные, отображаемые в результатах запроса;
– условие «WHERE», задающее ограничения (правила) на выборку результатов.
Переменные, используемые в запросе, должны начинаться со знака «?».
Условие может включать в себя несколько RDF-троек (подусловий), после каждой из которых ставится «.». Считается, что такие подусловия соединены конъюнкцией (логическим И). В условие могут включаться дополнительные конструкции (графовые шаблоны):
– FILTER — ограничение на значения переменных;
– OPTIONAL — допущение отсутствия значения для переменной в RDF-тройке;
– UNION — объединение результатов нескольких частей запроса (объединение дизъюнкцией (логическим ИЛИ)).
В запросе можно указать дополнительные параметры (модификаторы) [4].
Выберем Космонавтов, по году рождения. Данный запрос представлен на рис. 7.
Рис. 7. Второй запрос
Таким образом, спроектированная онтологическая система «Астрономия» должна позволяет отслеживать космические объекты и ученых (космонавтов и астрономов), причастных к их исследованию и открытию.
- Астрономия — наука о небесных объектах. [Электронный ресурс] // АКНИИПО. — Режим доступа: http://www.akniipo.ru/info/1.htm (дата обращ 30.05.2021).
- Protege [Электронный ресурс] // Autograndad. — Режим доступа: https://amp.ru.autograndad.com/2315985/1/protege.html (дата обращ 30.05.2021).
- Королева, Л. А. Онтологическая модель предметной области «технология швейных изделий» / Л. А. Королева, А. В. Подшивалова, О. В. Панюшкина // Фундаментальные исследования. — 2013. — № 10–5. — С. 986–990.
- Краткие сведения о спецификациях семантической паутины [Электронный ресурс] // Cyberpedia. — Режим доступа: https://cyberpedia.su/9x147ab.html (дата обращ 30.05.2021).
Основные термины (генерируются автоматически): класс, RDF, экземпляр классов, онтологическая модель, FILTER, OPTIONAL, OWL, UNION, онтологический граф, предметная область.
Источник: moluch.ru
2. 2. Основные сведения о Protégé
Protégé – это интегрированное инструментальное программное средство, которое используется разработчиками систем и экспертами по предметным областям для разработки систем, основанных на знаниях. Приложения, разработанные с помощью Protégé, используются при решении задач и принятии решений в конкретной предметной области.
В то время как в более раннем средстве Protégé/Win, как в классической системе баз данных, отдельно определялись классы информации (схема) и хранились экземпляры этих классов, Protégé облегчает работу и с классами, и с экземплярами. Так, отдельный экземпляр может быть использован на уровне описания класса, а класс можно хранить, как экземпляр.
Подобным образом, слоты, которые ранее использовались только внутри классов, сейчас поднялись до уровня, на котором находятся классы. Использование этой новой модели знаний также обеспечивает соответствие протоколу ОКВС (Open Knowledge Base Connectivity) для доступа к базам данных, хранящихся в системах представления знаний.
В конечном счете, приложения из этих компонентов также исполняются внутри интегрированной среды Protégé. Средство Protégé получает доступ ко всем этим частям при помощи унифицированного графического интерфейса пользователя, верхний уровень которого включает перекрывающиеся вкладки для компактного представления частей и удобного их совместного редактирования.
Такой дизайн верхнего уровня с вкладками позволяет интегрировать следующие действия: 1. моделировать онтологию классов, описывающую определенную дисциплину; 2. создавать средства приобретения знаний для сбора информации; 3. вводить отдельные экземпляры данных и создавать базу знаний; 4. выполнять приложения. Онтология определяет набор понятий и их отношения.
Средство приобретения знаний разрабатывается специально для предметной области, позволяя экспертам по предметной области легко и свободно вводить свои знания в предметной области. Конечная база знаний затем может быть использована вместе с методом поиска решения задач для ответа на вопросы и решения задач в предметной области.
В конечном счете, приложение является конечным продуктом, созданным, когда база знаний используется для решения задачи конечного пользователя с использованием подходящих методов поиска решения задач, методов «эксперт-система» или методов поддержки принятия решений. Protégé разработано таким образом, чтобы поддерживать итеративную разработку, где существуют циклы переделки онтологий и других компонентов системы, основанной на знаниях.
Поэтому разработчикам не следует ожидать «завершенной» разработки онтологии без принятия во внимание других аспектов процесса. Для разработки удачного проекта Protégé рекомендуется выполнить следующие шаги: 1. Определить приложение и ожидаемое приложение базы знаний.
Обычно это означает работу с экспертами по предметной области, у которых есть ряд задач, которые могут быть решены с помощью технологии баз знаний. 2. Создать небольшую первоначальную онтологию классов и слотов.
3. Когда построена эта онтология, можно напрямую увидеть формы для ввода в онтологию информации об экземплярах, потому что Protégé как генератор средств приобретения знаний генерирует начальные формы «на лету». 4. После использования этих форм для ввода значений слотов пробных экземпляров, нужно показать онтологию и заполненные формы экземпляров экспертам по предметной области и ожидаемым пользователям.
Это неминуемо приведет к ряду переработок, как онтологии, так и форм. Необходимо обратить внимание, что изменения онтологии могут быть дорогостоящими, т.к. некоторые виды изменений могут привести к реконструкции части или всей базы знаний. 5. Настройка форм для измененного средства приобретения знаний.
При построении этой измененной версии средства приобретения знаний можно заметить дальнейшие проблемы в первоначальной онтологии. При необходимости нужно пересмотреть онтологию и повторить шаг 4. 6. Совместно с экспертами по предметной области строим большую по размеру базу знаний, которую можно протестировать с нашим приложением или методом решения задач. 7. Тестирование всего приложение с конечными пользователями. Этот шаг может привести к дальнейшим переработкам онтологии и средств приобретения знаний.
Ограничение
Для продолжения скачивания необходимо пройти капчу:
Источник: studfile.net
Создание онтологии в Protégé 5.0
Protégé является свободным программным средством с открытым исходным кодом для редактирования онтологий и систем управления знаниями 1 . Версия 5.0 на сегодня является актуальной (о ней подробнее). Поэтому я подумала, что простой тьюториал, как небольшое введение в работу с этой программой, не будет лишним на Хабре.
Создание новой онтологии
Для создания онтологии открываем редактор Protégé 5.0 (загрузить можно с официального сайта или воспользоваться онлайн версией) и вводим ее название — например, NQF_FQF, и версию — /1.0.
Примечание: Мы создаем онтологию на примере Национальной рамки квалификаций Украины
Для добавления аннотации, которая бы поясняла о чем ваша онтология, необходимо нажать на «плюсик» возле слова Annotation.
В поле Value введите текст аннотации и нажмите кнопку Ок.
Так как мы пишем онтологию с использованием украинского языка, то язык аннотации мы не выбираем.
Для редактирования аннотации здесь и в других разделах редактора необходимо нажать на «кружочек» в правом углу аннотации.
Создание классов
Для создания классов вам необходимо перейти на вкладку Classes. Если у вас в редакторе она не отображается, нужно на панели инструментов выбрать Window – Tabs – Class views.
Во всех предыдущих руководствах советовали не трогать класс по умолчанию – Thing.. Мы так и поступаем.
Далее создаем свой класс. Для этого нужно нажать на кнопку Add subclass.
В открывшемся окне необходимо ввести название класса. Тут следует заметить, что кириллические символы работают, но для украинского языка не работает ‘ – апостроф. При написании слова с апострофом – отсекается часть текст до апострофа.
Примечание: ну нужна нам кириллица в названиях классов для более наглядного представления в графе. Да, конечно можно писать латиницей и никаких проблем 🙂
Также не пишутся названия классов типа:
1_слово
Вместо этого в редакторе получается
_слово
Но вот так писать можно:
Слово_1
То есть редактору не нравиться, когда название класса начинается с цифры.
После введения название класса в структуре онтологии появляется новый класс.
Так мы создали один класс и три подкласса.
Для лучшего описания онтологии сделаем не связанными классы между собой.
Чтобы это сделать, необходимо выбрать класс, затем в окне Description нажать на «плюсик» возле Disjoint With.
В открывшемся окне классов выбрать те, которые вы не хотите связывать. Комбинация Ctrl + левая кнопка мыши позволяет выбрать сразу несколько классов. Далее — Ок.
Теперь необходимо создать классы 2-го уровня для каждого из классов 1-го уровня. Замечательной особенностью редактора является то, что сделав не связанным один класс, остальные делаются автоматически.
Для этого в подклассе «Компетентність» создаем 8 подклассов: Рівень_1, Рівень_2…Рівень_8.
Для создания подклассов мы воспользуемся функцией создания иерархии классов. В главном меню из инструментов Protege Tools выберите Create Class hierarchy.
В открывшемся окне выберите основной класс и нажмите Continue.
Затем в поле Prefix пишем «Рівень_», а ниже в поле нужно написать названия добавляемых классов через пробел и и нажать Continue.
Вот, что должно получиться в итоге.
Как объяснено было выше, сделаем эти классы не связанными между собой использовав в окне Description — Disjoint With.
Создание связей
Эти подклассы (Рівень_1… Рівень_8) нельзя скопировать во все остальные (а нам нужно чтобы эти уровни были у всех предыдущих классов), но можно добавить связи.
Для этого следует выбрать класс и в окне Description нажать на «плюсик» возле SubClass Of.
В открывшемся окне выбрать вкладку Class hierarchy и из перечня классов выбрать те, которые вы хотите связать. Комбинация Ctrl + левая кнопка мыши позволяет выбрать сразу несколько классов. Далее — Ок.
Таким образом в SubClass Of появиться перечень связанных классов.
Если добавить плагин OntoGraf, то можно увидеть структуру онтологии в виде графа после перехода на вкладку OntoGraf.
Добавление свойств
Научимся добавлять свойства.
Примечание: мы создали еще дополнительные классы, поэтому появятся названия классов, о которых не было написано выше.
Создадим свойство на вкладке Object Properties. Как и при создании класса выбираем свойство и нажимаем кнопку .
В открывшемся окне пишем названия свойства. Правила написания названий тут такие же как и названий классов.
Теперь это свойство присваиваем объекту, например «Елементарні_загальні_знання».
Для этого на той же вкладке в окне Description нажимаем на «плюсик» возле Domens (intersection).
В окне, что открылось выбираем класс «Елементарні_загальні_знання».
Далее нажимаем «плюсик» возле Ranges (intersection) и в окне, что открылось выбираем клас «Рівень_0». В итоге мы связываем эти классы через свойство «належить».
И это отображается соответствующими линиями на графе OntoGraf.
Добавление характеристики
Для того чтобы добавить к свойству характеристику нужно его выделить, затем в окне Characteristics нажать «галочку» возле Symmetric.
Таким же образом поступаем с другими классами, подклассами, свойствами и т.д…
В итоге получаем граф. Для того, чтобы представить граф в удобоваримом виде нужно «ручками» попередвигать элементы, чтобы все было хорошо видно, т.к. OntoGraf автоматически размещает не очень красиво.
Полный тьюториал можно скачать тут.
Источник: habr.com