Теоретические аспекты инженерии знаний

Вид материалаЛекция

Содержание


Представление знаний и вывод на знаниях Данные и знания
Подобный материал:
1   2   3   4   5   6   7   8   9   10   11
^

Представление знаний и вывод на знаниях




Данные и знания


Данные – это отдельные факты, характеризующие объекты, процессы и явления предметной области, а также их свойства. При обработке на ЭВМ данные трансформируются, условно проходя следующие этапы:
  1. D1 – данные как результат измерений и наблюдений;
  2. D2 – данные на материальных носителях информации (таблицы, протоколы, справочники);
  3. D3 – модели (структуры) данных в виде диаграмм, графиков, функций;
  4. D4 – данные в компьютере на языке описания данных;
  5. D5 – базы данных на машинных носителях информации.

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

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

При обработке на ЭВМ знания трансформируются аналогично данным:
  1. Z1 – знания в памяти человека как результат мышления;
  2. Z2 – материальные носители знаний (учебники);
  3. Z3 – поле знаний – условное описание основных объектов предметной области, их атрибутов и закономерностей, их связывающих;
  4. Z4 – знания, описанные на языках представления знаний (продукционные языки, семантические сети, фреймы);
  5. Z5 – база знаний на машинных носителях информации.

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

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

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

Современные экспертные системы работают в основном с поверхностными знаниями.

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


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

Существует несколько классов моделей (языков) представления знаний:
  • продукционные модели;
  • семантические сети;
  • фреймы;
  • формальные логические модели.


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

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

Чаще всего вывод на такой базе знаний бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения – к данным). Данные – это исходные факты, хранящиеся в базе фактов, на основании которых запускается машина вывода или интерпретатор правил, перебирающий правила из продукционной базы знаний. Продукционная модель чаще всего применяется в промышленных экспертных системах (язык OPS 5; оболочки EXSYS Professional, Kappa, ЭКСПЕРТ; ЭКО, инструментальные системы ПИЭС (1993), СПЭИС (1998) и др.).

В общем виде под продукцией понимается выражение следующего вида: (i); Q;P;AB;N.

Здесь i - имя продукции, с помощью которого данная продукция выделяется из всего множества продукций. В качестве имени может выступать некоторая лексема, отражающая суть данной продукции (например, "покупка книги " ), или порядковый номер продукций в их множестве, хранящимся в памяти системы.

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

Основным элементом продукции является ее ядро: A B. Интерпретация ядра продукции может быть различной и зависит от того, что стоит слева и справа от знака секвенции . Обычное прочтение ядра продукции выглядит так: ЕСЛИ А, ТО В, более сложные конструкции ядра допускают в правой части альтернативный выбор, например, ЕСЛИ А, ТО В1, ИНАЧЕ В2. Секвенция может истолковываться в обычном логическом смысле как знак логического следования В из истинного А (если А не является истинным выражением, то о В ничего сказать нельзя). Возможны и другие интерпретации ядра продукции, например А описывает некоторое условие, необходимое для того, чтобы можно было совершить действие В.

Элемент Р есть условие применимости ядра продукции. Обычно Р представляет собой логическое выражение  (как правило предикат). Когда Р принимает значение "истина", ядро продукции активизируется. Если Р "ложно", то ядро продукции не может быть использовано.

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

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

Ядра продукции можно классифицировать по различным основаниям. Прежде всего все ядра делятся на два больших типа: детерминированные и недетерминированные. В детерминированных ядрах при актуализации ядра и при выполнимости А правая часть ядра выполняется обязательно; в недетерминированных ядрах В может выполняться и не выполняться. Таким образом, секвенция  в детерминированных ядрах реализуется с необходимостью, а в недетерминированных - с возможностью. Интерпретация ядра в этом случае может, например, выглядеть так: ЕСЛИ А, ТО ВОЗМОЖНО В.

Возможность может определяться некоторыми оценками реализации ядра. Например, если задана вероятность выполнения В при актуализации А, то продукция может быть такой: ЕСЛИ А, ТО С ВЕРОЯТНОСТЬЮ р РЕАЛИЗОВАТЬ В. Оценка реализации ядра может быть лингвистической, связанной с понятием терм-множества лингвистической переменной, например: ЕСЛИ А, ТО С БОЛЬШЕЙ ДОЛЕЙ УВЕРЕННОСТИ В. Возможны иные способы реализации ядра.

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

