Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IIS / Лекции / ИИС - Лекции.doc
Скачиваний:
250
Добавлен:
31.03.2015
Размер:
1.6 Mб
Скачать

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

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

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

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

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

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

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

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

Рис. 1.28. Фрейм

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Далее все происходит автоматически:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ИМЯ ФРЕЙМА

Имя слота

Указатель наследования

Указатель типа

Значение слота

слот 1

слот 2

-------

слот N

Таблица 1.6 Структура фрейма

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • LIST (список);

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

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

Соседние файлы в папке Лекции