- •Література
- •Лекція 2 Основні функції для обробки даних у табличних процесорах
- •Лекція 3 Програмні продукти для аналізу потоків подій та swot-аналізу
- •Лекція 4 Програмні продукти для контент-аналізу
- •Література
- •Лекція 5. Експертні системи.
- •1. Засвоєння знань.
- •2. Представлення знань.
- •3. Управління процесом пошуку рішення
- •4. Пояснення прийнятого рішення
- •Знання та їх класифікація
- •Структура експертних систем
Література
Юськів Б. М. Контент-аналіз. Історія розвитку і світовий досвід: Монографія. – Рівне.: "Перспектива", 2006. – 203 с.
Опорний конспект лекцій з дисципліни “Формалізовані методи дослідження ЗМК” для студентів спеціальності 7.030404 "Міжнародна інформація" /Б.М.Юськів. – Рівне: РІС КСУ, 2003. – 56 с.
Lowe W. Software for Content Analysis – A Review.
Лекція 5. Експертні системи.
Одним з найбільш значних досягнень штучного інтелекту стала розробка потужних комп'ютерних систем, що одержали назву «експертних» або заснованих на «знаннях» систем. У сучасному суспільстві при рішенні завдань керування складними багатопараметричними й сильнозв’язними системами, об'єктами, виробничими й технологічними процесами доводиться зіштовхуватися з вирішенням неформалізованих або важкоформалізованих завдань. Такі завдання часто виникають у наступних областях: авіація, космос і оборона, нафтопереробна промисловість і транспортування нафтопродуктів, хімія, енергетика, металургія, целюлозно-паперова промисловість, телекомунікації й зв'язок, харчова промисловість, машинобудування, виробництво цементу, бетону, транспорт, медицина й фармацевтичне виробництво, адміністративне керування, прогнозування й моніторинг. Найбільш значними досягненнями в цій області стало створення систем, які ставлять діагноз захворювання, визначають знаходження родовища корисних копалин, допомагають у проектуванні електронних пристроїв, машин і механізмів, вирішують завдання керування реакторами й інші завдання. Приклади експертних систем у різних предметних областях приводяться наприкінці лекції.
Під експертною системою (ЕС) будемо розуміти програму, що використовує знання фахівців (експертів) про деяку конкретну вузько спеціалізовану предметну область і у межах цієї області здатна приймати рішення на рівні експерта-професіонала.
Усвідомлення корисності систем, які можуть копіювати дорогі або людські знання, що рідко зустрічаються, призвело до широкого впровадження й розквіту цієї технології у 80-і, 90-і роки минулого століття. Основу успіху ЕС склали дві важливі властивості:
в ЕС знання відділені від даних, і потужність експертної системи обумовлена в першу чергу потужністю бази знань і тільки в другу чергу використовуваними методами вирішення завдань;
розв'язувані ЕС завдання є неформалізовані або слабоформалізовані й використовують евристичні, експериментальні, суб'єктивні знання експертів у певній предметній області.
Основними категоріями розв'язуваних ЕС завдань є: діагностика, керування (у тому числі технологічними процесами), інтерпретація, прогнозування, проектування, налагодження й ремонт, планування, спостереження, навчання.
Основу ЕС становить підсистема логічного виводу, що використовує інформацію з бази знань (БЗ), генерує рекомендації з вирішення шуканого завдання. Найчастіше для подання знань в ЕС використовуються системи продукцій й семантичні мережі. БЗ складається з фактів і правил (якщо <причина> то <висновок>). Якщо ЕС визначає, що причина вірна, то правило є придатним для даної консультації й воно запускається в дію. Запуск правила означає прийняття висновку даного правила як складова частина процесу консультації.
Обов'язковими частинами будь-якої ЕС є також модуль придбання знань і модуль відображення й пояснення рішень. У більшості випадків, реальні ЕС у промисловій експлуатації працюють також на основі баз даних (БД). Тільки одночасна робота зі знаннями й більшими обсягами інформації із БД дозволяє ЕС одержати неординарні результати, наприклад, поставити складний діагноз (медичний або технічний), відкрити родовище корисних копалин, управляти ядерним реактором у реальному часі.
Важливу роль при створенні ЕС грають інструментальні засоби. Серед інструментальних засобів для створення ЕС найбільш популярні такі мови програмування, як LISP і PROLOG, а також експертні системи-оболонки (ЕСО): KEE, CENTAUR, G2 і GDA, CLIPS, АТ_ТЕХНОЛОГІЯ, що надають у розпорядження розробника-інженера широкий набір для комбінування систем подання знань, мов програмування, об'єктів і процедур
Розглянемо різні способи класифікації ЕС.
По призначенню ЕС діляться на:
ЕС загального призначення.
Спеціалізовані ЕС:
проблемно-орієнтовані для завдань діагностики, проектування, прогнозування
предметно-предметно-орієнтовані для специфічних завдань, наприклад, контролю ситуацій на атомних електростанціях.
По ступені залежності від зовнішнього середовища виділяють:
Статичні ЕС, що не залежать від зовнішнього середовища.
Динамічні, які враховують динаміку зовнішнього середовища й призначені для рішення завдань у реальному часі. Час реакції в таких системах може задаватися в мілісекундах, і ці системи реалізуються, як правило, мовою С++.
По типу використання розрізняють:
Ізольовані ЕС.
ЕС на вході/виході інших систем.
Гібридні ЕС або, інакше кажучи, ЕС інтегровані з базами даних та іншими програмними продуктами (додатками).
По складності розв'язуваних завдань розрізняють:
Прості ЕС - до 1000 простих правил.
Середні ЕС - від 1000 до 10000 структурованих правил.
Складні ЕС - більше 10000 структурованих правил.
По стадії створення виділяють:
Дослідницький зразок ЕС, розроблений за 1-2 місяці з мінімальної БЗ.
Демонстраційний зразок ЕС, розроблений за 2-4 місяці, наприклад, мовою типу LISP, PROLOG, CLIPS
Промисловий зразок ЕС, розроблений за 4-8 місяців, наприклад, мовою типу CLIPS з повної БЗ.
Комерційний зразок ЕС, розроблений за 1,5-2 роки, наприклад, мовою типу С++, Java з повної БЗ.
Приклади експертних систем
Для початку зробимо короткий екскурс в історію створення ранніх і найбільш відомих ЕС. У більшості цих ЕС у якості СПЗ використовувалися системи продукцій (правила) і прямий ланцюжок міркувань. Медична ЕС MYCIN розроблена в Стенфордському університеті в середині 70-х років для діагностики й лікування інфекційних захворювань крові. MYCIN у цей час використовується для навчання лікарів.
ЕС DENDRAL розроблена в Стенфордському університеті в середині 60-х років для визначення топологічних структур органічних молекул. Система виводить молекулярну структуру хімічних речовин за даними мас-спектрометрії і ядерного магнітного резонансу.
ЕС PROSPECTOR розроблена в Стенфордському університеті в 1974--1983 роках для оцінки геологами потенційної рудоносності району. Система містить більше 1000 правил і реалізована на INTERLISP. Програма порівнює спостереження геологів з моделями різного роду покладів руд. Програма втягує геолога в діалог для отримання додаткової інформації. В 1984 році вона точно передбачила існування молібденового родовища, оціненого в багатомільйонну суму.
Відмінності ЕС від класичних програмних систем
Процес створення ЕС на перших етапах полягає в специфічній взаємодії експерта (експертів) і інженера знань з метою "добування знань експерта й вбудовування в систему процедур, стратегій емпіричних правил, які він використовує для вирішення задач. Експерт — це людина, що завдяки навчанню й досвіду може робити те, що ми всі, інші люди робити не вміємо; експерти працюють не просто професійно, але швидко й ефективно, добре вміють розпізнавати проблеми, з якими зіштовхуються, приклади тих типових проблем, з якими вони вже знайомі. Дуже важливо підкреслити, що експерт повинен не тільки знати, але й уміти. Якщо коротко, то саме цією властивістю відрізняються бази даних від баз знань — бази знань активні.
Експертні системи (ЕС) як окремий напрямок виділився із загального русла досліджень по ШІ на початку 80-х рр. XX в. Основним предметом досліджень нового напрямку є знання — їхнє отримання, подання й використання. Фахівці, що працюють у цій області все частіше використовують для її найменування термін «інженерія знань - knowlege engineering».
Чим відрізняються ЕС від традиційних програм? Коротко на це питання відповідає нижченаведена таблиця (табл.. 5.1) .
Таблиця 5.1
Особливості експертних систем
Обробка даних |
Інженерія знань |
Подання і використання даних |
Подання і використання знань |
Алгоритми |
Евристики |
Повторний прогін |
Логічний вивід |
Обробка більших БД |
Обробка більших БЗ |
Ще однією відмінністю ЕС від класичних програм, робота яких заснована на точних даних — ЕС можуть помилятися. Важливо, щоб вони помилялися не частіше, ніж помиляється людина-експерт. Причина помилок полягає у тому, що наші знання, як і знання, закладені в ЕС, не точні. Світ, із суб'єктивної точки зору, має імовірнісний характер. Світ не формалізований. Але ми в ньому живемо, тобто формулюємо й досягаємо мету. Те саме роблять і ЕС.
Обговорення технологічних аспектів розробки складних програмних систем показує, що найбільш проробленим етапом є реалізація програмних проектів. По методам цей етап близький до автоматизації програмування — однієї з основних проблем використання засобів обчислювальної техніки. Тут вже протягом багатьох років застосовується великий арсенал мов програмування високого рівня, орієнтованих на зручну й ефективну реалізацію різних класів задач, а також широкий спектр трансляторів, що забезпечують отримання якісних виконавчих програм. Все ширше використовуються на сучасному етапі й методи автоматичного синтезу програм. Вже стало звичним застосування мовно-орієнтованих редакторів і спеціалізованих баз даних. І можна сказати, що в рамках технології програмування вже практично сформувалася концепція розробки складних програмних продуктів, що визначає інструментальні засоби, доступні розробникам.
Необхідність використання засобів автоматизації програмування прикладних систем, орієнтованих на знання, і зокрема ЕС, була усвідомлена розробниками цього класу програмного забезпечення ЕОМ вже давно. Власне кажучи, засоби підтримки розробки інтелектуальних систем у своєму розвитку пройшли основні стадії, характерні для систем автоматизації програмування.
Оцінюючи даний процес із сьогоднішніх позицій, можна вказати в цій області дві тенденції. Перша з них як би повторює «класичний» шлях розвитку засобів автоматизації програмування: автокоди — мови високого рівня — мови надвисокого рівня — мови специфікацій. Умовно цю тенденцію можна назвати висхідною стратегією в області створення засобів автоматизації розробки інтелектуальних систем. Друга тенденція, низхідна, зв'язується зі спеціальними засобами, орієнтованими на певні класи завдань і методів ШІ. Зрештою, обидві ці тенденції, взаємно збагативши одна одну, повинні призвести до створення потужного й гнучкого інструментарію інтелектуального програмування. Але на даний етап в цій області характерна концентрація зусиль у наступних напрямках:
Розробка систем подання знань (СПЗ) шляхом прямого використання широко розповсюджених мов обробки символьної інформації та, все частіше, мов програмування загального призначення.
Розширення базових мов ШІ до систем подання знань за рахунок спеціалізованих бібліотек і пакетів.
Створення мов подання знань (МПЗ), спеціально орієнтованих на підтримку певних формалізмів, і реалізація відповідних трансляторів із цих мов.
В експертних системах реалізуються такі базові функції.
