Летает (Х):- является (Х, Y), летает (Y)

 

 

Элементы семантической сети

 

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

 

 
 

 

 


Рис. 5.6. Вершины семантической сети

 

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

События представляют собой действия происходящие в реальном мире и определяются:

указание типа действия;

указание ролей, которые играют объекты в этом действии.

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

Дуги графа семантической сети отображают многообразие семантических отношений, которые условно можно разделить на четыре класса (рис. 5.7).

 
 

 


Рис. 5.7. Классификация семантических отношений

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

глагольные (время, вид, род, залог, наклонение);

атрибутивные (цвет, размер, форма);

падежными (см. ниже).

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

Теоретико-множественные - это отношение подмножества, отношение части целого, отношение множества и элемента. Примерами таких отношений являются IS-A, PART-OF.

Квантифицированные отношения - это логические кванторы общности и существования. Они используются для представления таких знаний как «Любой станок надо ремонтировать», «Существует работник А, обслуживающий склад Б».

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

 

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

 

Основой для определения любого понятия является множество его отношений с другими понятиями. Обязательными отношениями являются:

класс, которому принадлежит данное понятие;

свойства, выделяющие понятие из всех понятий данного класса;

примеры (экземпляры) данного понятия.

Так как термы, используемые в определении понятия, сами являются понятиями, то их определение организуется по той же схеме. В итоге связи понятий образуют структуру, в общем случае сетевую, в которой используется как минимум два типа связей (IS - A и PART – OF).

 

Пример: Семантическая сеть, отображающая связи понятий при описании знаний о структуре понятия юридическое лицо будет иметь вид (рис. 5.8):

 
 

 

 


Рис. 5.8. Пример семантической сети

Так для понятия «предприятие» в этой сети:

определен класс, которому оно принадлежит, и все свойства которого оно наследует («Юридическое лицо»);

выделено 3 свойства, которые выделяют это понятие из всех остальных понятий класса «Юридическое лицо»;

определен экземпляр данного понятия (объекта), а именно «З-д «Салют».

 

Представление событий семантической сетью

 

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

объекты, которые действуют;

объекты, над которыми эти действия выполняются.

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

Таблица 5.1

Основные падежи

 

Падеж Лингвистическое (падежное) отношение, определяющее связь действия с:
агент предметом, являющимся инициатором действия
объект предметом, подвергающимся действию
источник размещение предмета перед действием
приемник размещение предмета после действия
время моментом выполнения действия
место местом проведения действия
цель действием другого события

 

Так, например, семантическая структура знания о событии «Директор завода «Салют» остановил 30.03.96 цех №4 чтобы заменить оборудование» будет представлена в виде рис. 5.9.

 
 

 

 


Рис. 5.9. Пример семантической структуры

 

Получение вывода с помощью семантической сети

 

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

1. строится семантическая сеть, отражающая структуру запроса;

2. вывод обеспечивается за счет сопоставления общей сети БЗ и сети для запроса.

 

Рассмотрим пример семантической сети отражающий подчиненность сотрудников организации (рис. 5.10).

 
 

 

 


Рис. 5.10. Семантическая сеть «Подчиненность сотрудников организации»

 

Приведенные связи показывают подчиненность первого сотрудника. Остальные сотрудники связываются через вершины сети. Остальные сотрудники связываются через вершины сети «руководит 2», «руководит 3» и т.д.

Запрос: «Кто руководит Сидоровым?» представим в виде подсети (рис. 5.11).

 
 

 

 


Рис. 5.11. Семантическая сеть «Кто руководит Сидоровым?»

 

Составление общей сети с сетью запроса начинается с поиска вершины «руководит», имеющий ветвь «объект», направленную к вершине «Сидоров». Затем производится переход по ветви «агент», что и приводит к ответу «Петров».

 

Наряду с методом сопоставления, в семантических сетях используется метод перекрестного поиска, при котором осуществляется:

3. поиск отношения между понятиями;

4. ответ на запрос формируется путем обнаружения вершины, в которой пересекаются дуги, идущие из друг вершин.

 

5.7 Пример представления знаний семантической сетью

 

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

Выделим основные факты этих знаний, соответствующие действиям:

F1 - станок закончил обработку

F2 - работник грузит

F3 - робокар перевозит

F4 - кассета содержит детали

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

 

 
 

 

 


Рис. 5.12. Построение семантической сети

 

Необходимо отметить ряд преимуществ семантической сети:

описание понятий и событий производится на уровне, очень близком к естественному языку;

обеспечивается возможность сцепления различных фрагментов сети;

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

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

 


Продукционные модели

 

Системы продукции

 

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

ЕСЛИ - ТО (явление - реакция)

При использовании таких моделей у систем основанных на знаниях имеется возможность:

применение простого и точного механизма использования знаний;

представления знаний с высокой однородностью, описываемых по единому синтаксису.

Эти две отличительные черты и определили широкое распространение методов представления знаний правилами.

Программные средства, оперирующие со знаниями, представленными правилами, получили название продукционных систем (или систем продукции) и впервые были предложены Постом в 1941 году.

