Сделай Сам Свою Работу на 5

Предварительные замечания





Создание онтологии предметной области подразумевает выполнение следующих этапов:

1. Определение области и масштаба онтологии

2. Выявление и перечисление основных терминов в онтологии

3. Определение классов и иерархии классов

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

5. Определение ограничения слотов

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

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



Таблица 1. Основные термины предметной области

Многоклеточные Беспозвоночные Губки Известковые Обыкновенные Стеклянные Иглокожие Голотурии Морские ежи Морские звезды Морские лилии Офиуры Кишечнополостные Гидроидные Коралловые полипы Сцифоидные Кольчатые черви Малощетинковые Многощетинковые Пиявки Круглые черви Моллюски Брюхоногие Головоногие Двустворчатые Насекомые Бабочки Блохи Вши Двукрылые Жуки Клопы Перепончатокрылые Поденки Прямокрылые Равнокрылые Стрекозы Таракановые Уховертки Плоские черви Ленточные Ресничные Сосальщики Членистоногие Паукообразные Ракообразные Позовоночные Хордовые Бесчерепные Ланцетники Черепные Земноводные   Безногие Бесхвостые Хвостатые Круглоротые Млекопитающие Грызуны Зайцеобразные Китообразные Ластоногие Насекомоядные Непарнокопытные Однопроходные Парнокопытные Приматы Рукокрылые Сумчатые Хищные Хоботные Пресмыкающиеся Крокодилы Черепахи Чешуйчатые Птицы Воробьинообразные Голенастые Гусеобразные Дневные хищники Казуарообразные Куриные Нандуобразные Пингвины Совы Страусообразные Рыбы Костные Карпообразные Лососеобразные Окунеобразные Осетрообразные Сельдеообразные Хрящевые Акулы Скаты Химерообразные Простейшие Жгутиконосцы Инфузории Корненожки Радиолярии Солнечники Споровики  

Следующий этап выявление иерархии терминов (в терминологии построения онтологии - классов). Существуют несколько возможных подходов к разработке иерархии классов:



· Процесс нисходящей разработки начинается с определения самых общих понятий предметной области с последующей конкретизацией понятий.

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

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

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



Корненожки
Споровики
Жгутиконосцы

Классы-листья можно раскрыть дальше, например «Черепные»

 

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

Таблица 2. Набор свойств

Название свойства
Вид
Длина
Высота
Среда обитания
Численность
Период беременности
Угроза исчезновению
Продолжительность жизни
Привычки
Пища
Количество детенышей
Масса
Родственные виды
Наличие хвоста

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

На последнем этапе необходимо определить ограничения на свойства. Например, «масса» как и «количество детенышей» не может быть отрицательной величиной, численность величина также не отрицательная, а свойство «наличие хвоста» может принимать либо истинное, либо ложное значение.

Итак, мы определили предметную область для построения онтологии, выявили основные термины (классы), их свойства и ограничили значения этих свойств. Не смотря на кажущуюся простоту нахождения основных терминов в нашем примере, отметим, что выявление основных терминов и понятий в предметной области, вообще говоря, сложная задача. Для ее решения служат многочисленные методы извлечения знаний. Поэтому при выборе предметной области для построения онтологии необходимо это учитывать.

Перейдем к созданию онтологии нашего примера при помощи Protégé.

 

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. Тестирование всего приложение с конечными пользователями. Этот шаг может привести к дальнейшим переработкам онтологии и средств приобретения знаний.

 

2. 3. Создание онтологии предметной области в Protégé

Перейдем к созданию онтологии предметной области «Мир животных».

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

 

 

Нажимаем New Project и в открывшемся диалоговом окне выбираем формат проекта Protégé Files.

