Методи представлення знань

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

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

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

Методи представлення знань (англ. methods of knowledge representation) – методи формалізації та структуризації знань для їх подальшого опрацювання в системах штучного інтелекту[1]. Знання якими володіє фахівець в будь-якій області можна розділити на формалізовані та неформалізовані. Формалізовані знання формулюються в книгах, посібниках, документах у вигляді загальних та строгих суджень (законів, формул, моделей, алгоритмів тощо). Неформалізовані знання зазвичай не потрапляють в книги і керівництва в зв'язку з їх конкретністю, суб'єктивністю і приблизністю.

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

До класичних методів представлення знань відносять[2]: предикати першого порядку, продукційні правила, семантичні мережі, фрейми, нейронні мережі. Кожен з розглянутих методів представлення знань має свої переваги та недоліки. Використання того чи іншого з них у реальних системах обумовлене специфікою предметної галузі, а також наявністю відповідних технічних і програмних засобів.

Предикати першого порядку[ред. | ред. код]

Логіка предикатів є розвитком алгебри логіки (або логіки висловлювань). У логіці висловлювань для позначення фактів використовуються літери (імена або ідентифікатори), не мають структури, і які приймають значення «1» або «0» («так» або «ні»). У логіці предикатів факти позначаються n-арнимі логічними функціями – предикатами , де – ім'я предиката та – аргументи предиката. Імена предикатів неподільні, тобто є так званими атомами. Аргументи можуть бути атомами або функціями , де  – ім'я функції, а , так само як і аргументи предикатів є змінними або константами предметної області.

При записі формул (виразів) крім логічних зв'язок "кон'юнкція"(), "диз'юнкція" (), "заперечення" (), "проходження" ("імплікація")

(→), запозичених з логіки висловлювань, в логіці предикатів використовуються квантори загальності () та існування ().

Наприклад,

  • вираз батько мати → батьки

означає, що для всіх значень з предметної області справедливим є твердження "якщо – батько та – мати , то та – батьки ;

  • вираз () студент () посада (, "інженер")

означає, що існує хоча б один студент, який працює на посаді інженера.

До недоліків логіки предикатів 1-го порядку як методу представлення знань можна віднести наступне:

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

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

Логіка предикатів 1-го порядку лягла в основу мов логічного програмування, найпоширенішим з яких є Prolog (різні його діалекти).

Продукційні правила[ред. | ред. код]

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

Продукційні правила описують процедурні знання і подають їх у насутпному вигляді: ЯКЩО (умова), ТО (дія).

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

Сукупність правил утворює базу правил. База знань у продукційній моделі – це сукупність бази фактів і бази правил.

Перевагами продукційного методу представлення знань є наступні.

1. Наочність і зрозумілість знань (принаймні, на рівні одного правила).

2. Можливість реалізації немонотонного логічного висновку та обробки суперечливих фактів.

3. Можливість введення різних модифікацій в інтерпретацію правил відповідно до особливостей розв'язуваних системою завдань.

4. Можливість легкого нарощування бази знань шляхом додавання нових правил.

Недоліками цього методу подання є наступні.

1. Неосяжність великої бази знань і її структури.

2. Можливість легкого внесення серйозних помилок в базу знань, що призводять до неправильного функціонування системи (якщо в системі немає розвинених засобів перевірки цілісності бази знань).

3. Орієнтація на послідовну обробку правил.

Семантичні мережі[ред. | ред. код]

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

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

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

Фрейми[ред. | ред. код]

Фреймова модель запропонована М.Мінським і є систематизованою психологічною моделлю пам'яті людини і його свідомості.

Фрейм (англ. frame – рамка, каркас) – структура даних для представлення деякого концептуального об'єкта. Це мінімальна структура інформації, необхідна для представлення класу об'єктів, явищ або процесів. Інформація, що відноситься до фрейму, міститься в складаючих його слотах. Слот (англ. slot – щілина, проріз) – це деякі незаповнені підструктури фрейма, заповнення яких приводить до того, що цей фрейм ставиться у відповідність деякій ситуації, події або об'єкту. Слот може бути термінальним (містити тільки ім'я слота і значення імені) або являти собою фрейм нижнього рівня.

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

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

Нейронні мережі[ред. | ред. код]

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

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

Рисунок 1 – Штучний нейрон

У цій моделі нейрона можна виділити три основні елементи:

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

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

Недоліками нейронних мереж як методу представлення знань є:

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

Переваги нейронних мереж як методу подання знань:

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

Див. також[ред. | ред. код]

Література[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем. — СПб.: Питер, 2000. — 384 с.
  2. Гаврилов А. В. Системы искусственного интеллекта: Учеб. пособие: в 2 ч. / А. В. Гаврилов // Изд-во НГТУ, 2011. — 67 с.