Варіант 1(повний збіг). Якщо речення, що вводиться, повністю збігається з одним із зразків, може бути відповідь: “Так, Ви маєте рацію”, або навпаки: “Ви помиляєтесь, тому що…”, і після “рацію” або “тому що” програміст може написати будь-який текст, що імітує глибоке розуміння специфіки предметної області. Наприклад, дуже непогано буде виглядати такий діалог:
Людина: Квадрат гіпотенузи дорівнює сумі квадратів катетів.
Програма: Так, але є подібний результат і для непрямокутних трикутників; це теорема косинусів.
Навряд чи після декількох подібних відповідей у когось залишаться сумніви в інтелектуальних здібностях програми. Але, звичайно, повні збіги бувають дуже рідко. Тому доводиться використовувати інші типи порівнянь.
Варіант 2(використання замінювачів). Типовим є використання замінювачів * і ?. З замінювачем * співставляється довільний фрагмент тексту, з замінювачем ? співставляється будь-яке окреме слово. Наприклад, шаблон (* комп’ютери*) успішно співставляється з будь-яким реченням, в якому згадується про комп’ютери; шаблон (Я люблю ? яблука) - з такими реченнями, як (Я люблю червоні яблука), (Я люблю солодкі яблука), тощо (але не з реченням (Я люблю їсти зелені яблука)).
Варіант 3(надання значень змінним в процесі співставлення). При цьому можливості програми, що реалізує фатичний діалог, значно розширюються. Вона набуває здібності до генерації відповідей, що залежать від запитань. Так, правило
(Я ? *) (Що ви ще <a> ?) дозволяє на речення Я люблю яблука відповісти Що Ви ще любите?, а на речення Я ненавиджу дощі - Що Ви ще ненавидите? У цьому прикладі при успішному співставленні зміннійaнадається значення слова, з яким співставився замінювач ?. Безумовно, при використанні українських фраз замість англійських потрібно ще стежити за узгодженням суфіксів
Варіант 4(універсальний зразок). Зі зразком (*) співставляється будь-яке речення. Звичайно, і відповіді, що відповідають цьому зразкові, повинні бути такими ж універсальними, наприклад:
(Я Вас не дуже розумію)
(Не будьте такими небагатослівними)
(Чому це має для Вас значення?)
Розглядаючи зв’язки між виділеними СГ, можна знайти, що деякі з цих зв’язків відносяться, по-перше, не лише до окремих елементів СГ, а до груп в цілому та, по-друге, можуть бути віднесені до класів “бути видом (родом) або “бути невід’ємною властивістю”. Такі зв’язки між парами СГ назвемо груповими залежностями (ГЗ) та будемо позначати так:
I = ГЗ (J) (1.7)
де I, J – ідентифікатори груп. Вираз вигляду (1.7) означає, що група I “залежить” від групи J; інакше кажучи, всі елементи I пов’язані з елементами J відношенням “бути видом (родом)” або “бути невід’ємною властивістю”.
Формально ГЗ можуть бути встановлені шляхом аналізу графа зв’язків між СГ. “Залежні” групи (позначені індексом І у виразі (1.7)) відповідають термінальним вершинам цього графу.
Розглянемо тепер зв’язки між елементами семантичних груп. Елементи, що належать до однієї семантичної групи (точніше, поняттям, що їм відповідають), на мають безпосередніх зв’язків. Вони можуть пов’язуватися лише через елементи інших СГ.
Зв’язки одного вигляду між елементами двох різних СГ задаються таблицею, яка називається проблемною сферою (ПС). Кожен такий зв’язок може бути описано виразом
ЗВ’ЯЗОК ::= <I> <N> <p> <J> <M> (1.7)
де I, J – ідентифікатори СГ; N, M – числа, номера елементів СГ; р – ідентифікатор виду зв’язку. Якщо вид зв’язку однозначно визначається пов’язаними елементами, то ідентифікатор р можна опустити:
ЗВ’ЯЗОК ::= <I> <N> – <J> <M> (1.7a)
Ідентифікатор проблемної сфери описується виразом
<ІДЕНТИФІКАТОР ПС> ::= <I> <p> <J> (1.8)
<ІДЕНТИФІКАТОР ПС> ::= <I> – <J> (1.8а)
Одна з ПС, так звана ПС-АЛЬФА, представляє структуру бази знань. Вона містить інформацію про зв’язки між семантичними групами та проблемними сферами. Така ПС пов’язує дві особі СГ: ГРУПИ та СФЕРИ.
Швидкість бази знань при виведенні відповіді на питання суттєво залежить від розміщення знань у пам’яті ЕОМ. Найбільшого прискорення можна досягти, якщо помістити всі знання в оперативну пам’ять. Але для промислових ІІС це не є можливим через великий обсяг знань. Структурування знань ІІС дозволяє розміщувати структурні елементи сітки на зовнішніх носіях та викликати в оперативну пам’ять лише ті елементи сітки, які необхідні для виведення відповіді на задане питання. Структурними елементами сітки є так звані проблемні сфери (ПС). З вибраних в оперативну пам’ять ПС повинна бути зібрана локальна семантична сітка, релевантна до даного питання. Цю сітку будемо називати проблемною семантичною сіткою (ПСС). Даний метод представлення структурованої семантичної сітки можна назвати методом віртуальної семантичної сітки. Користувачу, що задає питання базі знань, здається, що виведення відповіді базується на повній семантичній сітці, тоді як насправді у виведенні відповіді бере участь лише невелика частина структурних елементів семантичної сітки бази знань. Для реалізації цього методу необхідні:
a) Розробка алгоритму перетворення вхідного питання в релевантну проблемну семантичну сітку;
b) Розробка алгоритму виведення відповіді на основі зібраної ПСС;
c) Визначення структури системи керування базою знань (СКБЗ), в якій повинні виконуватися наведення вище алгоритми.
d) Мовні рівні перетворення запитів у базі знань. Структура системи керування базою знань.
4.1 Продукційні правила
У системах, побудованих на основі правил, поведінка визначається множиною правил виду: умова -> дія. Умова задає образ даних, при виникненні якого дія правила може бути виконана. Формування поведінки здійснюється по такій схемі. Умови правил співставляються з поточними даними, і ті правила, умови яких задовольняються значеннями поточних даних, стають претендентами на виконання. Потім по визначеному критерії здійснюються вибір одного правила серед претендентів і його виконання (тобто виконання дії, зазначеної в правій частині правила). Підкреслимо, що правила - претенденти можуть виконуватися одночасно при наявності декількох процесів.
4.2 Компонент виведення
Його дії засновані на застосуванні правила виведення, яке звичайно називається модус поненс, і якого полягає в наступному: нехай відомо, що істинне твердження А та існує правило виду «Якщо А, то В», тоді твердження В так само істинне. Правила спрацьовують, коли знаходяться факти, що задовольняють їхній лівій частині.
Хоча в принципі на перший погляд здається, що таке виведення легко може бути реалізоване на комп'ютері, проте на практиці людський мозок усе рівно виявляється більш ефективним при рішенні задач.
Компонент виведення повинний мати здатність функціонувати при будь-яких умовах. Механізм виведення повинний бути здатний продовжити міркування і згодом знайти рішення навіть при недостатній інформації. Це рішення може і не бути точним, однак система ні в якому разі не повинна зупинятися через те, що відсутня яка-небудь частина вхідної інформації.
4.3Нечітке виведення
В експертних системах, що базуються на логіці, база знань складається з тверджень у виді пропозицій логіки предикатів.
Так само як і в системі на правилах експертна система, що базується на логіці, має множину правил, що можуть викликатися за допомогою даних із вхідного потоку. Система має також інтерпретатор, що може вибирати й активізувати модулі, що включаються в роботу системи.
Також і в системі, що базується на правилах, даний циклічний процес є процесом розпізнавання-дія. Переваги системи, заснованої на логіці, полягають у тому, що вона відбиває структуру самого Турбо-Пролога. Під цим розуміється, що вона дуже ефективна в роботі. Найбільш важливим аспектом для бази знань у системі, заснованої на логіці, є проектування бази знань, її тверджень і її структури. База знань повинна мати недвозначну логічну організацію, і вона повинна містити мінімум надлишкової інформації. Так само як і в системі, що базується на правилах, мінімально достатня кількість даних утворять найбільш ефективну систему.
Нечітка підмножина відрізняється від звичайної тім, що для елементів x з E немає однозначної відповіді "ні" відносно властивості R. У зв'язку з цим, нечітка підмножина A універсальної множини E визначається як множина впорядкованої пари A = {A(х)/х}, де A(х) - характеристична функція приналежності (або просто функція приналежності), що приймає значення в деякій впорядкованій множині M (наприклад, M = [0,1]).
Функція приналежності вказує ступінь (або рівень) приналежності елемента x до підмножини A. Множина M називають множиною приналежностей. Якщо M = {0,1}, тоді нечітка підмножина A може розглядатися як звичайна або чітка множина.
Розглянемо множину X всіх чисел від 0 до 10. Визначимо підмножину A множини X всіх дійсних чисел від 5 до 8.
A = [5,8]
Покажемо функцію приналежності множини A, ця функція ставить у відповідність число 1 чи 0 кожному елементу в X, у залежності від того, належить даний елемент підмножині A чи ні. Результат представлений на наступному малюнку:
Рис.2. Графічне зображення функції приналежності.
Можна інтерпретувати елементи, яким поставлена у відповідність 1, як елементи, що знаходяться в множині A, а елементи, яким поставлений у відповідність 0, як елементи, що не знаходяться в множині A.
Ця концепція використовується в багатьох областях застосувань. Але можна легко знайти ситуації, в яких даній концепції буде бракувати гнучкості.