22185

Модели представления знаний

Лекция

Информатика, кибернетика и программирование

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

Русский

2013-08-04

655.5 KB

102 чел.

20

Лекция 3

Модели представления знаний

Вопросы:

1. Классификация моделей представления знаний. Модели на основе эвристического подхода.

2. Продукционная модель. Механизм логического вывода

3. Фреймовая модель. Механизм логического вывода

4. Модель семантической сети. Механизм логического вывода

5. Модели на основе теоретического подхода

  1.  Классификация моделей представления знаний 

Одним из основных элементов в архитектуре экспертной системы является база знаний (БЗ). Согласно одному из принципов, высказанных Е. Фейгенбаумом, мощность экспертной системы зависит, в первую очередь, от мощности базы знаний и возможности ее пополнения. Что является содержимым БЗ? Это совокупность знаний той предметной области, для которой создана ЭС. Причем эти знания представлены в интерпретации эксперта (или группы экспертов).

Обработка данных на ЭВМ, как правило, связана с использованием моделей систем, процессов и т.д. То, что хранится в БЗ, также не является знаниями в чистом виде. Речь идет, как правило, о моделях знаний.

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

При проектировании модели представления знаний следует учесть два требования: однородность представления; простоту понимания.

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

Рисунок 1 –  Классификации моделей представления знаний

Дадим общую характеристику основных методов представлений знаний.

Модели на основе эвристического подхода. Представление знаний тройкой «объект – атрибут – значение». Один из первых методов моделирования знаний. Как правило, используется для проставления фактических знаний в простейших системах.

Пример

Объект

Атрибут

Значение

Студент

Успеваемость

Отличник

Дом

Цвет

Белый

Пациент

Температура

Нормальная

Очевидно, что для моделирования знаний даже об одном объекте (например, о «студенте» или «доме») из предметной области необходимо хранить значительное число «троек».

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

Модель правил, модель продукций – от англ. production – изготовление, выработка. В настоящее время наиболее проработанная и распространенная модель представления знаний, в частности в ЭС.

Модель предусматривает разработку системы продукционных правил (правил продукций), имеющих вид:

ЕСЛИ А1  И  А2  И  …  И  Ап  ТО  В1  ИЛИ В2  ИЛИ … ИЛИ  Вт,

где Аi  и Вj  – некоторые высказывания, к которым применены логические операции И и ИЛИ. Если высказывания в левой части правила (ее часто называют антецедент – условие, причина) истинно, истинно и высказывание в правой части (консеквент – следствие).

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

2.1. Механизм логического вывода в продукционных системах   

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

Как следует из определения, для работы механизма логического вывода необходима как «долговременная» информация, содержащаяся к базе знаний в выбранном при разработке ЭС виде, так и «текущая» оперативная информация, поступающая в рабочую память после обработки в лингвистическом процессоре запроса пользователя. Таким образом, база знаний отражает основные (долговременные) закономерности, присущие предметной области. Запрос пользователя, как правило, связан с появлением каких-либо новых фактов и/или с возникновением потребности в их толковании.

Перед рассмотрением конкретных механизмов логического вывода подчеркнем несколько важных обстоятельств:

- единого механизма логического вывода для произвольных систем, основанных на знаниях (ЭС), не существует;

- механизм логического вывода полностью определяется моделью представления знаний, принятой в данной системе;

- существующие механизмы логического вывода не являются строго фиксированными («узаконенными») для каждого типа систем, основанных на знаниях (ЭС).

Из всех известных механизмов вывода механизм логического вывода является наиболее формализованным (предопределенным).

Различают два типа логического вывода:

- прямой вывод (прямая цепочка рассуждений);

- обратный вывод (обратная цепочка рассуждений).

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

В терминах «факты-правила» формирование цепочки вывода заключается в многократном повторении элементарных шагов «сопоставить – выполнить».

