Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МУ ПЗ

.pdf
Скачиваний:
17
Добавлен:
09.02.2015
Размер:
1.02 Mб
Скачать

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

“Санкт-Петербургский государственный электротехнический университет “ЛЭТИ” им. В.И. Ульянова (Ленина)”

(СПбГЭТУ)

Кафедра САПР

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ПРОВЕДЕНИЮ ПРАКТИЧЕСКИХ ЗАНЯТИЙ

по дисциплине

«ОНТОЛОГИЧЕСКИЙ ИНЖИНИРИНГ»

Санкт-Петербург

2011

1. Составление онтологических словарей (глоссария, тезауруса) предметной области

Цель работы: Получение практических навыков сбора информации для составления онтологии, выделения (на еѐ основе) ключевых понятий предметной области, составление онтологических словарей (терминологии, таксономии, глоссария и тезауруса).

Исходные положения

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

Для выполнения работы необходимо:

1)Выбрать предметную область для составления онтологии.

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

3)Найти эксперта по знаниям в данной предметной области.

4)В ходе интерактивного взаимодействия с ним (как правило, в режиме "вопрос - ответ") записать (на естественном языке) все знания (понятия, определения, правила поведения и т.п. информацию), которые необходимы для составления онтологии.

5)Из общего набора информации выделить ключевые слова (термины) предметной области, которые будут использоваться при дальнейшей разработке онтологии (словарь, составленный только из набора терминов называется "терминология").

6)Попытаться дать им своѐ определение (толкование), или обратиться к официальным справочникам и энциклопедиям. Составленный, таким образом, толковый словарь (состоящий из списка терминов и их определений) называется "глоссарий".

7)Из набора терминов, определѐнных на шаге 5, необходимо выделить основные, которые будут использованы как названия будущих классов онтологии.

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

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

"таксономия".

8)Полученные на шаге 7 понятия нужно попытаться связать между собой по смыслу следующими видами отношений:

- «Род-Вид» (отношение наследования: более широкое понятие относится к более узкому понятию как "Род", более узкое к более широкому как "Вид");

- «Часть-Целое» (отношение агрегации: одно понятие входит в состав другого понятия; при этом, входящее понятие относится к составному как "Часть", а составное к входящему, как "Целое");

- «Синоним-Антоним» (если одно понятие имеет такой же смысл, как другое понятие,

то они оба относятся друг к другу, как "Синонимы"; если одно понятие имеет

2

противоположный смысл по сравнению с другим понятием, то они оба относятся друг к другу, как "Антонимы");

-любым произвольно заданным отношением (например, "друг", "брат", "отец", "начальник", "подчинѐнный", "сотрудник", "клиент" и т.п.).

Составленный из пар понятий, объединѐнных конкретными отношениями друг с другом, словарь называется "тезаурус". Он может быть записан в различных формах:

-в виде набора троек "Субъект - Предикат (отношение) - Объект";

-в виде набора множеств, в каждом из которых собраны пары понятий, объединѐнных каким-то одним отношением;

-в виде графа - семантической сети (в этом случае в качестве узлов выступают понятия, а дуг - отношения между ними; при этом ориентация стрелок идѐт согласно отношению первого понятия (откуда исходит стрелка) к другому понятию);

-и др. способами.

Пример(ы)

Предметная область: семья.

1)Терминология: Человек; Мужчина; Женщина; Люди; Супруг(а); Муж; Жена; Супруги; Родитель; Отец; Папа; Мать; Мама; Родители; Ребѐнок; Сын; Дочь; Дети; Брат; Сестра; Дед; Дедушка; Баба; Бабушка; Внук; Внучка;

...

Семья.

2)Глоссарий:

Человек - самое разумное живое существо на Земле.

3

Мужчина - человек мужского пола. Женщина - человек женского пола.

Люди - группа человек, состоящая из мужчин и женщин.

Супруг(а) - человек, вступивший в официальный родственный союз (брак) с другим человеком.

Муж - мужчина, являющийся супругом другого человека. Жена - женщина, являющаяся супругой другого человека.

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

другого человека и(или) непосредственно участвующий в его воспитании. Отец (Папа) - мужчина, являющийся родителем другого человека. Мать (Мама) - женщина, являющаяся родителем другого человека.

Родители - группа человек, состоящая из отца и матери одного и того же человека. Ребѐнок - человек, рождѐнный от родителя.

Сын - мужчина, являющийся ребѐнком другого человека. Дочь - женщина, являющаяся ребѐнком другого человека.

