logo
Смагин - Интеллектуальные информационные систем

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

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

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

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

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

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

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

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

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

    1. общность (универсальность);

    2. наглядность представления знаний;

    3. однородность;

    4. реализация в модели свойства активности знаний;

    5. открытость;

    6. возможность отражения структурных отношений объектов предметной области;

    7. наличие механизма «проецирования» знаний на систему семантических шкал;

    8. возможность оперирования нечеткими знаниями;

    9. использование многоуровневых представлений (данные, модели, метамодели, метаметамодели и т.д.).

Модели представления знаний не удовлетворяют полностью этим требованиям, чем и объясняется их многообразие и активное развитие данного направления.

Логико-алгебраические модели представления знаний

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

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), «принадлежит», «любит» и т.д.

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

По количеству типов отношений:

По типам отношений:

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

Минимальный состав отношений в семантической сети таков:

Недостатком этой модели является сложность организации процедуры вывода.

Пример семантической сети для предложения типа «Поставщик осуществил поставку изделий для клиента до 1 июня 2010 года в количестве 10 000 штук» представлен на рис. 7.

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

Фреймы

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

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

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

Фрейм имеет имя (название) и состоит из слотов.

Традиционно структура фрейма может быть представлена как список свойств:

(ИМЯ ФРЕЙМА:

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

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

…………….

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

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

Таблица 1. Структура фрейма

Имя фрейма

Имя слота

Значение слота

Способ получения значения

Присоединенная процедура

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

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