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

СППР

.pdf
Скачиваний:
192
Добавлен:
19.02.2016
Размер:
10.12 Mб
Скачать

79

память" появилось еще во времена Аристотеля. Куиллиан предложил использовать семантику терминов для описания отношений понятий с вполне определенной целью - представления знаний.

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

Семантическая сеть (SN) может быть представлена тройкой:

SN = <G, А, Р>,

где G - граф связи вершин и дуг сети; А - алгоритм поиска вывода на сети; P- правила установления соответствия вершин и дуг семантической сети объектам и отношениям предметной области.

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

класс - экземпляр класса; свойство - значение; пример экземпляра класса.

В [33] приведена следующая классификация семантических сетей, связанных с типами отношений между понятиями.

По количеству типов отношений:

однородные (с единственным типом отношений в семантической сети);

неоднородные (с различными типами отношений). По типам отношений:

бинарные (отношения связывают два объекта); Агарные (отношения связывают три и более объекта). Семантическая сеть должна обеспечивать:

хранение сведений об объектах предметной области и об отношениях между ними;

возможность поиска объектов по заданным характеристикам; возможность пополнения и корректировки знаний системы в процессе

функционирования.

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

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

“Лесник сел в лодку, переехал на противоположный берег и взял корзину с грибами”.

80

В этом предложении можно выделить пять объектов: лесник (а/);

лодка (а2);

другой берег (аЗ); корзина (а4)\ грибы (а5).

Эти объекты связаны следующими отношениями:

сея (г/);

переехал (г2); взял (гЗ); находиться в (Ы).

Семантическая сеть, которая отвечает этому тексту, изображена на рис. 1.18.

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

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

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

1) предметная область является множеством допустимых состояний своих компонентов;

2) представленное через общие понятия и отношения между ними, это множество создает базу знаний в виде интенсиональной семантической сети;

81

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

Рассмотрим эти два понятия.

Интенсионалом называют общие понятия и отношения, которые характеризуют множество объектов, предметов, явлений, а экстенсионадом - конкретные характеристики каждого элемента этого множества понятий и отношений.

Приведем примеры. Понятие “легковой автомобиль” с отношениями “кузов”, “двигатель”, “управление” будет интенсионалом по отношению к множеству экстенсионала - марок легковых автомобилей: “Москвич”, “Жигули”, “Волга”, “Запорожец” с их конкретными характеристиками. Ho следует заметить, что в свою очередь понятие “Жигули” может выступать интенсионалом к множеству конкретных моделей (2101, 21011, 21013 и др.) с их характеристиками, которые в данном случае выступают в роли экстенсионала.

Семантические сети имеют широкие возможности по отображению отношений между понятиями и объектам. Основным их преимуществом является то, что они более других моделей соответствуют современным представлениям об организации долговременной памяти человека [43], но они имеют серьезные недостатки. Дело в том, что разные типы вершин и связей требуют большого разнообразия процедур обработки информации, которые очень усложняют программное обеспечение ЭВМ, кроме того усложняется процедура поиска вывода на семантической сети. Это натолкнуло на появление новых моделей представления знаний, в частности, фреймов.

Фреймы

Понятие “фрейм” {frame - рамка) впервые было введено в 1975 году ученым М. Минским. Он определил фрейм как структуру данных для представления стереотипных ситуаций. То есть любое представление о предмете, объекте, стереотипной ситуации у человека всегда формируется в виде “рамки”, которая состоит из характеристик и качеств объекта или ситуации, которые размещаются в так называемых слотах фрейма.

Таким образом фрейм - абстрактный образ для представления стереотипного восприятия.

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

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

82

используются для обозначения объектов (платежное поручение, счет, дов^)енность);

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

платы); фреймы-ситуации (авария, тревога, происшествие) и да.

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

{N , (S u Ни Tb Vi. D i), ... ,(Sm Ha, Tu Vm Dm) }.

где N - имя фрейма; S1 - имя слота;

Hi- указатель наследования; Ti - тип данных;

Vi- значение слота; D1- демон.

Другим, более удобным представление фрейма является таблица

(табл. 1.6).

Т а б л и ц а 1.6

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

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

Имя фрейма: ПРЕПОДАВАТЕЛЬ;

Слоты:

 

ФИО:

агрегат (фамилия, имя, отчество);

ГОД РОЖДЕНИЯ:

агрегат (день, месяц, год);

СПЕЦИАЛЬНОСТЬ: интервал (математик, информатик);

МЕСТО РАБОТЫ:

институт,

КАФЕДРА: интервал (математики, вычислительной техники); ДОМАШНИЙ АДРЕС: ДОМАДР; ЗАРПЛАТА: ЗАРПЛАТА

Вприведенном примере слоты КАФЕДРА и ЗАРПЛАТА включают в себя ссылки на другие фреймыс названиями ДОМАДР и ЗАРПЛАТА.

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

83

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

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

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

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

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

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

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

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

Если знания представляются в виде правил (продукций) “ЕСЛИ (условие применения) - ТО (действие, оператор)”, то системы, которые применяют эти знания, имеют название продукционных.

