В настоящее время для структурирования знаний используются структурный и объектный подходы.
Структурный подход
Структурный подход основан на идее алгоритмической декомпозиции, где каждый модуль системы выполняет один из важных этапов общего процесса. В рамках структурного подхода разработано большое число выразительных средств: диаграммы потоков данных, структурированные словари (тезаурусы), языки спецификаций систем, таблицы решений, стрелочные диаграммы, диаграммы переходов, деревья целей, средства управления проектом (PERT-диаграммы) и др.
Объектный подход
Объектный (объектно-ориентированный) подход связан с объектной декомпозицией, при которой каждый объект рассматривается как экземпляр определенного класса. К базовым понятиям этого подхода относятся следующие:
- Абстрагирование, которое М.Шоу определил как упрощенное описание системы, где выделяются наиболее существенные для рассмотрения свойства и детали, а незначительные аспекты опускаются. Абстрактное представление реальности отражено моделью сущности (объект) и моделью поведения (метод). Объекты соответствуют понятиям предметной области. Методы представляют собой операции, которые можно выполнять над объектами.
- Класс — множество объектов, связанных общностью структуры и свойств.
- Иерархия — упорядоченная система абстракций (классов).
- Наследование — такое соотношение между классами, когда один класс использует структурную или функциональную часть другого класса (или нескольких других).
- Типизация — ограничение, накладываемое на класс, которое препятствует взаимозаменяемости объектов, принадлежащих различным классам.
- Модульность — свойство системы, связанное с возможностью ее декомпозиции на ряд взаимосвязанных частей (модулей).
- Инкапсуляция — ограничение доступа к внутренней структуре и механизмам функционирования объекта.
- Полиморфизм — возможность наделения объекта различными свойствами и стратегиями поведения. Иными словами, одно имя может соответствовать различным классам объектов, входящим в один суперкласс. Следовательно, объект, обозначенный этим именем, может по-разному реагировать на некоторое множество действий.
На стадии структурирования знаний предметной области необходимо решить следующие задачи: составление словаря используемых терминов; выявление понятий и их атрибутов; выявление связей и определение отношений между понятиями; детализация и обобщение понятий; построение обобщенной структуры знаний предметной области.
Первым шагом структурирования знаний является определение входных и выходных данных, которые в дальнейшем будут детализироваться и уточняться. На основании этих данных, а также по результатам анализа протоколов сеансов извлечения знаний составляется набор ключевых слов (терминов), в процессе обработки которого выявляются объекты, понятия и их атрибуты. Под понятием подразумевается обобщение предметов некоторого класса по специфическим признакам. Формирование понятий — серьезная проблема. Для выявления понятий используются традиционные методы распознавания образов и классификации, а также нетрадиционные методы, базирующиеся на методологии инженерии знаний. Наиболее распространенными методиками выявления объектов и понятий являются:
11. Модель представления знаний: семантические сети.
Одним из способов представления знаний является семантическая сеть. Изначально семантическая сеть была задумана как модель преставления структуры долговременной памяти в психологии, но в последствии стала одним из основных способов представления знаний в инженерии знаний.
В основе сетевых моделей представления знаний лежит идея о том, что любые знания можно представить в виде совокупности объектов (понятий) и связей (отношений) между ними. В отличие от продукционных эти модели более наглядны, поскольку любой пример можно представить в виде ориентированного (направленного) графа, вершины которого - понятия, а дуги - отношения между ними.
Понятиями обычно выступают абстрактные или конкретные объекты, а отношения - это связи типа: "это" ("is"), "имеет частью" ("has part"), "принадлежит", "любит" и т.п. Характерной особенностью семантических сетей является обязательное наличие трех типов отношений:
- класс - элемент класса;;
- свойство – значение;
- пример элемента класса.
В качестве примера на Рисунке 3 показана весьма простая семантическая сеть для представления объекта «чайник».
Рисунок 3.
Наиболее часто в семантических сетях используются следующие отношения:
- связи типа "часть-целое" ("класс-подкласс", "элемент-множество" и т.п.);
- функциональные связи (определяемые обычно глаголами "производит", "влияет"...);
- количественные (больше, меньше, равно...);
- пространственные (далеко от, близко от, за, под, над...);
- временные (раньше, позже, в течение...);
- aтрибутивные связи (иметь свойство, иметь значение...);
- логические связи (и, или, не) и др.
Можно ввести несколько классификаций семантических сетей.
Например, по количеству типов отношений:
- однородные (с единственным типом отношений);
- неоднородные (с различными типами отношений).
По типам отношений:
- бинарные (в которых отношения связывают два объекта);
- парные (в которых есть специальные отношения, связывающие более двух понятий).
Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, соответствующей поставленному вопросу. Подобного рода задачи решаются с помощью аппарата теории графов. Следует особо отметить роль фундаментальных признаков связей (рефлексивность, симметричность и транзитивность) в процессе вывода на сети. Так, например, связи вида "это есть" или "иметь частью" транзитивны, что позволяет говорить об установлении с помощью этой связи свойств иерархии наследования в сети. Это означает, что элементы более низкого уровня в сети могут наследовать свойства элементов более высокого уровня в сети.
Примером простой семантической сети является описание объекта автомобиль и рядя связанных с ним понятий (см. Рисунок 4. Пример простейшей семантической сети.). На этой сети присутствует следующая цепочка понятий: «автомобиль имеет частью двигатель», «двигатель имеет частью стартер». В силу транзитивности отношения "иметь частью" можно вывести следующее утверждение «автомобиль имеет частью стартер». Аналогично можно сделать вполне очевидный вывод, что «Иванов обладает автомобилем» или, что «Mercedes имеет частью двигатель и потребляет топливо».
Рисунок 4. Пример простейшей семантической сети [11].
Основное преимущество этой модели - в соответствии современным представлениям об организации долговременной памяти человека. Недостаток модели - сложность поиска вывода на семантической сети.
12. Модель представления знаний: фреймы.
Впервые термин «фрейм» был предложен в 70-е годы Марвином Минским [12], который определил его следующим образом:
«Фрейм – это структура данных, представляющая стереотипную ситуацию, вроде нахождения внутри некоторого рода жилой комнаты, или сбора на вечеринку по поводу дня рождения ребенка. К каждому фрейму присоединяется несколько видов информации. Часть этой информации – о том, как использовать фрейм. Часть о том, чего можно ожидать далее. Часть о том, что следует делать, если эти ожидания не подтвердятся».
Фрейм - это минимальное возможное описание сущности какого-либо явления, события, ситуации, процесса или объекта. Минимальность означает, что при дальнейшем упрощении описания теряется его полнота, она перестает определять ту единицу знаний, для которой предназначено. Например, слово "комната" вызывает у слушающих образ комнаты: "жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью 6-20 м2 ". Из этого описания ничего нельзя убрать (например, убрав окна мы получим уже чулан, а не комнату), но в нем есть "дырки", - это незаполненные значения некоторых атрибутов - количество окон, цвет стен, высота потолка. покрытие пола и др. [11]. В теории фреймов такой образ называется фреймом.
Фрейм имеет определенную структуру, состоящую из множества элементов – слотов. Каждый слот в свою очередь, представляется определенной структурой данных, процедурой, или может быть связан с другим фреймом.
Структуру фрейма можно представить так:
ИМЯ ФРЕЙМА:
(имя 1-го слота: значение 1-го слота),
(имя 2-го слота: значение 2-го слота),
- - - -
(имя N-го слота: значение N-гo слота).
Ту же запись представим в виде таблицы, дополнив двумя столбцами.
В таблице дополнительные столбцы предназначены для описания типа слота и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов. Эти процедуры в литературе иногда именуются «демонами». Со слотом можно связать любое количество процедур, но наиболее часто используются следующие:
- Процедура на событие «если добавлено» (IF-REMOVED). Выполняется, когда новая информация записывается в слот.
- Процедура на событие «если удалено» (IF-ADDED). Выполняется, когда информация удаляется из слота.
- Процедура на событие «по требованию» (IF-NEEDED). Выполняется, когда запрашивается информация из пустого слота.
В качестве значения слота может выступать имя другого фрейма; так образуют сети фреймов.
Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фреймы-экземпляры, которые создаются для отображения реальных ситуаций на основе поступающих данных. Прототип – это уже не абстрактный образ, а наиболее типичный представитель своего класса, с обобщенными, но вполне конкретными, значениями своих свойств. Например, прототип понятия четырехугольник можно определить как фигуру, имеющую четыре угла.
Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через:
- фреймы-структуры, для обозначения объектов и понятий (заем, залог, вексель);
- фреймы-роли (менеджер, кассир, клиент);
- фреймы-сценарии (банкротство, собрание акционеров, празднование именин);
- фреймы-ситуации (тревога, авария, рабочий режим устройства) и др.
Важнейшим свойством теории фреймов является заимствованное из теории семантических сетей наследование свойств. И во фреймах, и в семантических сетях наследование происходит по АКО-связям (A-Kind-Of = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, т.е. переносятся, список и значения слотов. Возможно наследование свойств от нескольких прототипов. Такой вид наследования получи название «множественное наследование».
В качестве примера можно рассмотреть формирование понятия заказ товара (см. Рисунок 2. Пример описания знаний с помощью фреймов.).
Рисунок 2. Пример описания знаний с помощью фреймов
Основным преимуществом фреймов как модели представления знаний является способность отражать концептуальную основу организации памяти человека, а также гибкость и наглядность.