Рассмотрим следующий пример [2]. В базе знаний некоторой ЭС содержатся три правила, а в рабочей памяти до начала вывода — пять фактов: B,C,H,G,E (рис.2).  Пусть на вход системы (в рабочей памяти) поступил факт А. Механизм вывода «просматривает» левые части правил с целью нахождения таких из них, которые позволяют извлечь новые факты (процедура «сопоставить»). В нашем примере на основе третьего правила выводится факт D. Происходит элементарный шаг «выполнить» - данный факт заносится в рабочую память. Процедура «сопоставить” по фактам С и D выявляет факт F. После шага «выполнить» этот факт попадает в рабочую область. По фактам F и В выводится факт  Z, и дальнейший «просмотр» правил БД новой информации не дает.

Рисунок 2 - Прямая цепочка рассуждений

Таким образом, прямая цепочка рассуждений состоит из следующих фактов: А —DFZ. Иными словами, из факта А на основе имеющихся в базе знаний правил «получен» факт Z.

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

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

Механизм обратного вывода имеет совершенно иной алгоритм. Его идея заключается в проверке справедливости некоторой гипотезы (некоторого суждения, факта), которая выдвигается пользователем и проверяется ЭС. При этом осуществляется проверка истинности не левых, а правых частей продукций, а вопрос формулируется так: «Что нужно, чтобы правая часть данного правила была справедлива и есть ли необходимые суждения в рабочей памяти?». На рис. 3 показана работа механизма обратного вывода для того же примера, что для прямой цепочки рассуждений (в предположении, что факт А занесен в рабочую память).

При реализации данного механизма пополнения рабочей памяти новыми (выведенными) фактами не производится, а лишь проверяется наличие необходимых суждений на очередном шаге алгоритма. Поскольку непосредственно факта Z  в рабочей памяти нет, производится анализ правых частей правил до поиска такого правила, которое обосновывает справедливость суждения Z. Чтобы факт Z был истинным, необходимы факты F и В. Факт В есть, факта Z нет. Чтобы факт B был истинным, необходимы факты С и D. Факт С есть, факта D нет. Наконец, чтобы был справедлив факт D, нужно наличие факта A, и так как он в рабочей памяти имеется, обратный вывод закончен. Окончательный результат - на основании имеющихся в ЭС правил и фактов гипотеза о справедливости факта Z подтверждается.

Рисунок 3 - Обратная пеночка рассуждений

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

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

Пример 1. 

Пусть в некоторой области памяти (базе знаний) хранятся следующие правила (суждения):

• правило 1: ЕСЛИ в стране происходит падение курса национальной валюты, ТО материальное положение населения ухудшается;

• правило 2: ЕСЛИ объемы производства в стране падают, ТО курс национальной валюты снижается;

• правило 3: ЕСЛИ материальное положение населения ухудшается, ТО уровень смертности в стране возрастает.

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

факт 1 – правило 2 –  правило 1 – заключение 1 – правило 3 – заключение 2,

где заключение 1 (промежуточный вывод) – «Материальное положение населения ухудшается»;

заключение 2 (окончательный вывод) –  «В стране возрастает уровень смертности».

Пример 2. 

Предположим, что имеется фрагмент базы знаний из двух правил:                                   

П1: Если "отдых - летом" и "человек - активный", то "ехать в горы".                      

П2: Если "любит солнце", то "отдых летом".                                 

Предположим, в систему поступили данные -"человек активный" и "любит солнце»

Прямой вывод - исходя из данных, получить ответ.

1-й проход.                                               

Шаг I. Пробуем П1, не работает (не хватает данных "отдых - летом").                      

Шаг 2. Пробуем П2, работает, в базу поступает факт "отдых - летом".                 

2-й проход.

Шаг 3. Пробуем П1, работает, активируется цель "ехать в горы", которая и выступает как совет, который дает ЭС.                                                       

Обратный вывод - подтвердить выбранную цель при помощи имеющихся правил и данных.                                                                    

