ДАННЫЕ И ЗНАНИЯ
При изучении интеллектуальных систем традиционно возникает вопрос - что же такое знания и чем они отличаются от обычных данных, десятилетиями обрабатываемых ЭВМ. Можно предложить несколько рабочих операций, в рамках которых это становится очевидным.
Данные - это отдельные факты, характеризующие объекты, процессы и явления в предметной области, а также их свойства.
При обработке на ЭВМ данные трансформируются, условно проходя следующие этапы:
данные как результат измерений и наблюдений;
данные на материальных носителях информации (таблицы, протоколы, справочники;
модели (структуры) данных в виде диаграмм, графиков, функций;
данные в компьютере на языке описания данных;
базы данных на машинных носителях.
Знания связаны с данными, основываются на них, но представляют результат мыслительной деятельности человека, обобщают его опыт, полученный в ходе выполнения какой-либо практической деятельности. Они получаются эмпирическим путем.
Знания - это выявленные закономерности предметной области (принципы, связи, законы), позволяющие решать задачи в этой области. При обработке на ЭВМ знания трансформируются аналогично данным:
знания в памяти человека как результат мышления;
материальные носители знаний (учебники, методические пособия);
поле знаний - условное описание основных объектов предметной области, их атрибутов и закономерностей, их связывающих;
знания, описанные на языках представления знаний (продукционные языки, семантические сети, фреймы - см. далее);
базы знаний.
Часто используются такие определения знаний:
знания - это хорошо структурированные данные, или данные о данных, или метаданные.
Существует множество способов определять понятия. Один из широко применяемых способов, основан на идее интенсионала. Интенсионал понятия - это определение через понятие более высокого уровня абстракции с указанием специфических свойств. Этот способ определяет знания. Другой способ определяет понятие через перечисление понятий более низкого уровня иерархии или фактов, относящихся к определяемому. Это есть определение через данные, или экстенсионал понятия.
Пример 16.1. Понятие "персональный компьютер". Его интенсионал: ⌠Персональный компьютер - это дружественная ЭВМ, которую можно поставить на стол и купить менее чем за $2000 - 3000".
Экстенсионал этого понятия: "Персональный компьютер - это Mac, IBM PC, Sinkler...".
Для хранения данных используются базы данных (для них характерны большой объем и относительно небольшая удельная стоимость информации), для хранения знаний - базы знаний (небольшого объема, но исключительно дорогие информационные массивы). База знаний - основа любой интеллектуальной системы.
Знания могут быть классифицированы по следующим категориям:
- поверхностные - знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области;
- глубинные - абстракции, аналогии, схемы, отображающие структуру и процессы в предметной области.
Современные экспертные системы работают в основном споверхностными знаниями. Это связано с тем, что на данный момент нет адекватных моделей, позволяющих работать с глубинными знаниями.
Кроме того, знания можно разделить на процедурные и декларативные. Исторически первичными были процедурные знания, т.е. знания, "растворенные" в алгоритмах. Они управляли данными. Для их изменения требовалось изменять программы. Однако с развитием искусственного интеллекта приоритет данных постепенно изменялся, и все большая часть знаний сосредоточивалась в структурах данных (таблицы, списки, абстрактные типы данных), т.е. увеличивалась роль декларативных знаний.
Сегодня знания приобрели чисто декларативную форму, т.е. знаниями считаются предложения, записанные на языках представления знаний, приближенных к естественному и понятных неспециалистам.
Существуют десятки моделей (или языков) представления знаний для различных предметных областей. Большинство из них может быть сведено к следующим классам:
- продукционные;
- семантические сети;
- фреймы;
- формальные логические модели.
МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Продукционная модель
Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа: Если (условие), то (действие).
Под, условием понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под действием - действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы).
При использовании продукционной модели база знаний состоит из набора правил, Программа, управляющая перебором правил, называется машиной вывода. Чаще всего вывод бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения - к данным). Данные - это исходные факты, на основании которых запускается машина вывода - программа, перебирающая правила из базы.
Пример 16.2. Имеется фрагмент базы знаний из двух правил:
/71: Если "отдых - летом" и "человек - активный", то "ехать в горы",
/72: Если "любит солнце", то "отдых летом",
Предположим, в систему поступили данные - "человек активный" и "любит "солнце"
Прямой вывод - исходя из данных, получить ответ.
1-й проход.
Шаг 1. Пробуем П1, не работает (не хватает данных "отдых - летом").
Шаг 2. Пробуем П2, работает, в базу поступает факт "отдых - летом".
2-й проход.
Шаг 3. Пробуем /7/, работает, активируется цель "ехать в горы", которая и выступает как совет, который дает ЭС.
Обратный вывод - подтвердить выбранную цель при помощи имеющихся правил и данных.
1-й проход.
Шаг 1. Цель - "ехать в горы": пробуем П1 - данных, "отдых - летом" нет, они становятся новой целью, и ищется правило, где она в правой части.
Шаг 2. Цель "отдых - летом": правило П2 подтверждает цель и активирует ее.
2-й проход.
Шаг 3. Пробуем П1, подтверждается искомая цель.
Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода.
Имеется большое число программных средств, реализующих продукционный подход (язык OPS 5 [8]; "оболочки" или "пустые" ЭС - EXSYS [10], ЭКСПЕРТ [2]; инструментальные системы 11ИЭС [1!] и СПЭИС [3] и др.), а также промышленных ЭС на его основе (ФИАКР [8]) и др.
Семантические сети
Термин семантическая означает смысловая, а сама семантика - это наука, устанавливающая отношения между символами и объектами, которые они обозначают, т.е. наука, определяющая смысл знаков,
Семантическая сеть - это ориентированный граф, вершины которого - понятия, а дуги - отношения между ними.
Понятиями обычно выступают абстрактные или конкретные объекты, а отношения - это связи типа: "это" ("is"), "имеет частью" ("has part"), "принадлежит", "любит". Характерной особенностью семантических сетей является обязательное наличие трех типов отношений:
- класс - элемент класса;
- свойство - значение;
- пример элемента класса.
Можно ввести несколько классификаций семантических сетей. Например, по количеству типов отношений:
- однородные (с единственным типом отношений);
- неоднородные (с различными типами отношений).
По типам отношений:
- бинарные (в которых отношения связывают два объекта);
- парные (в которых есть специальные отношения, связывающие более двух понятий).
Наиболее часто в семантических сетях используются следующие отношения:
- связи типа "часть-целое" ("класс-подкласс", "элемент-множество" и т.п.);
- функциональные связи (определяемые обычно глаголами "производит", "влияет"...);
- количественные (больше, меньше, равно...);
- пространственные (далеко от, близко от, за, под, над...);
- временные (раньше, позже, в течение...);
- атрибутивные связи (иметь свойство, иметь значение...);
- логические связи (и, или, не) и др.
Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, соответствующей поставленному вопросу.
Пример 16.3. На рис. 16.1 изображена семантическая сеть. В качестве вершин понятия: Человек, Иванов, Волга. Автомобиль, Вид транспорта. Двигатель.
Рис.16.1. Семантическая сеть.
Основное преимущество этой модели - в соответствии современным представлениям об организации долговременной памяти человека. Недостаток модели - сложность поиска вывода на семантической сети.
Для реализации семантических сетей существуют специальныесетевые языки, например NET[12] и др. Широко известны экспертныесистемы, использующие семантические сети в качестве языка представления знаний - PROSPECTOR, CASNBT, TORUS [8,10].
Фреймы
Фрейм (англ. frame - каркас или рамка) предложен М.Минским в 70-е гг. Как структура знаний для восприятия пространственных сцен. Эта модель, как и семантическая сеть, имеет глубокое психологическое обоснование.
Под фреймом понимается абстрактный образ или ситуация. В психологии и философии известно понятие абстрактного образа. Например, слово "комната" вызывает у слушающих образ комнаты: "жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью 6-20 м2 ". Из этого описания ничего нельзя убрать (например, убрав окна мы получим уже чулан, а не комнату), но в нем есть "дырки", или "слоты", - это незаполненные значения некоторых атрибутов -количество окон, цвет стен, высота потолка. покрытие пола и др.
В теории фреймов такой образ называется фреймом. Фреймом называется также и формализованная модель для отображения образа.
Структуру фрейма можно представить так;
ИМЯ ФРЕЙМА:
(имя 1-го слота: значение 1-го слота),
(имя 2-го слота: значение 2-го слота),
- - - -
(имя N-го слота: значение N-гo слота).
Ту же запись представим в виде таблицы, дополнив двумя столбцами.
В таблице дополнительные столбцы предназначены для описания тина слота и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов. В качестве значения слота может выступать имя другого фрейма; так образуют сети фреймов.
Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фреймы-экземпляры, которые создаются для отображения реальных ситуаций на основе поступающих данных.
Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через:
- фреймы-структуры, для обозначения объектов и понятий (заем, залог, вексель);
- фреймы-роли (менеджер, кассир, клиент);
- фреймы-сценарии (банкротство, собрание акционеров, празднование именин);
- фреймы-ситуации (тревога, авария, рабочий режим устройства) и др.
Важнейшим свойством теории фреймов является заимствованное из теории семантических сетей наследование свойств. И во фреймах, и в семантических сетях наследование происходит по АКО-связям (A-Kind-Of = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, т.е. переносятся, значения аналогичных слотов.
Пример 16.4. Например, в сети фреймов на рис. 16.2 понятие "ученик" наследует свойства фреймов "ребенок" и "человек", которые находятся на более высоком уровне иерархии. Гак, на вопрос: "Любят ли ученики сладкое?" Следует ответ: "Да", так как ним свойством обладают все дети, что указано во фрейме "ребенок". Наследование свойств может быть частичным, так, возраст для учеников не наследуется ил фрейма "ребенок", поскольку указан явно в своем собственном фрейме.
Основным преимуществом фреймов как модели представления знаний является способность отражать концептуальную основу организации памяти человека [13], а также гибкость и наглядность.
Специальные языки представления знаний в сетях фреймов FRL (Frame Representation Language) [1] и другие позволяют эффективно строить промышленные ЭС. Широко известны такие фреймо-ориентированные экспертные системы, как ANALYST, МОДИС [3,8].
Рис. 16.2. Сеть фреймов
Формальные логические модели
Традиционно в представлении знаний выделяют формальные логические модели, основанные на классическом исчислении предикатов 1 порядка, когда предметная область или задача описывается в виде набора аксиом. Мы же опустим описание этих моделей по следующим причинам. Исчисление предикатов 1 порядка в промышленных экспертных системах практически не используется. Эта логическая модель применима в основном в исследовательских "игрушечных" системах, так как предъявляет очень высокие требования и ограничения к предметной области.
В промышленных же экспертных системах используются различные ее модификации и расширения, изложение которых выходит за рамки данного учебника.