3. ПРИДБАННЯ Й ФОРМАЛІЗАЦІЯ ЗНАНЬ

Важливим етапом при створенні БЗ є етап придбання знань. На цьому етапі різноманітний набір фактів про деякий предмет повинен бути представлений у вигляді деякої узагальненої структури. Однієї з них є структура, що одержала назву «дерево рішень».

Це один з найпростіших способів подання фактів і його застосування обмежено. Разом з тим, використання дерева рішень може бути ефективно там, де знання представляються у вигляді правил.

Даний підхід буде розглянутий з єдиною метою: показати, як знання про конкретну предметну область можуть бути формалізовані до рівня структури БЗ деякої експертної системи.

Структура дерева рішень ілюструє відносини, які повинні бути встановлені між правилами в добре організованій БЗ.

3.1. Формалізація задачі

Уявимо собі, що ми присутні при бесіді, коли фахівця в області ботаніки по телефону просять визначити тип деякої рослини. Тому що він не бачить конкретний екземпляр, а запитувач не є фахівцем в галузі ботаніки, то консультуючий задає ряд питань, щоб одержати відомості, необхідні для розв'язання завдання.

Один з варіантів такої консультації може бути представлений у графічній формі (мал. 3.1).

Рис. 3.1. «Телефонна консультація»

Результатом такої консультації буде висновок: «Ґрунтуючись на Ваших відповідях, можна припустити, що тип рослини - дерево».

Однак дана діаграма ілюструє тільки один з можливих варіантів питань і відповідей (тобто експертизи). Аналогічним чином можна представити й всі інші варіанти відповідей, і хід консультації.

Що ж дозволяє фахівцеві провести таку консультацію й визначити, як послідовність питань, так і їх зміст все це залежить від відповідей опитуваного? Відповідь одина: його знання в конкретній предметній галузі, у якій він є фахівцем, (експертом).

3.2. Подання знань у вигляді «дерева рішень»

Базуючись на знаннях експерта графічно діаграму всіх можливих висновків даної консультації можна представити у вигляді мал. 3.2.

 
Рис. 3.2. Дерево рішення завдання

Це графічне подання моделі даних називається «деревом рішення», що поєднує всі галузі пошуку типу невідома рослина.

Але якщо консультація ЕС повинна бути більш глибокою й визначати, наприклад, клас рослини, то в цьому випадку для «типу рослини - дерево» повинно бути побудоване своє «дерево рішень», що після одержання знань від фахівця можна представити у вигляді мал. 3.3.

Як видно, нова частина буде «піддеревом» вхідного «дерева рішень».

Рис. 3.3. «Піддерево-1» рішення завдання

Існує кілька причин, по яких все «дерево рішень» розбивається на секції:

Коли «піддерево» створено, заключна його частина може бути скопійована в корінь знову створюваної області «дерева рішень», і для неї на основі знань, одержуваних від експерта, може бути побудоване своє «піддерево рішень» (мал. 3.4) і т.д.

Рис. 3.4. «Піддерево-2» рішення завдання

Діаграми, наведені на мал. 3.2 - 3.4 - це модель незакінченої ботанічної БЗ, що вирішує тільки вузьку частину загального завдання.

На основі викладеного можна зробити висновок, що при розробці моделі БЗ будь-якої предметної області на основі «дерева рішень» необхідно:

3.3 Формування правил на основі дерева рішень

На прикладі завдання про ідентифікацію типу рослини розглянемо, як «дерево рішень» можна представити у вигляді правил.

Першим етапом формування правил є переклад «дерева рішень» з питань-відповідей у твердження-факти. Графічно для мал. 3.2 це буде відповідати уявленню у вигляді мал. 3.5.

Рис. 3.5. Формування правил

Аналогічні перетворення можуть бути виконані для всіх «піддерев» «дерева рішень».

Загальним для них є те, що всі твердження представляються реченнями які складаються з <атрибута>, <предиката>,<значення>.

Наприклад:
<тип рослини> <є> <дерево>
<стебло> <є > <зелене>

У даному трактуванні:

Атрибут - це ключове слово або фраза, що описує деяку якість, про яке ми намагаємося знайти інформацію.

Значення - це опис, призначений атрибуту.

Предикат - це елемент, що вказує на відносини між атрибутом і його значенням.

Більш строго це поняття буде визначено в наступних розділах. На цьому етапі ми припускаємо, що між атрибутом і його значенням існує тільки одне відношення – бути (належати, бути), що для кратності будемо позначати IS.

Тоді вся безліч фактів для «дерева рішень» можна представити набором пропозицій (таблиця 3.1).

Таблиця 3.1 Факти
Атрибут Предикат Значення
Тип рослини Is Трав'янисті
Дерево
Чагарникові
Ліанові
Стебло Is Зелений
Деревний
Положення стебла Is Пряме
Стелиться
Основне стебло Is Один
Трохи

Несуперечлива підмножина цих фактів буде становити БД експертної системи.

Рішення будь-якого завдання на цієї БД можна одержати за допомогою правил, з яких формується БЗ. Набір правил на основі «дерева рішень» формується виходячи з:

Приклад:

ЯКЩО стебло IS деревинне
І положення IS пряме
І основне стебло IS один
ТО тип рослини IS дерево

У деяких мовах програмування й оболонках експертних систем використовується більш короткий запис правил:

У цьому випадку наведене вище правило можна записати у вигляді:

IS (type_of_plant, tree) if  IS (stream, woody),
IS (position, upright),
IS (main_treak, one).

3.4 Додаткова інформація, що включає в БЗ

До складу БЗ можуть додатково включатися допоміжні інформаційні елементи, що полегшують роботу користувача з ЕС і які роблять діалог користувача з ЕОМ більш докладним й осмисленим. Одним з таких елементів можуть бути підказки.

Підказка - це питання, що з'являється на екрані для одержання від користувача інформації про деякий атрибут, значення якого на цей момент невідомо.

Підказка являє собою рядок символів - кожен атрибут повинен мати тільки одну підказку асоційовану з ним. Якщо немає запиту про деякий атрибут, то він не має підказки.

Приклад підказки в БЗ:

promt положення Promt <атрибут>
Положення стебла – росте прямо або стелиться ? <рядок підказки>

Правила, записані в стислій формі, можуть бути незрозумілі для непрофесійного користувача. Атрибути, що вводять у вигляді коротких фраз, дозволяють мінімізувати обсяг пам'яті, необхідний для зберігання правила, і прискорити його введення й обробку.

Для того щоб зробити правило більш зрозумілім й інформативним, кожному атрибуту можна поставити у відповідність його переклад.

Переклад - це рядок символів, що застосовується для пояснення атрибута.

Приклад:

Пропозиція: стебло є зеленим trans <атрибут>
Атрибут - «стебло» <рядок перекладу>
Можливі значення - «зелене», «дерев'яне»
Переклад для атрибута - «стебло рослини»

У цьому прикладі з появою в правилі атрибута «стебло» він буде замінений перекладом «стебло рослини», після чого для закінчення пропозиції система сама додасть предикат «є» і значення, що відповідає даному атрибуту.