1-й проход.                                                                                                                                     

Шаг 1. Цель - "ехать в горы": пробуем П1 -данных "отдых - летом" нет, они становятся новой цепью, и ищется правило, где она в правой части.                                

Шаг 2.  Цель "отдых - летом"; правило П2 подтверждает цель и активирует ее.

2-й проход.

Шаг 3.  Пробуем П1, подтверждается искомая цель.                                                       

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

Имеется большое число программных средств, реализующих продукционный подход: "оболочки" или "пустые" ЭС-ЕХSУS , ЭКСПЕРТ; инструментальные системы и  промышленные ЭС и др.

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

Главными достоинствами продукционных систем являются простота пополнения и изъятия правил; простота реализации механизма логического вывода и наглядность объяснений результатов работы системы.

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

Кроме того, время формирования итогового заключения может быть достаточно большим.

Экспертные системы, основанные на правилах

В системе, основанной на правилах, пары "условие-действие" представляются правилами "если..., то...", в которых посылка (часть если) соответствует условию, а заключение (часть то) - действию. Если условие удовлетворяется, экспертная система осуществляет действие, означающее истинность заключения. Данные частных случаев можно хранить в рабочей памяти. Механизм вывода осуществляет цикл продукционной системы "распознавание-действие". При этом управление может осуществляться либо на основе данных, либо на основе цели.

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

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

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

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

Правило  1:   если

топливо поступает в двигатель и

двигатель  вращается,

то проблема в свечах зажигания.

Правило 2: если

двигатель не вращается и

фары не горят,

то проблема в аккумуляторе или проводке.

Правило 3: если

двигатель не вращается и

фары горят,

то проблема в стартере.

Правило 4: если

в баке есть топливо и

топливо поступает в карбюратор,

то топливо поступает  в  двигатель.

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

Рис. А Начало работы продукционной системы диагностики неисправностей автомобиля

Здесь X— переменная, которая может сопоставляться с любой фразой, например, проблема в аккумуляторе или проводке. В процессе решения задачи она будет связана с некоторым значением. С выражением в рабочей памяти сопоставляются три правила: правило 1, правило 2 и правило 3. Если мы разрешаем конфликты, предпочитая правила с наименьшим номером, будет активизироваться правило 1. При этом X связывается со значением свечи зажигания, и предпосылки правила 1 помещаются в рабочую память (рис. б). Таким образом, система выбирает для исследования гипотезу о неисправности свечей зажигания. Это можно рассматривать как выбор системой ветви ИЛИ на графе И/ИЛИ.

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

Рис. Б - Продукционная система после активизации правила 1

Рис. В - Система после активизации правила 4.

Обратите внимание на использование стека в процессе приведения цели

Теперь в рабочей памяти существуют три элемента, которые не соответствуют ни одному из заключений в наборе правил. В подобной ситуации экспертная система будет запрашивать пользователя. Если пользователь подтвердит истинность всех трех подцелей, система успешно определит, что автомобиль не заводится из-за неисправности свечей зажигания. При поиске этого решения система исследовала крайнюю слева ветвь графа И/ИЛИ, показанного на рис. Г.

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

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

Рис.-Г Граф И/ИЛИ при сравнении заключения правила 4 с первой предпосылкой правила 1 в примере диагностики автомобиля

рабочей памяти на рис. и на графе, представленном на рис. ,явно не выражена.

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

Ранее мы подчеркивали, что экспертная система должна быть открытой для инспектирования, легко модифицируемой и эвристической по природе. Архитектура продукционной системы является важным фактором для каждого из этих требований. Легкость модификации, например, определяется синтаксической независимостью продукционных правил: каждое правило является "глыбой" знаний, которая может модифицироваться независимо. Однако существуют семантические ограничения, поскольку индивидуальные правила связаны по смыслу. Значит, они должны быть согласованы в любом процессе редактирования или модификации. Ниже мы обсудим генерацию объяснений и управление выводом.

 Объяснения и прозрачность при рассуждениях на основе цели

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

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

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