Продукция в системе Поста имеет следующую схему:

(*)
,

где t1, t2, ...,tn – посылки;

t – заключение.

Применение схемы Поста (*) основывается на подстановке цепочек знаков вместо переменных, причем вместо вхождения одной и той же переменной представляется одна и та же цепочка.

Общим для систем продукции является то, что они состоят из трех элементов:

5. Набор правил, используемых как БЗ, его еще называют базой правил;

6. Рабочая память, где хранятся предпосылки, касающиеся отдельных задач, а также результаты выводов, получаемых на основе этих предпосылок (динамическая база данных - ДБД);

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

Конфигурацию систем продукции упрощенно можно представить в следующем виде рис. 6.1.

 
 

 


Рис. 6.1. Конфигурация продукционной системы

 

Механизм функционирования систем продукции

 

На простом примере рассмотрим упрощенно механизм функционирования систем продукции.

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

«намерение – отдых»

«место отдыха – горы»

Эти образцы соответствуют фактам «намерение IS отдых» и «место отдыха IS горы».

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

правило №1 ЕСЛИ «намерение – отдых» И

«дорога - ухабистая»

ТО «использовать - джип»

 

правило №2 ЕСЛИ «место отдыха – горы»

ТО «дорога – ухабистая»

Тогда после того, как в рабочую память записываются образцы и в базу – правила, рассматривается возможность применения этих правил. Для этого механизм вывода сопоставляет образцы из условной части правила с образцами, хранимыми в рабочей памяти. Если все образцы имеются в рабочей памяти, условная часть считается истинной, в противном случае – ложной.

Для рассматриваемого примера рабочая память и база правил будет заполнена, как это изображено на рис. 6.2.

 
 

 


Рис. 6.2. Прямая цепочка рассуждений

 

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

1. Механизм вывода анализирует правила, начиная с первого, определяет наличие образца «намерение – отдых» в рабочей памяти и отсутствие в ней образца «дорога – ухабистая».

2. Условная часть правила №1 считается ложной, и механизм вывода переходит к следующему правилу (в нашем случае к правилу №2).

3. Условная часть правила №2 признается истинной, т.к. образец «место отдыха – горы» присутствует в рабочей памяти и механизм вывода переходит к выполнению его заключительной части.

4. Заключительная часть правила №2 «дорога – ухабистая» заносится в рабочую память.

5. После просмотра всех правил происходит вторичное их применение, начиная с первого правила, за исключением тех, которые уже были применены (в примере это правило №2).

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

7. Заключительная часть «использовать - джип» переносится в рабочую память, а правило №1 исключается из дальнейшего согласования.

8. Правил для сопоставления не остается, и система останавливается.

Если теперь обратиться к рабочей памяти, то исходя из посылок что

«намерения – отдых»и

«место отдыха – горы»

результатом вывода является рекомендация

«использовать – джип»

с пояснением причин данного вывода, которая определяется тем, что

«дорога – ухабистая»

В данном примере для получения вывода проводилась работа по:

многократному просмотру содержимого базы правил;

последовательному применению правил на основе предварительно записанного содержимого рабочей памяти;

дополнению данных, помещаемых в рабочую память.

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

 

Обратная цепочка рассуждений в системе продукций

 

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

Считая, что рабочая память содержит образцы «намерения – отдых» и «место отдыха – горы», а база содержит оба правила, целью составления является доказательство факта «использовать – джип». Т. е. в этом случае рабочая память имеет исходный вид (рис. 6.3).

 

 
 

 


Рис. 6.2. Обратная цепочка рассуждений

 

Последовательность составления системой продукции следующая:

0. Определяется правило, в котором в заключительной части содержится целевой факт.

1. Исследуется возможность применения первого правила для подтверждения исходного факта.

2. Поскольку образец «намерение – отдых» из условной части правила №1 занесен в рабочую память, то для достижения цели достаточно подтвердить факт «дорога – ухабистая».

3. Образец «дорога – ухабистая» принимается за новую цель, и необходимо найти правило, подтверждающее этот факт.

4. Исследуется возможность применения правила №2. Условная часть этого правила является истинной, т.к. образец «место отдыха – горы» имеется в рабочей памяти;

5. В виду возможности применения правила №2, рабочая память пополнится образцом «дорога – ухабистая» и появляется возможность применения правила №1 для подтверждения цели «использовать – джип».

Таким образом, результатом вывода является подтверждение цели «использовать – джип» при условии «дорога – ухабистая».

 

 

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

 

Понятие фрейма и слота

 

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

Основная идея фреймового подхода к представлению знаний заключается в том, что все, что касается понятия или ситуации, не «размывается по сети», а представляется во фрейме.

Фреймом называется структура для описания понятия или ситуации, состоящая из характеристик этой ситуации и их значений.

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

Понятие о деловом отчете в системе, основанной на фреймах, может иметь следующий вид рис. 7.1.

 
 

 

 


Рис. 7.1. Деловой отчет в системе, основанной на фреймах

 

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

 
 

 

 


Рис. 7.2. Фрейм

