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

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

1) продукционные модели;

2) семантические сети;

3) фреймы;

4) формальные логические модели.

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

Наибольшее распространение на практике получила продукционная модель.

Продукционная модель – модель, основанная на представлении знания в виде правил «Если (условие), то (действие)».

Под «условием» понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под «действием» – действия, выполняемые при успешном исходе поиска.

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

Машина вывода выполняет две функции:

1) просмотр существенных фактов из рабочей памяти (базы фактов), правил из базы знаний и добавление, по мере возможности, в рабочую память новых фактов;

2) определение порядка просмотра и применения правил.

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

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

Действие компонента вывода основано на применении правила, называемого modus ponens:

Если известно, что истинно утверждение А и существует правило вида «Если А, то В», тогда утверждение В также истинно.

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

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

Управляющий компонент определяет порядок применения правил и выполняет четыре функции:

1) сопоставление – образец правила сопоставляется с имеющимися фактами;

2) выбор – если в конкретной ситуации может быть принято сразу несколько правил, то из них выбирается одно, наиболее подходящее по заданному критерию;

3) срабатывание – если образец правила при сопоставлении совпал с какими-либо фактами из рабочей памяти, то правило срабатывает;

4) действие – рабочая память подвергается изменению путем добавления в нее заключения сработавшего правила. Если в правой части правила содержится указание на какое-либо действие, то оно выполняется.

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

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

модели представления знаний - student2.ru модели представления знаний - student2.ru

Рис. 8. Цикл работы интерпретатора

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

Порядок применения и срабатывания правил зависит от стратегии вывода. Она должна определять направление поиска и способ его осуществления.

Направление поиска есть прямое (от данных к поиску цели) и обратное (от цели для ее подтверждения – к данным). Способ поиска может быть в глубину, в ширину, по подзадачам, или иначе.

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

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

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

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

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

Семантическая сеть – это ориентированный граф, вершины которого есть понятия, а дуги – отношения между ними.

В качестве понятий выступают абстрактные или конкретные объекты.

Наиболее часто в семантических сетях используются следующие отношения:

1) связи типа “часть-целое” (например, “класс-подкласс'', “элемент-множество” и т.п.);

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

3) количественные (>, <, = и др.);

4) пространственные (далеко от, близко от, за, под, на и др.);

5) временные (раньше, позже, в течение и др.);

6) атрибутивные (иметь свойство, иметь значение и др.);

7) логические (и, или, не);

8) лингвистические и др.

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

Пример семантической сети показан на рис. 9.

модели представления знаний - student2.ru

Рис. 9. Пример семантической сети

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

Для реализации семантических сетей существуют специальные сетевые языки. Например, NET, SIMER+MIR и др. Широко известны экспертные системы, использующие семантические сети в качестве языка представления знаний, – PROSPECTOR, CASNET, TORUS.

Фреймы

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

Фрейм – это абстрактный образ для представления некого стереотипа восприятия.

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

Фрейм можно определить и как формализованную модель для отображения образа.

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

Модель фрейма достаточно универсальна. Она позволяет отобразить все многообразие знаний о мире через:

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

2) фреймы-роли (менеджер, кассир, клиент);

3) фреймы-сценарии (банкротство, собрание акционеров);

4) фреймы-ситуации (тревога, авария, рабочий режим устройства).

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

Лекция
ПРЕДМЕТ Информатика
ЛЕКТОР Красилов И.И.
АУДИТОРИЯ
СЛУШАТЕЛИ

В данном случае «Лекция» – название фрейма; «ПРЕДМЕТ», «ЛЕКТОР», «АУДИТОРИЯ», «СЛУШАТЕЛИ» – слоты; «Информатика», «Красилов И.И.», «403», «97» – значения слотов.

Существует несколько способов получения слотом значений во фрейме-экземпляре:

· по умолчанию от фрейма-образца;

· через наследование свойств от фрейма, указанного в слоте АКО (A-Kind-Оf, это);

· по формуле, указанной в слоте;

· через присоединенную процедуру;

· явно из диалога с пользователем;

· из базы данных.

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

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

Имя слота Значение слота Способ получения значения слота Присоединенная процедура

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

В сетях фреймов происходит наследование свойств по АКО-связям. Слот АКО указывает на фрейм более высокого уровня, откуда неявно наследуются (переносятся) значения слотов. На рис. 10 приведен пример сети фреймов.

модели представления знаний - student2.ru

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

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

В сетях фреймов используются такие специальные языки представления знании, как FRL (Frame Representation Language) и KRL (Knowledge Representation Language). Они позволяют эффективно строить промышленные экспертные системы.

Широко известны такие фрейм-ориентированные экспертные системы, как ANALYST, МОДИС, TRISTAN, ALTERID.

Наши рекомендации