17

Теория Прикладные программые продукты Инженерия знаний17.3 Структурирование знани

## 17.3. СТРУКТУРИРОВАНИЕ ЗНАНИЙ

### ∙ Концептуальная структура предметной области

### ∙ Функциональная структура предметной области

### ∙ Формализация и программная реализация базы знаний

### Концептуальная структура предметной области

Одна из наиболее творческих процедур при построении экспертных систем - процедура концептуального анализа полученных знаний или структурирование.

Структурирование - это процесс создания полуформализованного описания предметной области. Такое полуформализованное описание называется полем знаний. Обычно оно создается в графической форме.

Поле знаний Рz можно описать следующим образом:

Pz=<Sk,Sf>,

где Sk - концептуальная структура предметной области;

Sf - функциональная структура предметной области,

Концептуальная структура, или модель предметной области, служит для описания ее объектов и отношений между ними, т.е. можно сказать, что концептуальная модель Sk представляет собой следующее:

Sk = <A, R>,

где А - множество объектов предметной области;

R - множество отношений, связывающих объекты.

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

Основными из них являются АКО, A-part-of, Has-attribute, Value и др.

∙ АКО (A-Kind-OF) - "это есть", например, [Macll] - > (АКО) - > [ПК]. АКО отражает родовидовые отношения и иерархию понятий предметной области. Обязательно присутствует в любой концептуальной структуре.

∙ A-part-of - "часть от", например, [процессор] - > (A-part-of) - > [компьютер]. Это отношение служит для отражения физической структуры и декомпозиции сложных объектов на составляющие.

∙ Has-attribute - "имеет свойство", например, [память] - > (Has-attribute) - > [объем памяти].

∙ Value - "значение", например, [объем памяти] - > (Value) - > [16 Мбайт].

Поле знаний может напоминать семантическую сеть (см. подразд. 16.1), но оно менее формализовано. Если в сети жестко оговорены возможные виды связей, то в поле знаний они произвольны.

Краткий алгоритм формирования концептуальной структуры.

Шаг 1. Определить все результирующие понятия, или выходы системы. Это может быть набор диагнозов, рекомендаций, советов системы.

Шаг 2. Определить все входные понятия, или факторы, от которых зависит результат работы системы.

Шаг 3. Установить промежуточные понятия, участвующие в рассуждениях экспертов, если они есть.

Шаг 4. Для всех понятий найти обобщающие и уточняющие понятия, т.е. установить иерархии объектов

Шаг 5. Для объектов, участвующих в рассуждениях, определить свойства и их значения.

Шаг 6. Попытаться определить другие связи, и все в целом отразить графически.

Шаг 6 Убрать лишние связи, объекты, обсудить структуру с экспертом, дополнить, если надо, с возвратом к шагам 1 - 6.

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

На рис. 17.14 использованы связи АКО и Value. Дополните самостоятельно данное поле знаний.

### Функциональная структура предметной области.

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

Часто в моделях рассуждении присутствуют нечеткие понятия - "часто", "много", "очень", "высокий", "большой" и др. Для их представления базе знаний используется так называемая нечеткая логика, автор которой - Л.Заде, предложил простой формализм для таких понятий. Этот формализм использует понятие нечеткой функции принадлежности, которая отражает численно на шкале [0,10] или [0,1] степень уверенности эксперта в том, что конкретное значение можно отнести к данному нечеткому понятию. Подробнее см, [10, 14]

Также степени уверенности используются при множественных рекомендациях. Например, эксперт советует "покупать акции компании Х со степенью уверенности 9, а компании Y со степенью уверенности 6".

Рис. 17.14. Концептуальная структура предметной области

Пример 17.2. Для предметной области, описанной в примере 17.1, создается функциональная структура и представляется в виде табл. 17.1. В структуре предлагается до трех рекомендаций с разной степенью уверенности на шкале [0,10].

Таблица 17.1. Функциональная структура предметной области

#### Здоровье

Материальное положение

Время отпуска

Характер

Отдых

1

Ст.увер.

1

Отдых

2

Ст.увер.

2

Отличное или хорошее

Хорошее

##### Активный

Поход

8

Турпоездка

7

Нормальное

Лето

##### Пассивный

Дача

9

Дом

3

Хорошее

Лето или осень

##### Пассивный

Курорт

9

Дом

1

............................ | ....................... | ................ | .............................................. | ............... | ................ | ................ | .............

### ФОРМАЛИЗАЦИЯ И ПРОГРАММНАЯ РЕАЛИЗАЦИЯ БАЗЫ ЗНАНИЙ

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

Пример 17.3. Если теперь ввести структуру из примера 17.2 в базу знаний какой-либо продукционной оболочки (например, ExSys), то можно получить экспертную систему, которая, задавая вопросы о вашем здоровье, материальном положении, времени отпуска, характере, поможет вам выбрать наиболее подходящий вид отдыха. Каждой строке таблицы будет соответствовать правило "Если - то". Например:

Правило I: 'Если здоровье отличное или хорошее и материальное положение хорошее и характер активный, то поход (степень уверенности = 8) или турпоездка (степень уверенности = 7).