Смекни!
smekni.com

Ознайомлення з експертними системами. Створення власної простої бази знань для вирішення задачі класифікації (стр. 3 из 4)

Рис. 1. Робоче вікно програми «Мала експертна система» v2.0 після початку консультації.

Результати консультації.

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

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

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

Після завершення консультації або ще в процесі можна зберегти інформацію про її проходження у текстовому файлі, натиснувши кнопку «Зберегти протокол» або вибравши одноіменний пункт меню «Файл» («гаряча» клавіша <F4>). До протоколу буде записаний поточний час, опис бази знань, список опрацьованих свідчень та результати консультації в тому порядку, в якому вони представлені у вікні перегляду результатів.

Вилучення деяких питань в ході консультації.

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

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

Опис програми «Редактор баз знань».

Важливою перевагою програми «Мала Експертна Система» є можливість створення та використання власної бази знань. Щоб полегшити це завдання, був написаний спеціальний редактор, за допомогою якого можна створити власну або модифікувати існуючу базу знань.

Формат бази знань.

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

Опис бази знань, ім'я автора, коментар і т.д.

(можна в декілька рядків, загальна довжина яких не повинна перевищувати 10000 символів; ця секція закінчується після першого порожнього рядка)

Вислів № 0 (будь-який текст (не більше 1000 символів), що закінчується переносом рядка)

Вислів № 1

Вислів № 2

...

Вислів № n(після останнього вислову міститься один порожній рядок, закінчуючи другу секцію)

Результат № 0,

Результат № 1,

Результат № 2,

...

Результат № m,

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

- На початку опису правила виведення задається кінцевий результат консультації (текст, що включає будь-які символи, крім ком).

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

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

- Далі через кому йде ряд повторюваних полів із трьох елементів: перший елемент (

) – номер відповідного питання (симптому, вислову, умови); наступні два елементи – це, відповідно, ймовірності одержання відповіді «Так» на це запитання, якщо вказаний на початку правила результат є вірний (
) чи невірний (
). Такі трійки чисел вказуються для кожного запитання (вислову), пов'язаного з даним результатом. (Примітка: не варто вказувати
та
рівними одне одному, тому що це буде означати, що відповідь на дане запитання не вплине на результат).

Приклад:

Грип, 0.01, 1,0.9,0.01, 2,1,0.01, 3,0,0.01

В цьому правилі сказано: існує апріорна ймовірність

того, що будь-яка випадково обрана людина хворіє на грип.

Припустимо, що ЕС ставить запитання 1 (або симптом 1). В цьому випадку вказані значення

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

Для другого симптому маємо запис «2,1,0.01». У цьому випадку

, тобто якщо в людини грип, то цей симптом обов'язково повинен бути присутнім. Відповідний симптом може мати місце і при відсутності грипу
, але ця ймовірність складає 1%.

Третє запитання виключає грип при відповіді «Так», тому що

. Це, наприклад, може бути питання типу: «чи спостерігається у Вас такий стан протягом більшої частини життя?».

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

та
, використані для виразу за теоремою Байеса, дозволяють обчислити апостеріорну ймовірність результату, тобто ймовірність, скоректовану відповідно до відповіді користувача на дане запитання:

.

Далі наведено декілька прикладів простих баз знань.

Побудова бази знань із чіткою логікою, що вирішує завдання класифікації

«Ти геймер?»

Автор: Олексій Бухнин.

Питання:

Ти граєш у комп'ютерні ігри по 6 і більше годин на добу?

Ти кидаєш всі справи заради нової гри?

Від 3D-action ігор у тебе крутиться голова?

Ти нізащо не потягнеш свій комп'ютер до друга для організації змагань по мережі?

Ти в основному витрачаєш гроші або на новий ігровий диск або на апгрейд комп'ютера?

Ти не користуєшся «мишкою» в 3D-action іграх?

Геймер, 0.5, 1,1,0, 2,1,0, 3,0,1, 4,0,1, 5,1,0, 6,0,1

Не геймер, 0.5, 1,0,1, 2,0,1, 3,1,0, 4,1,0, 5,0,1, 6,1,0

У цій базі знань 6 запитань (згідно формату бази знань їх сім, але питання «Питання:» не згадується в жодному правилі) та всього два результати. Апріорні ймовірності обох результатів рівні 0.5, тобто гіпотези, що випадково обрана людина є або не є геймером, є рівноймовірні (при цьому сума апріорних імовірностей дорівнює 1, тобто в базі знань наведені всі можливі результати).