Классификация моделей представления знаний
Для хранения данных используются базы данных (для них характерны большой объем и относительно небольшая удельная стоимость информации), для хранения знаний – базы знаний (небольшого объема, но исключительно дорогие информационные массивы).
База знаний – основа любой интеллектуальной системы, где знания описаны на некотором языке представления знаний, приближенном к естественному. Сегодня знания приобрели чисто декларативную форму, то есть знаниями считаются предложения, записанные на языках представления знаний, приближенных к естественному языку и понятных неспециалистам.
Совокупность знаний, нужных для принятия решений, принято называть предметной областью или знаниями о предметной области. В любой предметной области есть свои понятия и связи между ними, своя терминология, свои законы, связывающие между собой объекты данных предметной области, свои процессы и события. Кроме того, каждая предметная область имеет свои методы решения задач. Решая задачи такого вида на ЭВМ, используют информационные системы, ядром которых является база знаний, содержащая основные характеристики предметных областей.
Базы знаний базируются на моделях представления знаний, подобно базам данных, которые основаны на моделях представления данных (иерархической, сетевой, реляционной, постреляционной и т.д.).
При представлении знаний в памяти интеллектуальной системы традиционные языки, основанные на численном представлении данных, являются неэффективными. Для этого используются специальные языки представления знаний, основанные на символьном представлении данных. Они делятся на типы по формальным моделям представления знаний. Наиболее часто используется на практике классификация моделей представления знаний, приведенная на рис. 6, где модели представления знании делятся на детерминированные (жесткие) и мягкие.
Рис. 6. Модели представления знаний
Детерминированные модели включают в себя фреймы, логико-алгебраические модели, семантические сети и продукционные модели. Мягкие модели включают в себя нечеткие системы, нейронные сети, эволюционные модели, гибридные системы.
С моделированием знаний непосредственно связана проблема выбора языка представления. В целях классификации моделей представления знаний выделяется девять ключевых требований к моделям знаний:
-
общность (универсальность);
-
наглядность представления знаний;
-
однородность;
-
реализация в модели свойства активности знаний;
-
открытость;
-
возможность отражения структурных отношений объектов предметной области;
-
наличие механизма «проецирования» знаний на систему семантических шкал;
-
возможность оперирования нечеткими знаниями;
-
использование многоуровневых представлений (данные, модели, метамодели, метаметамодели и т.д.).
Модели представления знаний не удовлетворяют полностью этим требованиям, чем и объясняется их многообразие и активное развитие данного направления.
Логико-алгебраические модели представления знаний
В логических моделях знания представляются в виде совокупности правильно построенных формул какой-либо формальной системы (ФС), которая задается четверкой
S = < T,P,A,R >,
где Т – множество базовых (терминальных) элементов, из которых формируются все выражения; Р – множество синтаксических правил, определяющих синтаксически правильные выражения из терминальных элементов ФС; А – множество аксиом ФС, соответствующих синтаксически правильным выражениям, которые в рамках данной ФС априорно считаются истинными; R – конечное множество отношений {r1, r2, ..., rn} между формулами, называемыми правилами вывода, позволяющих получать из одних синтаксически правильных выражений другие.
Для любого ri существует целое положительное число j, такое что для каждого множества, состоящего из j формул, и для каждой формулы F эффективно решается вопрос о том, находятся ли эти j-формулы в отношении ri с формулой F. Если ri выполняется, то F называют непосредственным следствием F-формул по правилу ri.
Следствием (выводом) формулы в теории S называется такая последовательность правил, что для любого из них представленная формула является либо аксиомой теории S, либо непосредственным следствием.
Простейшей логической моделью является исчисление высказываний, которое представляет собой один из начальных разделов математической логики, служащий основой для построения более сложных формализмов. В практическом плане исчисление высказываний применяется в ряде предметных областей (в частности, при проектировании цифровых электронных схем). Развитие логики высказываний нашло отражение в исчислении предикатов первого порядка.
Под исчислением предикатов понимается формальный язык для представления отношений в некоторой предметной области. Основное преимущество исчисления предикатов – хорошо понятный механизм математического вывода, который может быть непосредственно запрограммирован. Предикатом называют предложение, принимающее только два значения: «истина» или «ложь». Для обозначения предикатов применяются логические связки между высказываниями: ¬ – не, – или, – и, – если, а также квантор существования и квантор всеобщности .
Таким образом, логика предикатов оперирует логическими связками между высказываниями, например она решает вопросы: можно ли на основе высказывания A получить высказывание B и т.д.
Допустимые выражения в исчислении предикатов называются правильно построенными формулами, состоящими из атомных формул. Атомные формулы состоят из предикатов и термов, разделяемых круглыми, квадратными и фигурными скобками.
Предикатные символы – это в основном глагольная форма (например: ПИСАТЬ, УЧИТЬ, ПЕРЕДАТЬ), но не только глагольная форма, а форма прилагательных, наречий (например: КРАСНЫЙ, ЗНАЧЕНИЕ, ЖЕЛТЫЙ).
Предикатные символы и константы, как правило, обозначаются заглавными символами, функциональные символы и переменные – строчными.
В абстрактных примерах они обозначаются латинскими буквами f, g, h. В предложениях предикатной формы важны отношения и элементы. Определяя отношения, мы определяем значимость элементов выражения. Элементы могут быть предикатами и термами.
Если существует некоторая предметная область, то предикаты определяют отношения в этой предметной области, константы – элементы этой предметной области, функциональный символ – функцию.
Рассмотрим некоторые примеры. Высказывание «у каждого человека есть отец» можно записать:
x y (ЧЕЛОВЕК(x) ОТЕЦ(y,x))
Выражение «Антон владеет красной машиной» записывается, например, так:
x (ВЛАДЕЕТ(АНТОН, x) МАШИНА(x) КРАСНЫЙ(x))
Представление знаний в рамках логики предикатов служит основой направления ИИ, называемого логическим программированием. Методы логического программирования в настоящее время широко используются на практике при создании ИИС в ряде предметных областей. Положительными чертами логических моделей знаний в целом являются:
-
высокий уровень формализации, обеспечивающий возможность реализации системы формально точных определений и выводов;
-
согласованность знаний как единого целого, облегчающая решение проблем верификации БЗ, оценки независимости и полноты системы аксиом и т.д.;
-
единые средства описания как знаний о предметной области, так и способов решения задач в этой предметной области, что позволяет любую задачу свести к поиску логического вывода некоторой формулы в той или иной ФС.
Однако такое единообразие влечет за собой основной недостаток модели – сложность использования в процессе логического вывода эвристик, отражающих специфику предметной области. К другим недостаткам логической модели относят:
-
«монотонность»;
-
«комбинаторный взрыв»;
-
слабость структурированности описаний.
Продукционные модели представления знаний
Продукционная модель или модель, основанная на правилах, позволяет представить знания в виде предложений типа «если (условие), то (действие)».
Под «условием» (антецедентом) понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под «действием» (консеквентом) – действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы).
Продукционная модель в чистом виде не имеет механизма выхода из тупиковых состояний в процессе поиска. Она продолжает работать, пока не будут исчерпаны все допустимые продукции. Практические реализации продукционных систем содержат механизмы возврата в предыдущее состояние для управления алгоритмом поиска.
Рассмотрим пример использования продукционных правил.
П1: Если «отдых – летом» и «человек – активный», то «ехать в горы».
П2: Если «любит солнце», то «отдых летом».
Предположим, в систему поступили данные: «человек активный» и «любит солнце».
Прямой вывод: исходя из данных, получить ответ.
1-й проход
Шаг 1. Пробуем П1; не работает (не хватает данных «отдых – летом»).
Шаг 2. Пробуем П2; работает, в базу поступает факт «отдых – летом».
2-й проход
Шаг 3. Пробуем П1; работает, активируется цель «ехать в горы», которая и выступает как совет, который дает ЭС.
Обратный вывод: подтвердить выбранную цель при помощи имеющихся правил и данных.
1-й проход
Шаг 1. Цель – «ехать в горы»: пробуем П1 – данных «отдых – летом» нет, они становятся новой целью, и ищется правило, где она в правой части.
Шаг 2. Цель «отдых – летом»: правило П2 подтверждает цель и активирует ее.
2-й проход
Шаг 3. Пробуем П1; подтверждается искомая цель.
Основные преимущества продукционных систем:
-
простота и гибкость выделения знаний;
-
отделение знаний от программы поиска;
-
модульность продукционных правил (правила не могут «вызывать» другие правила);
-
возможность эвристического управления поиском;
-
возможность трассировки «цепочки рассуждений»;
-
независимость от выбора языка программирования;
-
продукционные правила являются правдоподобной моделью решения задачи человеком.
Имеется большое число программных средств, реализующих продукционный подход (например, языки высокого уровня CLIPS и OPS 5; «оболочки» или «пустые» ЭС – EXSYS Professional и Карра, инструментальные – КЕЕ, ARTS, PIES , а также промышленных ЭС на его основе).
Семантические сети
Семантическая сеть – это ориентированный граф, вершины которого – понятия, а дуги – отношения между ними. Термин «семантическая» означает «смысловая», а сама семантика – это наука, устанавливающая отношения между символами и объектами, которые они обозначают, то есть наука, определяющая смысл знаков. Модель на основе семантических сетей была предложена американским психологом Куиллианом.
В качестве понятий обычно выступают абстрактные или конкретные объекты, а отношения – это связи типа: «это» (АКО – A-Kind-Of, is или «элемент класса»), «имеет частью» (has part), «принадлежит», «любит» и т.д.
Можно предложить несколько классификаций семантических сетей, связанных с типами отношений между понятиями.
По количеству типов отношений:
-
однородные (с единственным типом отношений);
-
неоднородные (с различными типами отношений).
По типам отношений:
-
бинарные (в которых отношения связывают два объекта);
-
N-арные (в которых есть специальные отношения, связывающие более двух понятий).
Наиболее часто в семантических сетях используются следующие отношения:
-
элемент класса (роза – это цветок);
-
атрибутивные связи /иметь свойство (память имеет свойство – объем);
-
значение свойства (цвет имеет значение желтый);
-
пример элемента класса (роза, например, чайная);
-
связи типа «часть-целое» (велосипед включает руль);
-
функциональные связи (определяемые обычно глаголами «производит», «влияет» и др.);
-
количественные (больше, меньше, равно и др.);
-
пространственные (далеко от, близко от, за, под, над и др.);
-
временные (раньше, позже, в течение и др.);
-
логические связи (и, или, не) и др.
Минимальный состав отношений в семантической сети таков:
-
элемент класса или АКО;
-
атрибутивные связи /иметь свойство;
-
значение свойства.
Недостатком этой модели является сложность организации процедуры вывода.
Пример семантической сети для предложения типа «Поставщик осуществил поставку изделий для клиента до 1 июня 2010 года в количестве 10 000 штук» представлен на рис. 7.
Рис. 7. Пример семантической сети
Фреймы
Фрейм – это минимально возможное описание сущности какого-либо события, ситуации, процесса или объекта. В историческом плане развитие фреймовой модели связано с теорией фреймов М. Минского, определяющей способ формализации знаний, используемый при решении задач распознавания образов (сцен) и понимания речи. «Отправным моментом для данной теории служит тот факт, что человек, пытаясь познать новую для себя ситуацию или по-новому взглянуть на уже привычные вещи, выбирает из своей памяти некоторую структуру данных (образ), называемую нами фреймом, с таким расчетом, чтобы путем изменения в ней отдельных деталей сделать ее пригодной для понимания более широкого класса явлений или процессов». Другими словами, фрейм – это форма описания знаний, очерчивающая рамки рассматриваемого (в текущей ситуации при решении данной задачи) фрагмента предметной области.
Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через:
-
фреймы-структуры, для обозначения объектов и понятий (заем, залог, вексель);
-
фреймы-роли (менеджер, кассир, клиент);
-
фреймы-сценарии (банкротство, собрание акционеров, празднование именин);
-
фреймы-ситуации (тревога, авария, рабочий режим устройства) и др.
Различают фреймы-образцы, или прототипы, и фреймы-экземпляры, которые создаются для отображения реальных фактических ситуаций на основе поступающих данных.
Фрейм имеет имя (название) и состоит из слотов.
Традиционно структура фрейма может быть представлена как список свойств:
(ИМЯ ФРЕЙМА:
(имя 1-го слота: значение 1-го слота),
(имя 2-го слота: значение 2-го слота),
…………….
(имя N-гo слота: значение N-го слота)).
Ту же запись можно представить в виде таблицы (см. табл. 1), дополнив ее двумя столбцами.
Таблица 1. Структура фрейма
Имя фрейма | |||
Имя слота | Значение слота | Способ получения значения | Присоединенная процедура |
|
|
|
|
|
|
|
|
В таблице дополнительные столбцы (3-й и 4-й) предназначены для описания способа получения слотом его значения и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов. В качестве значения слота может выступать имя другого фрейма – так образуются сети фреймов.
Широко известны такие фреймо-ориентированные экспертные системы, как ANALYST, МОДИС.
- Часть 1. Введение в искусственный интеллект §1. История развития искусственного интеллекта как науки Определение искусственного интеллекта
- История развития искусственного интеллекта
- Задачи искусственного интеллекта
- Тест по теме «История развития искусственного интеллекта»
- Литература по теме «История развития искусственного интеллекта»
- §2. Направления и подходы к исследованиям в области искусственного интеллекта Основные подходы к исследованию искусственного интеллекта
- Основные направления исследований в области искусственного интеллекта
- Тест по теме «Направления и подходы к исследованиям в области искусственного интеллекта»
- Литература по теме «Направления и подходы к исследованиям в области искусственного интеллекта»
- §3. Классификация интеллектуальных информационных систем Определение интеллектуальной информационной системы
- Классификация интеллектуальных систем
- Тест по теме «Классификация интеллектуальных информационных систем»
- Литература по теме «Классификация интеллектуальных информационных систем»
- Часть 2. Основы теории искусственного интеллекта §1. Представление знаний Данные и знания
- Классификация моделей представления знаний
- Тест по теме «Представление знаний»
- Литература по теме «Представление знаний»
- §2. Нейронные сети
- Классификация искусственных нейронных сетей
- Однослойные искусственные нейронные сети
- Многослойные нейронные сети
- Задачи, решаемые нейронными сетями
- Тест по теме «Нейронные сети»
- Литература по теме «Нейронные сети»
- §3. Эволюционное моделирование
- Генетические алгоритмы
- Виды генетических алгоритмов
- Тест по теме «Эволюционное моделирование»
- Литература по теме «Эволюционное моделирование»
- §4. Нечеткие множества и нечеткая логика
- Теория нечетких множеств
- Нечеткая логика
- Тест по теме «Нечеткие множества и нечеткая логика»
- Литература по теме «Нечеткие множества и нечеткая логика»
- Часть 3. Интеллектуальные информационные системы §1. Экспертные системы
- Модель экспертных систем
- Классификация экспертных систем и оболочек экспертных систем
- Средства разработки экспертных систем
- Тест по теме «Экспертные системы»
- Литература по теме «Экспертные системы»
- §2. Системы поддержки принятия решений
- Структура систем поддержки принятия решений
- Классификация систем поддержки принятия решений
- Тест по теме «Системы поддержки принятия решений»
- Литература по теме «Системы поддержки принятия решений»
- Глоссарий Основные определения по теме «История развития искусственного интеллекта»
- Основные определения по теме «Направления исследований в области искусственного интеллекта»
- Основные определения по теме «Представление знаний»
- Основные определения по теме «Нейронные сети»
- Основные определения по теме «Эволюционное моделирование»
- Основные определения по теме «Нечеткие множества и нечеткая логика»
- Основные определения по теме «Экспертные системы»
- Основные определения по теме «Системы поддержки принятия решений»
- Рекомендованная литература
- А.А. Смагин, с.В. Липатова, а.С. Мельниченко интеллектуальные информационные системы Учебное пособие
- 432000, Г. Ульяновск, ул. Л. Толстого, 42