
- •11. Інтелектуальні інформаційні системи (ііс)
- •11.1. Загальні аспекти розробки інтелектуальних інформаційних систем
- •11.2. Класифікація ііс
- •11.3. Властивості і можливості інтелектуальних інформаційних систем
- •11.4. Поняття знань та відмінності їх від даних
- •11.5. Моделі подання знань
- •11.6. Експертні системи та їх характеристики
- •11.7. Робота користувача з експертною системою
11.6. Експертні системи та їх характеристики
Експертна система – це комп’ютерна система, яка втілює в собі досвід експерта, що ґрунтується на його знаннях у певній галузі.
Експертні системи (ЕС) призначені для відтворення досвіду, знань професіоналів високого рівня і використання цих знань в процесі управління. Вони розробляються з використанням математичного апарату нечіткої логіки для експлуатації у вузьких областях застосування, оскільки їх використання вимагає великих комп'ютерних ресурсів для обробки й зберігання знань. В основі побудови ЕС лежить база знань, яка ґрунтується на моделях подання знань. Проблеми висуваються перед системою у вигляді сукупності фактів, що описують певну ситуацію, і система за допомогою бази знань намагається зробити висновок з цих фактів.
Система функціонує в циклічному режимі: вибір (запит) даних або результатів аналізів, спостереження, інтерпретація результатів, засвоєння нової інформації, висунення за допомогою правил тимчасових гіпотез і потім вибір наступної порції даних або результатів аналізів. Такий процес продовжується до тих пір, поки не надійде інформація, достатня для остаточного висновку.
Більш прості системи, засновані на знаннях, функціонують в режимі діалогу, або режимі консультації. Після запуску система задає користувачеві ряд питань про розв'язок задачі, які потребують відповіді ”так” чи ”ні”. Відповіді слугують для встановлення фактів, за якими може бути виведений остаточний висновок.
У будь-який момент часу в системі міститься три типи знань:
– структуровані статичні знання про предметну область, після того як ці знання виявлені, вони вже не змінюються;
– структуровані динамічні знання – змінні знання про предметну область; вони оновлюються по мірі виявлення нової інформації;
– робочі знання, що застосовуються для вирішення конкретного завдання або проведення консультації.
Архітектура експертної системи представлена на рис. 11.6.
Рис.11.6. Архітектура експертної системи
ЕС повинна володіти механізмом набуття знань для введення знань в базу і їх наступне оновлення. У найпростішому випадку – це інтелектуальний редактор, який дозволяє вводити одиниці знань в базу, а також здійснювати їх аналіз на несуперечність.
Області застосування систем, заснованих на знаннях, можуть бути згруповані в декілька основних класів: прогнозування, планування, контроль і управління, навчання.
Ядро ЕС складає база знань, яка створюється і накопичується в процесі її побудови. База знань (БЗ) відображає знання експертів. Однак далеко не кожен експерт в стані грамотно викласти всю структуру своїх знань.
Знання виражені в явному вигляді і організовані так, щоб спростити прийняття рішень. Накопичення та організація знань – одна з найважливіших характеристик експертної системи.
Технологію побудови ЕС називають інженерією знань. Цей процес вимагає специфічної форми взаємодії творця експертної системи, якого називають інженером знань, і одного чи кількох експертів у певній предметній області. Інженер знань ”витягує” з експертів процедури, стратегії, емпіричні правила, які вони використовують при вирішенні завдань, і вбудовує ці знання в ЕС. В результаті з'являється система, що вирішує завдання багато в чому аналогічно людині-експерту.
Найбільш корисною характеристикою ЕС є те, що вона застосовує для розв’язку проблем високоякісний досвід. Цей досвід може представляти рівень мислення найбільш кваліфікованих експертів у даній області, що веде до творчих, точних і ефективних рішень. Саме високоякісний досвід в поєднанні з умінням його застосовувати робить систему рентабельною, спроможною отримати визнання на ринку. Цьому також сприяє гнучкість системи. Система може нарощуватися поступово відповідно до потреб бізнесу або замовника. Це означає, що можна спочатку вкласти порівняно скромні кошти, а потім нарощувати можливості системи по мірі необхідності.
Іншою корисною рисою ЕС є наявність у них прогностичних можливостей. ЕС може функціонувати в якості моделі розв’язання задачі у заданій області, даючи очікувані відповіді у конкретній ситуації і показуючи, як зміняться ці відповіді в нових ситуаціях. ЕС може детально пояснити, яким чином нова ситуація призвела до змін. Це дозволяє користувачеві оцінити можливий вплив нових фактів або інформації і зрозуміти, як вони пов'язані з рішенням. Аналогічно користувач може оцінити вплив нових стратегій або процедур на рішення, додаючи нові правила або змінюючи вже існуючі.
Важливою властивістю ЕС є можливість їх застосування для навчання і тренування персоналу. ЕС можуть бути розроблені з розрахунком на подібний процес навчання, оскільки вони вже містять необхідні знання та здатні пояснити процес своїх міркувань. Залишається тільки додати програмне забезпечення, що підтримує інтерфейс, який відповідає вимогам ергономіки між особою, що навчається і експертною системою. Крім того, повинні бути включені знання про методи навчання і можливу поведінку користувача.
Таким чином, сьогодні ЕС є інструментом, який підсилює інтелектуальні здібності усієї системи в цілому і виконує такі задачі:
1) консультація для недосвідчених (непрофесійних) користувачів;
2) допомога при аналізі різних варіантів прийняття рішення;
3) допомогу з питань, що належать до суміжних областей діяльності.
Найбільш широко і продуктивно ЕС застосовуються в бізнесі, виробництві, медицині, менш – в науці.
Завдяки появі спеціальних інструментальних засобів побудови ЕС, скоротилися терміни розробки, значно знизилася трудомісткість. Інструментальні засоби побудови ЕС можна розбити на три основні типи:
• мови програмування;
• середовища програмування;
• порожні ЕС (оболонки).
З точки зору розробника ЕС, найбільший інтерес представляє використання середовищ програмування та порожніх ЕС (оболонок), хоча не завжди можна помітити різницю між цими поняттями.
До числа таких засобів першої групи відносяться мови обробки символьної інформації, найбільш відомими з яких є Пролог і Лісп. Пролог – мова високого рівня, що орієнтована на використання концепцій і методів математичної логіки. Як випливає з її назви, Пролог призначений для програмування в термінах логіки. Основною особливістю Прологу, який відрізняє її від усіх інших мов, є декларативний характер написаних на ньому програм. Мова Лісп створена у Массачусетському технологічному інституті і володіє здатністю обробляти спискові структури. Мови програмування Лісп і Пролог мають вбудовані механізми для маніпулювання знаннями.
Крім Ліспу і Прологу створено безліч інших мов, орієнтованих на обробку символьної інформації і розробку ЕС: Smalltalk, FRL, Interlisp. Крім цих спеціалізованих мов для розробки експертних систем використовуються і звичайні мови програмування загального призначення: Сі, Асемблер, Паскаль, Фортран, Бейсик та інші.
Загальним недоліком мов програмування для створення ЕС є: великий час розробки готової системи, необхідність залучення висококваліфікованих програмістів, труднощі з модифікацією готової системи. Все це робить застосування мов програмування для реалізації ЕС доволі коштовною і трудомісткою справою.
Інструментальні засоби другого типу – середовища програмування – дозволяють розробнику не програмувати певні або усі компоненти ЕС, а вибирати їх із заздалегідь складеного набору.
При застосуванні останнього типу інструментарію (порожніх ЕС, або ”оболонок”) розробник ЕС повністю звільняється від робіт зі створення програм і займається лише наповненням бази знань.
Типовим представником другої і третьої груп інструментальних засобів є пакет EXSYS Professional 5.0 for Windows (оболонка – за визначенням розробника – компанії MultiLogic Inc., США) і його наступна модифікація Exsys Developer 8.0, призначений для створення прикладних експертних систем в різних предметних областях. Система побудована на використанні складних правил виду ”ЯКЩО-ТО-ІНАКШЕ”. Для вибору стратегії отримання висновку в системі за умовчання використовується зворотній ланцюжок виводу. Прямий ланцюжок може бути заданий при налаштуванні системи. Система володіє розвиненим графічним інтерфейсом, здатна звертатися до зовнішніх баз даних, перевіряти правила на несуперечність. При певній настройці може працювати з російськомовними текстами.
Розробка (проектування) ЕС істотно різниться від розробки звичайних програмних продуктів.
Рівень користувачів ЕС може варіюватися в доволі широкому діапазоні. Від виду діяльності користувачів залежать і функції, якими наділяються створювані для них ЕС.
Основні характеристики ЕС:
– зазвичай, обмежена певною предметною областю;
– має вміти приймати рішення за неповних чи неточних даних;
– має вміти пояснювати свої дії при розв’язуванні задачі;
– повинна мати властивість розширення та нарощування функцій;
– має вміти імітувати діяльність висококваліфікованого спеціаліста (експерта);
– при розв’язуванні задач використовує, як правило, не точні алгоритми, а так звані евристики, тобто методи, які спираються на досвід та знання експерта.
Відмінностями експертних систем, що ґрунтуються на обробці знань, є такі:
1. На виході експертної системи користувач дістає не машино- чи відеограму, яка подана в табличному вигляді, а інтелектуальну пораду, що має вигляд тексту.
2. В основу ЕС покладено технологію обробки символьної інформації, що здебільшого подається у формі правил.
3. В узагальненому вигляді системи обробки даних можна подати такою конструкцією:
Дані + Алгоритм = Система обробки даних.
Структурно в узагальненому вигляді ЕС можна зобразити так:
Знання + інтелектуальний висновок = експертна система.
4. ЕС має архітектуру, яка складається з блоків:
1) бази знань;
2) пояснень;
3) нагромадження знань.
Структуру експертної системи зображено на рис. 11.7.
Рис. 11.7. Структура експертної системи
Розглянемо характеристику основних блоків ЕС.
База знань – це сукупність відомостей про предметну область, для якої розробляється експертна система.
Для функціонування системи база знань має бути наповнена знаннями. Для цього запрошують висококваліфікованих спеціалістів з тієї галузі, для якої розробляється система. Вони відіграють роль експертів, завдання яких – описати усі відомі знання для функціонування ЕС.
У базі знань мають бути наявні знання першого та другого родів. Знання першого роду – це загальновідомі факти, явища, закономірності, які визнані й опубліковані у даній предметній області. Знання другого роду – це набір емпіричних правил та інтуїтивних висновків, якими користуються спеціалісти, приймаючи рішення в умовах невизначеності за наявності неповної суперечливої інформації. Відомості про ці знання, зазвичай, не опубліковані.
У базі знань ЕС переважно містяться знання першого роду але мають бути й знання другого роду. Якщо ці знання відсутні, то це свідчить про поганий вибір експертів (вони не вміють формулювати свої знання чи навпаки: не хочуть цього робити, щоб зберегти за собою статус унікальних спеціалістів).Інженер з питань знань має такі обов’язки: знання, що їх подали експерти, він структурує і записує у базу знань з урахуванням правил побудови моделі знань, проектованої ЕС.
Усі знання, які подані в базі знань поділяються на інтенсіональні та екстенсіональні.
Iнтенсіональні, або абстрактні, знання являють собою понятійні (концептуальні) знання про об’єкти предметної області і зв’язки між ними.
Екстенсіональні (конкретні) знання – це кількісні характеристики інтенсіональної частини знань, тобто база даних ЕС.
Блок рішень, необхідний для пошуку та побудови логічних висновків, які видає користувачеві ЕС. Дії цього блока подібні міркуванням людини-експерта, яка оцінює проблему і пропонує її гіпотетичний розв’язок. Цей блок виконує функції управління процесом пошуку розв’язків, тобто він визначає спосіб і послідовність використання різних правил та процедур. Кожна ЕС має містити певну кількість таких правил та процедур. Кількість правил, що їх містить середня ЕС, перевищує 500, а для великої ЕС може перевищувати й 1000.
Здебільшого блок розв’язків складається з двох частин: блока логічного виводу та керуючого блока. Блок логічного виводу виконує дії, аналогічні до інтелектуальної діяльності спеціаліста, коли той приймає рішення. Функції цього блока – побудова логічного висновку на базі існуючих знань, які зберігаються в БЗ. Керуючий блок визначає процес пошуку рішення, тобто визначає послідовність використання різних правил і процедур маніпулювання знаннями. Блок пояснень слугує для видачі за запитом користувача послідовності логічних висновків та міркувань, якими оперувала система у процесі пошуку рішення. Наявність такого блока в ЕС дає змогу використовувати її не лише для прийняття рішень, а й для процесу навчання, як навчальну систему.
Проблема пояснень та обґрунтування правильності міркувань – важлива й складна задача. Адже попри те, що система містить знання експертів та надає поради, відповідальність за прийняте рішення несе персонально користувач. Досі немає правових актів, які б визначали відповідальність експертів за знання, надані системі, а також за рішення, які приймаються в результаті консультування користувачів з ЕС, що містить знання даного експерта чи групи експертів.
Оцінка ЕС користувачем значною мірою залежить від того, наскільки праця з експертною системою схожа на співробітництво з експертом, і, суттєво залежить від якості пояснень, що надає система користувачеві на ті запитання, які викликають у нього сумнів.