Mycin

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

MYCIN була ранньою експертною системою розробленою за 5 чи 6 років на початку 1970х років в Стенфордському університеті. Вона була написана на Ліспі як докторська дисертація Едварда Шортлайфа (англ. Edward Shortliffe) під керівництвом Брюса Б'юкенана (англ. Bruce Buchanan), Стенлі Н. Коена (англ. Stanley N. Cohen) та інших. У цій же лабораторії була раніше створена експертна система Dendral, але цього разу увагу було акцентовано на використанні вирішальних правил з елементами невизначеності. MYCIN було спроектовано для діагностування бактерій, що викликають складні інфекції, такі як бактеремія і менінгіт, а також для рекомендації необхідної кількості антибіотиків, в залежності від маси тіла пацієнта. Назва системи походить від суфіксу «-міцин», який часто зустрічається в назвах антибіотиків. Також Mycin використовувався для діагностики захворювань згортання крові.

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

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

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

Метод[ред. | ред. код]

MYCIN оперувала на основі доволі простої машини виведення, і бази знань з ~600 правил. Після запуску, програма задавала користувачу (лікарю) довгий ряд простих «так/ні» або текстових запитань. В результаті, система надавала перелік підозрюваних бактерій, який було відсортовано за імовірністю, вказувала довірчий інтервал для імовірностей діагнозів та їх обґрунтування (тобто MYCIN надавала перелік запитань та правил, які привели її до саме такого ранжування діагнозів), а також рекомендувала курс лікування.

Незважаючи на успіх MYCIN, вона викликала дебати з приводу правомірності її машини виведення. Дослідження, проведені розробниками, показали, що ефективність системи мінімально залежить від конкретних числових особливостей реалізацій правил виводу. Вони припустили, що ефективність значно більше залежить від способу представлення знань і способу виведення. Це питання було розглянуте (Shortliffe EH and Buchanan BG. A model of inexact reasoning in medicine. Mathematical Biosciences 23:351-379, 1975) і потім в їх докладній книзі про MYCIN та зв'язаних з нею експериментах (Rule Based Expert Systems: The MYCIN Experiments of the Stanford Heuristic Programming Project, EH Shortliffe, eds. Reading, MA: Addison-Wesley, 1984).

База знань системи[ред. | ред. код]

База знань системи MYCIN організована у вигляді безлічі правил у формі «якщо Умова_1, ..., Умова_m виконуються, то прийти до Висновок_1, ..., Висновок_n». Ці правила перетворені в оператори мови LISP.

Ось як виглядає переклад на звичайну мову типового правила MYCIN: ЯКЩО

  1. організм володіє плямистим забарвленням, і
  2. організм має форму палички, і
  3. організм аеробний,

ТО є підстави припускати,з імовірністю (наприклад,0.8), що цей мікроорганізм відноситься до класу enterobacteriaceae. Такого роду правила названі оргправилами (ORGRULES) і в них сконцентровані знання про такі організмах, як streptococcus, pseudonomas і enterobacteriaceae.

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

ЯКЩО Умова_1 виконується з істинністю Х1, ..., Умова_m виконується з істинністю Хм,
ТО прийти до Висновку_1 зі ступенем впевненості У1, ..., до висновку n зі ступенем впевненості Уn.

Тут ступінь впевненості, пов'язана з кожним висновком, є функцією від оцінок істинності дотримання умов і рівня відповідності, що відображає ступінь впевненості експерта при формулюванні первинних оргправил. Фактично правило є парою "передумова-дія"; таке правило іноді традиційно називають "продукцією". Передумова - це сукупність умов, а впевненість у достовірності передумови залежить від того, наскільки достовірною є оцінка умов. Умови - це припущення про наявність деяких властивостей, які приймають значення істина або хиба з певним ступенем імовірності. Прикладом може служити умова в наведеному вище правилі: "Організм має форму палички".

Дія - це або висновок, або рекомендація про те, яку дію зробити. Прикладом висновку може служити висновок про те, що даний організм відноситься до певного класу. Приклад рекомендації - сформульований перелік лікувальних процедур. Крім правил, у базі знань MYCIN також зберігаються факти і визначення. Для їх збереження використовуються різні структурні форми:

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

Значна частина знань зберігається не у вигляді правил, а у вигляді властивостей, асоційованих з 65 клінічними параметрами, відомими системі MYCIN. Наприклад, форма - це атрибут мікроорганізму, який може приймати найрізноманітніші значення, наприклад, "паличка" або "кокон". Система також привласнює значення параметрів і для власних потреб - або для спрощення моніторингу взаємодії з користувачем, або для індексації при визначенні порядку застосування правил. Інформація про пацієнта зберігається в структурі, що називається контекстним деревом. У це дерево включені три культури організмів (наприклад, отримані з аналізу крові пацієнта) та поточні призначення, які потрібно враховувати при аналізі, оскільки вони пов'язані з прийомом певних лікарських засобів. З культурами пов'язані мікроорганізми, присутність яких передбачається на підставі даних, отриманих в лабораторії, а з мікроорганізмами - лікарські засоби, що впливають на них.

Структури управління в MYCIN[ред. | ред. код]

Цільове правило самого верхнього рівня в системі MYCIN можна сформулювати приблизно так:

ЯКЩО :