Рис. 1.19 Общая схема продукционной системы

84

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

Продукционные системы, как правило, состоят из трех основных компонент (рис. 1.19):

1)набор правил (база знаний или база правил);

2)рабочая память, в которой сохраняются результаты промежуточных

иконечных выводов;

3)механизм логического вывода.

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

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

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

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

сравнение - образец правила сопоставляется с уже имеющимися фактами;

отбор - определение наиболее подходящего по заданному критерию правила;

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

управление - изменение рабочей памяти (базы данных) путем добавления в нее результата работы выполнившегося правила.

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

В общем случае, продукция - это тройка, которая имеет следующий

вид:

<имя продукции> <условие применения> (а)

<оператор> (β) Символически продукции еще записывают так:

85

Если (α) το (β) или (α) -» (β)

Приведем примеры правил-продукций.

Если температура газа T более чем 30 градусов и давление P равняется 490000 Па, то необходимо выключить насос.

Заметим, что продукции очень удобно представлять в виде графов. В нашем примере обозначим через условную часть правила выражения: “температура газа T более, чем 30 градусов” - (а,) и “давление равняется 490000 Па” - (а2), а заключительную часть - “необходимо выключить насос” - ). Тогда имеем граф правила вывода показанный на рис.1.20

Рис. 1.20 Граф правила вывода

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

Среди преимуществ можно указать:

1)простота создания и понимания отдельных правил-продукций;

2)простота пополнения и модификации правил;

3)простота механизма логического вывода.

Кнедостаткам отнесем:

1)не очень четкую ясность взаимных отношений правил;

2)сложность оценки целостного образа знаний;

3)очень низкую эффективность обработки;

4)отличие от человеческой структуры знаний;

5)отсутствие гибкости в логическом выводе.

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

Формальные логические модели

В основе всех формальных логических моделей представления знаний лежит понятие формальной системы, которая задается четверкой:

M = < Т, А, Р, F >,

где T множество базовых элементов, которое состоит из счетного количества элементов любой природы. Это как бы алфавит формальной

86

системы, набор элементов, из которых будут создаваться все другие ее

элементы.

P - множество синтаксических правил, которые разрешают из множества базовых элементов Т, создавать синтаксически верные выражения в границах данной формальной системы.

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

синтаксические совокупности. Например,

множество T - буквы украинского алфавита;

синтаксические правила P - синтаксически верные слова в украинском языке;

система аксиом А - любые пары антонимов в украинском языке; правила вывода F - расширение множества пар антонимов за счет

любых неологизмов и словиз других языков.

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

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

В дальнейшем, логика предикатов стала не только одним из языков для представления знаний, но и теоретической основой для описания самой системы представления знаний [44].

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

Основой формальной системы является "терм”, который устанавливает соответствие знаковых символов описываемому объекту и предикат для описания объектов в виде формулы, которая содержит в себе термы. Когда речь идет о предикатах, то имеется в виду, что он состоит из термов-переменных. Предикат, все термы которого являются термамиконстантами, называется высказыванием.

Иначе, высказыванием называется предложение, относительно которого можно сказать, что оно есть “истина” или “ложь”.

Например, предложение “Земля вращается вокруг Солнца” есть “истина”, поскольку в нем идет речь о том, что мы всегда принимаем за истину.

87

Необходимо заметить, что в логике высказываний элементарным объектом, который владеет значением истинности, есть атомарное утверждение, которое ни каким образом нельзя разбить на компоненты. Ho из этих элементарных утверждений с помощью логических связок создаются более сложные утверждения, которые также могут принимать два значения - “истина” (И) или “ложь” (JI).

Этими связками могут быть: конъюнкция (“И”), дизъюнкция (“ИЛИ”), импликация (“ЕСЛИ-TO”) и возражение (“ΉΕΤ”).

Предикат - это утверждение относительно переменных, в зависимости от конкретных значений которых оно может быть “истина” или “ложь”.

В логике предикатов элементарным объектом, который обладает значением истинности, является атомарная формула, которая имеет следующий общий вид:

Р ( к , 1 ъ - , U),

где P - означает предикат; tu h, ..., ίη -термы.

Герм - это константа или переменная.

Например, возьмем область знаний - семейный сбор. Изберем значения для констант:

а- двоюродный брат Владимира - Петр;

б- Владимир;

с - двоюродный брат Владимира - Николай.

Возьмем предикат Р, который обозначает утверждение “двоюродный брат”. Тогда имеем:

P (а, б ) - истина;

P (а, с ) - ложь.

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

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

88

Во-первых, это - очень большая сложность представления и понимания. Хотя в [42] указывается на способность людей, понимающихся естественный язык, по крайней мере, понимать методы использования логики предикатов, при условии некоторой систематизации последней.

Во-вторых, это - высокие требования и ограничения, предъявляемые к предметной области.

В дальнейшем, эти модели нашли развитие в виде многозначной, нечёткой и модальной логики.

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

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

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

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

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

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