При выборе Protégé Files информация об интерфейсе Protégé сохраняется в файле с расширением pprj (Protégé project). Кроме pprj-файла Protégé сохраняет внутри еще два файла. В этих файлах содержится дополнительная информация об онтологии и экземплярах проекта. При открытии pprj-файла, Protégé автоматически загружает эти файлы. По умолчанию дополнительные файлы сохраняются в текстовом формате:

· Текстовый файл с расширением pont (Protégé ontology), в котором содержится информация о классах и слотах.

· Текстовый файл с расширением pins (Protégé instances), в котором содержится информация об экземплярах.

 

Нажимаем на Finish

Откроется окно Protégé и появятся стандартные вкладки. Будет создана пустая база знаний, содержащая системные классы с корнем в классе :THING.

Окно Protégé содержит пять стандартных вкладок: Classes, Slots, Forms, Instances, Queries. Подробнее о каждой из них расскажем по ходу создания онтологии.

Итак теперь все готово для создания классов. Для этого на вкладке Classes в CLASS BROWSER кликнем на SYSTEM-CLASS правой кнопкой мыши и в контекстном меню выберем Create Class. В результате будет создан класс Project_Class_0

Для редактирования класса служит панель CLASS EDITOR.

Ее можно использовать для определения и редактирования атрибутов класса, выбранного на панели отношений классов. В CLASS EDITOR имеется 6 отдельных областей:

1. Иконки примечаний позволяют добавлять и удалять примечания.

2. Поле Name позволяют ввести имя класса. К именам классов применяются следующие правила:

· Имя должно быть уникальным именем в базе знаний.

· В именах классов различается регистр букв.

3. Меню Role позволяет выбрать, каким будет класс – конкретным или абстрактным. Конкретные классы могут иметь непосредственные экземпляры, абстрактные классы - не могут.

4. Панель Constraints позволяет создавать, редактировать, добавлять и удалять ограничения класса.

5. Панель Documentation позволяет добавлять простые текстовые примечания для пояснения класса.

6. Панель Template Slots позволяет просматривать информацию о слотах класса.

Введем в поле Name «Животные». На панели редактирования класса менять ничего не будем. Приступим к созданию, согласно классификации определенной ранее, подклассов класса «Животные». Для этого нажимаем правой кнопкой мыши на класс «Животные» и в контекстном меню выбираем Create Class. В результате будет создан подкласс класса «Животные». Присвоим подклассу имя «Простейшие», создадим таким же образом подкласс «Многоклеточные». В результате получим:

 

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

 

 

Полученная нами иерархия представляет отношения между классами в предметной области. Иерархия классов представляет отношение “is-a” (более подробно см. 1. 2.): класс А – это подкласс В, если каждый экземпляр В также является экземпляром А. Например, «Млекопитающие» – подкласс класса «Черепные». Другой способ подхода к таксономическому отношению – это отношение “kind-of”: «Млекопитающие» – вид «Черепных». Подкласс класса представляет понятие, которое является «разновидностью» понятия, представляемого надклассом. Заметим также что отношение подкласса транзитивно: Если В – это подкласс А, а С – подкласс В, то С – подкласс А

Например, мы определили класс «Животные», а потом определить класс «Многоклеточные» как подкласс класса «Животные». Затем определяем класс «Позвоночные» как подкласс класса «Многоклеточные». Транзитивность отношения подкласса означает, что класс «Позвоночные» также является подклассом класса «Животные».

Перейдем теперь к созданию свойств классов - слотов. Создавать и редактировать их в Protégé можно на вкладке Slots. Окно состоит из 3 панелей:

1. Панель Slots в левом верхнем углу показывает все слоты в проекте и позволяет редактировать существующие слоты, создавать новые слоты, просматривать обратные ссылки для слотов и удалять слоты.

2. Панель SUPERSLOT на вкладке Slots в левом нижнем углу показывает слот, к которому прикреплен выделенный слот. Это окно только для просмотра.

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

 

Форма Слота для выбранного слота отображается на Панели SLOT EDITOR в правой части вкладки Slots.

 

