7.5.3. Семантичні мережі представлення знань
Це орієнтований граф, в вузлах якого знаходяться імена об'єктів, а стрілки вказують на відносини між ними ( ріс.7.19 ). З невимірного безлічі відносин часто використовуються частину-ціле, властивості і функціональні зв'язку (виробляє, знаходиться і т.д.).
При цьому якщо уявити семантичну мережу як граф, що виражає семантичні відносини (дуги) між поняттями (вершини), то можна стверджувати, що різні поєднання вхідних і вихідних дуг, присутніх в ланцюгах різної довжини в значній мірі впливають на складність даної структури.
Семантичні мережі містять опис зв'язків в явній формі, зазначених за допомогою синтаксичних, семантичних і прагматичних відносин.
Найбільш часто в них використовується наступні відносини:
- ціле-частина (клас - підклас, елемент - безліч і т.д.);
- функціональний зв'язок, що визначається дієсловом (виробляє, знаходиться, поставляє ... і т.д.);
- атрибутивні (мати значення, мати властивість);
- логічні (І, АБО, НІ);
- тимчасові (протягом, раніше, пізніше ...).
Семантична мережа обробляється на основі принципу зіставлення об'єкта і відносини, які вказані в запиті, з об'єктами і відносинами, які є в семантичної мережі. Наприклад, якщо запит має вигляд: "Що робить ВАТ" Горизонт? "", Буде виділено той фрагмент мережі, де фігурують вказаний об'єкт ( "Горизонт") і відношення "виробляє". Відповіддю буде: "ВАТ" Горизонт "виробляє кінескопи".
За допомогою наведеної на ріс.7.19 семантичної мережі можна отримати відповіді на наступні питання:
- Які підприємства виробляють кінескопи?
- В якому регіоні знаходиться місто Тула?
- Хто є постачальником кінескопів?
- Які кінескопи виробляє ВАТ "Горизонт"?
Мал. 7.19. семантична мережу
Пояснити базу знань легше в порівнянні з базою даних, так як відмінності між ними нечіткі (розмиті).
на ріс.7.20 представлена інформація про постачання, постачальників та інше за допомогою реляційної бази даних і бази знань у вигляді семантичної мережі.
Порівнюючи базу даних і базу знань, бачимо, що в базі даних інформація більш бідна і тому з упевненістю важко відповісти на питання: Чи робив ТОВ "Восход" замовлення ТОВ "Світанок" на арматуру, яку той проводить або ТОВ "Восход" поставив арматуру, яку справив ТОВ "Світанок"?
Відмінність баз знань від баз даних полягає в тому, що перші містять зв'язку між об'єктами в явній формі.
Мал. 7.20. Ілюстрація відмінностей бази даних від бази знань у вигляді семантичної мережі
Обробляється семантична мережу на основі принципу зіставлення об'єкта і відносин, зазначених у запиті, з об'єктами і відносинами, які є в семантичної мережі.
7.5.4. Фрейми в поданні знань
Теорія фреймів - це парадигма для подання знань з метою використання цих знань комп'ютером. Вперше була представлена Мінським, як спроба побудувати фреймової мережу, або парадигму з метою досягнення більшого ефекту розуміння. З одного боку Мінський намагався сконструювати базу даних, що містить енциклопедичні знання, але з іншого боку, він хотів створити найбільш описує базу, що містить інформацію в структурованої і упорядкованій формі. Ця структура дозволила б комп'ютеру вводити інформацію в більш гнучкою формі, маючи доступ до того розділу, який потрібно в даний момент. Мінський розробив таку схему, в якій інформація міститься в спеціальних осередках, званих фреймами, об'єднаними в мережу, звану системою фреймів. Новий фрейм активізується з настанням нової ситуації. Відмінною його рисою є те, що він одночасно містить великий обсяг знань і в той же час є досить гнучким для того, щоб бути використаним як окремий елемент БД. Термін "фрейм" був найбільш популярний в середині сімдесятих років, коли існувало багато його тлумачень, відмінних від інтерпретації Мінського.
Отже, як було сказано вище, фрейми - це фрагменти знання, призначені для подання стандартних ситуацій. Термін "фрейм" (Frame - рамка) був запропонований Мінським. Фрейми мають вигляд структурованих компонентів ситуацій, які називаються слотами. Слот може вказувати на інший фрейм, встановлюючи, таким чином, зв'язок між двома фреймами. Можуть встановлюватися загальні зв'язку типу зв'язку зі спілкування. З кожним фреймом асоціюється різноманітна інформація (в тому числі і процедури), наприклад очікувані процедури ситуації, способи отримання інформації про слотах, значення прийняті за умовчанням, правила виведення.
Формальна структура фрейму має вигляд:
де f - ім'я фрейму; пара <Ni, Vi> - i-ий слот, Ni - ім'я слота і Vi - його значення.
Значення слота може бути представлене послідовністю
де Ki - імена атрибутів, характерних для даного слота; Li - значення цих атрибутів, характерних для даного слота; Rj - велика кількість посилань на інші слоти.
Кожен фрейм, як структура зберігає знання про предметну область (фрейм-прототип), а при заповненні слотів знаннями перетворюється в конкретний фрейм події чи явища.
Фрейми можна розділити на дві групи: фрейми-опису; рольові фрейми.
Розглянемо приклад.
фрейм опис: [<програмне забезпечення »,« програма 1С бухгалтерія, версія 7.5 »,« програма 1С торгівля, версія 7.5 »,« правова програма "Консультант +" проф.>].
Рольовий фрейм: [<заявка на продаж »,« що, установка і покупка програми 1С торгівля, версія 7.5 »,« звідки, фірма ВМИ »,« куди, фірма "Лукойл">, <хто, кур'єр Іванова »,« коли, 27 жовтня 1998 р.>].
У фреймі -Опис як імена слотів заданий вид програмного забезпечення, а значення слота характеризує масу і виробника конкретного виду продукції. У рольовому фреймі як імена слотів виступають питальні слова, відповіді на які є значеннями слотів. Для даного прикладу представлені вже опису конкретних фреймів, які можуть називатися або фреймами - прикладами, або фреймами - екземплярами. Якщо в наведеному прикладі прибрати значення слотів, залишивши лише імена, то отримаємо так званий фрейм - прототип.
Гідність фрейму - уявлення багато в чому ґрунтуються на включенні в нього припущень і очікувань. Це досягається за рахунок присвоєння за умовчанням слотам фрейму стандартних ситуацій. В процесі пошуку рішень цих значень можуть бути замінені більш достовірними. Деякі змінні виділені таким чином, що про їх значеннях система повинна запитати користувача. Частина змінних визначається за допомогою вбудованих процедур, званих внутрішніми. У міру присвоєння змінним певних значень здійснюється виклик інших процедур. Цей тип уявлення комбінує декларативні і процедурні знання.
Фреймові моделі забезпечують вимоги структурованості і пов'язаності. Це досягається за рахунок властивостей успадкування та укладення, якими володіють фрейми, тобто в якості слотів може виступати система імен слотів нижчого рівня, а також слоти можуть бути використані як виклики будь-яких процедур для виконання.
Для багатьох предметних областей фреймових моделі є основним способом формалізації знань.
Щоб краще зрозуміти цю теорію, розглянемо один із прикладів Мінського, заснований на зв'язку між очікуванням, відчуттям і почуттям людини, коли він відкриває двері і входить в кімнату. Припустимо, що ви збираєтеся відкрити двері і зайти в кімнату незнайомого вам будинку. Перебуваючи в будинку, перед тим як відкрити двері, у вас є певні уявлення про те, що ви побачите, увійшовши в кімнату. Наприклад, якщо ви побачите будь-якої пейзаж або морський берег, спочатку ви насилу пізнаєте їх. Потім ви будете здивовані, і врешті-решт дезорієнтовані, так як ви не зможете пояснити інформацію, що надійшла і зв'язати її з тими уявленнями, які у вас були до того. Також у вас виникнуть труднощі з тим, щоб передбачити подальший хід подій. З аналітичної точки зору це можна пояснити як активізацію фрейма кімнати в момент відкривання дверей і його провідну роль в інтерпретації, що надходить. Якби ви побачили за дверима ліжко, то фрейм кімнати придбав би більш вузьку форму, і перетворився б у фрейм ліжка. Іншими словами, ви б мали доступ до найбільш специфічного фрейму з усіх доступних. Можливо, що ви використовуєте інформацію, що міститься в вашому фреймі кімнати для того щоб розпізнати меблі, що називається процесом зверху вниз, або в контексті теорії фреймів фреймодвіжущім розпізнаванням. Якби ви побачили пожежний гідрант, то ваші відчуття були б аналогічні першому випадку. Психологи стверджують, що розпізнавання об'єктів легше проходить в звичайному контексті, ніж у нестандартній обстановці. З цього прикладу ми бачимо, що фрейм - це модель знань, яка активізується в певній ситуації і служить для її пояснення і передбачення. У Мінського були досить розпливчасті ідеї про саму структуру такої БД, яка могла б виконувати подібні речі. Він запропонував систему, що складається з пов'язаних між собою фреймів, багато з яких складаються з однакових подкомпонентов, об'єднаних в мережу. Таким чином, в разі, коли хто-небудь входить в будинок, його очікування контролюються операціями, що входять в мережу системи фреймів. У розглянутому вище випадку ми маємо справу з фреймової системою для будинку, і з підсистемами для дверей і кімнати. Активізовані фрейми з додатковою інформацією в БД про те, що ви відкриваєте двері, будуть служити переходом від активізованого фрейма двері до фрейму кімнати. При цьому фрейми двері та кімнати будуть мати однакову підструктуру. Мінський назвав це явище розділом терміналів і вважав його важливою частиною теорії фреймів.
Мінський також ввів термінологію, яка могла б використовуватися при вивченні цієї теорії (фрейми, слоти, термінали і т.д.). Хоча приклади цієї теорії були розділені на мовні та перцептуальние, і Мінський розглядав їх як мають загальну природу, в мові є більш широка сфера її застосування. В основному більшість досліджень було зроблено в контексті загальновживаної лексики і літературної мови.
Однією з труднощів подання знань і мови фреймів є відсутність формальної семантики. Це ускладнює порівняння властивостей представлення знань різних мов фреймів, а також повне логічне пояснення мови фреймів.
Фрейми використовуються в системах штучного інтелекту (наприклад, в експертних системах) як одна з найпоширеніших форм представлення знань.
Фрейми призначені для подання стереотипних ситуацій. Вони об'єднують декларативні і процедурні знання. Фрейми об'єднуються в мережу. У них вказується: яким чином фрейм реагує на зміну ситуації, що слід робити далі.
Фрейм складається з слотів - переліку характеристик об'єкта.
Основна ідея фрейму - зосередження всієї інформації про об'єкт в одній структурі даних.
Розглянемо приклад фрейма "Керівник" ( ріс.7.21 ).
Реквізити, які вказують характеристики об'єкта, називаються слотами.
З деякими слотами фрейму пов'язані процедури, автоматично виконуються при певних умовах.
Умови (реакції на події) можуть бути наступними:
- реакція на подію "якщо додано";
- реакція на подію "якщо видалено";
- реакція на подію "якщо змінено".
У фреймі "Керівник" зазначені процедури 1, 2, 3, 4 активізуються при зміні значень слотів.
Слот "Заробітна плата" пов'язаний з фреймом "Зарплата", який активізується за допомогою процедури 4. Вона включається при зміни слоту "Заробітна плата". Процедура 4 включається при зміні значення слота "Заробітна плата", після включається процедура 5, так змінився слот "Погодинна заробітна плата".
Мал. 7.21. Фрейм "Керівник"Наприклад, якщо запит має вигляд: "Що робить ВАТ" Горизонт?
В якому регіоні знаходиться місто Тула?
Хто є постачальником кінескопів?
Які кінескопи виробляє ВАТ "Горизонт"?