Дети - группа человек, состоящая из сыновей и дочерей одного и того же человека. Брат - мужчина, являющийся сыном родителя другого человека.

Сестра - женщина, являющаяся дочерью родителя другого человека. Дед (Дедушка) - отец родителя другого человека.

Баба (Бабушка) - мать родителя другого человека. Внук - сын ребѐнка другого человека.

Внучка - дочь ребѐнка другого человека.

...

Семья - группа человек, состоящая из супругов, их детей и их родителей.

3) Таксономия (в виде дерева):

 

 

 

Человек

 

Мужчина

 

 

 

Женщина

 

 

 

Супруг(а)

 

 

Родитель

Муж

Ребѐнок

 

 

Жена

 

Отец

 

Мать

Сын

Дочь

Дед

 

Баба

Внук

Внучка

Брат Сестра

4) Тезаурус (в виде набора множеств отношений между понятиями):

РОД = {(Человек, Мужчина), (Человек, Женщина), (Человек, Супруг(а)), (Человек, Родитель), (Человек, Ребѐнок), (Мужчина, Муж), (Мужчина, Отец), (Мужчина, Сын), (Мужчина, Брат), (Женщина, Жена), (Женщина, Мать), (Женщина, Дочь), (Женщина, Сестра), (Супруг(а), Муж), (Супруг(а), Жена), (Родитель, Отец), (Родитель, Мать), (Родитель,

4

Дед), (Родитель, Баба), (Ребѐнок, Сын), (Ребѐнок, Дочь), (Ребѐнок, Внук), (Ребѐнок, Внучка), (Отец, Дед), (Мать, Баба), (Сын, Брат), (Сын, Внук), (Дочь, Сестра), (Дочь, Внучка)} ВИД = {(Мужчина, Человек), (Женщина, Человек), (Супруг(а), Человек), (Родитель,

Человек), (Ребѐнок, Человек), (Муж, Мужчина), (Отец, Мужчина), (Сын, Мужчина), (Брат, Мужчина), (Жена, Женщина), (Мать, Женщина), (Дочь, Женщина), (Сестра, Женщина), (Муж, Супруг(а)), (Жена, Супруг(а)), (Отец, Родитель), (Мать, Родитель), (Дед, Родитель), (Баба, Родитель), (Сын, Ребѐнок), (Дочь, Ребѐнок), (Внук, Ребѐнок), (Внучка, Ребѐнок), (Дед, Отец), (Баба, Мать), (Брат, Сын), (Внук, Сын), (Сестра, Дочь), (Внучка, Дочь)} ЧАСТЬ = {(Мужчина, Люди), (Женщина, Люди), (Муж, Супруги), (Жена, Супруги), (Отец,

Родители), (Мать, Родители), (Сын, Дети), (Дочь, Дети), (Отец, Семья), (Мать, Семья), (Сын, Семья), (Дочь, Семья), (Дед, Семья), (Баба, Семья)} ЦЕЛОЕ = {(Люди, Мужчина), (Люди, Женщина), (Супруги, Муж), (Супруги, Жена),

(Родители, Отец), (Родители, Мать), (Дети, Сын), (Дети, Дочь), (Семья, Отец), (Семья, Мать), (Семья, Сын), (Семья, Дочь), (Семья, Дед), (Семья, Баба)} СИНОНИМ = {(Отец, Папа), (Папа, Отец), (Мать, Мама), (Мама, Мать), (Дед, Дедушка), (Дедушка, Дед), (Баба, Бабушка), (Бабушка, Баба)}

АНТОНИМ = {(Мужчина, Женщина), (Женщина, Мужчина), (Муж, Жена), (Жена, Муж), (Родитель, Ребѐнок), (Ребѐнок, Родитель), (Отец, Мать), (Мать, Отец), (Сын, Дочь), (Дочь, Сын), (Отец, Сын), (Сын, Отец), (Отец, Дочь), (Дочь, Отец), (Мать, Сын), (Сын, Мать), (Мать, Дочь), (Дочь, Мать), (Брат, Сестра), (Сестра, Брат), (Дед, Баба), (Баба, Дед), (Внук, Внучка), (Внучка, Внук), (Дед, Внук), (Внук, Дед), (Дед, Внучка), (Внучка, Дед), (Баба, Внук), (Внук, Баба), (Баба, Внучка), (Внучка, Баба)}

