Файл: Лабораторная работа 1 по курсу Интеллектуальные информационные системы Создание онтологии и её применение в ис цель работы.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.01.2024

Просмотров: 58

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лабораторная работа №1
по курсу «Интеллектуальные информационные системы»
Создание онтологии и её применение в ИС
Цель работы
Ознакомиться с понятием онтологии в сфере представления знаний и основ- ными типами онтологий. Освоить принципы проектирования онтологий и их разра- ботки с использованием инструментальных средств.
Методические указания
Онтологии и их применение
Существуют различные модели представления знаний: формально-логическая, продукционная, фреймовая, семантическая сеть. Одним из современных средств представления знаний являются онтологии – формальные явные описания терминов предметной области и отношений между ними (определение дано по Т. Груберу).
Под определение онтологии попадают многие модели представления знаний: фрей- мы, семантические сети, концептуальные карты и т.п. Формальное определение он- тологии можно записать в виде:
}
,
,
{
A
R
C
O

где O – онтология, С – совокупность концептов (понятий) предметной облас- ти, R – совокупность отношений между концептами, A – набор аксиом (законов и правил, которые описывают законы и принципы существования концептов).
Классификация онтологий по целям создания:
Назначение прикладной онтологии в том, чтобы описать концептуальную модель конкретной задачи или приложения. Прикладные онтологии описывают
концепты, которые зависят как от онтологии задач (см. ниже), так и от онтологии предметной области. Примером может служить онтология для автомобилей, строи- тельных материалов, вычислительной техники. Такие онтологии содержат наиболее специфичную информацию.
Классификация онтологий по содержимому:
Онтология, ориентированная на задачу (онтология задач) – это онтология, используемая конкретной прикладной программой и содержащая термины, которые используются при разработке ПО, выполняющего конкретную задачу. Она отражает специфику приложения, но может также содержать некоторые общие термины (на- пример, в графическом редакторе будут и специфические термины — палитра, тип заливки, наложение слоев и т.д., и общие — сохранить и загрузить файл). Задачи, которым может быть посвящена онтология, могут быть самыми разнообразными: составления расписания, определение целей, диагностика, продажа, разработка ПО, построение классификации. При этом онтология задачи использует специализацию терминов, представленных в онтологиях верхнего уровня (общих онтологиях) [1].
Почему возникает потребность в разработке онтологии? Вот некоторые при- чины [2]:

Для совместного использования людьми или программными агентами общего понимания структуры информации.

Для возможности повторного использования знаний в предметной об- ласти.

Для того чтобы сделать допущения в предметной области явными.

Для отделения знаний в предметной области от оперативных знаний.

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

ний (БЗ), построенные на основе этих онтологий – онтология, содержащая экземп- ляры классов, является базой знаний, хотя на практике и не всегда возможно про- вести точную границу между БЗ и онтологией.
Среди таких приложений можно отметить современные интеллектуальные системы (ИС) – системы, способные решать задачи в некоторой предметной облас- ти, традиционно считающиеся творческими. Такие системы являются системами, основанными на знаниях (СОЗ), хотя иногда различие между этими двумя типами систем фактически не проводится. Основными компонентами ИС являются база знаний (декларативный компонент) и «решатель» или «механизм вывода» (проце- дурный компонент); в некоторых случаях в качестве важных составляющих ИС упоминаются также интеллектуальный интерфейс пользователя, подсистема объяс- нений и интеллектуальный редактор БЗ.
Фреймовые и гибридные онтологии
Продукционная модель представления знаний (реализуемая, в частности, в логических языках Prolog, CLIPS), в общем случае может быть представлена в виде:



Q
B
A
L
S
i
;
;
;
где S – описание класса ситуаций; L – условие, при котором продукция акти- визируется; A

B – ядро продукции; Q – постусловие продукционного правила.
Такая модель является одним из самых распространённых средств представ- ления знаний в интеллектуальных системах благодаря своей наглядности, модуль- ности (как следствие – легкости внесения изменений и дополнений) и удобства для осуществления вывода. Тем не менее, продукционная модель обладает и существен- ными недостатками:
1) отсутствие иерархии продукционных правил (и вообще отношений между правилами), что приводит к малой пригодности модели для описания поля знаний сложной предметной области;
2) сложность учёта правил, которые могут начать противоречить друг другу, и управления очерёдностью их выполнения.
Для устранения этих недостатков возможно использование продукционной модели в симбиозе средств представления знаний, который в последнее время при- обрёл популярность при формализации знаний. В этом случае продукционная мо- дель может выступать в качестве процедурного компонента во фреймовой
1
модели, которая способна сочетать декларативный и процедурный компоненты представле- ния знаний.
1
Термин «фрейм», впервые введённый в области ИИ Марвином Минским, означает структуру знаний, моде- лирующую мышление человека и соответствующую абстрактному образу какого-либо объекта, явления, события, си- туации, процесса.


