Экспертные системы. Учебное пособие по специальности 080801 «Прикладная информатика (в информационной сфере)»
.pdfПерспективными областями применения абдукции являются:
Диагностика. Например, в области медицинских диагнозов кандидатами в абдуктивные объяснения являются возможные заболевания, а наблюдениями являются симптомы заболеваний.
Распознавание графических объектов. В этом случае объяснения-
ми являются объекты распознавания, а наблюдениями – описание изображения в поле зрения.
Обработка естественных языков. Абдукцию можно применять в обработке естественных языков для интерпретации неоднозначных предложений. Здесь абдуктивными объяснениями являются различные варианты понимания таких предложений.
Планирование. В задачах планирования планируемые действия можно трактовать как объяснения целевого состояния, которое должно быть достигнуто.
Приобретение знаний. Приобретение знаний может происходить как добавление к базе знаний не самих данных, поступающих в систему, а их абдуктивных объяснений.
Логические модели являются наиболее строгим, в математическом
смысле, способом представления знаний. Но на практике они не получили большого распространения из-за малой наглядности базы знаний. Основная область применения этих моделей – учебные экспертные системы.
Продукционные модели
Продукционные модели широко используются в системах представления знаний. Первоначально предложенные Постом в 1943 году, они были применены в системах искусственного интеллекта в 1972 году, получив свое развитие в последующие годы.
Продукционные модели могут быть реализованы как процедурно, так и декларативно. Их простота и строгая форма послужили основой ряда интересных свойств, что сделало их удобным средством представления знаний.
Продукционная экспертная система – это система, которая воспринимает совокупность известных фактов и строит новые заключения, работая в режиме распознавание – заключение (действие).
31
Продукционное правило, или продукция, – это оператор преобразования, представляющий собой выражение следующего вида:
<ситуация> → <заключение>.
Левая часть правила связана с распознаваемой ситуацией и содержит список признаков, которые должны быть выполнены, чтобы было выполнено заключение, содержащееся в правой части.
Возможна и другая трактовка понятия продукции:
<ситуация> → <действие>.
Здесь правая часть содержит список действий, которые должны быть выполнены, если выполнен список признаков, описывающих ситуацию.
Таким образом, продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа:
ЕСЛИ (условие), ТО (заключение, действие).
Под условием понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под действием – действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и целевыми, завершающими работу системы).
Условная часть может состоять из одного или нескольких условий. Если условная часть правила удовлетворяет содержимому рабочей памяти, то правило может быть применено, что приведет к изменению рабочей памяти. Машина логического вывода выполняет следующие действия:
1)определяет, какое именно правило следует выбрать;
2)выполняет выбранное правило и дополняет рабочую память;
3)прекращает вычисления, если выполнено одно из 2-х условий:
условие выполнено;
невозможно применить ни одного правила из базы правил. Если на каждом этапе логического вывода существует множество
применяемых правил, то это множество носит название конфликтного набора, а выбор одного из них называется разрешением конфликта. Чтобы повысить эффективность продукционной системы, необходимо решить проблему управления последовательностью применения правил или управления выводом.
32
Продукционная система состоит из трех основных компонентов:
1)набор правил, которые используются как база знаний;
2)рабочая память, где хранятся посылки отдельных задач, а также результаты вывода;
3)механизм (машина) логического вывода.
Механизм вывода работает следующим образом: если все образцы
имеются в рабочей памяти, условная часть является истинной, в противном случае – ложной.
Впродукционных экспертных системах может быть реализована прямая и обратная цепочка рассуждений.
Прямая цепочка рассуждений в системе продукций
Допустим, в базе правил экспертной системы имеются два правила. Правило 1: ЕСЛИ «намерение – отдых» и «дорога ухабистая»,
ТО «использовать джип».
Правило 2: ЕСЛИ «место отдыха – горы», ТО «дорога ухабистая». Допустим, что в рабочую память поступили исходные данные:
«намерение – отдых», «место отдыха – горы».
Механизм вывода начинает сопоставлять образцы из условных частей правил с образцами, хранимыми в рабочей памяти: если образцы из условной части имеются в рабочей памяти, то условная часть считается истинной, в противном случае – ложной.
Вданном примере при рассмотрении правила 1 оказывается, что образец «намерение – отдых» имеется в рабочей памяти, а образец «дорога ухабистая» отсутствует, поэтому условная часть правила 1 считается ложной.
При рассмотрении правила 2 выясняется, что его условная часть истинна. Механизм вывода выполняет заключительную часть этого правила, и образец «дорога ухабистая» заносится в рабочую память.
Правило 2 при этом выбывает из числа кандидатов на рассмотрение.
Снова рассматривается правило 1, условная часть которого теперь становится истинной, и содержимое рабочей памяти пополняется образцом «использовать джип». В итоге правил, которые можно было бы применять, не остается и система останавливается.
Врассмотренном примере приведен прямой вывод: от данных –
кпоиску цели. Однако применяют и обратный вывод: от цели для ее подтверждения – к данным.
33
Обратная цепочка рассуждений в системе продукций
Допустим, что наряду с исходными данными «намерения – отдых», «место отдыха – горы» имеется цель «использовать джип».
Согласно правилу 1 для достижения этой цели требуется выполнение условия «дорога ухабистая», поэтому условие становится новой целью. При повторном рассмотрении правила 2 оказывается, что условная часть этого правила в данный момент истинна, поэтому рабочая память пополняется образцом «дорога ухабистая». При повторном рассмотрении правила 1 подтверждается цель «использовать джип».
При обратном выводе система останавливается в двух случаях: либо достигается первоначальная цель, либо заканчиваются правила. При прямом выводе система останавливается только тогда, когда заканчиваются правила, либо при появлении в рабочей памяти специально предусмотренного образца, например, «использовать джип».
Продукционные модели могут быть с большим успехом использованы для областей знаний, о которых мы располагаем только некоторым набором независимых правил (эвристик), а не четкой теорией, вполне завершенной и последовательной, и где поэтому нет алгоритмов, прямо приводящих к цели.
Они получили широкое распространение при реализации ЭС, в которых знания представлены с помощью правил вида ЕСЛИ – ТОГДА (явление – реакция, условие – действие). Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода.
Систему продукций можно считать наиболее распространенной моделью представлений знаний. Наиболее ярким представителем продукционной экспертной системы является OPS5.
В ЭС OPS5 реализуется прямая цепочка рассуждений, эффективность выполнения которых увеличена благодаря применению алгоритма согласования RETE при генерации конфликтного набора. По этому алгоритму каждый раз при дополнении рабочей памяти новым образцом проверяется правило, в котором этот образец используется, и если образец удовлетворяет условной части правила, то он запоминается именно в этом качестве, и только если добавление образца удовлетворяет всем
34
условиям, данное правило включается в конфликтный набор. В OPS5 применяется метод разрешения конфликта LEX: предпочтение здесь отдается правилам со ссылкой на самый последний сгенерированный элемент рабочей памяти. Среди этих элементов выбирается правило с наибольшим числом условий в условной части. В последних версиях OPS алгоритм разрешения конфликтов частично может определять пользователь.
Другими примерами реальных экспертных систем, в которых в качестве основной модели представления знаний использовалась система продукций, являются EMYCIN, AGE.
Семантические сети
Важной моделью представления знаний являются семантические сети. Впервые это понятие было введено в 60-х годах Куиллианом для представления семантических связей между словами. Семантические сети не являются однородным классом схем представления. Имеется лишь несколько общих черт, объединяющих ряд механизмов представления, называемых семантическими сетями. Часто общей основой являются лишь сходство формального обозначения (направленный граф с помеченными вершинами и ребрами) и основной принцип, заключающийся в том, что элементы знаний должны храниться смежно, если они семантически связаны.
Под семантической сетью понимают направленный граф с помеченными вершинами и дугами, в котором вершины соответствуют конкретным объектам, а дуги, их соединяющие, отражают имеющиеся между ними отношения.
Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, соответствующей поставленному вопросу.
Выделяют несколько классификаций семантических сетей:
по количеству типов отношений (однородные – с единственным типом отношений; неоднородные – с различными типами отношений);
по типам отношений (бинарные – в которых отношения связывают два объекта; n-арные – отношения, связывающие более двух понятий).
35
Отношения, используемые в семантических сетях, можно разделить на следующие:
лингвистические, в частности, включающие в себя отношения типа «объект», «агент», «условие», «место», «инструмент», «цель», «время» и др.;
атрибутивные, к которым относят форму, размер, цвет и т. д.;
характеризации глаголов, т. е. род, время, наклонение, залог, число;
логические, обеспечивающие выполнение операций для исчисления высказываний (дизъюнкция, конъюнкция, импликация, отрицание);
квантифицированные, т. е. использующие кванторы общности и существования;
теоретико-множественные, включающие понятия «элемент множе-
ства», «подмножество», «супермножество» и др.
Основа семантической сети – события, атрибуты, комплексы признаков и процедуры.
События – это суждения, факты, результаты наблюдений, рекомендации. Они могут представляться словосочетаниями и числами, группируются тематически или функционально в разделы, делятся на характеризуемые и характеризующие (события-признаки: например, «идет дождь» для события «дождливая погода»).
Атрибут – это характеризующее событие, имеющее несколько значений (например, «погода» – атрибут «времени года»).
Несколько признаков могут объединяться в комплекс, характеризующий событие в большей степени, чем отдельный признак.
Процедура – это специфический компонент сети, выполняющий преобразование информации. Она позволяет вычислять значения одних атрибутов на основании других, оперируя как с числами, так и с символами.
На рисунке 4 представлен пример семантической сети, описывающей простейшие арифметические операции.
Выразительная сила семантических сетей несколько слабее, чем в логике предикатов. Однако по сравнению с логикой предикатов семантические сети имеют то важное преимущество, что вся точно известная информация о той или иной концепции расположена в базе знаний вокруг соответствующей вершины.
36
Рисунок 4 – Семантическая сеть, описывающая простейшие арифметические операции
Семантические сети нашли применение, в основном, в системах обработки естественного языка, частично в вопросно-ответных системах, а также в системах искусственного видения. В последних семантические сети используются для хранения знаний о структуре, форме и свойствах физических объектов. В области обработки естественного языка с помощью семантических сетей представляют семантические знания, знания о мире, эпизодические знания (т. е. знания о пространственно-временных событиях и состояниях).
Основное преимущество этой модели – в соответствии современным представлениям об организации долговременной памяти человека. Недостаток модели – сложность поиска вывода на семантической сети.
37
Представление знаний на основе фреймов
Для представления и описания стереотипных объектов, событий или ситуаций было введено понятие «фреймы», которые являются сложными структурами данных.
Фреймы были впервые предложены в качестве аппарата для представления знаний М. Минским в 1975 году. Определение фрейма, данное М. Минским: «Фрейм – это единица представления знаний, запомненная в прошлом, детали которой при необходимости могут быть изменены согласно текущей ситуации» [15, с. 47].
Таким образом, фреймы – это минимальные структуры информации, необходимые для представления класса объектов, явлений или процессов.
В общем виде фрейм может быть описан строкой: <ИФ, (ИС, ЗС, ПП), … (ИС, ЗС, ПП)>
где ИФ – имя фрейма, ИС – имя слота, ЗС – значение слота, ПП – имя присоединенной процедуры.
Слоты – это некоторые незаполненные подструктуры фрейма, заполнение которых приводит к тому, что данный фрейм ставится в соответствие некоторой ситуации, явлению или объекту. Значениями слота могут выступать: числа, математические соотношения, тексты на естественном языке, программы, правила вывода, ссылки на другие слоты данного фрейма или других фреймов.
Иерархическая структура сети фреймов построена на отношениях «род-вид» и «часть-целое». Отношения «род-вид» характерны тем, что на верхних уровнях расположены абстрактные объекты, а на нижних уровнях – конкретные объекты. Причем объекты нижних уровней наследуют значения атрибутов объектов верхних уровней. Эти отношения еще называют отношениями типа ISA.
Отношение «часть-целое» касается структурированных объектов и показывает, что объект нижнего уровня является частью объекта верхнего уровня.
Рассмотрим более подробно структуру данных фрейма (табл. 2).
38
Таблица 2 – Структура данных фрейма
|
|
Имя фрейма |
|
|
|
|
|
|
|
Имя слота |
Указатель |
Указатель атри- |
Значение |
|
|
наследования |
бутов слота или |
слота |
Демон |
|
|
типа данных |
|
|
СЛОТ_1 |
|
|
|
|
СЛОТ_2 |
|
|
|
|
|
|
|
|
|
… |
|
|
|
|
|
|
|
|
|
СЛОТ_n |
|
|
|
|
Имя фрейма – идентификатор, присваиваемый фрейму. Имя должно быть уникальным.
Имя слота – идентификатор, присваиваемый слоту; слот должен иметь уникальное имя во фрейме, к которому он принадлежит. Обычно имя слота не несет никакой смысловой нагрузки, но в некоторых случаях оно может иметь специфический смысл. Так, при редактировании базы знаний и управлении выводом используются системные слоты, имеющие такие имена, как имя пользователя, определяющего фрейм, дата определения фрейма, дата модификации фрейма, указатель прямого дочернего фрейма и т. д.
Указатели наследования. Эти указатели касаются только фреймовых систем иерархического типа, основанных на «родо-видовых» отношениях. Указатели наследования показывают, какую информацию об атрибутах слотов во фрейме верхнего уровня наследуют слоты с такими же именами во фрейме нижнего уровня.
Указатели атрибутов слота или типа данных. Здесь показывает-
ся, что слот имеет численное значение либо служит указателем другого фрейма. К типам данных относятся, например,
FRAME (указатель) |
TEXT (текст) |
INTEGER (целое) |
LIST (список) |
REAL (действительное) |
TABLE (таблица) |
BOOL (булево) |
EXPRESSION (выражение) |
LISP (присоединятся) процедура и другие.
39
Значение слота должно совпадать с указанным типом данных этого слота; кроме того, должно выполняться условие наследования значение слота: имя, численное значение, процедура, указатель и т. д.
Демоном называется процедура, автоматически запускаемая при выполнении некоторого условия. Демоны запускаются при обращении к соответствующему слоту. Например, демон FRL IF-NEEDED запускается, если в момент обращения к слоту его значение не было установлено, IF-ADDED запускается при подстановке в слот значения, IF-REMOVED запускается при стирании значения слота. Демон является разновидностью присоединенной процедуры.
Присоединенная процедура (ПП). В качестве значения слота можно использовать программу процедурного типа, называемую служебной. ПП запускается по сообщению, переданному из другого фрейма. Важно отметить, что в языках представления знаний фреймами отсутствует специальный механизм управления выводом, поэтому пользователь должен реализовать данный механизм с помощью присоединенной процедуры.
Выделяют также такой вид процедуры, как процедуры-слуги. Они активизируются только при выполнении условий, определенных пользователем при создании фрейма.
С каждым фреймом связана информация: как использовать фрейм, что делать, если происходит что-либо непредвиденное, недостающие значения для слотов. Фрейм с заполненными слотами называется экземпляром фрейма и используется для отображения реальных ситуаций на основе поступающих данных.
Для организации связи между объектами предметной области строится сеть фреймов. Связь может быть организована путем указания в качестве значений некоторых слотов одного фрейма имен других фреймов.
Для уменьшения информационной избыточности во фреймовых системах реализуют принцип наследования информации, заимствованный из теории семантических сетей и позволяющий общую (глобальную) для системы информацию хранить в отдельном фрейме, а во всех остальных фреймах указывать лишь ссылку на место хранения этой информации.
40
