Построение онтологии «Команда ИТ-проекта» в среде Protege
Введение
онтология protеgе семантический фрейм
На сегодняшний день накоплено очень большое количество информации в различных областях жизни и деятельности человечества. При этом актуальной является проблема использования этих знаний разными людьми и различными системами. Для решения проблемы многократного использования знаний и универсального доступа к ним различными системами необходимо всю накопленную информацию приводить к виду, имеющему единый общепонятный формат. К настоящему времени в области построения баз знаний разработан ряд средств представления знаний, одним из них является онтология.
Для возможности многократного использования формализованных знаний, представленных в форме онтологии, различными информационными системами были разработаны стандартизированные способы представления онтологий.
Целью данного курсового проекта является исследование методов построения онтологий, языков представления онтологий и программных продуктов для построения онтологий, а так же построение онтологии предметной области «Команда ИТ проекта» используя информацию, полученную в ходе проводимых исследований.
1. Исследование способов представления знаний
Одним из компонентов экспертных систем (ЭС) является база знаний (БЗ), предназначенная для хранения долгосрочных данных, описывающих определенную предметную область, и правил, описывающих целесообразные преобразования данных этой области. [1] При создании базы знаний необходимо описать смысловое содержание предметной области. Следует иметь такую форму описания знаний, которая гарантирует их обработку формальными методами. [1]
Создание БЗ осуществляется в несколько этапов.
На первом этапе проводится определение предметной области, по которой разрабатывается база знаний. [1]
Следующий этап - это этап извлечения знаний. Извлечение знаний представляет собой процедуру взаимодействия эксперта с инженером по знаниям. В результате этой процедуры становятся явными процесс рассуждений эксперта при принятии решения и структура его представлений о предметной области. Процесс извлечения знаний - это длительная и трудоёмкая процедура, в которой инженеру по знаниям необходимо создать модель предметной области, которой пользуются эксперты для принятия решения. [1]
Далее на этапе структурирования структурируются собранные знания. [1] При выстраивании структуры знаний необходимо определить терминологию, список основных понятий и их атрибутов, отношения между понятиями, структуру входной и выходной информации, стратегию принятия решений, ограничения стратегий и так далее. [1]
В результате все собранное - это не разрозненные определения и понятия, а система взаимосвязанных элементов, то есть знание о предметной области.
На следующем этапе полученные знания описываются на одном из языков представления знаний. [1]
Наиболее общими методами представления знаний являются:
· правила;
· семантические сети;
· фреймы;
· нечеткие высказывания.
1.1 Представление знаний в виде правил
Представление знаний в виде правил является наиболее понятным методом представления знаний. Правила обеспечивают формальный способ представления рекомендаций, знаний или стратегий. Они чаще подходят в тех случаях, когда предметные знания возникают из эмпирических ассоциаций, накопленных за годы работы по решению задач в данной области.[3]
В ЭС, основанных на правилах, предметные знания представляются набором правил, которые проверяются на группе фактов и знаний о текущей ситуации (входной информации). Когда часть правила ЕСЛИ удовлетворяет фактам, то действия, указанные в части ТО, выполняется. Когда это происходит, то говорят, что правило срабатывает. Интерпретатор правил сопоставляет части правил ЕСЛИ с фактами и выполняет то правило, часть ЕСЛИ которого сходится с фактами, т.е. интерпретатор правил работает в цикле "Сопоставить - выполнить", формируя последовательность действий (Рис. 1). [3]
Рис. 1. Представление знаний в виде правил
Действия правил могут состоять:
· в модификации набора фактов в базе знаний, например добавление нового факта, который сам может быть использован для сопоставления с частями ЕСЛИ;
· во взаимодействии с внешней средой (например, "Вызвать пожарную команду"). [3]
Процесс сопоставления с фактами частей ЕСЛИ порождает цепочку выводов. Эта цепочка выводов показывает как система, используя правила, выводит заключение. Цепочки выводов ЭС могут быть предъявлены пользователю, что помогает понять как система достигает свои заключения. [3]
Правила, по сравнению с другими способами представления знания имеют следующие преимущества:
1) модульность;
2) единообразие структуры;
3) естественность (вывод заключения в такой системе аналогичен процессу рассуждения эксперта);
4) гибкость иерархии понятий, которая поддерживается только как связи между правилами (изменив правило, можно изменить иерархию).
Правила, по сравнению с другими способами представления знания имеют следующие недостатки:
1) процесс вывода менее эффективен, чем при других способах представления, так как большая часть времени затрачивается на непроизводительную проверку применимости правил;
2) этот процесс трудно поддается управлению;
3) сложно представить иерархию понятий. [3]
1.2 Представление знаний с использованием фреймов
Представление знаний, основанных на фреймах, является альтернативным по отношению к системам, основанным на правилах: оно дает возможность хранить иерархию понятий в базе знаний в явной форме. [3]
Фреймовая модель основана на концепции Марвина Мински (Marvin Minsky) - профессора Массачусетского технологического института, основателя лаборатории искусственного интеллекта, автора ряда фундаментальных работ. Фреймовая модель представляет собой систематизированную психологическую модель памяти человека и его сознания. [10]
Фрейм (англ. frame - рамка, каркас) - структура данных для представления некоторого концептуального объекта. Информация, относящаяся к фрейму, содержится в составляющих его слотах. [10]
Слот (англ. slot - щель, прорезь) может быть терминальным (листом иерархии) или представлять собой фрейм нижнего уровня. [10]
Каждый фрейм состоит из произвольного числа слотов, причем несколько из них обычно определяются самой системой для выполнения специфических функций, а остальные определяются пользователем (Рис. 2). [10]
Рис. 2. Представление фрейма
Имя фрейма - это идентификатор, присваиваемый фрейму. Фрейм должен иметь имя, единственное в данной фреймовой модели (уникальное имя). [10]
Имя слота - это идентификатор, присваиваемый слоту. Слот должен иметь уникальное имя во фрейме, к которому он принадлежит. Обычно имя слота не несет никакой смысловой нагрузки и является лишь идентификатором данного слота, но в некоторых случаях оно может иметь специфический смысл. [10]
Указатель наследования - только для фреймовых моделей иерархического типа; они показывают, какую информацию об атрибутах слотов во фрейме верхнего уровня наследуют слоты с такими же именами во фрейме нижнего уровня. [10]
Указатель атрибутов - указатель типа данных слота. К таким типам относятся: FRAME (указатель), INTEGER (целое), REAL (вещественное), BOOL (булево), LISP (присоединенная процедура), TEXT (текст), LIST (список), TABLE (таблица), EXPRESSION (выражение) и другие. [10]
Значение слота - значение, соответствующее типу данных слота и удовлетворяющее условиям наследования. [10]
Демон - процедура, автоматически запускаемая при выполнении некоторого условия. Демоны запускаются при обращении к конкретному слоту фреймовой модели. Например, демон IF-NEEDED запускается, если в момент обращения к слоту его значение не было установлено,IF-ADDED запускается при подстановке в слот значения, IF-REMOVED запускается при стирании значения слота. [10]
Пример фреймовой модели иерархического типа представлен на Рис. 3.
Фреймы образуют иерархию. Иерархия во фреймовых моделях порождает единую многоуровневую структуру, описывающую либо объект, если слоты описывают только свойства объекта, либо ситуацию или процесс, если отдельные слоты являются именами процедур, присоединенных к фрейму и вызываемых при его актуализации. [10]
Рис. 3. Пример фреймовой модели представления знаний.
Формально фрейм - это тип данных вида:
F = < N, S1, S2, S3 >,
где
N - имя объекта;
S1 - множество слотов, содержащих факты, определяющие декларативную семантику фрейма;
S2 - множество слотов, обеспечивающих связи с другими фреймами (каузальные, семантические и т. д.);
S3 - множество слотов, обеспечивающих преобразования, определяющие процедурную семантику фрейма. [10]
Фреймы подразделяются на:
· фрейм-экземпляр - конкретная реализация фрейма, описывающая текущее состояние в предметной области;
· фрейм-образец - шаблон для описания объектов или допустимых ситуаций предметной области;
· фрейм-класс - фрейм верхнего уровня для представления совокупности фреймов образцов. [10]
Состав фреймов и слотов в каждой конкретной фреймовой модели может быть разный, однако в рамках одной системы целесообразно единое представление для устранения лишнего усложнения. [10]
В целом фреймовая модель допускает представление всех свойств декларативных и процедурных знаний. Глубина вложенности слотов во фрейме (число уровней) зависит от предметной области и языка, реализующего модель. [10]
1.3 Представление знаний с использованием семантических сетей
Термин "семантическая сеть" используется для описания метода представления знаний, основанного на сетевой структуре. Этот метод является одним из наиболее эффективных методов хранения знаний. [3]
В инженерии знаний под семантической сетью подразумевается граф, отображающий смысл целостного образа. Узлы графа соответствуют понятиям и объектам, а дуги - отношениям между объектами. [9] Формально сеть можно задать в следующем виде:
H = <I, C, G >,
где
I - множество информационных единиц;
C - множество типов связей между информационными единицами;
G - отображение, задающее конкретные отношения из имеющихся типов C между элементами I. [9]
Семантическая сеть как модель наиболее часто используется для представления декларативных знаний. С помощью этой модели реализуются такие свойства системы знаний, как интерпретируемость и связность, в том числе по отношениям IS-A и PART-OF. За счет этих свойств семантическая сеть позволяет снизить объем хранимых данных, обеспечивает вывод умозаключений по ассоциативным связям. [9]
Как правило, различают экстенсиональные и интенсиональные семантические сети. Экстенсиональная семантическая сеть описывает конкретные отношения данной ситуации. Интенсиональная - имена классов объектов, а не индивидуальные имена объектов. Связи в интенсиональной сети отражают те отношения, которые всегда присущи объектам данного класса. [9]
Примером семантической сети может служить фрагмент описания вычислительной техники, показанный на Рис. 4.
Рис. 4. Фрагмент семантический сети описания вычислительной техники.
С помощью такой сети, используя отношение IS-A и PART-OF, можно вывести факты: «Багет-11» - это ЭВМ; IBM PC имеет процессор и т.д. Для отображения процедурных знаний используются процедурные семантические сети. В этом случае факты, отношения и процедуры представлены как вершины, а связи объединяют их в единое понятие. [9]
1.4 Представление знаний в виде нечетких высказываний
Методы построения математических моделей часто основаны хотя и на неточной, но в целом объективной информации об объекте. Однако возможны ситуации, когда при построении моделей решающее значение имеют сведения, полученные от эксперта, обычно качественного характера. Они отражают содержательные особенности изучаемого объекта и формулируются на естественном языке. Описание объекта в таком случае носит нечеткий характер. При использовании для отображения знаний теории нечетких множеств булева алгебра распространена на действительные числа. В булевой алгебре 1 представляет истину, а 0 - ложь. То же имеет место и в нечеткой логике, но кроме того используются также все дроби между 0 и 1, чтобы указать на частичную истинность. Так запись "µ(высокий(Х)) = 0,75" говорит о том, что предположение "Х - высокий" в некотором смысле на три четверти истинно, а на одну четверть ложно. Для комбинирования нецелочисленных значений истинности в нечеткой логике определяются эквиваленты логических операций: [3]
Таким образом, обрывочные сведения можно комбинировать на основе строгих и согласованных методов. Слабым моментом в применении нечеткой логики является отображение (функция принадлежности). Предположим, возраст Х - 40 лет. Насколько истинно предположение, что Х - старый. Равна ли эта величина 0,5, поскольку Х прожил примерно полжизни, или величины 0,4 и 0,6 более реалистичны. Кто-то должен решить, какую функцию лучше использовать для отображения возраста в интервал от 0 до 1. Чем, например, кривая, изображенная на Рис. 5 лучше, чем линейная зависимость. Для предпочтения одной формы функции другой нет объективных обоснований, поэтому в реальной задаче будут присутствовать десятки и сотни подобных функций, каждая из которых до некоторой степени является произвольной. Значит в системах, основанных на нечеткой логике, необходимо предусмотреть средства, позволяющие модифицировать функции принадлежности. [3]