в  баке  есть  топливо?

да

топливо поступает в карбюратор?

да

двигатель вращается?

почему

Здесь пользователь задает вопрос: "Почему вы хотите знать, вращается ли двигатель?". Система отвечает с помощью символьного представления правила, к которому относится вопрос.

Было установлено, что:

  1.  топливо поступает в двигатель,
    поэтому если
  2.  двигатель вращается,

то проблема в свечах зажигания.

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

как топливо поступает в  двигатель?

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

Из правила 4 следует:

если

в баке есть топливо и

топливо поступает в карбюратор,

то

топливо поступает в двигатель.

в  баке  есть  топливо — указано пользователем

топливо поступает в  карбюратор — указано пользователем

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

Итак, система, основанная на знаниях, отвечает на вопросы "почему?", отображая текущее правило, которое она пытается активизировать. В ответ на вопросы "как?" она предоставляет последовательность рассуждений, которая привела к цели. Хотя эти механизмы являются концептуально простыми, они обладают хорошими возможностями объяснений, если база знаний организована логически грамотно. Если объяснения должны быть логичными, важно не только, чтобы база знаний выдавала корректный ответ, но и чтобы каждое правило соответствовало одному шагу процесса решения проблемы. Если в одном правиле базы знаний заключено несколько шагов или правила сформулированы произвольным образом, получить правильные ответы на вопросы "как?" и "почему?" будет сложнее. Это не только подрывает доверие пользователя к системе, но и делает программу более трудной для понимания и модификации разработчиками.

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

Сравнительно новая модель представления знаний. Само понятие «фрейм» (англ. frame – рама, рамка, скелет, сгусток,, сруб и т.д.) было введено в 1975 г. М.Минским (США).

Фрейм - это минимальная структура информации, необходимая для представлений знаний о стереотипных классах объектов, явлений, ситуаций, процессов и др. С помощью фреймов можно моделировать знания о самых разнообразных объектах интересующей исследователя предметной области - важно лишь, чтобы эти объекты составляли класс концептуальных (повторяющихся, стереотипных) объектов, процессов и т.п. Примерами стереотипных жизненных ситуаций могут служить собрание, совещание, сдача экзамена или зачета, защита курсовой работы и др.  Примеры стереотипных бытовых ситуаций: отъезд в отпуск, встреча гостей, выбор телевизора, ремонт и др. Примеры стереотипных понятий: алгоритм, действие, методика и др. На рис.3  представлен фрейм технологической операции «соединять» [2]. Данный фрейм описывает ситуацию «Субъект X соединяет объект Y с объектом Z способом W».

Рисунок 3 –  Фрейм ситуации «соединять»: дуги — отношении: сплошная линия –«объект», пунктирная –«субъект», пунктирная с точками «посредством чего», вершины X, У, Z, W' - слоты - составляющие фрейма; Dx; Dy; Dz; Dw - области возможных значения соответствующих слотов

Понятие слота. Например, слово "комната" вызывает у слушавших образ комнаты: жилое помещение с четырьмя стенами, полом, потолком, окнами дверью, площадью 6-20 м2 ". Из этого описания ничего нельзя убрать (например убрать окна, мы получим уже чулан, а не комнату), но в нем есть "дырки", или "слоты" — это не заполненные значения некоторых атрибутов — количество окон, цвет стен, высота потолков, покрытие пода и др.

Наполняя слоты конкретным содержанием, можно получить фрейм конкретной ситуации, например: «Радиомонтажник соединяет микросхему с конденсатором способом пайки». Заполнение слотов шанциями называют активизацией фрейма.

Слоты в фрейме играют ту же роль, что и поля в записи (БД). При этом их наполнителями являются значения, хранящиеся в полях.