Автор идеи фреймового подхода Марвин Минский дал такое определение: «Фрейм – это структура данных, представляющая стереотипную ситуацию, вроде присутствия внутри жилой комнаты или сбора на вечеринку. К каждому фрейму присоединяется несколько видов информации. Часть информации о том, как использовать фрейм. Часть о том, чего можно ожидать далее. Часть о том, что следует делать, если ожидания не подтвердятся».

 

В каждом узле понятия определяются набором атрибутов и их значениями, которые содержатся в слотах фрейма.

Слот - это атрибут, связанный с узлом в системе, основанной на фреймах.

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

С каждым слотом может быть связана одна или несколько процедур, которые выполняются, когда изменяются значения слотов.

Чаще всего со слотами связываются процедуры:

1. Если - добавлено (выполняется, когда новая информация помещается в слот);

2. Если - удалено (выполняется при удалении информации из слота);

3. Если - нужно (выполняется, когда запрашивается информация из слота, а он пуст).

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

 

Фреймовые системы и их функционирование

 

Для иллюстрации работы этого класса СОЗ рассмотрим иерархию понятия отчета, структура которого определена выше, но уже со всеми слотами, их значениями и процедурами (рис. 7.3).

 

Допустим, что некоторые слоты имеют значение по умолчанию. Каким образом можно использовать так организованные данные?

Если системе задан запрос: «Мне нужен финансовый отчет о выполнении проекта по новой технологии», то интерфейсная программа анализирует его и

0. Вносит «проект по новой технологии» в слот «ТЕМА» следующего пустого узла «Финотчет» (в нашем примере это узел №3).
Далее все происходит автоматически:

1. Процедура «если – добавлено», связанная со слотом «ТЕМА», осуществляет поиск руководителя этого проекта. Допустим, что его фамилия Иванов. Процедура вписывает его фамилию в слот «АВТОР» финансового отчета №3. Если руководитель этой темы не будет найден, в слот «АВТОР» будет наследовано значение класса, а именно текст «РУКОВОДИТЕЛЬ ПРОЕКТА».

 

Рис. 7.3. Функционирование фреймовой системы

 

2. Процедура «если – добавлено», связанная со слотом «АВТОР», начинает выполняться, т.к. в слот только что было вписано новое значение. Эта процедура начинает составлять сообщение, чтобы отправить его Иванову, но обнаруживает, что нет нужной даты исполнения.

3. Процедура «если – добавлено», просматривая слот «ДАТА» и найдя его пустым, активирует процедуру «если – нужно», связанную с этим слотом, которая, анализируя текущую дату (например 12.04.96), решит, что «30 июня» ближайшее к ней и впишет эту дату в слот «ДАТА».

4. Теперь процедура «если – добавлено», связанная со слотом «АВТОР», найдет, что еще одно значение, которое нужно включить в сообщение, т.е. объем отчета, отсутствует. Слот «ОБЪЕМ» не связан с процедурами и ничем помочь не может. Однако выше узла № 5 существует узел общей концепции финансового отчета, содержащий значение объема. Процедура, используя концепцию наследования свойств класса, использует значение объема и составляет следующее сообщение: «Господин Иванов, подготовьте финансовый отчет по проекту новой технологии к 30 июня объемом 2 страницы».

Если в какой-то момент фамилия Иванов будет удалена из слота «АВТОР», то система автоматически отправит ему сообщение, что его отчет не требуется.

В рассмотренном примере заполнителями служили конкретные экземпляры атрибутов (заполняемые по умолчанию). Вместе с тем, заполнителями слотов могут быть:

имена других фреймов системы, на которые делается ссылка;

фасеты («агрегат», «диапазон», «по умолчанию» и др.).

Расширим рассмотренный выше пример для иллюстрации этих понятий (рис. 7.4.):

Рис. 7.4. Функционирование фреймовой системы

 

При определении фреймов фасет «агрегат» указывает на то, что должны быть заданы требуемые объекты, а «интервал» - на то, что должен быть выбран один из множества объектов.

Эта информация используется интерфейсной программой при вводе информации.

 

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

 

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

 

Таблица 7.1

Структура фрейма

 

ИМЯ ФРЕЙМА
Имя слота Указатель наследования Указатель типа Значение слота
слот 1      
слот 2      
-------      
слот N      

 

Слотом фрейма называется элемент данных для фиксации знаний об объекте, которому отведен данный фрейм.

Перечислим параметры слотов:

Имя слота. Каждый слот должен иметь уникальное имя во фрейме, к которому он принадлежит. Имя слота в некоторых случаях может быть служебным. Среди служебных имен могут быть:

имя пользователя, определяющего фрейм;

дату определения или модификации фрейма;

комментарий.

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

S (тот же) - слот наследуется с теми же значениями данных;

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

I (независимый) - слот не наследуется.

Указатель типа данных. Типом данных, включаемых в слот, могут быть:

FRAME (указатель) - указывает имя фрейма верхнего уровня.

ATOM (переменная);

TEXT (текстовая информация);

LIST (список);

LISP (присоединенная процедура).

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