Особым типом являются прогнозирующие продукции, в которых описываются последствия, ожидаемые при актуализации А, например: ЕСЛИ А, ТО С ВЕРОЯТНОСТЬЮ р МОЖНО ОЖИДАТЬ В.


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


Термин семантическая означает "смысловая", а сама семантика – это наука, устанавливающая отношения между символами и объектами, которые они обозначают, то есть наука, определяющая смысл знаков.

Семантическая сеть – это ориентированный граф, вершины которого – понятия, а дуги – отношения между ними. В качестве понятий обычно выступают абстрактные или конкретные объекты, а отношения – это связи типа: "это", "имеет частью", "принадлежит".





Характерной особенностью семантических сетей является обязательное наличие трех типов отношений:
  • класс – элемент класса (цветок – роза);
  • свойство – значение (цвет – желтый);
  • пример элемента класса (роза – чайная).

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

По типам отношений:
  • бинарные (отношения связывают два объекта),
  • N-арные (в которых есть специальные отношения, связывающие более двух понятий).

Наиболее часто в семантических сетях используются следующие отношения:
  • Связи типа "часть–целое", "класс–подкласс", "элемент–множество",
  • Функциональные связи, определяемые глаголами "производит", "влияет"…
  • Количественные (<, >, =),
  • Пространственные ( далеко, близко от, за, под, над …),
  • Временные (раньше, позже, в течение),
  • Атрибутивные связи (иметь свойство, иметь значение),
  • Логические связи (И, ИЛИ, НЕ),
  • Лингвистические связи и др.

Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, отражающей поставленный запрос к базе. Данная модель была предложена американским психологом Куиллианом. Основным преимуществом является то, что она наиболее соответствует современным представлениям об организации долговременной памяти человека. Недостаток – сложность организации процедуры поиска вывода на семантической сети. Для реализации семантических сетей существуют специальные сетевые языки (NET, SIMER+MIR), экспертные системы, использующие семантические сети в качестве языка представления знаний – PROSPECTOR, CASNET, TORUS.

Фреймы

Термин фрейм (от англ. Frame, что означает "каркас", "рамка") был предложен Марвином Минским, одним из пионеров ИИ, в 70-е годы для обозначения структуры знаний для восприятия пространственных сцен. Эта модель имеет глубокое психологическое обоснование. Фрейм – это абстрактный образ для представления некоего стереотипа восприятия. В психологии и философии есть понятие абстрактного образа. (Пример фрейма – образ комнаты). В теории фреймов образ комнаты называется фреймом комнаты. Фреймом также называется и формализованная модель для отображения образа. Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фреймы-экземпляры, которые создаются для отображения реальных ситуаций на основе поступающих данных. Модель фрейма является достаточно универсальной, ПОСКОЛЬКУ позволяет отобразить все многообразие знаний о мире через:
  • фреймы-структуры, использующиеся для обозначения объектов и понятий;
  • фреймы-роли;
  • фреймы-сценарии;
  • фреймы-ситуации.

Структура фрейма может быть представлена как список свойств: (ИМЯ ФРЕЙМА: имя первого слота: значение первого слота, имя второго слота: значение второго слота и т.д. ).

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

Имя фрейма

Имя слота

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

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

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













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

Важнейшим свойством теории фреймов является наследование свойств. И во фреймах и в семантических сетях наследование происходит по АКО-связям (A-kind-of=это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда переносятся значения аналогичных слотов.

Основным преимуществом фреймов как модели представления знаний является то, что она отражает концептуальную основу памяти человека, а также ее гибкость и наглядность. Специальные языки представления знаний в сетях фреймов FRL, KRL, фреймовая оболочка КАРРА и другие программные средства позволяют эффективно строить промышленные ЭС. Широко известны такие фреймовые ЭС как ANALYST, TRISTAN, ALTERID, МОДИС.

Формальные логические модели

В представлении знаний выделяют формальные логические модели, основанные на классическом исчислении предикатов 1-го порядка, когда предметная область или задача описывается в виде набора аксиом. Исчисление предикатов 1-го порядка в промышленных экспертных системах практически не используется. Эта логическая модель применима в основном в исследовательских "игрушечных" системах, так как предъявляет очень высокие требования и ограничения к предметной области.


ЛЕКЦИЯ 12