Модели представления знаний
Знания из определенной предметной области составляют основу интеллектуальных систем. В рамках этой проблемной области системы решают поставленные задачи путем обработки (процессирования) знаний. Знания – это система представлений о предметной области в виде сущностей, т.е. вещей, явлений, процессов, и их проявлений в форме фактов и их отношений или объектов и их связей.
Задача из предметной области может быть представлена конкретными сущностями и их проявлениями в форме, определяемой выбранной моделью знаний. Система способна решать такую задачу, если она имеет средства процессирования знаний в выбранной форме. Знания отличаются от обычных данных наличием специфической структуры и дополнительными свойствами, среди которых можно выделить следующие:
1. Интерпретируемость. В знаниях всегда есть возможность содержательной интерпретации, а данные интерпретируются лишь соответствующей программой.
2. Наличие классифицирующих отношений. Отдельные единицы знаний связываются отношениями типа «элемент-множество», «тип-подтип», «ситуация-подситуация» и пр., которые являются классифицирующими, поскольку позволяют описывать структуру знаний общими связями «класс-подкласс». При этом «класс» объединяет информацию одинаковую для всех «подклассов» и при необходимости может ее передавать «подклассу».
3. Наличие ситуативных связей. Совместимость отдельных событий или фактов, их одновременность, расположение в одной области пространства и т.д. определяют ситуативные связи. Они позволяют строить процедуры анализа знаний, которые трудно организовать при использовании обычных данных.
Знания в определенной предметной области при использовании их в системе объединяются в базы знаний подобно тому, как данные объединяются в базы данных. Знания не отвергаю данных, и БЗ и БД рассматриваются, как разные уровни представления информации. Определение и классификация знаний представлены на рис. 6.2.
Рис. 6.2. Определение и классификация знаний
Источниками знаний являются сжатые и полные описания сущностей. Все они могут пользоваться при формализации знаний, т.е. представления их с использованием определённой формальной модели знаний, приемлемой для аппаратно-программных реализаций.
Знания по виду можно разделить на декларативные и процедурные.
Декларативные знания состоят из множества описаний состояний и условий переходов между ними, которые носят синтаксический (символьный) характер и не содержат в явном виде описания исполняющих процедур.
Вывод и принятие решений осуществляется процедурами поиска в пространстве состояний, которые учитывают семантику (смысл) конкретной предметной области. Универсальность и общность декларативных знаний обеспечивается разделением синтаксических и семантических знаний.
Процедурные знания включают исходные состояния и явные описания процедур, обрабатывающих исходные знания при необходимости получения состояния полного множества производных знаний. Это позволяет отказаться от хранения всех состояний БЗ, требуемых при выводе и принятии решений. Здесь семантика вводится в описания процедур, генерирующих синтаксические знания. Так экономится память при хранении знаний, но возможности выполнения процедур ухудшаются.
По характеру представления знания могут быть структурными или параметрическими.
Структурное представление знаний характеризует отношения фактов или объектов.
Структура знаний может изменяться, за счет чего производится их конкретизация при описании заданной проблемной области. В динамических Б3 структура знаний может изменяться эволюционно или адаптивно.
Параметрическое представление знаний характеризуется фиксированной структурой и изменяемыми параметрами в фактах или объектах. Конкретизация знаний под задачу производится только настройкой параметров. Часть параметров обычно используется для настройки силы связей или отношений вплоть до их отключения.
Модель знаний является представлением системы знаний с помощью определенного формализма, т.е. универсального математического аппарата для корректного формального описания и построения процедуры решения задачи.
Основные модели представления знаний (МПЗ): продукционные модели; семантические сети; фреймы; формальные логические модели; МПЗ на основе нечетких и лингвистических переменных. Схема МПЗ представлена на рис. 6.3.
Продукционные модели
Продукционная модель (модель, основанная на правилах) позволяет представить знания в виде предложений типа «ЕСЛИ (условие), ТО (действие)». Условие (антецедент) – некоторое предложение-образец, по которому осуществляется поиск в базе знаний. Действие (консеквент) – действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия и терминальными или целевыми, завершающими работу системы).
Рис. 6.3. Схема модели представления знаний
Системы с базами знаний, основанными на этой модели, называются продукционными системами. Продукционная система состоит из трех основных компонент (рис. 6.4):
1 – База правил типа «ЕСЛИ (условие) ТО (действие)».
2 – Рабочая память, в которой хранятся условия задачи и выводы, полученные в ходе работы системы (база данных, содержащая множество фактов).
База данных и база правил составляют базу знаний (БЗ).
3 – Механизм логического вывода, использующий правила в соответствии с содержимым рабочей памяти (интерпретатор для получения логического вывода на основании знаний из БЗ).
Механизм логического вывода (сопоставление) | |||||
¯ модификация | поиск | ||||
Рабочая память | База правил | ||||
Рис. 6.4. Блок-схема продукционной системы | |||||
Механизм логического вывода сопоставляет образцы из условных частей правил с образцами, хранимыми в рабочей памяти. Если образцы из условной части имеются в рабочей памяти, то условная часть считается истинной, в противном случае – ложной.
Фреймы
Фрейм – это модель абстрактного образа, минимально возможное описание сущности какого-либо объекта, явления, события, ситуации, процесса. Фрейм – это абстрактный образ для представления некоего стереотипа восприятия. Фрейм – это структура знаний при восприятии пространственных образов.
Различают:
1) Фреймы-образцы (шаблоны, прототипы), хранящиеся в базе знаний.
Этот тип фреймов отражает знания об абстрактных стереотипных понятиях, которые являются классами каких-то конкретных объектов. Фреймы-прототипы отражают интенсиональные знания, т.е. обобщенные знания о закономерностях, присущих рассматриваемому классу объектов.
В нотации Бекуса-Науэра каждый i-й фрейм-прототип описывается тройкой:
Framei = <Имя фреймаi, Атрибутij, Характеристикаijk>.
Имя фрейма – слово, обозначающее некоторое понятие. Атрибут – какой-либо признак, свойство понятия. Пара «атрибут-характеристика» называется слотом, причем атрибут выступает в роли имени слота, а характеристика – значения слота. Атрибут, в свою очередь, может быть представлен следующим образом:
Атрибут ::= <символы> | <имя присоединенной процедуры>.
Характеристика ::= <символы> | <число> | <функция> | <рисунок> | <таблица> | < пустой слот > | <ссылка на другой фрейм>.
2) Фреймы-экземпляры (примеры), которые создаются для отображения реальных фактических ситуаций на основе поступающих данных.
Эти фреймы отражают знания о конкретных фактах предметной области, или так называемые экстенсиональные знания.
Переход от фрейма-прототипа к фрейму-экземпляру выполняется при проведении процедуры означивания фрейма-прототипа в процессе работы. Если для первого фрейма-прототипа проводилось неоднократное означивание и получилось несколько родственных фреймов-экземпляров, то они образуют систему фреймов (соответствует многозначности понятий). Фреймы-экземпляры хранятся в базе данных, а не знаний, это своего рода текущая информация об объектах.
Фреймы в силу особенностей своей структуры могут отображать как декларативные знания, так и процедурные знания.
Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через: фреймы-структуры, использующиеся для обозначения объектов и понятий (заем, залог, вексель); фреймы-роли (менеджер, кассир, клиент); фреймы-операции (например, фрейм «процесс синтеза корректирующих устройств», слоты: модель, алгоритм расчета, параметры и т.д.); фреймы-сценарии (банкротство, собрание акционеров, корпоративный праздник, выход на рынок (слоты: продукция, качество и т.д.)); фреймы-ситуации (тревога, авария, рабочий режим устройства (слоты: напряжение, сила тока и т.д.)) и др.
Каждый фрейм может быть дополнен различной информацией. Эта информация может касаться: способов применения данного фрейма; последствий этого применения; действий, которые необходимо выполнить, если не оправдался прогноз и т.п.
Каждый фрейм можно рассматривать как сеть, состоящую из нескольких вершин и отношений. На самом верхнем уровне фрейма представлена фиксированная информация: факт, касающийся состояния объекта, который обычно считается истинным. На последующих уровнях расположено множество терминальных слотов (терминалов), которые обязательно должны быть заполнены конкретными значениями и данными. В каждом слоте задается условие, которое должно выполняться при установлении соответствия между значениями (слот либо сам устанавливает соответствие, либо обычно это делает более мелкая составляющая фрейма). Простое условие указывается меткой, оно может содержать требования, например, чтобы соответствие устанавливал пользователь, чтобы было достаточно полно описанное значение, чтобы был указатель специальных составляющих фреймов и т.п. Сложные условия указывают отношения между фактами, соответствующими нескольким терминалам.
Соединив множество фреймов, являющихся отношениями, можно построить фреймовую систему. Наиболее важный результат такого построения – возможность преобразования фреймов в одной системе.
Семантические сети
В основе способа представления знаний с помощью семантических сетей лежит идея о том, что любые знания можно представит в виде совокупности понятии (объектов) и отношений (связей). Семантическая сеть представляет собой ориентированный граф, вершинами которого являются понятия, а дугами – отношения между ними.
Термин семантическая означает «смысловая», а сама семантика – это наука, устанавливающая отношения между символами и объектами, которые они обозначают, т.е. наука, определяющая смысл знаков. В качестве понятий обычно выступают абстрактные или конкретные объекты, а отношения – это связи типа: «это», «является», «имеет частью», «принадлежит» и т.д.
Характерной особенностью семантических сетей является обязательное наличие трех типов отношений: класс – элемент класса (цветок – роза); свойство – значение (цвет – желтый); пример элемента класса (роза – чайная).
Можно предложить несколько классификаций семантических сетей, связанных с типами отношений между понятиями:
По количеству типов отношений: однородные (с единственным типом отношений); неоднородные (с различными типами отношений).
По типам отношений: бинарные (в которых отношения связывают два объекта); N-арные (в которых есть специальные отношения, связывающие более двух объектов).
Наиболее часто в семантических сетях используются следующие отношения: связи типа «часть-целое» («класс-подкласс», «элемент-множество» и т.п.); функциональные связи (определяемые обычно глаголами «производит», «влияет» и т.п.); количественные (больше, меньше, равно…); пространственные (далеко от, близко от, за, под, над…); временные (раньше, позже, в течение…); атрибутивные связи (иметь свойство, иметь значение); логические связи (И, ИЛИ, НЕ); лингвистические связи и др.
Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, отражающей поставленный запрос к базе.
Основные преимущества этой модели – наглядность представления знаний и соответствие современным представлениям об организации долговременной памяти человека.
Недостатки – сложность организации процедуры поиска вывода на семантической сети и сложность корректировки, т.е. удаления и дополнения сети новыми знаниями.