- •О.А. Печень
- •Оглавление
- •Предисловие
- •Раздел 1. Теоретические основы построения иис Тема 1.1. Развитие и области применения интеллектуальных информационных систем
- •1.1.1. Предмет, цель и задачи дисциплины
- •1.1.2. Классификация иис, место и роль иис в ит
- •Контрольные вопросы по теме
- •Тема 1.2. Знания и методы представления знаний
- •1.2.1. Знания, свойства и классификация знаний
- •1.2.2. Модели представления знаний
- •1.2.3. Логическая модель представления знаний
- •1.2.3. Нечеткая логика как расширение логической модели
- •1.2.4. Продукционная модель представления знаний
- •База правил
- •База правил
- •1.2.5. Модель представления знаний на основе семантических сетей
- •1.2.6. Представление знаний с применением фреймов
- •1.2.8. Использование различных моделей представления знаний
- •Контрольные вопросы по теме
- •Тема 1.3. Инженерия знаний и получение знаний
- •1.3.1. Инженерия знаний
- •1.3.2. Методы получения знаний
- •Контрольные вопросы по теме
- •Раздел 2. Технологии экспертных систем
- •2.1.2. Структура экспертных систем
- •2.1.3. Классификация экспертных систем
- •Контрольные вопросы по теме
- •Тема 2.2. Технология разработки экспертных систем
- •2.2.1. Этапы разработки экспертной системы
- •2.2.2. Состав и взаимодействие участников процесса разработки и эксплуатации эс
- •Контрольные вопросы по теме
- •Тема 2.3. Процесс поиска решений и механизмы вывода и рассуждений
- •2.3.1. Поиск как основа функционирования иис
- •2.3.2. Методы поиска решений в пространстве состояний
- •2.3.3. Стратегии поиска в глубину и ширину
- •2.3.4. Стратегия эвристического поиска
- •2.3.5. Формализация задач в пространстве состояний
- •Контрольные вопросы по теме
- •Раздел 3. Технологии нейронных сетей
- •Тема 3.1. Введение в нейронные сети и нейросетевые системы
- •3.1.1. Основы нейросетевого подхода
- •3.1.2. Построение и применение нейросетей
- •Контрольные вопросы по теме
- •Тема 3.2. Классификация и выбор структуры нейросетей
- •3.2.1. Классификация нейросетей
- •3.2.2. Выбор структуры нейросетей
- •Контрольные вопросы по теме
- •Тема 3.3. Решение задач с помощью нейросетей
- •3.3.1. Общий подход к построению нейросети
- •3.3.2. Обучение нейросети
- •3.3.3. Применение обученной нейросети
- •Контрольные вопросы по теме
- •Раздел 4. Эволюционные вычисления
- •Тема 4.1. Эволюционные вычисления и генетические алгоритмы
- •4.1.1. Сущность эволюционного подхода к вычислениям
- •4.1.2. Основы теории генетических алгоритмов
- •4.1.3. Направления развития генетических алгоритмов
- •Контрольные вопросы по теме
- •Раздел 5. Средства разработки и интерфейсы иис
- •Тема 5.1. Инструментальные средства разработки иис
- •5.1.1. Общие сведения о средствах разработки иис
- •5.1.2. Языки программирования для разработки иис
- •Тема 5.2. Интеллектуальные интерфейсы
- •5.2.1. Речевое взаимодействие с иис
- •5.2.2. Графические интеллектуальные интерфейсы
- •5.2.3. Интеллектуальные поисковые системы
- •5.2.4. Обучающие системы и тренажеры
- •Контрольные вопросы по теме
- •Литература
1.2.6. Представление знаний с применением фреймов
7.1. Понятие фрейма и слота
В сложных семантических сетях, включающих множество понятий, процесс обновления узлов и контроль связей между ними становится затруднительным. При этом количество опосредованных родовидовых связей между понятиями резко возрастает [15,с.55].
Основная идея фреймового подхода к представлению знаний заключается в том, что все, что касается понятия или ситуации, не «размывается по сети», а представляется во фрейме.
Фреймом называется структура для описания понятия или ситуации, состоящая из характеристик этой ситуации и их значений.
Фрейм можно рассматривать как фрагмент семантической сети, предназначенный для описания понятий со всей совокупностью присущих им свойств.
Понятие о деловом отчете в системе, основанной на фреймах, может иметь следующий вид рис. 1.27.
Рис. 1.27. Деловой отчет в системе, основанной на фреймах
Рис. 1.28. Фрейм
Графически это выглядит аналогично семантической сети, но принципиальное отличие состоит в том, что каждый узел во фреймовой системе имеет вид рис. 1.28.
Автор идеи фреймового подхода Марвин Минский дал такое определение: «Фрейм – это структура данных, представляющая стереотипную ситуацию, вроде присутствия внутри жилой комнаты или сбора на вечеринку. К каждому фрейму присоединяется несколько видов информации. Часть информации о том, как использовать фрейм. Часть о том, чего можно ожидать далее. Часть о том, что следует делать, если ожидания не подтвердятся».
В каждом узле понятия определяются набором атрибутов и их значениями, которые содержатся в слотах фрейма.
Слот - это атрибут, связанный с узлом в системе, основанной на фреймах.
Слот является составляющей фрейма. Имя слота соответствует типу атрибута, значением слота может быть экземпляр атрибута, другой фрейм или фасет.
С каждым слотом может быть связана одна или несколько процедур, которые выполняются, когда изменяются значения слотов.
Чаще всего со слотами связываются процедуры:
Если - добавлено (выполняется, когда новая информация помещается в слот);
Если - удалено (выполняется при удалении информации из слота);
Если - нужно (выполняется, когда запрашивается информация из слота, а он пуст).
Эти процедуры могут следить за приписыванием информации к данному узлу и проверять, что при изменении значения производятся соответствующие действия.
Фреймовые системы и их функционирование
Для иллюстрации работы этого класса СОЗ рассмотрим иерархию понятия отчета, структура которого определена выше, но уже со всеми слотами, их значениями и процедурами (рис. 1.29).
Допустим, что некоторые слоты имеют значение по умолчанию. Каким образом можно использовать так организованные данные?
Если системе задан запрос: «Мне нужен финансовый отчет о выполнении проекта по новой технологии», то интерфейсная программа анализирует его и
Вносит «проект по новой технологии» в слот «ТЕМА» следующего пустого узла «Финотчет» (в нашем примере это узел №3).
Далее все происходит автоматически:
Процедура «если – добавлено», связанная со слотом «ТЕМА», осуществляет поиск руководителя этого проекта. Допустим, что его фамилия Иванов. Процедура вписывает его фамилию в слот «АВТОР» финансового отчета №3. Если руководитель этой темы не будет найден, в слот «АВТОР» будет наследовано значение класса, а именно текст «РУКОВОДИТЕЛЬ ПРОЕКТА».
Рис. 1.29. Функционирование фреймовой системы
Процедура «если – добавлено», связанная со слотом «АВТОР», начинает выполняться, т.к. в слот только что было вписано новое значение. Эта процедура начинает составлять сообщение, чтобы отправить его Иванову, но обнаруживает, что нет нужной даты исполнения.
Процедура «если – добавлено», просматривая слот «ДАТА» и найдя его пустым, активирует процедуру «если – нужно», связанную с этим слотом, которая, анализируя текущую дату (например 12.04.96), решит, что «30 июня» ближайшее к ней и впишет эту дату в слот «ДАТА».
Теперь процедура «если – добавлено», связанная со слотом «АВТОР», найдет, что еще одно значение, которое нужно включить в сообщение, т.е. объем отчета, отсутствует. Слот «ОБЪЕМ» не связан с процедурами и ничем помочь не может. Однако выше узла № 5 существует узел общей концепции финансового отчета, содержащий значение объема. Процедура, используя концепцию наследования свойств класса, использует значение объема и составляет следующее сообщение: «Господин Иванов, подготовьте финансовый отчет по проекту новой технологии к 30 июня объемом 2 страницы».
Если в какой-то момент фамилия Иванов будет удалена из слота «АВТОР», то система автоматически отправит ему сообщение, что его отчет не требуется.
В рассмотренном примере заполнителями служили конкретные экземпляры атрибутов (заполняемые по умолчанию). Вместе с тем, заполнителями слотов могут быть:
имена других фреймов системы, на которые делается ссылка;
фасеты («агрегат», «диапазон», «по умолчанию» и др.).
Расширим рассмотренный выше пример для иллюстрации этих понятий (рис. 1.30.):
Рис. 1.30. Функционирование фреймовой системы
При определении фреймов фасет «агрегат» указывает на то, что должны быть заданы требуемые объекты, а «интервал» - на то, что должен быть выбран один из множества объектов.
Эта информация используется интерфейсной программой при вводе информации.
Обобщенная структура фрейма
В общем случае фрейм представляет собой таблицу, структура и принципы организации которой являются развитием понятия отношения в реляционной модели данных. Обобщенная структура фрейма имеет вид таблицы 1.6.
-
ИМЯ ФРЕЙМА
Имя слота
Указатель наследования
Указатель типа
Значение слота
слот 1
слот 2
-------
слот N
Таблица 1.6 Структура фрейма
Слотом фрейма называется элемент данных для фиксации знаний об объекте, которому отведен данный фрейм.
Перечислим параметры слотов:
Имя слота. Каждый слот должен иметь уникальное имя во фрейме, к которому он принадлежит. Имя слота в некоторых случаях может быть служебным. Среди служебных имен могут быть:
имя пользователя, определяющего фрейм;
дату определения или модификации фрейма;
комментарий.
Указатель наследования. Он показывает, какую информацию об атрибутах слотов во фрейме верхнего уровня наследуют слоты с теми же именами во фрейме нижнего уровня. Типичные указатели наследования:
S (тот же) - слот наследуется с теми же значениями данных;
U (уникальный) - слот наследуется, но данные в каждом фрейме могут принимать любое значение;
I (независимый) - слот не наследуется.
Указатель типа данных. Типом данных, включаемых в слот, могут быть:
FRAME (указатель) - указывает имя фрейма верхнего уровня.
ATOM (переменная);
TEXT (текстовая информация);
LIST (список);
LISP (присоединенная процедура).
С помощью механизма управления исследованием по отношениям IS_A осуществляется автоматический поиск и определение значений слотов фрейма верхнего уровня и присоединенных процедур.