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

Фреймы.

Для представления и описания стереотипных объектов, событий или ситуаций были введены понятия «фреймы», которые являются сложными структурами данных.

Фреймы были впервые предложены в качестве аппарата для представления знаний М. Минским в 1975 г. Согласно его определению фреймы — это минимальные структуры информации, необходимые для представления класса объектов, явлений или процессов [35]. В общем виде фрейм может быть представлен в виде, показанном на рис. 5.3 и описан строкой:

<ИФ, (ИС, ЗС, ПП),..., (ИС, ЗС, ПП)>

где ИФ - имя фрейма; ИС - имя слота; ЗС - значение слота; ПП - имя присоединенной процедуры.

Рис.5.1. Схема фрейма.

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

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

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

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

Рассмотрим подробнее основные свойства фреймов[52].

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

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

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

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

5. Отношения «абстрактное - конкретное» и «целое - часть». Рассмотренная иерархическая структура основывается на отношениях «абстрактное - конкретное», однако помимо такого типа структур существуют и другие, основанные на отношениях «целое - часть».

Отношения «абстрактное – конкретное» характерны тем, что на верхних уровнях расположены абстрактные объекты, а на нижних – конкретные объекты, при чем объекты нижних уровней наследуют атрибуты объектов верхних уровней.

Если одно отношение «целое - часть» касается структурированных объектов и показывает, что объект нижнего уровня является частью объекта верхнего уровня.

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

5.2.2. Семантические сети.

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

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

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

лингвистические, в частности надежные, включающие в себя отношения типа «объект», «агент», «условие», «место», «инструмент», «цель», «время» и др.;

атрибутивные, к которым относят форму, размер, цвет и т.д.;

характеризации глаголов, т. е. род, время, наклонение, залог, число;

логические, обеспечивающие выполнение операций для исчисления высказываний (дизъюнкция, конъюнкция, импликация, отрицание);

квантифицированные, т. е. использующие кванторы общности и существования;

теоретико-множественные, включающие понятия «элемент множества», «подмножество», «супермножество» и др.

Если имеется конечное множество атрибутов А = {Аi, i= } и конечное множество отношений R={Rj,j = }, то под интенсионалом отношения Rj понимают набор пар вида:

в которых DОМ (Ai) означает домен Аi, т. е. множество значений атрибута Аi соответствующего отношения Rj.

Под экстенсионалом отношения Rj понимают множество

ЕХТ ( Rj ) = {F1,...,Fp},

где Fk - - факт отношения Rj, задаваемый в виде совокупности пар вида «атрибут» — «значение».

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

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

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

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

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

В качестве примера, рассмотрим представление знаний, содержащихся в высказывании «Поставщик N отгрузил товар из склада M автотранспортом». На рис. 5.2. представлена интенсиональная, а на рис. 5.3. – экстенсиональная семантическая сеть. Факты обозначим овалом, а понятия и объекты прямоугольником.

Рис.5.2. Интенсиональная семантическая модель.

Рис.5.3. Экстенсиональная семантическая сеть.

5.3. Продукционные и логические модели представления знаний.

5.3.1. Продукционные модели.

Продукционные модели в последнее время широко используются в системах представления знаний. Первоначально предложенные Постом в 1943 г. [118], они были впервые применены в системах ИИ в 1972 г. [116].

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

Продукционные модели — это набор, правил вида «условия — действие», где условиями являются утверждения о содержимом некой базы данных, а действия представляют собой процедуры, которые могут изменять содержимое БД.

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

1. Неструктурированная или структурированная БД.

2. Некоторое число продукционных правил или просто продукций. Каждая продукция состоит из двух частей:

условий (антецендент); в этой части определяются некоторые условия, которые должны выполняться в БД для того, чтобы были выполнены соответствующие действия;

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

3. Интерпретатор, который последовательно определяет, какие продукции могут быть активированы в зависимости от условий, в них содержащихся; выбирает одно из применимых в данной ситуации правил продукций; выполняет действие из выбранной процедуры.

Продукционные модели в основном находят применение в качестве решателей или механизмов выводов.

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

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

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

Продукционные системы все более широко используются для реализации продукционных ЭС.

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

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

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

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

Рассмотрим более подробно некоторые основные формы представления знаний.

В настоящее время разработано множество моделей представления знаний, используемых для реализации систем, основанных на знаниях, в которых знания представлены с помощью правил вида если-тогда (явление – реакция, условие – действие). Систему продукций можно считать наиболее распространенной моделью представления знаний. Примерами реальных систем, основанных на знаниях, в которых в качестве основной модели представления знаний использовалась система продукций, являются EMYCIN, OPS-5, AGE.

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

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


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



double arrow