Выводы: В ходе практического занятия были получены практические навыки сбора информации для составления онтологии, выделения (на еѐ основе) ключевых понятий предметной области, составление онтологических словарей (терминологии, таксономии, глоссария и тезауруса).

5

2. Представление знаний на языке логики предикатов первого порядка

Цель работы: Получение практических навыков записи знаний онтологии на языке логики предикатов первого порядка.

Исходные положения

Логика высказываний (или "пропозициональная логика") - это формальная теория,

основным объектом которой служит понятие логического высказывания. С точки зрения выразительности, еѐ можно охарактеризовать как классическую логику нулевого порядка. Логика высказываний является простейшей логикой, максимально близкой к человеческой логике неформальных рассуждений и известна ещѐ со времѐн античности.

Основные определения:

1.

Если P - пропозициональная переменная, то P также является формулой.

2.

Если A - формула, то A - тоже формула.

3.

Если A и B - формулы, то (A B), (A B) и (A B) - тоже формулы.

Соглашения о скобках:

Поскольку в построенных по определению формулах оказывается слишком много скобок, иногда и не обязательных для однозначного понимания формулы, математики приняли соглашения о скобках, по которым некоторые из скобок можно опускать. Записи с опущенными скобками восстанавливаются так:

1.

Если опущены внешние скобки, то они восстанавливаются.

2.

Если рядом стоят две конъюнкции или дизъюнкции (например A B C), то в

скобки заключается сначала самая левая часть.

3.Если рядом стоят разные связки, то скобки расставляются согласно приоритетам: ,

,и (от высшего к низшему).

Аксиомы и правила вывода:

Законы де Моргана:

1)

2)

Закон контрапозиции:

Законы поглощения:

1)

2)

Законы дистрибутивности:

1)

2)

Правило "Modus ponens":

Язык логики предикатов первого порядка (ЛП1) строится следующим образом:

алфавит ЛП1 включает в себя следующие группы символов: 1. Предметные константы:

a, b, c, d, ...

2. Предметные переменные:

x, y, z, v, u, w, ..., xn, yn, zn, ...

3. Функциональные символы: f, g, h, ...

4. Предикатные символы:

6

P, Q, R, S, T, ...

5. Логические связки:

¬, v, &, →, ↔

6. Логические кванторы: всеобщности и существования 7. Служебные символы: скобки (, ) и запятая ,

Основные определения:

Терм - выражение формального языка (системы), является формальным именем объекта или именем формы. Понятие терма определяется индуктивно. Термом называется или предметные константы и переменные сами по себе, или же символьное выражение: f(t1, t2, ..., tn), где f - функциональный символ, а t1, t2, ..., tn - термы, структурированные или простейшие.

Атом в математической логике - простейший случай формулы; формула, которую нельзя расчленить на подформулы.

Простейшим случаем атомов являются формулы, задающие отношения. Например утверждение «x больше 3» описывается атомом БОЛЬШЕ(x, 3), где предикат БОЛЬШЕ истиннен, когда первый аргумент больше второго. Аналогично записав «x любит y» как ЛЮБИТ(x, y), можно представить предложение «Маша любит Ваню», как ЛЮБИТ(Маша, Ваня).

В логике первого порядка атомы также могут включать в себя функциональные символы. Общий вид атома в этом случае таков: p(t1, ..., tn), где p - предикатный символ арности n, а t1, t2, ..., tn - термы. Например, если ОТЕЦ(x) означает «отец человека x», предложение «Ваня любит своего отца» можно представить атомом ЛЮБИТ(Ваня, ОТЕЦ(Ваня)).

Математическая формула - принятая в математике (а также физике и прикладных науках) символическая запись законченного логического суждения (определения величины, уравнения, неравенства или тождества).

В логике первого порядка формулами могут быть следующие выражения: F, F1 F2,

F1 F2, F1 F2, xF1 и xF2, где F1 и F2 - формулы, а x - переменная.

Аксиомы и правила вывода:

Законы де Моргана:

где - формула, полученная в результате подстановки терма t вместо каждой свободной переменной x, встречающейся в формуле A.

Правило "Modus ponens":

Правило обобщения (GEN):

Логика первого порядка обладает рядом полезных свойств, которые делают ее очень привлекательной в качестве одного из основных инструментов формализации знаний:

1. Полнота;

2. Непротиворечивость;

3. Компактность.