Фреймовая онтология, как и другие виды онтологий, представляется в виде сети, состоящей из узлов и связей между ними, причем «верхние уровни» фрейма образованы общими понятиями (классами), а на более низких уровнях фрейма рас- полагаются вершины-терминалы (так называемые слоты), которые должны быть за- полнены конкретными данными или примерами. Характерной особенностью фрей- мовой модели является то, что первоначально слоты могут быть заполнены «зада- ниями отсутствия» – заранее заготовленными значениями, не обязательно имеющи- ми место в конкретной ситуации. Следовательно, в составе фреймовой структуры фрейм содержит: имя фрейма, указатели наследования (если фреймовая структура является иерархической), слоты (с именами слотов), тип данных значения слотов и сами значения слотов (могут отсутствовать). В большинстве фреймовых структур значениями слотов могут выступать другие фреймы, реализовывая тем самым раз- личные виды связей между понятиями, а в некоторых случаях – и присоединённые процедуры, реализующие процедурный компонент в представлении знаний.
В качестве процедурного компонента во фреймовой онтологии может высту- пать продукционная модель, при этом фреймы будут являться главными источника- ми знаний, а правила продукционной модели – играть вспомогательную роль, ис- пользуясь, например, для заполнения значениями фреймов-экземпляров.
Инструментальные средства для создания онтологий
При создании онтологий целесообразно пользоваться подходящими инстру- ментами – программными средствами, созданными специально для проектирования, редактирования и анализа онтологий и называемыми редакторами онтологий. В большинстве своем современные редакторы онтологий предоставляют средства
«кодирования» формальной модели в том или ином виде. Некоторые дают дополни- тельные возможности по анализу онтологии, используют механизм логического вы- вода.
Под формализмом понимается теоретический базис, лежащий в основе спо- соба представления онтологических знаний. Примерами формализмов могут слу- жить логика предикатов (First Order Logic — FOL), дескриптивная логика, фреймо- вые модели, концептуальные графы и т.п. Формализм, используемый редактором, может не только существенно влиять на внутренние структуры данных, но и опре- делять формат представления или даже пользовательский интерфейс. Формат пред-
ставления онтологии задает вид хранения и способ передачи онтологических опи- саний (могут использоваться языки представления онтологий RDF, OWL, KIF, SCL).
Например, некоторая формальная модель представляется в формализме FOL и мо- жет быть выражена средствами языка KIF. Редакторы онтологий обычно поддержи- вают работу с несколькими формализмами и форматами представления, но часто только один формализм является «родным» (native) для данного редактора.


Одним из популярных редакторов онтологий является свободно распростра- няемый редактор Protégé, разработанный в Стэнфордском университете (США) – см. http://protege.stanford.edu/
. Изначально единственной моделью знаний (форма- лизмом), поддерживаемой Protege, была фреймовая модель (в версии редактора
Protégé-Frames), однако впоследствии была добавлена поддержка языка OWL
2
Версия редактора Protégé-OWL, на настоящий момент стала основной, а её различия с Protégé-Frames описаны в [3].
Редактор Protégé-Frames позволяет пользователям строить и заполнять онто- логии, основанные на фреймах, в соответствии с протоколом OKBC
3
, а форматом представления является язык KIF
4
. Таким образом, основными элементами онтоло- гии в Protégé-Frames являются классы (classes), экземпляры (instances), слоты
(slots), представляющие свойства классов и экземпляров, и фасеты (facets), задаю- щие дополнительную информацию о слотах.
Protege имеет открытую, легко расширяемую архитектуру и поддерживает
модули расширения функциональности (plug-ins). В частности, модуль расшире- ния CLIPSTab позволяет осуществлять интеграцию с языком разработки экспертных систем CLIPS (C Language Integrated Production System).
Наконец, для Protégé разра- ботана концепция совместной работы нескольких пользователей (Collaborative
Protégé), воплощенная в онлайн-версии данного редактора (см. пример на http://webprotege.stanford.edu/
), хотя для выполнения данной лабораторной работы использование онлайн-версии редактора не рекомендуется.
Подробное описание интерфейса Protégé-Frames приводится на веб-сайте разработчика
(
http://protegewiki.stanford.edu/wiki/PrF_UG
).
Последняя версия
Protégé-Frames может быть получена на сайте авторов.
Методология создания онтологий (на примере Protégé-Frames)
Разработка функциональной онтологии для сложной предметной области, как правило, является трудоемким и итеративным процессом, к тому же вплоть до конца
1990-х годов отмечался недостаток проработанных методологий для создания онто- логий. Однако в течение 2000-х годов интерес к применению онтологий был значи- телен, как со стороны исследователей, так и специалистов, и это нашло своё отра- жение, в частности, в методологии, предлагаемой разработчиками Protégé (полную версию см. в [2]).
Следует иметь в виду, что не существует единственного «правильного» спо- соба или методологии разработки онтологий – всегда существуют жизнеспособные
2
OWL (Web Ontology Language) – язык описания онтологий для семантической паутины (Semantic Web).
3
OKBC (Open Knowledge Base Connectivity protocol) – прикладной интерфейс программирования для доступа к базам знаний систем представления знаний.
4
KIF (Knowledge Interchange Format) – язык, предназначенный для обмена знаниями между различными ком- пьютерными программами (соответствует стандарту Common Logic).

