НОУ ІНТУІТ, Лекція, Експертні системи у технології як клас інтелектуальних систем (продовження)

5.3. Організація знань у ЕС

Для фахівців у галузі ІІ термін знання означає інформацію, яка необхідна програмі, щоб вона поводилася "інтелектуально". Ця інформація набуває форми фактів чи правил.

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

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

На рис. 5.2 показано різницю між алгоритмічним і евристичним методами. Тут порівнюється алгоритм запобігання захопленню літаків на комерційних авіалініях з евристичним методом, призначеним для тієї ж мети [85].

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

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

експертні

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

Як показано на рис. 5.3, по суті, всі експертні системи є системами, що базуються на знаннях, але не навпаки. Програму ІІ для гри в "хрестики та нулики" не можна буде вважати експертною системою, навіть якщо в ній знання про предметну область відокремити від решти програми.

експертні

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

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

системи

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

Концепція механізму виведення ЕС часто викликає деяке здивування серед розробників-початківців. Зазвичай ясно, як знання предметної області можуть бути записані у вигляді фактів і правил, але не ясно, яким чином конструювати і використовувати так званий "механізм виведення". Це подив виникає від відсутності простого та загального методу організації логічного висновку. Його структура залежить і від специфіки предметної галузі, і від того, як знання структуровані та організовані в ЕС.

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

Іншим прикладом може бути мова програмування ПРОЛОГ із вбудованим у нього механізмом логічного висновку, який може бути безпосередньо використаний під час створення простих ЕС.

Мови нижчого рівня, наприклад LISP, вимагають, щоб творець ЕС спроектував та реалізував механізм виведення.

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

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

У [10] розглядається, як знання структуровані у програмах, т. е. способи представлення знань . Існує багато стандартних способів представлення знань і при побудові ЕС може бути використаний будь-який з них, сам по собі або в поєднанні з іншими. Кожен спосіб дозволяє отримати програму з деякими перевагами — робить її ефективнішою, полегшує її розуміння та модифікацію. Широкий огляд найбільш важливих способів можна знайти в Довіднику з штучного інтелекту. У сучасних ЕС найчастіше застосовуються три найважливіші методи представлення знань: правила (найпопулярніший), семантичні мережі та фрейми.

Подання знань, засноване на правилах, побудовано на використанні виразів виду ЯКЩО (умова) - ТО (дія). Наприклад:

[1] Якщо пацієнт був за фахом ізолювальником до 1988 р., пацієнт безпосередньо працював з азбестом.

[2] Якщо пацієнт безпосередньо працював з азбестом і знаходився при цьому в закритому приміщенні, пацієнт отримав велику дозу азбестового пилу.

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

Зіставлення елементів ЯКЩО правил з фактами може породити так званий ланцюжок висновків. Ланцюжок висновків, утворений послідовним застосуванням правил 1 і 2, зображено на рис. 5.5. Цей ланцюжок показує, як система використовує правила для висновку, наскільки серйозну дозу канцерогенної речовини пацієнт отримав при роботі з азбестом.

системи

Правила забезпечують природний спосіб опису процесів, керованих складним і швидко змінюється довкіллям. Через правила можна визначати, як програма має реагувати зміну даних; при цьому не потрібно знати заздалегідь блок-схему управління обробкою даних. У програмі традиційного типу схема передачі керування та використання даних зумовлена ​​в самій програмі. Обробка тут здійснюється послідовними кроками, а розгалуження відбувається лише у заздалегідь обраних точках. Цей спосіб управління добре працює у разі завдань, що допускають алгоритмічне рішення, якщо при цьому дані змінюються досить повільно, наприклад, при вирішенні систем лінійних рівнянь. Для завдань, хід вирішення яких управляється самими даними, де розгалуження скоріше норма, ніж виняток, цей спосіб малоефективний. У завданнях такого роду правила дають можливість на кожному кроці оцінити ситуацію та вжити відповідних дій. Застосування правил спрощує пояснення те, що як зробила програма , т. е. в який спосіб вона дійшла конкретного висновку.

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

Найважливіші терміни цього розділу зібрані у таблиці 5.1.