Існує мікроорганізм, який вимагає проведення курсу терапії, і 
Задані міркування щодо будь-яких інших мікроорганізмів, які вимагають проведення курсу терапії,

ТО :

Сформувати список можливих курсів терапії і виділити найкращий з них.

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

  • Формується контекст пацієнта у формі самого верхнього вузла контекстного дерева;
  • Робиться спроба застосувати цільове правило до цього контексту пацієнта.

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

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

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

Структура управління правилами в MYCIN використовує І/АБО-граф і в порівнянні з програмами штучного інтелекту досить проста - в ній використана методика вичерпного пошуку до якої внесені тільки незначні зміни.

  1. Формулювання кожної підцілі завжди являє собою узагальнену форму вихідної мети. Так, якщо підціль полягає в тому, щоб довести справедливість судження "організм - це E.Coli", то формулювання такої підцілі, визначення типу організму. Цим ініціюється вичерпний пошук, в який залучаються всі можливі відомості про організми.
  2. В безлічі правил, придатних для сформульованої мети, вишукуються таке, яке задовольняється за визначенням. Якщо для укладення про певний параметр, наприклад про природу організму, підходить кілька правил, то їх результати об'єднуються. Якщо коефіцієнт впевненості якійсь із висунутих гіпотез виявляється в діапазоні від -0,2 до 0,2, то гіпотеза відкидається.
  3. Якщо поточна підціль являє собою лист на графі (термінальний вузол), то дані запитуються у користувача. В іншому випадку встановлюється чергова підціль і виконується перехід на крок (1).

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

Комбінація гіпотез[ред. | ред. код]

В системі MYCIN може виявитися, що для судження про певний параметр підійде не одне правило, а декілька. Застосування кожного з них - окрема гіпотеза, що характеризується деяким значенням коефіцієнта впевненості. Наприклад, з одного правила випливає, що даний мікроорганізм, це E.coli, причому коефіцієнт впевненості цієї гіпотези дорівнює 0,8. Інше правило, беручи до уваги інші властивості аналізованого об'єкта, приходить до висновку, що цей мікроорганізм - E.coli, але ця гіпотеза характеризується коефіцієнтом впевненості 0.5. Негативне значення коефіцієнта впевненості вказує, що дане правило спростовує сформульоване ув'язнення.

Нехай Х і У, коефіцієнти впевненості однакових висновків, отримані при застосуванні різних правил. В такому разі в системі MYCIN використовується наступна формула визначення результуючого коефіцієнта впевненості:

{X + Y-XY при X, Y> 0
CF (X, Y) = {X + Y + XY при X, Y <0
{(X + Y) / (1-min(| X |, | у |)) при (X> 0 і Y <0) або (X <0 і Y> 0)

Тут | Х | означає абсолютне значення X.

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

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

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

ЯКЩО мікроорганізм ідентифікований як Pseudomonas, ТО рекомендується вибрати такі медикаменти:

  1. - COLISTIN (0.98)
  2. - POLYMIXIN (0.96)
  3. - GENTAMICIN (0.96)
  4. - CARBENICILLIN (0.65)
  5. - SULFISOXAZOLE (0.64)

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

Результати[ред. | ред. код]

Дослідження, проведені в Стенфордській медичній школі, виявили, що MYCIN пропонує прийнятну терапію приблизно в 69% випадків, що краще, ніж у експертів з інфекційних хвороб, яких оцінювали за тими ж критеріями. Це дослідження часто цитують, щоб продемонструвати можливу ступінь незгоди між рішеннями лікарів, навіть якщо вони експерти, коли немає «золотого стандарту» для правильного лікування (Yu VL, et al. Antimicrobial selection by a computer - a blinded evaluation by infectious disease experts. Journal of the American Medical Association 242:1279-1282, 1979).

Практичне використання[ред. | ред. код]

Фактично, MYCIN ніколи не використовувалася на практиці. І не в силу її низької ефективності. Як уже згадувалося, в тестах вона перевершувала професорів Стенфордської медичної школи. Деякі дослідники піднімали етичні та правові питання, пов'язані з використанням комп'ютерів в медицині - якщо програма дає неправильний прогноз, а також пропонує неправильне лікування, хто повинен відповідати за це? Проте, найбільшою проблемою і справжньою причиною, чому MYCIN не використовується в повсякденній практиці, був стан технологій системної інтеграції, особливо за часів її створення. MYCIN була автономною системою, що вимагає від користувача набору всієї необхідної інформації. Програма запускалася на сервері з поділом часу, доступному з раннього Інтернету (ARPANet), коли ще не було персональних комп'ютерів. У наш час, подібна система була б інтегрована з системою медичних записів, отримувала б відповіді на свої запитання з бази даних про пацієнтів, і була б значно менш залежна від введення інформації лікарем. У 1970-х, сеанс роботи з MYCIN міг легко зайняти 30 хвилин і більше - що становить неприпустимі втрати часу для зайнятого лікаря клініки.

Найбільшим досягненням MYCIN була демонстрація міці її підходу до подання знань і побудові висновків. Пізніше було розроблено безліч експертних систем, засновані на правилах. У 1980-х з'явилися «оболонки» для експертних систем (у тому числі заснованих на MYCIN, відома як E-MYCIN (розробляється KEE)), що сприяло розробці експертних систем у різноманітних прикладних областях.

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

Посилання[ред. | ред. код]