Форма Слота отображает следующую информацию о слоте:

1. Иконки Примечаний, которые позволяют Вам добавлять примечания.

2. Имя слота. В именах слотов различается регистр букв. Каждое слово в имени класса рекомендуется начинать с маленькой буквы, а слова отделять подчеркиванием (_).

3. Тип Значения (Value Type) слота. Тип слота определяет то, какие значения может иметь слот. Возможные типы приведены в следующей таблице:

 

Тип Описание Примеры
Any Любой из типов, описанных ниже (логическое объединение)  
Boolean Логическое значение True, False
Class Класс в базе знаний «Млекопитающие»
Float Число с десятичной запятой 1.0, 3.4e10, -0.3e-3
Instance Экземпляр класса в базе знаний Белый медведь
Integer Целое число 1, 2, -4
String Строка символов алфавита, включая пробелы "Белый медведь"
Symbol Список значений, которые не содержат пробелы Море, океан, река

 

4. Мощность (Cardinality) слота.

5. Минимальное и Максимальное значения слота. Эти поля значимы только для отдельных типов слотов.

6. Пояснения, которые были введены в слот.

7. Обратные Слоты (Inverse Slots) для слота.

8. Шаблонные Значения (Template Values), которые были определены для слота.

9. Значения по Умолчанию (Defaults), которые были определены для слота.

10. Domains в данной панели указывается к какому классу прикреплен данный слот.

Для отдельных типов значения под панелью Value Type появляется дополнительная панель:

1. Для типа Class появляется панель Allowed Parents (Разрешенные Родители).

2. Для типа Instance появляется панель Allowed Classes (Разрешенные Классы).

3. Для типа Symbol появляется панель Allowed Symbols (Разрешенные Символы).

 

Создадим слоты согласно выделенных нами ранее свойств. Для этого на панели SLOT BROWSER нажимаем на иконку

Будет создан слот jiv2_Slot_0. Далее перейдем на вкладку Slot Editor для редактирования слота. В поле Name введем название слота «Вид», тип значения определим как String, в поле пояснения введем «Слот содержит информацию о названии представителя животного мира», в поле шаблонного значения введем «Введите название», в поле мощности слота галочку поставим на «required» а в at least поставим 1. Под этим подразумеваем, что слот должен иметь одно и только одно значение. Вообще в поле required/at leastустанавливается минимальное число значений слота. Обычно at leastустанавливают в 1, что требует значения для слота. Например, установка at leastравным 1 иat most равным 1 означает, что у слота может быть только одно значение. Если ввести значение для at least, то автоматически будет выбраноrequired (требуется). Если установить at leastбольше, чем 1, то автоматически будет выбраноmultiple. Multiple/at mostозначает, что слот может иметь множественные значения, но существует предел числу значений. Если установить at mostбольшим 1, то автоматически будет выбраноmultiple. Multipleбез значения at most означает, что значение слота может содержать любое число элементов. multiple хранятся в виде списка; возможны идентичные значения, хотя они редко используются.

Остальные поля оставим без изменения. Создадим далее слоты с именами:

Длина
Высота
Среда обитания
Численность
Период беременности
Угроза исчезновению
Продолжительность жизни
Привычки
Пища
Количество детенышей
Масса
Родственные виды
Наличие хвоста
Область обитания

 

При редактировании слотов после их создания необходимо помнить об ограничениях на значение, которые может принимать слот. Так, например масса не может быть числом отрицательным, поэтому в поле Minimum введем значение «0». Это подразумевает, что значение слота «Масса» будет больше 0. Для того чтобы слот «Угроза исчезновения» принимал значение True или False, необходимо тип значения установить Boolean. В значение по умолчанию поставим False. Для слота «Среда обитания» выберем тип Symbol. После этого на панели редактирования слота появится дополнительное поле Allowed Values, куда введем несколько возможных значений слота.

 

 

