Лекция: Модели представления знаний.

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

Типичными моделями представления знаний являются:

  • Продукционная модель;
  • Модель, основанная на использовании фреймов;
  • Модель семантической сети;
  • Логическая модель.


Продукционная модель.

Продукционная модель — модель, основанная на правилах, позволяющая представить знания в виде предложений типа: Если(условие),то (действие). Идея этого метода принадлежит Э. Посту (1943).
В качестве условия и действия в правилах может быть, например, предположение о наличии того или иного свойства, принимающее значение истина или ложь. При этом термин действие следует трактовать широко: это может быть как директива к выполнению какой-либо операции, рекомендация, или модификация базы знаний – предположение о наличии какого-либо производного свойства.
При использовании продукционной модели база знаний состоит из набора правил. Программа, управляющая перебором правил, называется машиной вывода. Чаще всего вывод бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения — к данным).Данные — это исходные факты, на основании которых запускается машина вывода — программа, перебирающая правила из базы.

Примером продукции может служить следующее выражение:

ЕСЛИ клиент работает на одном месте более двух лет,
ТО клиент имеет постоянную работу.[11]

Как условие, так и действие правила могут учитывать несколько выражений, объединенных логическими связками И,ИЛИ, НЕ:

ЕСЛИ клиент имеет постоянную работу
И клиенту более 18 лет
И клиент НЕ имеет финансовых обязательств,
ТО клиент может претендовать на получение кредита.[11]

Помимо продукционных правил база знаний должна включать и простые факты, поступающие в систему через интерфейс пользователя или выводимые в процессе поиска решения задачи. Факты являются простыми утверждениями типа «клиент работает на одном месте более двух лет». И когда в процессе интерпретации правил машиной вывода какой-либо факт согласуется с частью правила ЕСЛИ, то выполняется действие, определяемое частью ТО этого правила. Новые факты, добавляемые в базу знаний в результате действий, описанных в правилах, также могут быть использованы для сопоставления с частями ЕСЛИ других правил. Последовательное сопоставление частей правил ЕСЛИ с фактами порождает цепочку вывода. Цепочка вывода, полученная в результате последовательного выполнения правил П1 и П2 показана ниже (см. Рисунок 1. Пример цепочки вывода.). Эта цепочка показывает, как на основании правил и исходных фактов выводится заключение о возможности получения кредита. Цепочки вывода экспертной системы могут быть предъявлены пользователю и помогают понять, как было получено решение.

Рисунок 1. Пример цепочки вывода.[11]

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


Фреймовая модель.

Впервые термин «фрейм» был предложен в 70-е годы Марвином Минским [12], который определил его следующим образом:
«Фрейм – это структура данных, представляющая стереотипную ситуацию, вроде нахождения внутри некоторого рода жилой комнаты, или сбора на вечеринку по поводу дня рождения ребенка. К каждому фрейму присоединяется несколько видов информации. Часть этой информации – о том, как использовать фрейм. Часть о том, чего можно ожидать далее. Часть о том, что следует делать, если эти ожидания не подтвердятся».
Фрейм — это минимальное возможное описание сущности какого-либо явления, события, ситуации, процесса или объекта. Минимальность означает, что при дальнейшем упрощении описания теряется его полнота, она перестает определять ту единицу знаний, для которой предназначено. Например, слово «комната» вызывает у слушающих образ комнаты: «жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью 6-20 м2 ». Из этого описания ничего нельзя убрать (например, убрав окна мы получим уже чулан, а не комнату), но в нем есть «дырки», — это незаполненные значения некоторых атрибутов — количество окон, цвет стен, высота потолка. покрытие пола и др. [11]. В теории фреймов такой образ называется фреймом.
Фрейм имеет определенную структуру, состоящую из множества элементов –слотов. Каждый слот в свою очередь, представляется определенной структурой данных, процедурой, или может быть связан с другим фреймом.

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

ИМЯ ФРЕЙМА:
(имя 1-го слота: значение 1-го слота),
(имя 2-го слота: значение 2-го слота),
— — — —
(имя N-го слота: значение N-гo слота).

Ту же запись представим в виде таблицы, дополнив двумя столбцами.

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

  1. Процедура на событие «если добавлено» (IF-REMOVED). Выполняется, когда новая информация записывается в слот.
  2. Процедура на событие «если удалено» (IF-ADDED). Выполняется, когда информация удаляется из слота.
  3. Процедура на событие «по требованию» (IF-NEEDED). Выполняется, когда запрашивается информация из пустого слота.


В качестве значения слота может выступать имя другого фрейма; так образуют сети фреймов.
Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, ифреймы-экземпляры, которые создаются для отображения реальных ситуаций на основе поступающих данных. Прототип – это уже не абстрактный образ, а наиболее типичный представитель своего класса, с обобщенными, но вполне конкретными, значениями своих свойств. Например, прототип понятия четырехугольник можно определить как фигуру, имеющую четыре угла.
Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через:

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

Важнейшим свойством теории фреймов является заимствованное из теории семантических сетей наследование свойств. И во фреймах, и в семантических сетях наследование происходит по АКО-связям (A-Kind-Of = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, т.е. переносятся, список и значения слотов. Возможно наследование свойств от нескольких прототипов. Такой вид наследования получи название «множественное наследование».
В качестве примера можно рассмотреть формирование понятия заказ товара (см. Рисунок 2. Пример описания знаний с помощью фреймов.).

Рисунок 2. Пример описания знаний с помощью фреймов.[11]

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

еще рефераты
Еще работы по информатике