Значением слота может быть практически что угодно (числа или математические соотношения, тексты на естественном языке или программы, правила вывода или ссылки на другие слоты данного фрейма или других фреймов). В качестве значения слота может выступать набор слотов более низкого уровня, что позволяет во фреймовых представлениях реализовать "принцип матрешки".

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

ИМЯ ФРЕЙМА:

(имя 1-го слота: значение 1-го слота),

(имя 2-го слота: значение 2-го слота),

………………………………………..

(имя N-го слота: значение К-го слота).

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

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

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

Рисунок 4 – Фрейм понятие  «технологическая операция»

По содержательному смыслу фрейма выделяют:

• фреймы-понятия;

• фреймы-меню;

• фреймы с иерархически вложенной структурой.

Фрейм-понятие — это фрейм типа И. Например, фрейм «операция» содержит объединенные связкой И имена слотов «что делать», «что это дает», «как делать», «кто делает», «где делать» т.д., а фрейм «предмет» — слоты с именами «назначение», «форма», «вес», «цвет» и т.д.

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

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

Значения слотов могут содержать ссылки на так называемые присоединенные   процедуры. Различают два вида присоединенных процедур: процедуры-демоны; процедуры-слуги.

Процедуры-демоны присоединяются к слоту и активизируются при изменении информации в этом слоте (выполняют вспомогательные операции — например, автоматически корректируют информацию во всех других структурах, где используется значение данного слота).

1.  Процедура «Если - добавлено» (IF - АDDED) выполняется, когда новая информация помещается в слот.

2.  Процедура «Если - удалено» (IF- REMOVED) выполняется, когда информация удаляется из слота.

3.  Процедура «Если - нужно» (IFNEEDED) выполняется, когда запрашивается информация из пустого слота.

Процедуры-слуги активизируются при выполнении: некоторых условий относительно содержимого слотов {часто по запросу). Данные процедуры определяются пользователем при создании фрейма. Например, во фрейме «Учебная аудитория» можно предусмотреть слоты «Длина» и «Ширина», а по их значениям вычислять значение слога «площадь».

