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

ИНЖЕНЕРИЯ ЗНАНИЙ

ЦЕЛЬ: Познакомиться с реализацией экспертной системы на языке пролог и научиться писать продукционную, фреймовую и экспертную системы

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

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

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

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

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

Объем знаний, необходимый для любого значительного приложения экспертных систем, обычно велик и поэтому для выборки, обновления и поддержания таких объемов знаний экспертным системам необходимы "хорошие" модели представления знаний. Кроме того, удачная модель представления может значительно облегчить построение логического вывода. В экспертных системах возможны модели представления знаний:

·в форме продукционных правил;

·логическая;

·семантические сети;

·фреймы;

·комбинированные.

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

Логические модели позволяют хранить в базе лишь те знания, которые образуют множество аксиом, а все остальные знания – получать из них по правилам вывода. Логика обладает точной, простой и декларативной семантикой, поскольку она не является системой программирования. Более того, как показывает пример силлогизмов, логические рассуждения относительно близки к обычным рассуждениям человека. К недостаткам данной модели можно отнести ее неструктурируемость, а также невозможность манипулирования понятиями, истинность которых не определена.

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

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

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

Настоящие методические указания предназначены для самостоятельного изучения в лабораторном практикуме составных частей архитектуры экспертной системы, представленной на рис. 1. В частности, создание интерфейса пользователя, представление знаний в форме фреймов – создание, конкретизация слотов, удаление и т.д., и наконец, создание экспертных систем, основанных на фреймовом представлении.

ПРЕДСТАВЛЕНИЕ ЗНАНИЙ С ПОМОЩЬЮ ПРОДУКЦИОННЫХ СИСТЕМ

ЦЕЛЬ: знакомство с продукционной системой представления знаний.

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

A ® B,

где A - условия применимости, а B - заключение или действие, которое имеет место при истинности A.

Рассмотрим пример продукционной экспертной системы, предназначенной для различения животных. Ниже представлен граф И/ИЛИ для правил вывода этой системы.

рис 5.1

run:-asserta((bd_negative('a1','b'))),asserta((bd_positive('a1','b'))),animal_is(X),!,nl,write('Я думаю, что это '),write(X),nl,clr.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: