03 - Організація баз даних та знань

Тема 11 - Загальна характеристика баз знань

Конспект лекції


Ключові терміни:

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

11.1 Базові поняття

Знання пов'язані з даними, ґрунтуються на них, але представляють результат розумової діяльності людини, узагальнюють його досвід, отриманий в ході виконання якої-небудь практичної діяльності. Вони є результатом емпіричного досвіду.

Знання - це виявлені закономірності наочної області (принципи, зв'язки, закони), що дозволяють вирішувати завдання в цій області. При обробці на ЕОМ знання трансформуються аналогічно даним:

Часто використовуються такі визначення знань: знання - це добре структуровані дані, або дані про дані, або метадані.

Існує безліч способів визначати поняття. Один з широко вживаних способів, заснований на ідеї інтенсионала.

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

Знання можуть бути класифіковані по наступних категоріях:

Знання можна розділити на процедурні і декларативні. Історично первинними були процедурні знання, тобто знання, "розчинені" в алгоритмах. Вони управляли даними. Для їх зміни необхідно було змінювати програми. Проте з розвитком штучного інтелекту пріоритет даних поступово змінювався, і все більша частина знань зосереджувалася в структурах даних (таблиці, списки, абстрактні типи даних), тобто збільшувалася роль декларативних знань.

Сьогодні знання набули чисто декларативної форми, тобто знаннями вважаються речення, записані на мовах подання знань, наближених до природніх і зрозумілих неспеціалістам.  Існують десятки моделей (або мов) подання знань для різних наочних областей. Більшість з них може бути зведені до наступних класів: продукційні; семантичні мережі; фрейми; формальні логічні моделі і багато інших.

Ці і інші моделі ми розглянемо в наступній лекції розділу

Стратегії здобуття знань

Існує декілька стратегій здобуття знань. Найбільш поширені:

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

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

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

11.2 Виведення на знаннях

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

Не дивлячись на всі недоліки, найбільшого поширення набула продукційна модель подання знань. При використанні продукційної моделі база знань складається з набору правил. Програма, що управляє перебором правил, називається машиною виведення. Машина виведення (інтерпретатор правил) виконує дві функції: по-перше, перегляд існуючих фактів з робочої пам'яті (бази даних) і правил з бази знань і додавання (в міру можливості) в робочу пам'ять нових фактів, а по-друге, визначення порядку перегляду і вживання правил. Цей механізм управляє процесом консультації, зберігаючи для користувача інформацію про отримані висновки, і запрошує у нього інформацію, коли для спрацьовування чергового правила в робочій пам'яті виявляється недостатньо даних.

У переважній більшості систем, заснованих на знаннях, механізм виведення є невеликою за об'ємом програмою і включає два компоненти — один реалізує власне виведення, інший управляє цим процесом. Дія компонента виведення заснована на вживанні правила, яке називається modus ponens.

Правило modus ponens. Якщо відомо, що достеменне твердження A, то існує правило вигляду – «Якщо А, то В», тоді твердження В теж істинно. Правила спрацьовують, коли знаходяться факти, що задовольняють їх лівій частині: якщо достеменна посилання, то має бути достеменний і висновок. Компонент виведення повинен функціонувати навіть при недоліку інформації. Отримане рішення може і не бути точним, проте, система не повинна зупинятися через те, що відсутня будь-яка частина вхідної інформації. Компонент, що управляє, визначає порядок вживання правив і виконує чотири функції:

  1. Зіставлення — зразок правила зіставляється з наявними фактами.
  2. Вибір — якщо в конкретній ситуації може бути застосовано відразу декілька правив, то з них вибирається одне, найбільш відповідне по заданому критерію (вирішення конфлікту).
  3. Спрацьовування — якщо зразок правила при зіставленні збігся з якими-небудь фактами з робочої пам'яті, то правило спрацьовує.
  4. Дія — робоча пам'ять піддається зміні шляхом додавання в неї висновку що спрацював, правила. Якщо в правій частині правила міститься вказівка на будь-яку дію, то вона виконується (як, наприклад, в системах забезпечення безпеки інформації).

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

Рисунок 11.1 – Цикл роботи інтерпретатора

Інформація з робочої пам'яті послідовно зіставляється з посиланнями правил для виявлення успішного співставлення. Сукупність відібраних правил складає так звану конфліктну безліч. Для вирішення конфлікту інтерпретатор має критерій, за допомогою якого він вибирає єдине правило, після чого правило спрацьовує. Це виражається в занесенні фактів, які створюють висновок правила, в робочу пам'ять або в зміні критерію вибору конфліктуючих правил. Якщо ж по закінченню правила згадується назва якої-небудь дії, то воно виконується. Робота машини виведення залежить лише від стану робочої пам'яті і від складу бази знань. На практиці зазвичай враховується історія опрацювання, тобто поведінка механізму випаду в попередніх циклах. Інформація про поведінку механізму виведення запам'ятовується в пам'яті станів. Зазвичай пам'ять станів містить протокол системи.

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

  1. Яку точку в просторі станів прийняти як початкову? Від вибору цієї точки залежить і метод здійснення пошуку — в прямому або зворотному напрямі.
  2. Якими методами можна підвищити ефективність пошуку рішення?

Ці методи визначаються обраною стратегією перебору – глибину, ширину, по підзадачах або інш. При зворотному порядку виведення спочатку висувається деяка гіпотеза, а потім механізм виведення як би повертається назад, переходячи до фактів, намагаючись знайти ті, які підтверджують гіпотезу (рис. 11.2, зліва). Якщо вона виявилася правильною, то вибирається наступна гіпотеза, що деталізує першу і що є по відношенню до неї підціллю. Далі відшукуються факти, підтверджуючі істинність підпорядкованої гіпотези. Виведення такого типа називається керованим цілями, або керованим консеквентами. Зворотний пошук застосовується в тих випадках, коли цілі відомі і їх порівняно небагато.

Рисунок 11.2 – Стратегії виведення

У системах з прямим виведенням по відомих фактах відшукується висновок, який з цих фактів виходить (див. рис.11.2, справа). Якщо такі висновки вдається знайти, то вони заносяться в робочу пам'ять. Пряме виведення часто називають виведенням, керованими даними або керованими антецедентами. Існують системи, в яких вивід грунтується на поєднанні згаданих вище методів, — зворотного і обмеженого прямого. Такий комбінований метод отримав назву циклічного.

ПрикладСховати

Є фрагмент бази знань з двох правил:

  1. П1. ЯКЩО «відпочинок — влітку» і «людина — активний», ТО «їхати в гори».
  2. П2. Якщо «любить сонце», ТО «відпочинок влітку».

Припустимо, що до системи поступили факти – «людина активна» і «любить сонце».

ПРЯМЕ ВИВЕДЕННЯ - виходячи з фактичних даних, отримати рекомендацію.

1-й прохід: Крок 1. Пробуємо П1, не працює (не вистачає даних «відпочинок – влітку») –

Крок 2. Пробуємо П2, працює, в базу поступає факт «відпочинок — влітку».

2-й прохід: Крок 2. Пробуємо П2, працює, активується мета «їхати в гори», яка і виступає як порада, яку пропонує експертна система.

ЗВОРОТНЕ ВИВЕДЕННЯ - підтвердити вибрану мету за допомогою наявних правил і даних.

1-й прохід. Крок 1. Мета — «їхати в гори»:

пробуємо П1 — даних «відпочинок — влітку» – немає, вони стають новою метою і пишеться правило, де мета в лівій частині.

Крок 2. Мета «відпочинок — влітку»:

правило П2 - підтверджує мету і активує її.

2-й прохід: Крок 3. Пробуємо П1, підтверджується шукана мета.

 

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

При пошуку в глибину як чергова підмета вибирається та, яка відповідає наступному, детальнішому рівню опису завдання. Наприклад, діагностуюча система, зробивши на основі відомих симптомів припущення про наявність певного захворювання, продовжуватиме запрошувати уточнюючі ознаки і симптоми цієї хвороби до тих пір, поки повністю не спростує висунуту гіпотезу.

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

Розбиття на підзадачі виконує виділення підзадач, вирішення яких розглядається як досягнення проміжних цілей на шляху до кінцевої мети. Прикладом, підтверджуючим ефективності розбиття на підзадачі, є пошук несправностей в комп'ютері – спочатку виявляється підсистема (живлення, пам'ять і т. д.), що відмовила, що значно звужує простір пошуку. Якщо вдається правильно зрозуміти суть завдання і оптимально розбити її на систему ієрархічно зв'язаних цілей–підцілей, то можна домогтися мінімального шляху розв’язання в просторі пошуку.

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