Важнейшим свойством теории фреймов является заимствование из теории семантических сетей — так называемое наследование свойств. И во фреймах, и в семантических сетях наследование происходит по АКО-связям (А-Кта-О/ = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, то есть переносятся, значения аналогичных слотов.

Пример 3. Например, в сети фреймов на рис.5 понятие «ученик» наследует свойства фреймов «ребенок» и «человек», которые находятся на более высоком уровне иерархии.

Так, на вопрос «любят ли ученики сладкое» следует ответ «да», так как этим свойством обладают все дети, что указано во фрейме «ребенок». Наследование свойств может быть частичным, так как возраст для учеников не наследуется из фрейма «ребенок», поскольку указан явно в своем собственном фрейме.

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

Рисунок 5 – Сеть фреймов

3.1 Понятие о механизме логического вывода во фреймовых системах

Как уже отмечалось, обычно фреймовая модель знаний имеет сложную иерархическую структуру, отражающую реальные объекты (понятия) и отношения (связи) некоторой предметной области. Механизм логического вывода в таких ЭС основан на обмене значениями между одноименными слотами различных фреймов и выполнении присоединенных процедур «если—добавлено», «если—удалено» и «если—нужно». Условная схема таких действий для простейшего варианта представлена на рис.6.

Запрос к ЭС в виде сообщения поступает в старший по иерархии фрейм (на рисунке — фрейм А). Если ответа на запрос нет ни в одном из слотов этого фрейма или их совокупности, соответствующие сообщения (запросы) передаются во все фреймы, где имеются слот (слоты), имена которых содержатся в запросе или необходимы для поиска ответа на него (фреймы В и D}. Если в них содержится искомый ответ, значение соответствующего слота передается в старший по иерархии фрейм (из фрейма D во фрейм A). Если для этого нужна дополнительная информация, предварительно передается сообщение (из фрейма В во фрейм С) и получается значение (из фрейма С во фрейм В). Значения, передаваемые в ответ на сообщения, либо непосредственно содержатся в соответствующих слотах фреймов, либо определяются как результат выполнения присоединенных процедур.

Рисунок 6 - Механизм вывода во фреймовой модели:

сообщение;------ - значение

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

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

Рисунок 7 - Иерархия понятия «Отчет по научно-иссдедоватедьской работе»

Рис.8 содержит структуры понятий «Отчет по научно-исследовательской работе» и «Этапный отчет по научно-исследовательской работе», а рис.9 - структуру понятия «Этапный отчет по научно-исследовательской работе «Залив» со значениями некоторых слотов и присоединенными процедурами. 

Рисунок 8 - Структура понятий «Отчет по научно-исследовательской работе» и «Этапный отчет по научно-исследовательской работе» 

Рисунок 9 - Структура понятия «Этапный отчег по научно-исследовательской работе «Залив»

Фреймовая система функционирует следующим образом. Пусть в ЭС поступил запрос от полномочного пользователя: «Необходима информация о ходе выполнения научно-исследовательской работы «Залив» (напомним, что, как правило, язык исходного запроса близок к естественному). Информация проходит через лингвистический процессор, анализируется и в виде значения «Залив» вносится в слот Шифр узла «Этапный отчет по научно-исследовательской работе «Залив». Далее начинают работать присоединенные процедуры:

- процедура «Если—добавлено», связанная со слотом Шифр, выполняется, поскольку в слот было введено некоторое значение. Эта процедура осуществляет поиск сведений о руководителе научно-исследовательской работы «Залив» (в нашем примере - И.И.Иванов) и вписывает это имя в слот Автор узла «Этапный отчет по научно-исследовательской работе «Залив»;

- процедура «Если—добавлено», связанная со слотом Автор, выполняется, так как в слот было вписано значение. Эта процедура начинает составлять сообщение, чтобы отправить его И. И. Иванову, но обнаруживает, что отсутствует значение слота Дата;

- процедура «Если—добавлено», просматривая слот  Дата и найдя его пустым, активизирует процедуру «Если—нужно», связанную с этим слотом. Процедура найдет текущую дату, используя календарь ЭС, выберет ближайшую к ней (но большую) дату представления отчета (в нашем примере — 31.03.2003) и впишет ее в слот Дата;

- процедура «Если—добавлено», связанная со слотом Автор, найдет, что отсутствует еще одно значение, необходимое для формирования выходного сообщения, а именно значение слота Объем. Данный слот (узла «Этапный отчет по научно-исследовательской работе «Залив») не имеет присоединенных процедур, поэтому приходится брать значение по умолчанию из одноименного слота общей концепции «Этапного отчета по научно-исследовательской работе (в нашем примере — 40 с.).

Теперь ЭС может сформировать выходное сообщение типа: «Этапный отчет по научно-исследовательской работе «Залив» должен быть представлен И. И. Ивановым к 31 марта 2003 г. Предполагаемый объем отчета — 40 с.» и/или «И.И, Иванов! Представьте этапный отчет по научно-исследовательской работе «Залив» объемом не более 40 с. к 3! марта 2003 г.».

Если в какой-либо момент значение слота Автор (в нашем примере — И. И. Иванов) будет удалено, то сработает процедура «Если—удалено» и система автоматически отправит И. И. Иванову уведомление о том, что отчет не требуется.

4. Модель семантической сети  

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

В семантических сетях используют три типа вершин:

  •   вершины-понятия (обычно это существительные);
  •   вершины-события (обычно это глаголы);
  •   вершины-свойства (прилагательные, наречия, определения).

         Дуги сети (семантические отношения) делят на четыре класса:

  •   лингвистические (падежные, глагольные, атрибутивные);
  •   логические (И, ИЛИ, НЕ);
  •   теоретико-множественные (множество — подмножество, отношения целого и части, родовидовые отношения);
  •   квантифицированные (определяемые кванторами общности  и существования  ).

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

Приведем два примера.

На рис.10  представлена семантическая сеть для предложения (ситуации) «студент Табуреткин добросовестно изучает новый план счетов на 2002 г, перед сдачей экзамена по дисциплине «Бухгалтерский учет».

Рисунок 10 – Семантическая сеть для предложения (ситуации)

Рис. 11  содержит фрагмент семантической сети для понятия «автомобиль».

Рисунок 11 - Фрагмент семантической сети понятия «автомобиль»:

IS-А - есть, является; НАS-РАRТ — имеет часть

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

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

•  громоздкость, сложность построения и изменения;

• потребность в разнообразных процедурах обработки, связанная с разнообразием типов дуг и вершин.

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

4.1 Понятие о механизме логического вывода в сетевых системах

Механизм логического вывода в сетевых системах основан на использовании двух ведущих принципов: наследования свойств; сопоставления по совпадению.

Первый принцип, в свою очередь, базируется на учете важнейших связей, отражаемых в семантической сети.  К таким связям относятся:

• связь «есть», «является» (англ.IS-А):

• связи «имеет часть», «является частью» (англ. НАS-РАRТ, РARTF).

Последовательно переходя с одного узла сети к другому по направлению соответствующих связей, можно выявить (извлечь) новую информацию, характеризующую тот или иной узел. На рис 12а, показан мальй фрагмент некоторой семантической сети и обозначена так называемая ветвть наследования свойств. Из этого фрагмента можно вывести заключения типа «Иван — человек», «.у Ивана есть голова», «мужчина имеет голову» и т.п.

Принцип сопоставления по совпадению основан на представлении вопроса к системе, в виде фрагмента семантической сети с использованием тех же названий сущностей (узлов) и связей, что и в основной сети, и реализации процедуры «наложения» вопроса на сеть и поиска такого его положения, которое соответствует ответу на вопрос. На рис. 12б,  помимо уже известной связи «есть» представлено отношение владения (связь «владеет»). Вопрос: «Чем владеет Иван»   - формализуется с помощью узла «Иван» и отношения «владеет».

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

Рисунок 12 - Механизм логического вывода в семантической сети: а — фрагмент семантической сети; б - отношение владения

5. Модели на основе теоретического подхода

Наиболее распространенной формальной системой, используемой для представления знаний, является исчисление предикатов первого порядка. Алфавит исчисления предикатов состоит из следующего набора символов:

- знаков пунктуации {, (, , ,),. , ;};

- пропозициональных связок {, , V, } ;

- знаков-кванторов {, };

- символов переменных  xk, к= 1,2,...,;

- n-местных функциональных букв: fkn, k  1, n  0 (fk0 называют константными буквами);

- n-местных предикатных букв (символов): pkn , k  1 ,n  1.

Из символов алфавита можно строить различные выражения. Выделяют термы, элементарные формулы (атомы) и правильно построенные формулы (или просто формулы). Всякий символ переменной или константной буквы есть терм.

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

Приведем пример записи некоторого факта в виде формулы исчисления предикатов:ДАТЬ (МИХАИЛ, ВЛАДИМИРУ, КНИГУ );

(х) (ЭЛЕМЕНТ (х, СОБЫТИЕ-ДАТЬ) ИСТОЧНИК (х, МИХАИЛ) АДРЕСАТ (х, ВЛАДИМИР) ОБЪЕКТ (х, КНИГА).

Здесь описаны два способа записи одного факта: "Михаил дал книгу Владимиру".


 

А также другие работы, которые могут Вас заинтересовать

81204. Формирование ислама. Жизнь и деятельность Мухаммеда 25.03 KB
  Жизнь и деятельность Мухаммеда. Политическое и религиозное движение возглавил пророк Мухаммед. Мухаммед родился в 570 г. Мать Амина по обычаю мекканцев отдала Мухаммеда кормилицебедуинке у которой он рос до 5 лет.
81205. Вероучение ислама 24.39 KB
  Иман или вера включает: Веру в Единого Бога Аллаха. Веру в Ангелов и демонов. 3Веру в Святые Писания и в святость Корана который считается словом божьим божественным откровением которое передавал Аллах в виде видений Мухаммеду в течение 22 лет т. 4Веру в Пророков и в посланничество Мухаммеда.
81206. Коран – священная книга ислама 24.8 KB
  Главным источником веры является Коран священная книга мусульман состоящая из притч молитв и проповедей Мухаммеда. спустя почти два десятилетия после смерти пророка был составлен свод Коран чтение другие названия: китаб книга зикр предостережение . Святость Корана обусловлена тем что изречения пророку диктовал архангел Джебраил на протяжении 22 лет доносивший слова самого БогаАллаха. эти откровения составили канонический текст Корана который дошел до наших дней в неизменном виде.
81207. Основные направления в исламе 24.66 KB
  В результате внутренних противоречий в VII веке возникли два направления: сунниты и шииты. Последователи суннизма признавали законность власти первых четырех халифов а шииты считали единственным законным главой мусульман четвертого халифа Али ум. Шииты поклоняются этому имаму и верят что перед Страшным Судом явится махди для установления на земле равенства и справедливости. Шииты как и сунниты признают святость Корана а в Сунне признают лишь те хадисы авторами которых являются четвертый халиф Али и его последователи.
81208. Пять столпов ислама 24.1 KB
  Саум пост. Мусульманский пост заключается в воздержании от пищи питья наслаждения и развлечений. Главным и обязательным для всех кроме больных путешествующих военных и беременных является пост в месяц рамадан; кроме того существует еще дата в которой поститься желательно. Уразабайрам праздник разговенья окончания поста.
81209. Основные идеи шариата. Понятие джихада 26.17 KB
  Понятие джихада. Джихад с точки зрения шариата является общим понятием путей и методов достижения деяний высказываний и убеждений любимых и одобряемых Всевышним Аллахом а также отражения деяний высказываний и убеждений порицаемых и ненавистных Пречистому Аллаху. Ибн альКаййим: Джихад подразделяется на четыре уровня: джихад против самого себя джихад против шайтана джихад против неверующих и лицемеров и джихад против приверженцев несправедливости нововведений и порицаемых действий. Джихад против самого себя также имеет четыре уровня:...
81210. Происхождение буддизма. Реальная и мифологическая жизнь Будды 25.61 KB
  Это путь самоуглубления для познания истины путь ведущий к покою и к просветлению духа. Открыв истинный путь начал проповедовать. Именно Будде Шакьямуни мудрецу из племени шакьев удалось доступно и убедительно выразить ожидания общества: жизнь есть страдание от страдания можно спастись есть путь спасения этот путь нашел и описал Будда.
81211. Учение Будды. «Четыре истины» буддизма. Благородный восьмеричный путь 23.79 KB
  Основу ее составляют 4 благородные возвышенные истины: учение о страдании о причинах страдания о прекращении страдания и о пути к прекращению страдания. 1Существуют страдания. 3Страдания можно прекратить путём избавления от желаний. Нирвана конечная цель религиозного спасения то состояние полного небытия при котором страдания кончаются.
81212. Специфика вероучения буддизма. Устройство Вселенной 25.86 KB
  Человек воспринимает мир как бы сквозь призму своих ощущений но эти ощущения не субъективное представление индивида а объективный факт следствие волнения дхарм. Дхарма закон учение религия качество и т. Основное значение дхармы носитель своего признака то есть носитель душевных свойств до 100 и более. Учение о дхармах основа буддийской философии и содержит элементы диалектики.