
- •Глава 1
- •Искусственный интеллект
- •Фактуальное и операционное знание
- •Признаки иис
- •Системы с интеллектуальным интерфейсом
- •Экспертные системы
- •Самообучающиеся системы
- •Адаптивные информационные системы
- •Языки программирования для ии и языки представления знаний
- •Глава 2
- •Данные и знания
- •Модели представления знаний
- •Глава 3
- •Системы продукций
- •Стратегии поиска в пространстве состояний
- •Рекурсивный поиск
- •Глава 4
- •Введение в экспертные системы. Определение и структура
- •Классификация экспертных систем
- •Коллектив разработчиков
- •Технология проектирования и разработки
- •Глава 5
- •Поле знаний
- •Стратегии получения знаний
- •Теоретические аспекты извлечения знаний
- •Теоретические аспекты структурирования знаний
- •Технологии инженерии знаний
- •Глава 6
- •Задача классификации
- •Деревья решений
- •Искусственные нейронные сети
- •Глава 7
- •Способы аналитической обработки данных
- •Некоторые бизнес-приложения Data Mining
- •Типы закономерностей
- •Процесс нахождения нового знания
- •Глава 1 2
- •Глава 2 15
- •Глава 3 23
- •Глава 4 45
- •Глава 5 54
- •Глава 6 62
- •Глава 7 88
Модели представления знаний
Существуют десятки моделей (или языков) представления знаний для различных предметных областей. Большинство из них может быть сведено к следующим классам:
продукционные модели;
семантические сети;
фреймы;
формальные логические модели.
Коротко охарактеризуем каждую из этих моделей.
Продукционная модель
Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа «Если (условие), то (действие)».
Под «условием» (антецедентом) понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под «действием» (консеквентом)—действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы).
Чаще всего вывод на такой базе знаний бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения — к данным). Данные — это исходные факты, хранящиеся в базе фактов, на основании которых запускается машина вывода или интерпретатор правил, перебирающий правила из продукционной базы знаний (см. далее).
Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода.
В следующей главе мы рассмотрим эту модель более подробно.
Семантические сети
Термин «семантическая» означает «смысловая», а сама семантика — это наука, устанавливающая отношения между символами и объектами, которые они обозначают, то есть наука, определяющая смысл знаков.
Семантическая сеть — это ориентированный граф, вершины которого — понятия, а дуги — отношения между ними.
В качестве понятий обычно выступают абстрактные или конкретные объекты, а отношения — это связи типа «это» («АКО — A-Kind-Of», «is»), «имеет частью» («has part»), «принадлежит», «любит».
Характерной особенностью семантических сетей является обязательное наличие трех типов отношений:
класс — элемент класса (класс работников — менеджер);
свойство — значение (образование — высшее);
пример элемента класса (менеджер — И.И. Иванов).
Можно предложить несколько классификаций семантических сетей, связанных с типами отношений между понятиями.
По количеству типов отношений:
а) однородные (с единственным типом отношений);
б) неоднородные (с различными типами отношений).
По типам отношений:
а) бинарные (в которых отношения связывают два объекта);
б) n-арные (в которых есть специальные отношения, связывающие более двух понятий).
Наиболее часто в семантических сетях используются следующие отношения:
связи типа «часть—целое» («класс—подкласс», «элемент—множество»);
функциональные связи (определяемые обычно глаголами «производит», «влияет», . . . );
количественные (больше, меньше, равно, ...);
пространственные (далеко от, близко от, за, под, над, ...);
временные (раньше, позже, в течение, ...);
атрибутивные связи (иметь свойство, иметь значение);
логические связи (и, или, не);
лингвистические связи.
В качестве примера на рис. 4 представлена некоторая семантическая сеть, в которой описывается ситуация, когда под некоторый проект заказываются детали и должна быть выплачена стоимость этих деталей поставщику. В этой сети на каждой стрелке должен задаваться символ, показывающий ее смысл, но для простоты символы опущены.
Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, отражающей поставленный запрос к базе.
Данная модель представления знаний была предложена американским психологом Куиллианом. Основным ее преимуществом является то, что она более других соответствует современным представлениям об организации долговременной памяти человека.
Рис. 4. Пример семантической сети
Недостатком этой модели является сложность организации процедуры поиска вывода на семантической сети.
Фреймы
Термин фрейм (от английского frame, что означает «каркас» или «рамка») был предложен Марвином Минским, одним из пионеров ИИ, в 70-е годы XX века для обозначения структуры знаний для восприятия пространственных сцен. Эта модель, как и семантическая сеть, имеет глубокое психологическое обоснование.
Фрейм — это абстрактный образ для представления некоего стереотипа восприятия.
В психологии и философии известно понятие абстрактного образа. Например, произнесение вслух слова «комната» порождает у слушающих образ комнаты: «жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью 6-20 кв. м». Из этого описания ничего нельзя убрать (например, убрав окна, мы получим уже чулан, а не комнату), но в нем есть «дырки» или «слоты» — это незаполненные значения некоторых атрибутов, например, количество окон, цвет стен, высота потолка, покрытие пола и др.
В теории фреймов такой образ комнаты называется фреймом комнаты. Фреймом также называется и формализованная модель для отображения образа.
Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фреймы-экземпляры, которые создаются для отображения реальных фактических ситуаций на основе поступающих данных. Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через
фреймы-структуры, использующиеся для обозначения объектов и понятий (заем, залог, вексель);
фреймы-роли (менеджер, кассир, клиент);
фреймы-сценарии (банкротство, собрание акционеров, именины);
фреймы-ситуации (тревога, авария, рабочий режим устройства).
Традиционно структура фрейма может быть представлена как список свойств:
(ИМЯ ФРЕЙМА:
(имя 1-го слота: значение 1-го слота),
(имя 2-го слота: значение 2-го слота),
(имя N-го слота: значение N-го слота)
)
В табл. 1 представлена та же запись, дополненная двумя столбцами. Дополнительные столбцы предназначены для описания способа получения слотом его значения и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов. В качестве значения слота может выступать имя другого фрейма, так образуются сети фреймов.
Таблица 1
Имя фрейма |
|||
Имя слота |
Значение слота |
Способ получения значения |
Присоединенная процедура |
|
|
|
|
Существует несколько способов получения слотом значений во фрейме- экземпляре:
по умолчанию от фрейма-образца (Default-значение);
через наследование свойств от фрейма, указанного в слоте АКО;
по формуле, указанной в слоте;
через присоединенную процедуру;
явно из диалога с пользователем;
из базы данных.
Важнейшим свойством теории фреймов является заимствование из теории семантических сетей — так называемое наследование свойств. И во фреймах, и в семантических сетях наследование происходит по АКО-связям (A-Kind-Of = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, то есть переносятся, значения аналогичных слотов.
Основным преимуществом фреймов как модели представления знаний является то, что она отражает концептуальную основу организации памяти человека, а также ее гибкость и наглядность.
Формальные логические модели
Традиционно в представлении знаний выделяют формальные логические модели, основанные на классическом исчислении предикатов I-го порядка, когда предметная область или задача описывается в виде набора аксиом.
В основе логических моделей лежит понятие формальной теории, задаваемой четверкой S = (B,F,A,R), где
B — счетное множество базовых символов (алфавит) теории S;
F — подмножество S, называемых формулами теории (под выражениями понимаются конечные последовательности базовых символов теории S). Обычно существует эффективная процедура (множество синтаксических правил), позволяющая строить из B синтаксически правильные выражения — формулы;
A — выделенное множество формул, называемых аксиомами теории S, т.е. множество априорно истинных формул;
R — конечное множество отношений г\,... ,rn между формулами, называемыми правилами вывода.
Для каждого г* существует целое положительное число j, такое, что для каждого множества, состоящего из j формул, и для каждой формулы f эффективно решается вопрос о том, находятся ли данные j формул в отношении r с формулой f. Если отношение г* выполняется, то f называется непосредственным следствием данных j формул по правилу г*. Следствием (выводом) формулы fn в теории S называется всякая последовательность fi,..., fn формул, такая, что для любого i формула г* есть либо аксиома теории S, либо непосредственное следствие каких-либо предыдущих формул по одному из правил вывода. Правила вывода позволяют расширять множество формул, которые считаются истинными в рамках данной теории.
Формальная теория называется разрешимой, если существует единая эффективная процедура, позволяющая узнать для любой данной формулы, существует ли ее вывод в S.
Формальная система S называется непротиворечивой, если не существует формулы A, такой, что A и —A выводимы в S.
Наиболее распространенной формальной системой, которая используется для представления знаний, является исчисление предикатов первого порядка. Алфавит исчисления предикатов состоит из следующего набора символов:
знаков пунктуации {,(,,,),.,;,};
пропозициональных связок —, Л, V, ^;
знаков кванторов V, 3;
символов переменных Xk, к = 1, 2,...;
n-местных функциональных букв: /jn, к ^ 1, n ^ 0 (/ называют константными буквами);
n-местных предикатных букв (символов): рЩ, к ^ 1, n ^ 0.
Из символов алфавита можно строить различные выражения. Выделяют
термы, элементарные формулы (атомы) и правильно построенные формулы
(или просто формулы). Всякий символ переменной или константной буквы
есть терм. Если ti,... ,tn (n ^ 1) — термы, то и fn(t1,... ,tn) является термом.
Если рП — предикатная буква, a ti,... ,tn — термы, то pn(ti,..., tn) — элементарная формула (атом). Атом является правильно построенной формулой. Если A и B — правильно построенные формулы, то —A, A Л B, A V B, A ^ B есть правильно построенные формулы. Если A — правильно построенная формула и x — переменная в A, то конструкции (Vx A) и (3x A) — правильно построенные формулы. Выражение является правильно построенной формулой, только если оно получено с соблюдением приведенных выше правил.
Для того чтобы придать формуле содержание, ее интерпретируют как утверждение, касающееся рассматриваемой предметной области. Под интерпретацией понимают всякую систему, состоящую из непустого множества D, называемого областью интерпретации, и какого-либо соответствия, относящего каждой предикатной букве рЩ некоторое n-местное отношение в D; каждой функциональной букве /Щ некоторую n-местную функцию, отображающую Dn ^ D, и каждой константной букве / — некоторый элемент из D. При заданной интерпретации переменные мыслятся «пробегающими» все значения из области D этой интерпретации, а всякой элементарной формуле приписывается значение «истинно» (И) или «ложно» (Л). Приписывание значения элементарной формуле pnk(ti,... ,tn) осуществляется по следующему правилу: если термы предикатной буквы соответствуют элементам из D, удовлетворяющим отношению, определяемому данной интерпретацией, то значением элементарной формулы будет истина, в противном случае — ложь. Значение неэлементарной формулы вычисляется рекуррентно, исходя из значений составляющих ее формул. Очевидно, что значения формул могут быть истинными или ложными в зависимости от выбранной интерпретации.
Основной задачей, решаемой в рамках исчисления предикатов, является выяснение истинности или ложности заданной формулы на некоторой области интерпретации. При этом особая роль отводится общезначимым формулам, т.е формулам, истинным при любой интерпретации, и невыполнимым формулам, т.е формулам, ложным при любой интерпретации. Справедлива следующая основополагающая теорема дедукции.
Теорема 1. Пусть даны формулы B\,...,Bn и формула A. Формула A является логическим следствием Bi,..., Bn тогда и только тогда, когда формула Bi Л ... Л Bn ^ A общезначима, т.е. является истиной.
Напомним, что формула A логически следует из формул Bi,..., Bn тогда и только тогда, когда всякая интерпретация I, удовлетворяющая BiЛ.. ^Bn, удовлетворяет также и A. Формулы Bi,... , Bn называют посылками, а A — заключением логического следования и обозначают Bi,... ,Bn ^ A.
Задачей доказательства теоремы называют выяснение вопроса логического следования из заданного множества формул Bi,..., Bn некоторой формулы A, что равносильно доказательству общезначимости формулы BiЛ.. .Л Bn ^ A или невыполнимости формулы Bi Л ... Л Bn Л (—A).
Известно, что для исчисления предикатов первого порядка не существует общего метода установления общезначимости любых формул, т.е. исчисление предикатов первого порядка является неразрешимым. Однако если некоторая формула исчисления предикатов общезначима, то существует процедура для проверки ее общезначимости, т.е. исчисление предикатов можно назвать полуразрешимым. Наиболее известными методами доказательства теорем являются метод резолюции и обратный метод.
Приведем пример записи некоторого факта в виде формулы исчисления предикатов:
ДАТЬ (МИХАИЛ, ВЛАДИМИРУ, КНИГУ);
(3 x)( ЭЛЕМЕНТ (x, СОБЫТИЕ-ДАТЬ) Л ИСТОЧНИК (x, МИХАИЛ) Л АДРЕСАТ (x, ВЛАДИМИР) Л ОБЪЕКТ (x, КНИГА)).
Здесь описаны два способа записи одного факта: «Михаил дал книгу Владимиру».
Основным достоинством использования исчисления предикатов в качестве модели представления знаний является наличие единообразной формальной процедуры доказательства теорем. Однако высокая степень единообразия влечет за собой и основной недостаток данного подхода — сложность использования при доказательстве эвристик, отражающих специфику конкретной проблемной среды. Указанный недостаток особенно важен при построении экспертных систем, вычислительная мощность которых в основном определяется знаниями, характеризующими специфику проблемной среды. К другим недостаткам формальных систем следует отнести их монотонность, отсутствие средств для структурирования используемых элементов и недопустимость противоречий.
Стремление устранить недостатки формальных систем при их использовании в качестве моделей представления привело к появлению семиотических систем. Семиотическая система формально задается восьмеркой S = = (B, F, A, R, Q(B), Q(F), Q(A), Q(R)). Здесь первые четыре компонента те
же, что и в определении формальной системы (см. выше), а остальные компоненты — правила изменения первых четырех компонентов под влиянием накапливаемого в базе знаний интеллектуальной системы опыта о строении и функционировании сущностей в данной проблемной среде.
Мы опустим подробное описание логических моделей, так как исчисление предикатов 1-го порядка в промышленных экспертных системах практически не используется в силу того, что они предъявляют очень высокие требования и ограничения к предметной области.