Интересен слот «Область обитания». Мы могли бы определить его тип как строковый, и каждый раз при заполнении вводить область обитания. Однако было бы удобно не вводить каждый раз значение заново, а выбирать из списка. Вариант с типом Symbol не подходит, поскольку областей обитания довольного много, и к тому же, значения типа Symbol не содержат пробелы. Поэтому воспользуемся типом Class. Это подразумевает, что значением слота будет класс из нашей онтологии. Но в ней нет классов областей обитания – создадим их. Для этого вернемся на вкладку Classes и на панели CLASS BROWSER кликнем на SYSTEM-CLASS правой кнопкой мыши и в контекстном меню выберем Create Class. Назовем созданный класс «Области обитания». Теперь перейдем к созданию подклассов, разумно создать также иерархическую структуру. Так, например, создав класс «Европа» (который, естественно, является подклассом класса «Области обитания») мы можем создать его подклассы: Северная Европа, Западная Европа, Восточная Европа и т. д. Процесс конкретизации может продолжаться далее: Восточная Европа, к примеру, также может содержать подклассы.

После создания классов «Области обитания» добавим еще один класс в корне (т. е. прямой подкласс системного класса) и назовем его «Мир животных». После этого при помощи клавиши Ctrl выделим класс «Животные» и «Области обитания» и перетащим их на класс «Мир животных». Таким образом, мы создали классы «Животные» и «Области обитания» подклассами класса «Мир животных». В результате получим следующую картину:

 

Вернемся теперь к слоту «Область обитания». После выбора типа значения Class отобразится дополнительное окно Allowed Classes, в котором выберем класс «Области обитания».

 

В мощности слота поставим галочку на multiple, а поле at most оставим пустым, подразумевая таким образом, что слот может иметь множество значений.

Итак, после создания слотов необходимо добавить их к классам. Вернемся на вкладку Classes выделим класс «Животные» и перейдем на панель Template Slots. В правом верхнем углу этой панели нажмем на кнопку Add Slot.

Отобразится окно Select Template Slots.

Выберем слот «Вид» и нажмем Ok. В результате слот отобразится на панели Template Slots – слот «Вид» прикреплен к классу «Животные»

Продолжим добавление слотов. К классу «Животные» добавим следующие: Исчезающий вид, Область обитания, Среда обитания, Численность. Теперь все подклассы класса «Животные» наследуют данные слоты. Перейдем к классу «Млекопитающие». На панели Template Slots отображены слоты, которые класс наследует от класса родителя «Животные». На это указывает иконка . Добавим тем же способом оставшиеся слоты к классу «Млекопитающие». Обратим внимание на то, что у них иконка которая указывает, что слот не унаследован, а прикреплен к текущему классу.

 

Итак, мы создали иерархию классов и определили их свойства. Теперь необходимо заполнить нашу онтологию знаниями о каждом конкретном представителе (экземпляре) какого-либо класса. Для этого необходимо заполнить формы. Protégé генерирует исходную форму для каждого класса. Protégé попытается создать начальный, полезный набор форм, основываясь на своих знаниях онтологии. Однако исходные интерфейсы пользователя, не всегда удобны. Решить эту проблему помогает вкладка Forms, на которой можно изменить внешний вид и удобство форм. Формы, которые созданы для классов на вкладке Forms, затем используются для ввода экземпляров на вкладке Instances. Каждая форма содержит ряд элементов управления пользовательского интерфейса, которые соответствуют слотам класса. Элемент управления, который выбран в данный момент, если таковой имеется, выделяется зеленым цветом. Каждый слот класса ассоциирован с элементом управления пользовательского интерфейса формы.

Вкладка Forms состоит из одного окна, в котором можно просматривать и редактировать прототип форм. Окончательный вид формы, которые мы проектируем и создаем на вкладке Forms, можно увидеть на вкладке Instances. Конечные пользователи будут использовать готовые формы для ввода экземпляров в базу знаний.

