Моделі представлення знань у інтелектуальних технологіях
Система штучного інтелекту – це програмована система, що імітує на комп'ютері мислення людини. Передумовою створення СШІ є структуризація сукупності знань, яка відбувається в наступній послідовності:
· вивчення процесу мислення людини, яка вирішує певні задачі чи приймає певні рішення в конкретній професіональній області;
· виділення основних кроків цього процесу;
· розробка програмних засобів, що відтворюють досліджений процес на комп'ютері.
Серцевиною інтелектуальної системи є база знань або модель предметної області, описана на мові надвисокого рівня, наближеній до природної, яку називають мовою представлення знань. При обробці на ЕОМ знання, як і дані, трансформуються в наступній послідовності: знання в пам'яті людини як результат мислення Þ матеріальні носії знань (підручники, методичні посібники) Þ поле знань, тобто умовний опис основних об'єктів предметної області, їх атрибутів та закономірностей, що їх пов'язують Þ знання, описані на мовах представлення знань (продукції, семантичні мережі, фрейми тощо) Þ база знань на машинних носіях інформації.
Нині у ІС застосовуються сім класів моделей представлення структурованих знань: логічні, продукційні, фреймові, мережеві, об'єктно-орієнтовані, спеціальні і комплексні [8] моделі (перші чотири з них є традиційними):
· логічні, основою яких є формальна модель, тобто формальний опис певною логічною мовою (переважно мовами математичної логіки та теорії множин) структури об’єкта;
· продукційні, що ґрунтуються на використанні правил (продукцій);
· фреймові, тобто моделі представлення знань, у якій опис конкретного факту, події, процесу представляється через заповнення стандартизованих для даного типу фактів, подій чи процесів елементів фрейму (слотів) певними конкретними значеннями, які характеризують об’єкт чи процес в межах даного класу;
· мережеві моделі у вигляді семантичних мереж, тобто мереж, вершини яких містять інформаційні одиниці, а дуги відповідають відношенням між ними.
Мова, яка застосовується у інформаційних технологіях для розробки систем штучного інтелекту, які базуються на одній або кількох з цих моделей, називається мовою подання знань. Виділяють наступні мови подання знань [92]:
· логічна мова, яка базується на численні предикатів першого порядку. Вирази цієї мови – це синтаксично формули цього числення, через які виражаються записані у системі знання;
· продукційна мова, основними одиницями якої є продукції;
· фреймова мова, у якій при поданні і маніпулюванні знаннями використовують фреймову модель представлення знань.
У логічних моделяхзнання представляються у вигляді сукупності правильно побудованих формул певної формальної системи (ФС) [8]. Формула може бути описана сукупністю чотирьох елементів {T, P, A, R}, де Т— множина базових елементів, з яких формуються всі вирази ФС; Р — множина синтаксичних правил, що визначають синтаксично правильні вирази з базових елементів ФС; А — множина аксіом ФС, відповідних синтаксично правильним виразам, які в межах даної ФС апріорі вважаються істинними; R — кінцева множина правил виводу, що дають змогу отримувати з одних синтаксично правильних виразів інші. Простою логічною моделлю є числення предикатів першого порядку.
До переваг логічних моделей можна віднести: високий рівень формалізації, який забезпечує реалізацію системи формально точних визначень і висновків; узгодженість знань як єдиного цілого, що полегшує вирішення проблем верифікації баз знань, оцінки незалежності і повноти системи аксіом тощо; єдині засоби опису як знань про предметну область, так і про способи вирішення задач у ній, що дозволяє довільну задачу звести до пошуку логічного виведення деякої формули в тій або інший ФС. Недоліками моделі є: ненаочність представлення знань (логічні формули важко читаються і сприймаються); неможливість використання предикатів у якості змінних; обмеженість відбиття різноманітних властивостей однотипними логічними формулами та складність автоматизованої обробки представлених таким чином структур даних.
В основу фреймової моделі знань покладене поняття фрейму, яке тлумачать як структуру даних, що представляє деякий концептуальний об'єкт або типову ситуацію, як абстрактний образ (модель опису знань, шаблон) для представлення певного стереотипного сприйняття типового об'єкту чи ситуації, що окреслює рамки даного (у поточній ситуації при рішенні даної задачі) фрагмента предметної області. Термін «фрейм» (каркас, рамка) був запропонований в 1979 р. М.Мінськім для формалізації структури знань при розв’язанні задач розпізнавання образів (сцен) і розуміння мови. «Відправним моментом для даної теорії служить той факт, що людина, намагаючись пізнати нову для себе ситуацію чи по-новому поглянути на вже звичні речі, вибирає зі своєї пам'яті деяку структуру даних (образ), звану нами фреймом, таким чином, щоб шляхом зміни в ній окремих деталей зробити її придатною для розуміння ширшого класу явищ або процесів» [69]. Поняття фрейму запозичене з філософії та психології. Наприклад, якщо ми говоримо «кімната», в свідомості слухачів з'являється «жиле приміщення з чотирма стінами, підлогою, стелею та вікнами площею від 6 до 40 кв. м». Вилучення з цього опису жодного фрагменту неможливе (наприклад, забравши вікна, ми отримаємо не кімнату, а прикомірок), але при переході від класу до об'єкту в ньому з'являться незаповнені прогалини, які називаються «слотами» – кількість вікон, колір стін, висота стелі тощо. Таким чином, фрейм – це формалізована модель відбиття образу певного фрагменту предметної області, яка дає змогу уніфікувати процес її опису та вилучити надлишкову інформацію, несуттєву для даної задачі. Структура фрейму має вигляд, наведений в табл. 9.1.
Таблиця 9.1
Структура фрейму
Ім'я фрейму | |||
Ім'я слоту | Значення слоту | Спосіб отримання знань | Приєднана процедура |
Фрейм ідентифікується унікальним ім'ям і складається з множини слотів з вказівками способу отримання знань у слоті. Кожному слоту відповідає певна структура даних. У слотах міститься: інформація про фрейм - його властивості, характеристики, факти, що його стосуються тощо; посилання на інші фрейми чи вказівки на асоційовані з ними приєднані процедури. Існує кілька способів отримання знань у фреймі:
· по замовчуванню (від фрейму-взірця);
· наслідуванням властивостей від фрейму вищого рівня ієрархії, вказаного в слоті АКО (A kind of);
· за формулою, вказаною в слоті;
· через приєднану процедуру;
· в явному вигляді, з діалогу з користувачем;
· з бази даних.
Представлення предметної області у вигляді ієрархічної системи фреймів добре відбиває внутрішню і зовнішню структури об'єктів області. Організація висновку у фреймовій системі базується на обміні повідомленнями між фреймами, активації і виконанні приєднаних процедур. Відображення в ієрархії фреймів родовидових відношень забезпечує можливість реалізації у межах фреймової моделі операції успадковування, що дає змогу приписувати фреймам нижніх рівнів ієрархії властивості фреймів вище розміщених рівнів. Аналогічні механізми успадковування використовуються сьогодні в об'єктно-орієнтованому проектуванні.
Основними перевагами фреймової моделі представлення знань є відображення нею концептуальної основи організації довготривалої пам'яті людини, її гнучкість, однорідність та наочність, високий ступінь структурованості знання, інтеграція декларативних і процедурних знань. До недоліків моделі можна віднести складність управління та низьку ефективність висновку. Водночас фреймова організація дає змогу уніфікувати процедуру спрощення фактів на початкових етапах представлення знань завдяки відбору лише фактів, що відповідають значенням слотів, тобто a priori визнані за суттєві на основі досвіду фахівців. Це дає змогу спростити роботу користувача, зводячи її до заповнення певних полів діалогових вікон або вибору значень слотів з меню. Саме тому більшість інтелектуальних систем використовують фреймову модель представлення знань у комбінації з іншими моделями, найчастіше - продукційною.
Продукційна модель, чи модель на базі правил, дає змогу представити знання у формі множини продукцій, чи правил виведення висновку вигляду: «Якщо (умова), то (висновок чи дія)», де під умовою (антецедентом) розуміють деяке речення-взірець, за яким здійснюють пошук у базі знань, а під висновком чи дією (консеквентом) – дії, які виконуються в разі успішного виконання пошуку. Кожна продукція вигляду «Якщо (умова), то (висновок чи дія)» у загальному може бути описана виразом (Wi, Ui, Pi, Ai ® Bi, Ci), де Wi — сфера застосування і-ої продукції, що визначає клас ситуацій в деякій предметній області чи її фрагменті; Ui, — передумова i-ої продукції, що містить інформацію про істинність даної продукції та її значущість відносно інших продукцій; Рi, — умова i-ої продукції, яка визначається чинниками, що безпосередньо не входять в Ai, чиє істинне значення дозволяє застосовувати дану продукцію; Ai ® Bi, — ядро i-ої продукції, яке відповідає правилу «якщо..., то...»; Сi — постумова i-ої продукції, що визначає зміни, які необхідно внести до системи продукцій після виконання даної продукції [8].
Тлумачення ядра продукції може бути різним, наприклад: «Якщо Ai істинне, то Bi також істинно»; «Якщо Ai міститься в БЗ, то Bi слід включити в БЗ»; «Якщо Ai істинне, то слід виконати Bi» (в цьому випадку мається на увазі, що Bi — ім'я процедури, а Ai — умова її активації або набір початкових даних для Bi); «Якщо Ai присутнє в описі, до якого застосовується i-а продукція, то Ai слід замінити на Bi» тощо. Найчастіше висновок по такій базі даних є прямим (від даних до пошуку мети) або зворотним (від мети або її підтвердження – до даних, тобто конкретних фактів, що зберігаються в базі фактів і слугують за підставу для запуску машини висновку або інтерпретатора правил, що перебирає правила з продукційної бази правил).
Системи, організовані на основі продукційної моделі представлення знань, складаються з трьох основних компонент: бази фактів, яка містить декларативні знання про предметну область, використовувані як аргументи в умовах застосовності продукцій; бази правил (продукцій) та машини (механізму) виведення висновку. Машиною виведення висновку, чи інтерпретатором правил називають програму, що керує перебором правил, реалізуючи функції аналізу умов застосовності продукцій, виконання продукцій і управління вибором продукцій (управління висновком в продукційній системі).
До переваг продукційної моделі можна віднести чіткість та наочність інтерпретації окремих правил, простоту механізмів висновку (виконання продукцій) та модифікації БЗ; до недоліків – складність управління висновком, неоднозначність вибору конкуруючих правил; низьку ефективність і негнучкість механізмів висновку загалом, неоднозначність врахування взаємозв'язку окремих продукцій, невідповідність психологічним аспектам уявлення і обробки знань людиною; складність оцінки цілісного представлення предметної області.
Найзагальнішою є мережева модель представлення знань, у якій предметна область описується через основні її об’єкти та відношення між ними, а носієм знань виступає семантична мережа [8]. Семантична мережа – це орієнтований граф, вершини якого відповідають об’єктам (поняттям), а дуги – відношення між ними. Самий термін «семантична» перекладається як «змістовна», а семантику визначають як науку, що встановлює співвідношення між об'єктами, та символами, якими їх позначено, тобто як науку, що визначає зміст знаків. Всім семантичним мережам притаманна наявність трьох типів відношень: клас – елемент класу (квітка – троянда); властивість – значення (колір – червоний); елемент класу – приклад елементу (троянда – чайна). Типізація семантичних мереж задається змістом утворюючих їх стосунків. Так, якщо дуги мережі відбивають родовидові відношення, то мережа визначає класифікацію об'єктів предметної області, якщо причинно-наслідкові – мережу можна інтерпретувати як сценарій предметної області тощо. Урахування особливостей типів об'єктів і базових відношень, заданих цими типами, забезпечує можливість застосування певних класів висновків на мережі.
Проблема пошуку рішення в базі знань типу семантичної мережі являє собою пошук фрагменту мережі у вигляді певної підмережі, яка відповідає поставленому до бази запиту. Семантична модель застосовується в системах інформаційної підтримки прийняття рішень типу Knowlegist, CoBrain [118] тощо. Такі системи характеризуються досить складною організацією процедури пошуку і високою зручністю для користувача.
Переваги мережевої моделі полягають у її високій загальності, наочності відображення системи знань про предметну область, легкості розуміння пропонованого представлення. Недоліки мережевої моделі пов’язані зі змішуванням груп знань, що стосуються цілком різних ситуацій при призначенні дуг між вершинами, що ускладнює інтерпретацію знань. Інша проблема, властива мережевій моделі, полягає у складності уніфікації процедур висновку і механізмів управління висновками на мережі.
Обєктно-орієнтовані моделі знань застосовуються у обєктно-орієнтованому проектуванні, спеціалізовані – у певних вузьких предметних областях, а комплексні є комбінацією базових моделей [8], серед яких найпоширенішою є фреймово-продукційна модель, з якою працює більшість сучасних інтелектуальних систем підтримки прийняття рішення.