альтернативы, однако содержание онтологии всегда определяется её целями (пред- полагаемым применением) и планируемыми направлениями дальнейшего развития
(процесс создания онтологий, как правило, является итеративным). Тем не менее, в рамках процесса создания онтологий можно выделить следующие шаги.
1. Определение области и масштаба онтологии
Для этого разработчик онтологии должен ответить на следующие вопросы:
1) Какую область будет охватывать онтология?
2) Для чего мы собираемся использовать онтологию?
3) На какие типы вопросов должна давать ответы информация в онтологии?
4) Кто будет использовать и поддерживать онтологию?
Так, в [2] описывается разработка онтологии, область которой – ви на и еда, а предполагаемое использование – в интеллектуальных системах, которые будут предлагать сочетания вин и еды (например, для совершения заказа в ресторане).
2. Поиск существующих онтологий
Целесообразно бывает рассмотреть возможность использования уже сущест- вующей онтологии, если она полностью или частично покрывает нужды разработ- чика. Многие онтологии уже доступны в электронном виде и могут быть импорти- рованы в используемую среду проектирования онтологии (в особенности, если она способна работать с различными формализмами).
Примечание: при выполнении данной лабораторной работы допустимо ис-
пользование существующих онтологий, частично (но не полностью) соответст-
вующих заданию. В этом случае в отчете должно быть приведено описание суще-
ствующей онтологии (со ссылкой) и процесса её доработки.
3. Перечисление важных терминов в онтологии
На данном шаге рекомендуется составление неструктурированного списка терминов предметной области, без разделения на классы (концепты) и слоты (атри- буты классов).
Следующие два шага – разработка иерархии классов и определение свойств понятий (слотов) – являются наиболее важными в процесс создания онтологии и тесно переплетены между собой (как правило выполняются параллельно).
4. Определение классов и иерархии классов
Существует несколько возможных подходов для разработки иерархии классов:
1) процесс нисходящей разработки, который начинается с определения самых общих понятий предметной области с последующей конкретизацией понятий;
2) процесс восходящей разработки, который начинается с определения самых конкретных классов (листьев иерархии), с последующей группировкой этих классов в более общие понятия;

3) процесс комбинированной разработки – сочетание нисходящего и восходя- щего подходов: сначала мы определяем более заметные понятия, а затем соответст- вующим образом обобщаем и ограничиваем их.
Ни один из этих трех методов не лучше других по своей сути и выбор подхода в большой степени зависит от личного взгляда разработчика на предметную об- ласть. Часто для многих разработчиков онтологий самым простым является комби- нированный метод, т.к. понятия, находящиеся «посередине», имеют тенденцию быть самыми наглядными понятиями в предметной области
В любом случае, в ходе данного шага из списка, составленного на шаге 3, должны быть выбраны термины, являющиеся классами в иерархической структуре
(т.е. связанные отношениями is_a – a_kind_of).
5. Определение свойств классов – слотов
Те термины из списка, составленного на шаге 3, которые не являются класса- ми, скорее всего, станут их свойствами – слотами. Вообще, в онтологии слотами мо- гут стать несколько типов свойств объектов:
1) «внутренние» свойства (например, вкус вина);
2) «внешние» свойства (например, название вина и область его производства);
3) структурные части – как физические, так и абстрактные (например, блюда, входящие в обед);
4) отношения с другими концептами – между отдельными членами класса и другими элементами (например, производитель вина, представляющий отношение между вином и винным заводом).
Все подклассы класса наследуют слоты класса-родителя. Слот должен быть привязан к самому общему классу, у которого может быть данное свойство. Важно различать класс и его имя: классы представляют понятия предметной области, а не слова, которые обозначают эти понятия (подробные замечания по созданию иерар- хии классов в онтологии приведены в [2, С.11-18]).
6. Определение фасетов слотов
Слоты могут иметь различные фасеты, которые описывают тип значения, раз- решенные значения, число значений (мощность) и другие свойства значений, кото- рые может принимать слот.
Мощность слота определяет, сколько значений может иметь слот. В некото- рых системах различаются только единичная мощность (возможно только одно зна- чение) и множественная мощность (возможно любое число значений). Некоторые системы позволяют определить минимальную и максимальную мощность для того, чтобы более точно описать количество значений слота (минимальная мощность N означает, что слот должен иметь не менее N значений). Иногда полезно установить максимальную мощность в 0 – это будет означать, что для определенного подкласса слот не может иметь значений.