11.3 Елементи експертних систем

Експертна система – це комплекс комп'ютерного програмного забезпечення, що допомагає людині приймати обґрунтовані рішення. Експертні системи використовують інформацію, отриману заздалегідь від експертів – людей, які в якій-небудь області є кращими фахівцями. Всі експертні системи включають, принаймні, три основні елементи: базу знань, машину виводу і інтерфейс користувача.

Рисунок 9.3 – Елементи експертної системи

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

Машина виведення. Головним в експертній системі є механізм, що здійснює пошук в базі знань за правилами раціональної логіки для здобуття рішень. Ця машина виведення приводиться в дію при здобутті запиту користувача і виконує такі завдання:

Як випливає з її назви, машина виведення призначена для побудови висновків. Її дія аналогічно міркуванням експерта-людини, яка оцінює проблему і пропонує гіпотетичні рішення. У пошуку цілей на основі запропонованих правил, машина виведення звертається до бази знань до тих пір, поки не знайде вірогідну дорогу до здобуття прийнятного результату.

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

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

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

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

Машинний аспект. Комп'ютерну частину системи представляють компоненти програмного забезпечення, які обробляють отриману інформацію про дійсність, закладену в символьному вигляді в базу знань. У базу знань поступають факти. Зв'язок між фактами представлений евристичними правилами – виразами декларативного знання про стосунки між об'єктами. Кожне таке правило має складову "якщо і компонент "те" (висновок-дія), які визначають прямий або зворотний причинно-наслідковий зв'язок. Дійсні твердження лише вірогідні, іншими словами, міра їх визначеності не завжди абсолютна.

Кількісні коефіцієнти визначеності збільшують точність міркування експертних систем. Загальноприйнята схема полягає в тому, щоб варіювати рівень довіри від 0, що представляє мінімальну міру визначеності, до 100 – вища міра.


© 2015 СумГУ
created with Lectur'EDbeta