В математической логике, дизъюнкт Хорна - дизъюнкция литералов с не более чем одним положительным литералом. Дизъюнкты Хорна названы по имени логика Альфреда Хорна, который впервые указал важность таких дизъюнктов в статье 1951 года.

7

Дизъюнкт Хорна ровно с одним положительным литералом есть определѐнный дизъюнкт; в универсальной алгебре определенные дизъюнкты являются квазитождествами. Дизъюнкт Хорна без положительных литералов иногда называется целью или запросом, в частности в логическом программировании. Двойственным дизъюнктом Хорна называют дизъюнкцию с не более чем одним отрицательным литералом. Дизъюнкты Хорна играют основополагающую роль в логическом программировании и имеют важное приложение в конструктивной логике.

Пример (определѐнного) дизъюнкта Хорна:

Эта формула может быть преобразована в эквивалентную формулу с импликацией:

Примечание: (A B) ( A B).

Пример(ы)

Предметная область: семья.

Факты:

Ben и Tom - мужчины;

Mary, Lena и Jane - женщины; Ben - муж Lena;

Ben - родитель Tom и Jane; Lena - родитель Tom и Jane;

Mary - родитель Ben;

«Мужчина» и «Женщина» - производные классы базового класса «Человек».

Примечание:

Man - класс «Мужчина»; Woman - класс «Женщина»; Person - класс «Человек»; husband - отношение «муж»;

parent - отношение «родитель»; type - отношение «экземпляр класса»;

subClassOf - отношение «производный класс от».

Факты на языке логики предикатов первого порядка:

TBox:

subClassOf (Man, Person) subClassOf (Woman, Person)

ABox:

type (Ben, Man) type (Lena, Woman) type (Tom, Man) type (Jane, Woman) type (Mary, Woman) husband (Ben, Lena) parent (Ben, Tom)

8

parent (Ben, Jane) parent (Lena, Tom) parent (Lena, Jane) parent (Mary, Ben)

Правила логического вывода (в формате дизъюнктов Хорна):

type (?x, Man)

parent (?x, ?y) → father

(?x, ?y)

 

type (?x, Man)

parent (?z, ?x)

parent

(?z, ?y)

notEqual(?x,

?y) → brother (?x, ?y)

 

 

 

Примечание: ?x, ?y и ?z - переменные, заменяемые на конкретные значения при поиске в базе знаний в ходе логического вывода.

Выводы: В ходе практического занятия были получены практические навыки записи знаний онтологии на языке логики предикатов первого порядка.

9

3. Представление знаний в виде фреймов

Цель работы: Получение практических навыков записи знаний онтологии в виде фреймов.

Исходные положения

Фрейм является одной из распространѐнных форм представления знаний в системах искусственного интеллекта (например, в экспертных системах).

Термин «фрейм» ввѐл Марвин Минский в 70-ые годы XX века в своей книге «Фреймы для представления знаний» (М.: Мир, 1979). Этим понятием он обозначал структуру знаний для восприятия пространственных сцен. Ныне фрейм также используется для описания схемы действий в реальной ситуации.

Существуют различные виды фреймов: фреймы-образцы (шаблоны для определения классов);

фреймы-экземпляры (для представления экземпляров классов);

фреймы-структуры; фреймы-роли; фреймы-сценарии; фреймы-ситуации.

Система связанных фреймов может образовывать семантическую сеть.

Общая структура фрейма

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

Вот схематичная структура типичного фрейма:

<имя_фрейма> <имя_слота_1> <значение_слота_1>

<имя_слота_2> <значение_слота_2>

...

<имя_слота_N> <значение_слота_N>

Конкретный синтаксис записи фреймов зависит от выбранного языка представления знаний. В данной практике, мы рассматриваем представление фреймов в экспертных системах CLIPS (точнее, основанном на еѐ синтаксисе формате представления знаний в

Protégé) и Jess.

В качестве значения слота может выступать:

имя другого фрейма (так фреймы объединяются в семантическую сеть); имя процедуры (для вычисления значения слота);

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

фасет (выражение, задающее диапазон или перечень возможных значений слота).

Если в качестве значения слота используется имя процедуры, то различают два вида таких процедур:

процедуры-демоны (запускаются автоматически при выполнении некоторого условия);

процедуры-слуги (активизируются только по специальному запросу).

По степени изменения структуры, различают два вида систем фреймов:

статические системы фреймов (в этих системах фреймы не могут быть изменены в процессе решения задачи); динамические системы фреймов (в этих системах допустимо изменение фреймов в процессе решения задачи).

10