Ирина Эланс
Представление знаний в виде фреймов
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ МАМИ
КУРСОВАЯ РАБОТА
ПО ДИСЦИПЛИНЕ "ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ"
На тему: Представление знаний в виде фреймов
Выполнил:
Студент
А.Д. Зыков
Введение
Способы представления знаний - это одно из важнейших направлений исследований в области искусственного интеллекта. При их создании невозможно обойтись без различных моделей представления знаний. Это обусловлено, в первую очередь, тем фактом, что без знаний искусственный интеллект не может существовать в принципе.
Можно представить человека, который не знает ничего, даже абсолютно элементарных вещей. Поведение такого человека вряд ли можно считать разумным. И таких примеров множество. Именно поэтому, при создании систем искусственного интеллекта особенное внимание уделяется способам представления знаний.
Несмотря на тот факт, что сегодня разработано уже достаточное количество способов представления знаний, вопрос выбора конкретного способа для решения какой-либо задачи по-прежнему остается актуальным. Одна из проблем в представлении знаний - как хранить и обрабатывать знания в информационных системах так, чтобы машины могли использовать их для достижения поставленных задач.
От выбора способа представления знаний зависит не столько эффективность выполнения поставленной задачи, сколько возможность ее решения вообще.
Одним из таких способов является фреймовый способ представления знаний. Этот способ был предложен Марвином Минским в 1979 г. как структура знаний для восприятия пространственных сцен. Эта модель, как и семантическая сеть, имеет глубокое психологическое обоснование.
Отправным моментом для данной теории служит тот факт, что человек, пытаясь познать новую для себя ситуацию или по-новому взглянуть на уже привычные вещи, выбирает из своей памяти некоторую структуру данных (образ), называемую фреймом, с таким расчетом, чтобы путем изменения в ней отдельных деталей сделать ее пригодной для понимания более широкого класса явлений или процессов.
Фреймовый способ представления данных используется в системах искусственного интеллекта (например, в экспертных системах) как одна из распространенных форм представления знаний.
В данной работе будет рассмотрен данный способ, его специфики и основные характеристики.
1. Основные сведения о фреймовой модели представления знаний
1.1. Понятие фрейма
Фрейм — (англ. frame — «каркас» или «рамка») — способ представления знаний в искусственном интеллекте, представляющий собой схему действий в реальной ситуации. Фрейм — это модель абстрактного образа, минимально возможное описание сущности какого-либо объекта, явления, события, ситуации, процесса.
Фрейм является структурой данных для представления стереотипной ситуации. С каждым фреймом ассоциирована информация разных видов. Одна ее часть указывает, каким образом следует использовать данный фрейм, другая - что предположительно может повлечь за собой его выполнение, третья - что следует предпринять, если эти ожидания не подтвердятся.
Фрейм можно представлять себе в виде сети, состоящей из узлов и связей между ними. "Верхние уровни" фрейма четко определены, поскольку образованы такими понятиями, которые всегда справедливы по отношению к предполагаемой ситуации
Например, объект «комната» можно охарактеризовать следующими свойствами: жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью 6-20 м2. Из этого описания ничего нельзя убрать (например, убрав окна, получим уже чулан, а не комнату), но в нем есть незаполненные значения некоторых атрибутов — количество окон, цвет стен, высота потолка, покрытие пола и др. Такой абстрактный образ и называется фреймом.
Группы семантически близких друг к другу фреймов могут быть объединены в систему фреймов. Результаты существенных действий представляются в виде трансформаций между фреймами системы. Это дает возможность моделировать такие понятия, как внимание и ценность информации, сделать более экономичными некоторые типы вычислений, а также показать эффективность использования фреймов в системах искусственного интеллекта.
В качестве идентификатора фрейму присваивается имя фрейма. Это имя должно быть единственным во всей фреймовой системе.
Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фреймы-экземпляры, которые создаются для отображения реальных ситуаций на основе поступающих данных.
Можно выделить основные свойства фреймов:
- Базовый тип (базовый фрейм) – с его помощью запоминаются наиболее важные компоненты исследуемого объекта. На основании базовых фреймов строятся фреймы для новых состояний исследуемого объекта. При этом каждый фрейм содержит слот, оснащенный указателем подструктуры, который позволяет различным фреймам совместно использовать одинаковые части.
- Процесс сопоставления – в ходе его проверяется правильность выбора фрейма. Вначале в соответствии с текущей целью делается попытка подтверждения релевантности некоторого базового фрейма (в т.ч. с помощью подфреймов), при подтверждении процесс сопоставления завершается. В противном случае для слота, в котором возникла ошибка, делается попытка присваивания надлежащего значения с учетом наложенных слотом ограничений. В случае неуспеха управление передается другому надлежащему фрейму из рассматриваемой системы, затем – соответствующему фрейму из другой фреймовой системы и т.д. пока не произойдет успешного сопоставления. В противном случае для данной фреймовой системы рассматриваемая поисковая задача решения не имеет и требуется либо переформулировать текущую цель, либо пересмотреть содержательную часть фреймовой модели, включая накладываемые слотами ограничения.
- Иерархическая структура. Ее особенность заключается в том, что информация об атрибутах, которую содержит фрейм верхнего уровня, совместно используется всеми фреймами нижних уровней, связанных с ним.
- Межфреймовые сети – образуются путем соединения фреймов, описывающих объекты с небольшими различиями, с использованием указателей различия.
- Значение по умолчанию – под ним понимается значение слота, полученное путем распределения человеком-экспертом конкретных значений между терминальными слотами фрейма. Выводы, получаемые на основании значений по умолчанию, называются выводами по умолчанию. С их помощью можно восполнить недостатки изначально заданной информации. Как правило, когда используется подобный способ вывода, предполагается наличие эффективно действующих межфреймовых сетей и демонов.
- Отношения “абстрактное-конкретное” и “целое-часть”. Отношения “абстрактное-конкретное” (IS_A) характерны тем, что на верхних уровнях иерархии расположены более абстрактные объекты, а на нижних уровнях – более конкретные объекты, причем объекты нижних уровней наследуют атрибуты объектов верхних уровней. Отношение “целое-часть” (PART_OF) касается структурированных объектов и показывает, что объект нижнего уровня является частью объекта верхнего уровня. В отношениях этого типа нельзя использовать наследование атрибутов.
1.2. Понятие терминалов (слотов)
Фрейм состоит из имени и отдельных единиц, называемых терминалами (терминалами).
Уровень терминалов отражает относящуюся к моделируемому объекту конкретную информацию. В каждом слоте задается условие, которое должно выполняться при установлении соответствия между значениями (терминал либо сам устанавливает соответствие, либо обычно это делает более мелкая составляющая фрейма). В одной системе различные фреймы могут иметь общие терминалы. Несколько терминалов одного фрейма обычно заранее определяются значениями по умолчанию, что позволяет представлять информацию общего характера при решении сходных задач. Среди терминалов отдельного фрейма выделяют слоты, определяемые системой и определяемые пользователем. Примерами системных терминалов могут служить: IS_A (указание на фрейм-родитель), слот указателей дочерних фреймов, слоты дат создания и изменения информации фрейма.
Каждым терминалом могут устанавливаться условия, которым должны удовлетворять его задания. Простые условия определяются маркерами, например, в виде требования, чтобы заданием терминала был какой-либо субъект, или предмет подходящих размеров, или указатель на субфрейм определенного типа. (Субфреймы, фреймы и суперфреймы - это иерархически упорядоченные элементы, образующие системы фреймов). Более сложными условиями задаются отношения между понятиями, включенными в различные терминальные вершины.
После выбора фрейма в процессе согласования терминалам присваиваются такие значения, которые удовлетворяют всем условиям соответствующих маркеров. Ход процесса согласования частично контролируется информацией, связанной с самим фреймом (включая указания на то, как реагировать на непредвиденные обстоятельства), и в значительной степени опытом решения аналогичных или близких по смыслу задач. Если согласование внешних данных с маркерами терминалов неудовлетворительное, то сведения, полученные на его основе, могут быть с успехом применены при выборе альтернативного фрейма.
Имя терминала должно быть уникальным в пределах фрейма. Обычно имя терминала представляет собой идентификатор, который наделен определенной семантикой. В качестве имени терминала может выступать произвольный текст. Например, <Имя терминала> = Главный герой романа Ф.М. Достоевского «Идиот», <Значение терминала> = Князь Мышкин. Имена системных терминалов обычно зарезервированы, в различных системах они могут иметь различные значения.
1.3. Структура фрейма
Фрейм имеет определенную внутреннюю структуру, состоящую из множества слотов. За слотами следуют шпации, в которые помещают данные, представляющие текущие значения слотов. Каждый слот в свою очередь представляется определенной структурой данных. В значение слота подставляется конкретная информация, относящаяся к объекту, описываемому этим фреймом.
Структуру фрейма можно представить так:
- ИМЯ ФРЕЙМА:
- (имя 1-го слота: значение 1-го слота),
- (имя 2-го слота: значение 2-го слота),
- - - - -
- (имя N-го слота: значение N-гo слота).
Ту же запись можно представить в виде таблицы (табл. 1), дополнив несколькими столбцами:
ИМЯ_ФРЕЙМА
Имя слота |
Указатель наследования |
Тип данных |
Значение слота |
Демоны | ||
IF-NEEDED |
IF-ADDED |
IF-REMOVED | ||||
Табл.1
Столбцы выполняют следующие роли:
Имя слота должно быть уникальным в пределах фрейма. Обычно имя слота представляет собой идентификатор, который наделен определенной семантикой. В качестве имени слота может выступать произвольный текст. Например, <Имя слота> = Главный герой романа Ф.М. Достоевского «Идиот», <Значение слота> = Князь Мышкин. Имена системных слотов обычно зарезервированы, в различных системах они могут иметь различные значения. Примеры имен системных слотов: IS-A, HASPART, RELATIONS и т.д. Системные слоты служат для редактирования базы знаний и управления выводом во фреймовой системе.
Указатели наследования – с их помощью определяется, какую информацию об атрибутах слотов фрейма верхнего уровня наследуют слоты с такими же именами во фрейме нижнего уровня. Типичные указатели наследования: U (Unique, уникальный) – слот наследуется, но данные в каждом фрейме могут принимать любые значения; S (Same, такой же) – наследование тех же значений данных; R (Range) – значения слотов фрейма нижнего уровня должны находиться в пределах, указанных значениями слотов фрейма верхнего уровня; O – выполняет одновременно функции указателей U и S, при отсутствии указаний работает как S.
Тип данных показывает тип значения слота. Наиболее употребляемые типы: FRAME (указатель на другой фрейм), INTEGER (целый), REAL (действительный), BOOL (булевский), LISP (присоединенная процедура), TEXT (текст), LIST (список), TABLE (таблица), EXPRESSION (выражение).
Значением слота может быть практически что угодно: числа, формулы, тексты на естественном языке или программы, правила вывода или ссылки на другие слоты данного фрейма или других фреймов. В качестве значения слота может выступать набор слотов более низкого уровня, что позволяет реализовывать во фреймовых представлениях «принцип матрешки». Связи между фреймами задаются значениями специального слота с именем «Связь».
Демоном называется процедура, автоматически запускаемая при выполнении некоторого условия. Демоны автоматически запускаются при обращении к соответствующему слоту. Типы демонов связаны с условием запуска процедуры. Демон с условием IF-NEEDED запускается, если в момент обращения к слоту его значение не было установлено. Демон типа IF-ADDED запускается при попытке изменения значения слота. Демон IF-REMOVED запускается при попытке удаления значения слота. Возможны также другие типы демонов. Демон является разновидностью связанной процедуры.
В качестве значения слота может использоваться процедура, называемая служебной в языке Лисп или методом в языках объектно-ориентированного программирования. Присоединенная процедура запускается по сообщению, переданному из другого фрейма. Демоны и присоединенные процедуры являются процедурными знаниями, объединенными вместе с декларативными в единую систему. Эти процедурные знания являются средствами управления выводом во фреймовых системах, причем с их помощью можно реализовать любой механизм вывода. Представление таких знаний и заполнение ими интеллектуальных систем — весьма нелегкое дело, которое требует дополнительных затрат труда и времени разработчиков. Поэтому проектирование фреймовых систем выполняется, как правило, специалистами, имеющими высокий уровень квалификации в области искусственного интеллекта.
1.4. Свойства фреймовой сети
Фреймовая модель представления знаний представляет собой семантическую сеть, вершинами которой являются фреймы. Фреймовая структура содержит как информационные, так и процедурные элементы, обеспечивающие преобразование информации внутри фреймов и связи их с другими фреймами. Фреймовая модель является декларативно-процедурной структурой в виде совокупности описаний и связанных с ними процедур, доступ к которым осуществляется прямо из фрейма. Это обеспечивает возможность единообразного представления как декларативных, так и процедурных знаний.
Характерной особенностью фреймовых моделей (структур) является наличие процедур: наследования свойств; внутренней интерпретации; установления связей; введения отношений на слотах и др. Процедура наследования свойств позволяет фреймам заимствовать свойства других фреймов путем использования так называемых указателей наследования, которые показывают, какую информацию об атрибутах слотов во фрейме верхнего уровня наследуют слоты с такими же именами во фрейме нижнего уровня.
Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире:
через фреймы-структуры, для обозначения объектов и понятий (заем, залог, вексель);
через фреймы-роли (менеджер, кассир, клиент);
через фреймы-сценарии (банкротство, собрание акционеров, празднование именин);
через фреймы-ситуации (тревога, авария, рабочий режим устройства) и др.
Важнейшим свойством теории фреймов является заимствованное из теории семантических сетей наследование свойств. И во фреймах, и в семантических сетях наследование происходит по AKO-связям (A-Kind-Of = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, то есть переносятся, значения аналогичных слотов.
На рис. 1 приведен пример сети фреймов.
Рис. 1
2. Пример создания и использования фреймовой модели знаний
2.1. Начальное проектирование
В качестве примера применения использования фреймовой модели представления информации можно рассмотреть гипотетический компьютерный салон, где покупатели могут использовать специальную программу для подбора комплектующих для своего компьютера. Такая программа может использовать фреймовую сеть.
Обычный домашний компьютер имеет иметь корпус, блок питания, материнскую плату, центральный процессор, кулер, оперативную память, жесткий диск, монитор. Опционально он может иметь видеокарту, мышь, клавиатуру, игровой контроллер.
При этом, от выбора типа корпуса зависит выбор материнской платы, блока питания, видеокарты, жесткого диска. От выбора материнской платы зависит выбор центрального процессора, кулера, количества планок оперативной памяти и их типа.
Корпус домашнего настольного компьютера бывает трех видов: Full Tower, Mid Tower и Mini Tower.
В блоке питания же главные характеристики – мощность, распиновка для материнской платы, распиновка для процессора.
В материнских платах главные характеристики – тип сокета, количество слотов памяти, энергопотребление, распиновка, количество разъемов SATA, IDE, USB.
В процессорах главные характеристики – тип сокета, частота, количество ядер, распиновка, энергопотребление.
В кулере главные характеристики – тип кулера, диаметр вентилятора, частота оборотов, энергопотребление.
В оперативной памяти главные характеристики – объем, тип памяти.
В жестком диске главные характеристики – объем, тип разъема.
В мониторе главные характеристики – разрешение, размер диагонали.
В видеокарте главные характеристики – частота, объем памяти, энергопотребление.
Теперь можно приступить к проектированию самой фреймовой сети.
2.2. Проектирование сети
По выполненному выше общему проектированию можно спроектировать все необходимые фреймы.
Базовым фреймом данной сети может служить фрейм-компьютер (Рис. 2).
Комп_фр
Рис. 2
Каждый новый заказ на компьютер будет субфреймом данного.
Далее спроектируем суперфрейм блока питания (Рис. 3):
Бп_фр
Рис. 3
В процедурах демона IF-NEEDED находятся проверки на подходящую мощность блока питания для остальных комплектующих и подходящие распиновки для материнской платы и процессора.
Для перехода по внутренним терминалам используются имена этих терминалов, если же необходимо использовать терминал другого фрейма, то фрейм присоединен в качестве терминала, а использование терминалов этого фрейма осуществляется после знака «.».
Теперь можно спроектировать фрейм материнской платы (Рис. 4):
Мп_фр
Рис. 4
В демоне количества слотов проверяется, достаточно ли в материнской плате разъемов для планок оперативной памяти.
Далее проектируется фрейм процессора (Рис. 5):
Проц_фр
Рис. 5
В демоне типа сокета проверяется, подходит ли сокет процессора сокету материнской платы.
Проектирование кулера (Рис. 6):
Кулер_фр
Рис. 6
В демоне типа проверяется, подходит ли тип кулера типу корпуса.
Проектирование оперативной памяти (Рис. 7):
Оп_фр
Рис. 7
Проектирование жесткого диска (Рис. 8):
Жд_фр
Рис. 8
Проектирование монитора (Рис. 9):
Мон_фр
Рис. 9
Проектирование видеокарты (Рис. 10):
Рис. 10
Теперь, когда фреймы спроектированы, можно построить фреймовую сеть (Рис. 11):
Рис. 11
Создание же нового заказа компьютера можно охарактеризовать такой сетью (Рис. 12):
Рис. 11
Заключение
Главная особенность применения языка представления знаний фреймами - это простота написания программ для решения интеллектуальных проблем. Высокая универсальность языка позволяет с помощью присоединенных процедур эффективно реализовывать любую программу управления выводом, однако это требует определенной квалификации разработчика. Поэтому язык представления знаний фреймами можно квалифицировать как язык, ориентированный на специалистов в области искусственного интеллекта.
Поскольку большинство систем, ориентированных на решение сложных проблем, содержат в качестве составляющей продукционную систему, то в ряде случаев допускается использование продукционных правил в качестве типа данных фрейма. Тем не менее, весьма серьезной и сложной задачей остается обнаружение семантических противоречий во фреймовой системе.
Применение фреймов для представления знаний при реализации инструментальных средств позволяет описывать достаточно широкий класс технологических объектов. Унифицированная структура фреймов и небольшое число стандартных правил обработки позволяют описывать более сложные правила обработки и делают систему гибкой в построении различных объектно-ориентированных структур знаний.
Фреймовый способ представления знаний удовлетворяет требованиям, характерным для новых информационных технологий, а именно: проблемно-независимое представление информации, обеспечение создания и корректировки базы знаний, данных и фактов на информационном уровне, поддержка выбора на качественном и количественном уровне, возможность описания на информационном уровне различных правил выбора, достаточно простой перевод способа в машинное представление.
Список используемых источников
Представление и использование знаний : Пер. с япон. / Под ред. Х.Уэно, М.Исидзука. – М.: Мир, 1989. С. 55-98.
Апресян Ю.Д. Избранные труды. В двух томах. Т.1. Лексическая семантика. Синонимические средства языка. - М.: Школа "Языки русской культуры", 1995. С. 79-94, 119-163
Леонтьева Н.Н. Русский общесемантический словарь (РОСС) : структура, наполнение. // НТИ. Сер. 2. 1997. №12. С. 5-20.
АОТ : Автоматическая Обработка Текста. Рабочая группа Aot.ru. // http://www.aot.ru/
Мельчук И.А., Жолковский А.К. Толково-комбинаторный словарь современного русского языка. Опыт семантико-синтаксического описания русской лексики. - Вена, 1984.
Аверкин А.М., Блишун А.Ф., Гаврилова Т.А. и др. Приобретение и формализация знаний // Искусственный интеллект. Справочник. Кн. 2. Модели и методы. - М.: Радио и связь, 1990.
Балдин К.В., Уткин В.Б. Информатика. Учебник. - М.: Проект, 2003.
Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. - СПб.: Питер, 2001.
Джексон П. Введение в экспертные системы. - М.; СПб.: Вильямс, 2001. С. 35-62.
Зубов А.В., Зубова И.И. Основы искусственного интеллекта для лингвистов: Учеб. пособие. - М.: Университетская книга; Логос, 2007. - 320 с.: ил.
Искусственный интеллект. Справочник. Кн. 1. Системы общения и экспертные системы. - М.: Радио и связь, 1990.
Искусственный интеллект. Справочник. Кн. 2. Модели и методы. - М.: Радио и связь, 1990.
Кузин Е.С. Информационно-сложные задачи и технология их решения // Новости искусственного интеллекта. 2003. №1. С. 24-29.
Левин Р., Дранг Д., Эдельсон Б. Практическое введение в технологию искусственного интеллекта и экспертных систем с иллюстрациями на БЕЙСИКЕ. - М., Финансы и статистика, 1991.
Линдсей П., Норман Д. Переработка информации у человека. - М., 1974.
Мальковский М.Г., Субботин А.В., Грацианова Т.Ю. Интеграционный подход к автоматизированному формированию лингвистических баз знаний // Тр. междунар. конф. «Когнитивное моделирование». (Пущино. 17-19 сентября 1999 г.). Ч. II. - Казань: Отечество, 2001. С. 7-14.
Минский М. Фреймы для представления знаний. - М.: Энергия, 1979.
Поспелов Д.А. Данные и знания // Искусственный интеллект. Справочник. Кн. 2. Модели и методы. - М.: Радио и связь, 1990.
Сильдмяэ И. Знания (когитология). - Таллин: Ээсти раамат, 1987.
Уотермен Д. Руководство по экспертным системам. - М.: Мир, 1989.
Филлмор Ч. Дело о падеже // Новое в зарубежной лингвистике. Вып. Х. Лингвистическая семантика. - М.: Прогресс, 1981.
Экспертные системы для персональных компьютеров. - Минск: Вышэйшая школа, 1990.