Окно вкладки Forms состоит из двух панелей:

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

2. На панели Forms Edit показана конфигурация формы, связанной с выделенным классом. Каждый слот класса связан с элементом управления пользовательского интерфейса на форме. Если мы не создали или не изменили форму, Protégé использует конфигурацию по умолчанию, основанную на типе и мощности слота.

 

Каждый раз при выделении элемента мы может изменить его тип элемента управления.

Для того, чтобы установить тип элемента управления слота, необходимо выделить элемент и затем нажать на меню Selected Widget Type. Отобразится список возможных типов элементов управления.

Если выбрать <none>из меню Widget Type, элемент будет удален из панели Form Edit и не будет отображаться в Форме Экземпляра для этого класса. Для восстановления отображения элемента управления, который был удален в результате выбора <none>, откроем диалог Form Configuration двойным нажатием на форму панели Form Edit и выберем другой тип отображения элемента управления.

Изменим расположение и размеры элементов на панели Form Editor.

Создав форму для заполнения, перейдем на вкладку Instance. Вкладка Instances предоставляет окно, в котором можно просматривать, создавать и редактировать экземпляры. (Классы моделируют понятия предметной области, слоты моделируют свойства классов и отношения между ними, а экземпляры моделируют действительные данные.)

Окно включает 3 панели:

1. Панель классов в левом верхнем углу показывает классы в отношении «надкласс/подкласс». Вкладка Instances позволяет просматривать классы, но их нельзя редактировать или переставлять.

2. Панель Instances Browser в центре показывает все имеющиеся прямые экземпляры выбранного класса и позволяет просматривать, создавать и удалять прямые экземпляры.

3. Когда выбран отдельный экземпляр, панель редактирования справа содержит Форму Экземпляра для выбранного экземпляра. Форма Экземпляра отображает все слоты, которые есть в экземпляре, и позволяет их редактировать.

Для создания экземпляра необходимо на панели классов выбрать класс, для которого мы хотим создать экземпляр. Выбрав класс, на панели Instances Browser нажимаем кнопку . Будет создан экземпляр project_INSTANCE_00001. Перейдем теперь к вводу данных в форму.

Для идентификации разных экземпляров, при отображении их в списке, можно выбрать слот. В нашем случае ключ просмотра установлен на слот «Вид». Это значит, что на панели Instances Browser разные экземпляры перечисляются по значению поля «Вид».

 

Для выбора ключа просмотра на вкладке Forms необходимо в списке Display Slot выбрать необходимый слот. Если не выбрать слот для ключа просмотра, Protégé-2000 будет использовать ключ по умолчанию.

Введя информацию об экземплярах, мы получим базу знаний. При помощи вкладки Queries мы может создавать запросы по базе знаний. Например, мы хотим узнать какие млекопитающие имеют хвост. Для этого на панели Query в поле Class выберем класс «Млекопитающие» а в поле Slot слот «Хвост». Затем в поле критерия выбираем «is» а в поле значения «true». Нажимаем Find и на панели Search Results отобразятся экземпляры имеющие свойство «Хвост».

 

 

 

Мы можем сохранить этот запрос. Для этого в поле Query Name вводим название и нажимаем на кнопку Add Query Library. Запрос добавлен в библиотеку Query Library. Теперь в любое время мы можем его использовать. Необходимо лишь выбрать его в Query Library и нажать на кнопку . Мы можем также создать сложный запрос. Так, например, нам интересно какие степные млекопитающие являются исчезающими видами. Нажимаем More и создаем запрос:

 

Также добавим этот запрос в библиотеку Query Library.


Итак мы получили онтологию предметной области «Мир животных», добавили к ней информацию об экземплярах и получили базу знаний. Мы можем проводить запросы по базе, извлекая, таким образом, информацию о конкретных экземплярах. Более того, наша база знаний может быть использована в экспертной системе. Необходимо отметить, что мы можем усовершенствовать онтологию. Например, создавая слоты «Родственные виды» и «Пища» мы присвоили им тип String, однако разумнее было бы присвоить тип Instances. Это позволило бы нам в качестве значений слотов выбирать конкретные экземпляры из базы знаний.

Удобно после создания онтологии экспортировать ее в формат HTML, это позволит просматривать онтологию с помощью любого интернет браузера. На html странице будет представлена иерархия классов. Выбрав один из них, мы перейдем на страницу содержащую информации о надклассах и подклассах и типе класса, прикрепленных слотах и экземплярах. Экспортируем нашу онтологию в формат HTML. В меню File выбираем Export to Format -> HTML. В открывшемся окне HTML Export Configuration Options можно задать параметры экспортирования. На вкладке General оставим все без изменения, лишь в Root Classes вместо корневого класса Thing выберем класс «Мир животных».

На вкладке Slots оставим галочки только на созданных нами слотах:

Это позволить исключить из представленных на html страницах системные слоты.

На вкладке Facets поставим галочки на всех ограничениях – на Html страницах будет информация о всех ограничениях слотов.

На вкладке Custmization изменений проводить не будем. Нажимаем Ok и HTML страницы сгенерированы в выбранной директории.

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

 

Мы может перейти по ссылке и получить информацию о классе. Перейдем, например, на класс «Млекопитающие». Здесь отображается информация о надклассе – для класса «Млекопитающие» это класс «Черепные», о подклассах класса «Млекопитающие» и о его типе. В таблице Template Slots отображается информация о прикрепленных слотах - указывается их тип, мощность, максимальное и минимальное значения, значение по умолчанию, шаблонные значения.

 

 

 

Перейдя страницу класса «Хищные» получим, помимо перечисленной выше, информацию об экземплярах данного класса:

Перейдя теперь, например, по ссылке «Белый медведь», получим информацию об этом экземпляре.

Однако, бывает необходимо представить онтологию в виде схемы, где узел подразумевает класс, а связь отношения межу классами. Для данного представления предназначена вкладка Jambalaya. Выберем в меню Project строку Configure. Отобразится окно Configure

 

Выбираем вкладку Jambalaya Tab и нажимаем Ok.

Отобразится панель Jambalaya, которая состоит из трех частей:

1. CLASS BROWSER – представлена иерархия классов, здесь можно также создавать и удалять их.

2. INSTANCES BROWSER – представлены экземпляры класса выбранного на панели CLASS BROWSER, можно также создавать или редактировать экземпляры.

3. QUICK VIEWS – служит для выбора и визуального отображения иерархии.

 

Для того, чтобы отобразить онтологию, необходимо перетащить корневой класс на одну из четырех кнопок расположенных на панели QUICK VIEWS. Если перетащить класс «Мир животных» на кнопку получим иерархию классов, если на то иерархию классов и экземпляров:


Перетащив класс «Млекопитающие», получим иерархию для данного класса:

 

Мы можем получить информацию о классе, для этого щелкаем на необходимом класс правой кнопкой мыши и в меню выбираем Show->Form. Отобразится окно в котором можно помимо получения информации редактировать класс, добавлять изменять уже существующие слоты.

Таким же образом можно редактировать экземпляр. Выделим экземпляр «Белый медведь щелкаем правой кнопкой мыши и в меню выбираем Show->Form. Отобразится окно, в котором можно изменять информацию об экземпляре.

 

 

Можно добавить экземпляр к выбранному классу. Добавим экземпляр к классу «Хищные». Для этого выбираем этот класс или на вкладке CLASS BROWSER или выбираем его на схеме. После этого на панели INSTANCES BROWSER отобразятся существующие экземпляры, нажимаем на кнопку - создаем новый экземпляр, далее щелкаем на кнопке и переходим к вводу данных в форму экземпляра.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.