You are on page 1of 49

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

1 2 3

Wstp ............................................................................................ 3 Cel pracy....................................................................................... 4 System ekspertowy ..................................................................... 4


3.1 3.2 3.3 Podzia systemw ekspertowych........................................................... 6 Zalety i wady systemw ekspertowych ................................................. 7 Struktura budowy systemu ekspertowego ........................................... 8 Baza wiedzy........................................................................................ 9 Baza faktw ..................................................................................... 10 Mechanizm wnioskujcy ................................................................... 10 Mechanizm wyjaniajcy .................................................................. 10 Edytor bazy wiedzy ........................................................................... 11 Interfejs uytkownika ........................................................................ 11

3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.4 3.5 3.6

Etapy tworzenia systemu ekspertowego ............................................ 12 Reprezentacja wiedzy ........................................................................... 16 Mechanizm wnioskowania .................................................................... 18 Wnioskowanie wstecz ....................................................................... 19 Wnioskowanie w przd ..................................................................... 22

3.6.1 3.6.2

4 Opis narzdzia e2gRuleEngine do budowy systemw ekspertowych .................................................................................. 24 5 Budowa systemu ekspertowego wspomagajcego decyzje medyczne ......................................................................................... 29 6 7 Testowanie systemu .................................................................. 43 Podsumowanie........................................................................... 48

Bibliografia....................................................................................... 48 rda internetowe .......................................................................... 48 Spis rysunkw ................................................................................. 49 Spis tabel ......................................................................................... 49

2 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

1 Wstp
Sztuczna inteligencja (ang. Artificial intelligence, w skrcie A.I) jest dziedzin informatyki zajmujc si odwzorowywaniem inteligentnego dziaania czowieka i symulowaniem tej aktywnoci w maszynach oraz programach komputerowych. Jednym z uytecznych zastosowa A.I s systemy ekspertowe. Do grupy pionierw zajmujcych si tymi systemami naley Edward Albert Feigenbaum. Wedug niego definicja systemu ekspertowego brzmi nastpujco: Jest to inteligentny program komputerowy wykorzystujcy procedury wnioskowania do rozwizywania tych problemw, ktre s na tyle trudne, e normalnie wymagaj znaczcej ekspertyzy specjalistw. Wiedza (niezbdna, by zapewni odpowiedni poziom ekspertyzy), wraz z procedurami wnioskowania, moe by uwaana za model ekspertyzy, normalnie posiadanej tylko przez najlepszych specjalistw w tej dziedzinie. Wiedza systemu eksperckiego skada si zazwyczaj z faktw i heurystyk. Fakty s podstaw bazy wiedzy systemu - informacj, ktra jest oglnie dostpna i powszechnie akceptowana przez specjalistw w danej dziedzinie. Heurystyki s zwykle bardziej subiektywn (?) informacj, ktra charakteryzuje proces oceny i rozwizywania problemu przez okrelonego specjalist. Przykadami heurystyk s: intuicyjne domysy, przypuszczenia, zdroworozsdkowe zasady postpowania. Poziom ekspertyzy, oferowany przez dany system ekspercki, jest przede wszystkim funkcj rozmiaru i jakoci bazy wiedzy danego systemu. [6]. W przypadku medycyny ekspertem posiadajcym odpowiedni wiedz i kwalifikacje, ktra pozawala na zdiagnozowanie pacjenta, jest lekarz. Ze wzgldu na obszern wiedz zawart w nauce medycznej lekarze specjalizuj si w rnych dziedzinach takich jak: chirurgia, endokrynologia, kardiologia i wielu innych. Czsto w celu wyleczenia chorego potrzebna jest wsppraca kilku ekspertw o rnych specjalizacjach. Szpitalny odzia ratunkowy(skrt SOR) to miejsce gdzie trafiaj chorzy w nagych przypadkach. W medycynie taki stan okrela si jako nage zagroenie ycia lub zdrowia. Chory, u ktrego wystpi ten przypadek, jeeli nie zostanie wyleczony w jak najkrtszym okresie czasu, moe straci ycie lub dozna trwaego uszczerbku na zdrowiu. Specjalizacje jak musi posiada lekarz dyurujcy w SOR to medycyna ratunkowa. W razie trudniejszego przypadku, w celu postawienia trafnej diagnozy oraz podjciu odpowiednich dziaa, musi skonsultowa si z specjalistami z innych oddziaw, posiadajcych szersz wiedz z danej dziedziny. W polskich warunkach czsto nie s oni dostpni w krtkim czasie. Jednak, e liczy si czas od przyjcia do postawienia diagnozy oraz podjcia skutecznych zabiegw ratujcych ycie lub zdrowie pacjenta. W takich przypadkach uyteczny okazuje si system ekspertowy, ktry zawiera baz wiedzy z rnych dziedzin medycyny. Pozwala on w krtkim czasie skorzysta z wiedzy eksperta z danej specjalizacji. Obnia to koszty oraz czas potrzebny do zdiagnozowania pacjenta. Wspczenie do dokumentowania przyj pacjentw w szpitalu uywa si aplikacji zbudowanych w oparciu o architektur klient-serwer. Zapewnia to du elastyczno, znaczco upraszcza wprowadzanie zmian w oprogramowaniu oraz
3 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

pozwala na obsug kliku klientw jednoczenie. Serwer udostpnia usugi, czno midzy dwoma moduami zapewniona jest przez dania(ang. Request) oraz odpowiedzi(ang. Response). Jednym z rodzajw programw dziaajcych w architekturze klient-serwer jest aplikacja internetowa. Po stronie serwera znajduje si program i baza danych. Uytkownik kocowy komunikuje si z programem za pomoc przegldarki internetowej, wprowadza odpowiednie dane do bazy danych lub je z powrotem uzyskuje. W przypadku SOR uytkownikiem kocowym odpowiedzialnym za obsug przyj pacjentw jest lekarz i pielgniarka. Integracja systemu ekspertowego i aplikacji do obsugi przyj pozwala na zachowanie architektury klient-serwer, ograniczenie kosztw szkole oraz zapewnia bezpieczestwo po stronie klienta.

2 Cel pracy
Celem pracy jest implementacja systemu ekspertowego w aplikacji sucej do obsugi przyj pacjentw w szpitalnym oddziale ratunkowym. Zadaniem systemu ekspertowego bdzie wspomaganie decyzji medycznych podejmowanych przez specjalist medycyny ratunkowej dyurujcego na SOR. System ekspertowy zostanie skonstruowany za pomoc e2gRuleEngine. Program e2gRuleEngine jest darmowym narzdziem do budowy systemw ekspertowych i zosta stworzony w technologii JAVA aplet(ang. Applet), ktra pozwala na obsug programu w oknie przegldarki internetowej. Dziki takiemu rozwizaniu moliwe jest zintegrowanie systemu z aplikacj obsugi pacjentw dziaajc w technologii klient-serwer. W pracy nie zostanie opisany program obsugujcy przyjcia, gdy nie jest to celem pracy. Zostanie uyty do pokazania sposobu wykorzystania diagnostycznego systemu ekspertowego oraz przetestowania jego dziaania.

3 System ekspertowy
Z definicji E.A Feigenbauma wynika, e system ekspertowy to program komputerowy, ktrego wbudowane mechanizmy wnioskowania umoliwiaj rozwizywanie problemw wymagajcych konsultacji z ekspertem danej dziedziny wiedzy. Stopie ekspertyzy zaley od jakoci oraz wielkoci bazy wiedzy. System ekspertowy posiada charakterystyczne cechy odrniajce go od innych programw komputerowych. Nale do nich: Jawna reprezentacja wiedzy w wikszoci przypadkw zrozumiaa dla uytkownika kocowego w postaci regu, ram lub sieci semantycznych. Procedury sterowania odseparowane od wiedzy eksperckiej. Wykorzystanie procesw wnioskowania zamiast jawnie zdefiniowanego algorytmu. Moliwo wyjanienia metody rozwizania okrelonego problemu. Systemy ekspertowe znajduj gwnie zastosowanie w dziedzinach niesformalizowanych, gdzie nie istniej cise algorytmy rozwizania danego problemu. Do dziedzin tych nale midzy innymi: Medycyna Geologia Prawo Administracja i zarzdzanie Rolnictwo
4 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Lenictwo Architektura Chemia Okazuj si take przydatne przy rozwizywaniu problemw NP-zupenych, gdzie algorytmy obliczeniowe z powodu bardzo dugiego czasu dziaania staj si zupenie nie przydatne. Pierwsze systemy ekspertowe powstay w latach 60. Poniej zostay przedstawione niektre systemy, ktre znaczco przyczyniy si do rozwoju tej dziedziny. Dendral - zbudowany okoo 1965 roku w Stanford University przez Bruce Buchanana, Edwarda Feigenbauma oraz Joshua Lederberga. By wykorzystywany do okrelenia struktury molekularnej nieznanych chemicznych zwizkw organicznych w oparciu o analiz widm spektroskopowych. Do budowy systemu Dendral wykorzystano jzyk programowania Interlisp. Dendral osign wydajno porwnywaln z ekspertami - ludmi dziki zastosowaniu algorytmu stworzonego przez Joshua Lederberga sucego do semantycznego generowania wszystkich moliwych struktur czsteczkowych.[7] Macscyma prace nad systemem rozpoczy si w 1968 roku w Massachusetts Institute of Technology (MIT), rozwj projektu zosta zakoczony w 1982 roku. Zosta napisany w jzyku MACLisp. System Macscyma suy do rozwizywania zoonych problemw algebraicznych.[8] Mycin stworzony w latach 70 na uniwersytecie w Stanford system ekspertowy sucy do diagnozowania bakteryjnych chorb krwi, znalezieniu odpowiedniej terapii i dawkowania lekw w zalenoci od pci, wieku i wagi chorego. Baza wiedzy opieraa si na reguach IF - THEN stworzonych przez grup lekarzy. Reguy zawieray take wspczynniki pewnoci, ktre pozwalay na okrelenie stopnia niepewnoci odpowiedzi. Dziaanie programu polegao na odpowiadaniu na pytania zadawane przez system. Po zadaniu okoo 50-60 pyta system udziela odpowiedzi. W kadym momencie dziaania programu mona byo sprawdzi dlaczego zostao zadane dane pytanie(za pomoc polecenia WHY).[9] Emycin projekt powsta w 1981 po usuniciu regu z bazy wiedzy systemu Mycin. Dao to moliwo tworzenia wasnych regu. Emycin by pierwszym szkieletowym systemem ekspertowym. Prospector program by uywany do wspomagania zada wykonywanych przez geologw. Rozwijany od 1974 do 1983 w Stanford Research Institute. Baza wiedzy skadaa si z okoo 1000 regu. Dziki programowi udao si znale zoa molibdenu.[10] Internist/Caduceus system ekspertowy opracowywany od poowy lat 70 na University of Pittsburgh przez Harry Pople'a Jr. (informatyk) i Jacka D. Myersa (internista). Program wspiera lekarzy w stawianiu diagnozy z chorb wewntrznych(interny). Osign 85 % sprawnoci specjalisty z tej dziedziny.[11]

5 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

W Polsce tworzeniem systemw ekspertowych zajmuje si firma AITECH. Zaoy j dr Krzysztof Michalik, ktry w latach 80 bra udzia w tworzeniu projektw PC-Expert i Diagnosta MC14007. W firmie AITECH powsta pierwszy komercyjny szkielet systemu ekspertowego o nazwie PC-Shell. PC-Shell jest narzdziem do budowy systemw ekspertowych z rnych dziedzin takich jak: finanse, bankowo, diagnostyka, marketing, dydaktyka i wielu innych. 3.1 Podzia systemw ekspertowych Od lat 60 do czasw dzisiejszych wraz z rozwojem informatyki wytworzyo si kilka podziaw systemw ekspertowych. Systemy ekspertowe dzielimy ze wzgldu na: Sposb dziaania: Doradcze to czy uytkownik uzna bd nie zaakceptuje wyniku wyjciowego(wniosek) sztucznej ekspertyzy, zaley tylko od niego. W przypadku zanegowania odpowiedzi system ekspertowy poszuka innego rozwizania. Dziaajce autonomicznie(bez kontroli czowieka) Systemy dziaajce bez ingerencji czowieka tam, gdzie potrzebna jest szybka reakcja na zmieniajce si warunki(dane) np. systemu ekspertowe czasu rzeczywistego sterujce prac elektrociepowni. Krytykujce do systemu wprowadzane s dane wejciowe i wyjciowe. Zadaniem systemu jest przeanalizowanie i pokazanie krok po kroku w jaki sposb dana konkluzja zostaa osignita. Dane otrzymywane na wyjciu (wnioski systemu): Diagnostyczne wykorzystywane np. w medycynie, mechanice. System ocenia biecy stan na podstawie otrzymanych danych. Prognostyczne(Predykacyjne) su do przewidywania przyszego stanu w oparciu o istniejce dane(biecy stan). Uywane przy prognozowaniu pogody. Planowania po osigniciu wyznaczonego celu planuj dalsze dziaanie. Sposb reprezentacji wiedzy: Logika dwuwartociowa (ang. Boolea) fakty i wnioski maj moliwo przyjcia tylko jednej z dwch wartoci: prawda lub fasz. Logika wielowartociowa argumenty faktw i wnioskw mog przyjmowa jedn, kilka lub nie przyjmowa adnej wartoci. Logika rozmyta(ang. Fuzzy logic) jeden z rodzajw logiki wielowartociowej, gdzie midzy stanem prawda(0) a fasz(1) istnieje jeszcze pewien zbir wartoci. Realizacj projektu systemu ekspertowego: Systemy dedykowane systemy tworzone zarwno przez inyniera wiedzy oraz projektant systemu (definicja w podrozdziale 3.3 Struktura budowy systemu ekspertowego). Do zada inyniera wiedzy naley wypenienie wiedz eksperta bazy wiedzy, natomiast funkcj projektanta systemu jest zbudowanie moduw programu(podrozdzia 3.3). Systemy narzdziowe(tzw. szkieletowe systemy ekspertowe) system ekspertowy z pust baz wiedzy. Do budowy systemu wystarczy inynier wiedzy, ktrego celem jest zbudowanie bazy wiedzy po konsultacji z ekspertem.
6 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Przetwarzan informacj: Systemy z wiedz pewn gdy stwierdzenia w bazie wiedzy s pewne np. logika dwuwartociowa. Systemy z wiedz niepewn prawdziwo niektrych stwierdze jest nie pewna np. logika rozmyta. 3.2 Zalety i wady systemw ekspertowych Systemy ekspertowe jak kady program komputerowy posiadaj wady i zalety, poniej zostao wypunktowane ich zestawienie. Zalety: Systemy ekspertowe rozwizujce problemy w czasie rzeczywistym, gdzie wymagana jest analiza wielu danych w bardzo krtkim czasie dziaa lepiej od czowieka, ktry nie jest w stanie przeanalizowa tylu danych jednoczenie. Systemy takie znajduj zastosowanie np. przy sterowaniu elektrowni atomow, systemami stacji lub statkw kosmicznych. Moliwe jest zgromadzenie wiedzy kilku ekspertw jednoczenie, co pozawala na ograniczenie kosztw zatrudnienia oraz pozwala uytkownikowi systemu na efektywniejsz prac. System ekspertowy tylko prezentuje swoje rozwizania uytkownikowi, to czy uytkownik skorzysta z rozwizania zaley tylko od niego. Czas eksperta moe by wykorzystany do rozwizania trudniejszych problemw. atwiejsze, czsto powtarzajce si rozwie system ekspertowy bez obecnoci specjalisty. Sprawno systemu zaley gwnie od jakoci i iloci wiedzy zapisanej w bazie wiedzy a nie od metody wnioskowania. Moduowa budowa i oddzielenie bazy wiedzy od reszty systemu pozwala na wprowadzanie zmian bez naruszania integracji caego systemu ekspertowego. Wady: Zrobienie jakociowo i ilociowo dobrej bazy wiedzy wymaga staej obecnoci eksperta, czasu oraz nakadw finansowych. Zaprojektowanie systemu ekspertowego jest opacalne tylko wtedy, gdy bdzie on uywany przez duszy okres czasu i du grup osb. Ograniczenie dialogu z programem w wyniku uywania klawiatury. System ekspertowy w porwnaniu do specjalisty z danej dziedziny nie potrafi sam rozszerza swojej wiedzy. Jest cakowicie zaleny od uytkownika. Nie zawsze wiedza eksperta moe by zapisana w sztywnych ramach reprezentacji wiedzy(reguy, ramy, sieci semantyczne). Uzupenianie faktw i regu w bazie wiedzy moe doprowadzi do powstania bdw, co utrudni lub uniemoliwi poprawne dziaanie systemu.

7 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Zalety i wady systemw ekspertowych wynikaj rwnie z porwnania ekspertyzy sztucznej i naturalnej. Za ekspertyz naturaln odpowiada czowiek, specjalista z danej dziedziny natomiast ekspertyza sztuczna jest wynikiem dziaania programu komputerowego(systemu ekspertowego). Tabela 1 porwnuje zalety i wady tych dwch ekspertyz. Tab. 1. Porwnanie ekspertyzy sztucznej z naturaln. Ekspertyza naturalna Ekspertyza sztuczna Zalety twrcza (oparta na wiedzy i intuicji) trudna w dokumentacji adaptacyjna wykorzystanie wszystkich zmysw szeroki zakres Wady utrudniona dokumentacja z upywem czasu wystpuje utrata wartoci ekspertyzy kosztowna nie dajca si przewidzie wski zakres zgodny z faktami i reguami zawartymi w bazie wiedzy przetwarzanie wiedzy w sposb mechaniczny staa, nie traci na wartoci z upywem czasu atwa w dokumentacji atwo dostpna (nie jest wymagana obecno eksperta z danej dziedziny) zgodna z baz wiedzy

3.3 Struktura budowy systemu ekspertowego W celu zrozumienia struktury systemu ekspertowego naley wyjani rol ludzi, ktrzy wspdziaaj z systemem: Ekspert z danej dziedziny wedug definicji zawartej w Nowym sowniku jzyka polskiego to specjalista powoany do wydania orzeczenia lub opinii w sprawach spornych, wchodzcych w zakres jego kompetencji; biegy, rzeczoznawca.[1] Inynier wiedzy to osoba zajmujca si kodowaniem wiedzy przekazanej przez eksperta w form deklaratywn moliw do uycia przez system ekspertowy[12] Uytkownik osoba korzystajca z systemu ekspertowego z zamiarem uzyskania porady, ktr mg by uzyska od eksperta z danej dziedziny. W przypadku systemw dedykowany, gdy do budowy systemu ekspertowego nie jest wykorzystywany szkielet(ang. Shell) dochodzi jeszcze jedna wana rola: Projektant systemu (inynier systemu) informatyk, ktrego celem jest zaprojektowanie i zbudowanie moduw systemu ekspertowego. W zalenoci od wielkoci projektu inynier wiedzy i inynier systemu moe by t sam osob.

8 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Systemy ekspertowe maj cile okrelon budow. Jest to wzorzec projektowy wedug, ktrego naley konstruowa te systemy.

Rys. 1. Struktura systemu ekspertowego. Systemw ekspertowych nie naley myli z systemami z baz wiedzy. Systemy z baz wiedzy nie posiadaj moduu wyjaniajcego. 3.3.1 Baza wiedzy Zawiera wiedz eksperta przetworzon przez inyniera wiedzy i zgromadzon w postaci sformalizowanej(reguy, ramy, sieci semantyczne), tak, aby moga zosta odczytana przez mechanizm wnioskujcy systemu ekspertowego. Wan zasad jest niesprzeczno i spjno przeksztaconej wiedzy. Nie zachowanie tej zasady przez inyniera wiedzy moe doprowadzi do utrudnienia bd cakowitego braku dziaania program. Rozrniamy nastpujce rodzaje baz wiedzy: Baza tekstw (ang. Text base) skada si z nieuporzdkowanych danych. Baza danych (ang. data base) struktura zawierajca dane uoone w sposb uporzdkowany Baza regu (ang. Rule base) jej zawarto stanowi wiedza zapisana w postaci regu z wybranej dziedziny Baza modeli (ang. Model base) obejmuje modele matematyczne danej dziedziny. Baza wiedzy zdroworozsdkowej (ang. Common sense knowledge base) gromadzi reguy potencjalnych i racjonalnych dziaa czowieka. Odzwierciedla meta wiedz systemu, czyli jak przetwarza wiedz zawart w systemie ekspertowy.

9 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Wikszoci przypadkw wystpuje baza regu. O to przykad reguy w tym typie bazy wiedzy: IF rozrusznik nie odpala silnika AND wyczuwasz zapachu benzyny THEN zbiornik paliwa jest pusty. Budowa reguy z zaznaczonymi sowami kluczowymi zostanie opisane w nastpnym podrozdziale 3.4 Reprezentacja wiedzy). 3.3.2 Baza faktw Inaczej pami podrczna lub baza danych zmiennych. Baza pomocnicza, w niej zapisywane s fakty oraz wnioski w trakcie uytkowania przez uytkownika systemu ekspertowego. Baza faktw umoliwia take dziaanie mechanizmu wyjaniajcego. 3.3.3 Mechanizm wnioskujcy Stanowi najwaniejsz cz systemu ekspertowego. Maszyna wnioskujca jest moduem, ktry wykorzystuje odpowiednie sposoby wnioskowania w celu znalezienia rozwizania lub postawienia diagnozy.[2] Metody wnioskowania to algorytmy pozwalajce doprowadzi konsultacj do konkluzji na podstawie faktw i regu zawartych w bazie wiedzy oraz danych odbieranych przez uytkownika. 3.3.4 Mechanizm wyjaniajcy Udostpnia opcj sprawdzenia w kadym momencie konsultacji dlaczego zostaa uyta dana regua lub zadane pytanie. Jest niezwykle przydatny dla inyniera wiedzy w trakcie projektowania systemu ekspertowego. Sprawdzajc wyniki wnioskowania za pomoc mechanizmu wnioskowania inynier moe sprawdzi jak zachowuje si system ekspertowy oraz sprawdzi wspdziaanie faktw i regu.

Rys. 2. Modu wyjaniajcy programu PC-Shell.


10 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

3.3.5 Edytor bazy wiedzy Pozwala uytkownikowi na uzupenianie wiedzy przez wprowadzanie nowych faktw i regu do bazy wiedzy systemu ekspertowego. Powinien zawiera mechanizm sprawdzajcy poprawno i niezgodno regu w celu zapewnienia bezbdnego dziaania systemu.

Rys. 3. Edytor e2gRuleWriter do budowy bazy wiedzy dla e2gRuleEngine. 3.3.6 Interfejs uytkownika Bez tego moduu nie mogaby istnie interakcja uytkownika z pozostaymi czciami systemu ekspertowego oraz baz wiedzy. Stanowi mechanizm wejcia/wyjcia. Odbiera dane od uytkownika zwracajc rezultaty przeprowadzonego dziaania na bazie wiedzy przez mechanizm wnioskujcy. Odpowiada take za obsug edytora bazy wiedzy.

11 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Rys. 4. Interfejs systemu ekspertowego zbudowanego za pomoc narzdzia e2gRuleEngine. 3.4 Etapy tworzenia systemu ekspertowego W procesie budowy systemu ekspertowego zazwyczaj bior udzia trzy grupy osb: eksperci, inynierowie wiedzy i uytkownicy. Osoby te wsppracuj ze sob w trakcie trwania rnych okresw tworzenia systemu. Proces ten zosta przedstawiony na rysunku numer 5 i skada si z: Identyfikacji problemu odbywa si przy wsppracy eksperta z inynierem wiedzy. Polega na zdefiniowaniu celu oraz wymaga konstruowanego systemu ekspertowego. Problem stawiany przed systemem ekspertowym powinien charakteryzowa si: zawon specjalizacj, musi by dokadnie zdefiniowany, do rozwizania problemu wykonywane s operacje na symbolach (brak jawnego algorytmu rozwizania). Dla uatwienia identyfikacji powinien zosta stworzony raport zawierajcy: Cel definicja zada stawianych przed systemem ekspertowym. Rozwizanie okrela wynik dziaania systemu. Wiedz rdo wiedzy z danej dziedziny (najczciej jest nim ekspert). Istnieje prawdopodobiestwo braku dostpnoci eksperta z danej dziedziny. W tym przypadku naley okreli inne rda wiedzy. Zapotrzebowanie okrelenie grupy ewentualnych kupujcych. Infrastruktur rodowisko sprztowe potrzebne do dziaania systemu. Koszty ekonomiczne uzasadnienie projektu.

12 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Rys. 5. Etapy tworzenia systemu ekspertowego. Pozyskiwanie wiedzy na tym etapie produkcji systemu ekspertowego inynier wiedzy dokumentuje wiedz, po wczeniejszym rozpoznaniu dziedziny w procesie identyfikacji problemu, przekazan przez eksperta. W przypadku niemoliwoci uzyskania wiedzy od eksperta mona skorzysta z innych rde do, ktrych zaliczamy: literatur, dokumentacj, bazy i hurtownie danych, eksperymenty. Proces pozyskiwania wiedzy skada si z dwch etapw: nabywania i dokumentowania wiedzy z danej dziedziny oraz modelowania nabytej wiedzy. Faza nabywania i dokumentowania polega na: rozbiciu problemw na podproblemy, ustaleniu faktw w postaci obiektw, atrybutw i wartoci oraz udokumentowaniu relacji jakie zachodz midzy faktami, znalezieniu rozwizania problemu.

13 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Modelowanie nabytej wiedzy to projekt jawnego wzorca, ktry w dalszym cyklu projektowania systemu pozwoli na sformalizowanie informacji nabytych od eksperta w celu przeniesienia ich do bazy wiedzy. W modelowaniu wystpuj nastpujce metody: Diagram Obiekt - Atrybut - Warto(ang. Object - Attribute - Value, w skrcie OAV) suy do opisywania rzeczywistych obiektw. Upraszczaj formalizowanie faktw w bazie danych.

Rys. 6. Diagram OAV obiektu Ksika. Tabela decyzyjna - atwa i czytelna metoda zapisywania wiedzy zarwno dla inyniera wiedzy jak i eksperta. Zbudowana jest z wierszy zawierajcych warunki i czynnoci. Stanowi jawny i klarowny zapis warunkw, ktre naley speni, aby moga zosta wykonana czynno. Tab. 2. Tablica decyzyjna Warunki Okada Mikka Mikka Wielko Maa rednia Cena Tania Tania Czynnoci Kupi Nie Nie

Mikka Dua Tania Tak

Twarda Maa Tania Tak

Twarda rednia Tania Nie

Twarda Dua Droga Nie

14 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Drzewa decyzyjne skadaj si z wzw i gazi. Wzy definiuj podejmowane decyzje lub zmiany stanu rzeczy natomiast gazie okrelaj podjte akcje. Do jednego wza prowadzi tylko jedna ga

Rys. 7. Drzewo decyzyjne. Diagram przepywu zbudowane podobnie jak drzewa decyzyjne, z t rnic, e do jednego wza moe prowadzi wiele gazi.

Rys. 8. Diagram przepywu.

15 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Reprezentacja wiedzy formalizowanie modelu wiedzy eksperta. Szerszy opis w podrozdziale 3.5 Reprezentacja wiedzy. Implementacja systemu opracowanie gotowego systemu ekspertowego. Wprowadzenie, przez inyniera wiedzy, sformalizowanej wiedzy do bazy wiedzy szkieletowego bd dedykowanego systemu ekspertowego. Testowanie systemu weryfikacja poprawnoci dziaania systemu. W testach moe uczestniczy uytkownik.

3.5 Reprezentacja wiedzy


Dziaanie systemu ekspertowego zaley od jakoci i iloci informacji zawartych w bazie wiedzy, ktra skada si z odpowiednio przetworzonych i sformalizowanych faktw i heurystyk tak, aby umoliwi wnioskowanie. Fakt to okrelenie stanu rzeczy, zjawisko, ktre zachodzi lub zaszo w rzeczywistoci. [1] Heurystyki natomiast, stanowi sposb rozwizywania problemw przez ekspertw biorcych pod uwag zaistniae fakty. W bazie wiedzy heurystyki wystpuj pod postaci relacji i procedur. Relacje obejmuj zalenoci midzy dwoma lub wiksz liczb faktw, z kolei procedury to mechanizmy jakim podlegaj fakty i relacje. Do najczciej uywanych technik reprezentowania nale: Sieci semantyczne to graficzna interpretacja, w postaci grafu, relacji i asocjacji zachodzcych midzy stwierdzeniami oraz ich skadowymi. Stwierdzenia zapisywane s w postaci trjki: obiekt atrybut - warto, ktre mona przedstawi za pomoc diagramu OAV(rys. 7.). Sie semantyczna skada si z wzw i ukw. Wzy mog oznacza obiekty, atrybuty obiektw lub wartoci atrybutw. Natomiast uki su do opisywania relacji jakie zachodz midzy wzami. Sieci semantyczne mog by take wykorzystane do reprezentacji wiedzy niepewnej przez dodanie wag do wzw i ukw.[3] Zaleta tej techniki reprezentacji to przedstawienie wiedzy w formie graficznej co przemawia do wyobrani, jest intuicyjne i efektywne.

Rys. 9. Przykad sieci semantycznej.


16 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Reguy produkcyjne wikszo systemw ekspertowych opartych jest o t technik reprezentacji wiedzy, gdy posiada wiele zalet takich jak: bardzo zrozumiay zapis, prosta modyfikacja bazy wiedzy przez dodanie nowych lub zmian istniejcych regu, uatwione rozwizanie problemu przez waciwy dobr grupy regu. Reguy maj posta: JEELI (Warunek) TO (Konkluzja) Standardowo w bazie wiedzy zapisywane s w postaci kanonicznej(jzyk angielski): IF(Warunek)THEN(Konkluzja) Konkluzja(wniosek) to nastpstwo spenienia(wystpienia) Warunki i wnioski skadaj si z par atrybut warto. Przykad: IF Zwierz jest Wrbel THEN Zwierz ma gniazdo IF Zwierz jest Wrbel THEN Zwierz jest Ptak IF Zwierz jest Ptak THEN Zwierz ma Skrzyda Moliwe jest czenie kilku warunkw oraz konkluzji za pomoc koniunkcji oraz alternatywy. Koniunkcja to iloczyn logiczny, ktrego symbolem jest AND. W tym wypadku reguy maj posta: IF Zwierz jest Ptak THEN Zwierz ma Pira AND Zwierz ma Skrzyda IF Ptak ma Gniazdo AND Ptak jest May THEN Ptak jest Wrbel IF Ptak ma Gniazdo AND Ptak jest May THEN Ptak jest Wrbel AND Wrbel ma Skrzyda Alternatywa, inaczej suma logiczna, jest reprezentowana przez symbol OR i reguy prezentuj si nastpujco: IF Zwierz ma Gniazdo OR Zwierz ma Pira THEN Zwierz jest Ptak IF Zwierz jest Ptak THEN Zwierz jest Mae OR Zwierz jest rednie IF Zwierz ma Gniazdo OR Zwierz ma Pira THEN Zwierz jest Mae OR Zwierz jest rednie Reguy produkcyjne mog si zagnieda. Sytuacja taka wystpuje wtedy, gdy konkluzja(wniosek) jednej reguy jest warunkiem(przesank) innej. Prowadzi to do podziau warunkw na moliwe do zapytania, ktrych warto ustalana jest przez odpowied uytkownika na zapytanie systemu ekspertowego oraz warunki wynikajce z konkluzji innej reguy. Pozwala to na ograniczenie zapyta i skrcenie czasu konsultacji. Baza wiedzy moe zawiera wiedz niepewn, w tym wypadku wzr reguy wyglda nastpujco: JEELI (Warunek) TO (Konkluzja)(CF) warunku.

17 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Wspczynnik pewnoci ( ang. certainty factors lub confidence factors, w skrcie CF) to warto wyraona w liczbach. Zbir wartoci jakie moe przyjmowa, okrela szkielet systemu ekspertowego. Do opisania metod wspczynnika zostan uyte procenty z przedziau <0%,100%>, dla warunku A wspczynnik ten wynosi 60%, warunek B ma 80%. Metody obliczania wspczynnika pewnoci: Minimum pod uwag brana jest najmniejsza warto wspczynnika wartoci warunkw. W tym wypadku CF konkluzji wynosi 60%. Maksimum CF wynosi tyle, ile najwikszy wspczynnik warunku. CF konkluzji ma 80%. rednia wspczynnik pewnoci obliczany jest na zasadzie redniej arytmetycznej wspczynnikw warunkw. CF rwne jest 70%. Suma probabilistyczna wzr na obliczanie wspczynnika pewnoci wyglda nastpujco: CF= A+(B/100)*(100-A) Po podstawieniu wartoci A i B otrzymujemy wynik CF konkluzji, ktry jest rwny 92%. Iloczyn Obliczenia polegaj na pomnoeniu dwch CF przesanek Ramy to strukturalny opis danych. Rama(rys. 10.) reprezentuje obiekt, ktry posiada atrybuty i wartoci. Atrybuty, czyli cechy obiektu, zapisywane s w klatkach (ang. Slot), wartoci w fasetach(ang. Facet). Klatki jednego obiektu nie mog si powtarza, fasety w jednej klatce nie mog mie tej samej nazwy.

Rys. 10. Przykadowa rama. Relacje midzy ramami okrelone s przez hierarchi dziedziczenia, czyli istniej ramy podstawowe, podrzdne i nadrzdne. Wynik wnioskowania jest rezultatem przechodzenia przez t hierarchi.

3.6 Mechanizm wnioskowania


Istniej dwa gwne typy metod wnioskowania: wnioskowanie w ty(ang. Backward chaining),
18 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

wnioskowanie w przd (ang. Forward chaining). Oba mechanizmy zostan opisane w kolejnych podrozdziaach. Baza wiedzy, na ktrej zostanie przeprowadzone wnioskowanie bdzie skada si z regu z wiedz pewn. W systemie ekspertowym o nazwie AWARIA zostaa zaimplementowana nastpujca baza wiedzy: Tab. 3. Baz wiedzy programu AWARIA. Numer Tre reguy reguy 1 Jeeli wiata po wczeniu nie wiec i rozrusznik po przekrceniu kluczyka nie zaskakuje to zalecana czynno polega na naadowaniu lub zmianie akumulatora 2 Jeeli zbiornik paliwa jest pusty to zalecana czynno polega na napenieniu baku samochodu paliwem 3 Jeeli rozrusznik po przekrceniu kluczyka zaskakuje powoli i moc wiecenia wiate jest saba to zalecana czynno polega na naadowaniu akumulatora 4 Jeeli rozrusznik po przekrceniu kluczyka zaskakuje i zapach paliwa w baku jest obecny to zalecana czynno polega na odczekaniu 10 minut i ponownemu uruchomieniu zalanego samochodu 5 Jeeli rozrusznik po przekrceniu kluczyka zaskakuje i zapach paliwa w baku jest nie obecny to zbiornik paliwa jest pusty. Reguy w trakcie wnioskowania bd zmieniay swj stan. Regua nie sprawdzona przez system bdzie aktywna, natomiast sprawdzona, ktrej konkluzja nie zostanie potwierdzona zmieni status na odrzucon. Gdy wniosek okae si prawdziwy regua stanie si odpalona. Stan przechowywany jest w bazie faktw. 3.6.1 Wnioskowanie wstecz Wnioskowanie wstecz(ang. hypothesis driver), czyli wnioskowanie dedukcyjne, to proces polegajcy na potwierdzeniu prawdziwoci hipotezy na podstawie przesanek. Hipoteza to cel lub inaczej rozwizanie problemu stawianego przed systemem ekspertowym. Przesanka jest traktowana jako nowa hipoteza w przypadku, gdy uytkownik nie zna jej wartoci lub stanowi konkluzj innej reguy(zagniedanie regu). W trakcie dziaania systemu algorytm wnioskowania wstecz szuka przesanek potwierdzajcych nowe hipotezy dopki nie zostan znalezione wartoci przesanek reguy, ktrej konkluzja stanowi cel. Do przechowywania celu(ang. Goal) gwnego oraz nowych hipotez(ang. Subgoal) suy stos. Stos(rys. 12 na stronie 22) to struktura danych, w ktrych ostatni element doczony do struktury jest pierwszym elementem do zdjcia ze stosu(bufor typu LIFO ang. last in, first out). Wnioskowanie wstecz dziaa dopki na stosie nie zostanie gwny cel i nie ma wicej regu aktywnych ktre mogy by doczy nowe hipotezy.

19 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Rys. 11. Schemat blokowy wnioskowania wstecz. Uytkownik zamierza znale przyczyn awarii samochodu. W tym celu uywa nasz system ekspertowy AWARIA z baz wiedzy przedstawion w tabeli 3. Celem wnioskowania jest znalezienie rozwizania co zrobi, aby uruchomi samochd. Modu wnioskowania umieszcza cel na stosie(zalecana czynno) i sprawdza pierwsz aktywn regu, ktrej konkluzja jest celem. Regua pierwsza zawiera sprawdzan hipotez i nie zagnieda si. System oczekuje podania wartoci przesanek przez uytkownika. Odpowiedzi uytkownika i stos celw przedstawia tabela numer 4. Tab. 4 . Rozpoczcie wnioskowania wstecz. Fakty Atrybut Warto wiata wiec Rozrusznik zaskakuje Cel gwny wnioskowania zalecana czynno Stos celi 1. zalecana czynno

20 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Z odpowiedzi uytkownika wynika, e wiata wiec i rozrusznik zaskakuje, wic regua pierwsza zmienia stan z aktywnej na odrzucon. Konkluzja tej reguy nie spenia przesanek. Pod uwag jest brana nastpna aktywna regua zawierajca cel znajdujcy si na szczycie stosu, jest to regua numer dwa. System ekspertowy prbuje ustali jak warto ma atrybut zbiornik paliwa. Uytkownik nie wie czy w zbiorniku znajduje si paliwo, wic algorytm wnioskujcy dodaje now hipotez na wierzchoku stosu(tab. 5), a regua druga nadal pozostaje aktywna. Tab. 5. Kolejny etap wnioskowania wstecz. Fakty Atrybut Warto wiata wiec Rozrusznik zaskakuje Zbiornik paliwa nie wiem Cel gwny wnioskowania zalecana czynno Stos celi 2. zbiornik paliwa 1. zalecana czynno Na szczycie stosu znajduj si teraz zbiornik paliwa. System przeszukuje baz wiedzy w celu odnalezienia regu aktywnych, ktrych atrybut wniosku to zbiornik paliwa. W wyniku tego dziaania zostaje sprawdzona regua pita. Regua zawiera dwa warunki. Pierwszy z nich, atrybut rozrusznik, znajduje si ju w bazie faktw i jest prawdziwy, natomiast drugi wymaga odpowiedzi uytkownika. Wedug uytkownika zapach paliwa w baku nie jest obecny. Regua pita spenia przesanki, wic warto zbiornika paliwa w bazie faktw zmieniana jest na pusty. Atrybut zbiornik paliwa cigany jest ze szczytu stosu. Tab. 6. Wnioskowanie wstecz po usuniciu ze stosu atrybutu zbiornik paliwa. Fakty Atrybut Warto wiata wiec Rozrusznik zaskakuje Zbiornik paliwa nie wiem Cel gwny wnioskowania zalecana czynno Stos celi 1. zalecana czynno Na wierzchoku stosu znowu znajduje si zalecana czynno, wic kolejny raz zostaje sprawdzona pierwsza regua aktywna z celem gwnym wnioskowania w konkluzji, jest to ponownie regua druga. Tym razem jej warunki pasuj do faktw w pamici podrcznej systemu ekspertowego. Zostaje znaleziona warto gwnego celu wnioskowania przy pominiciu regu: czwartej i pitej. Zalecana czynno polega na napenieniu baku samochodu paliwem. Przykad wnioskowania wstecz ukazuje jego zalety. Wnioskowanie dedukcyjne nie wymaga sprawdzenia wszystkich regu w bazie wiedzy co powoduje wygenerowanie mniejszej iloci faktw w wyniku czego oszczdzana jest pami podrczna komputera oraz krtki czas ekspertyzy.

21 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Rys. 12. Schemat dziaania stosu celi moduu wnioskowania.


3.6.2 Wnioskowanie w przd

Wnioskowanie w przd(ang. Data driven), inaczej wnioskowanie indukcyjne, rozpoczyna si od sprawdzenia faktw znajdujcych si w bazie faktw(pamici podrcznej) systemu ekspertowego i porwnaniu ich z czci regu odpowiedzialn za warunki(IF). Regua speniajca warunki zostaje, przez mechanizm wnioskujcy, oznaczona jako prawdziwa, a jej konkluzja jest dodawana do pamici podrcznej. W trakcie trwania procesu wnioskowania fakty mog by take usuwane z pamici podrcznej. Nowe fakty s generowane dopki nie zostanie znaleziony konkluzja lub nie zostan wygenerowane nowe fakty(zbir regu aktywnych bdzie pusty). Istnieje prawdopodobiestwo wystpienia kilku regu do odpalenia. Wybranie odpowiedniej moliwe jest przez uycie strategii sterowania wnioskowaniem. Nale do nich: Strategia wieoci najpniej dodana regua do bazy faktw ulega odpaleniu. Strategia blokowania reguy ju wykorzystane s usuwane z bazy faktw co zapobiega powstawaniu ptli wnioskowania. Strategia specyficznoci wybierana jest regua o najwikszej liczbie warunkw. Strategia pierwszej reguy pierwsza regua, ktrej warunki zostaj spenione zmienia stan na odpalon Strategia przypadkowoci wybranie reguy w sposb losowy. Uywana jako strategia pomocnicza po wykorzystaniu jednej z wczeniej wymienionych strategii.

22 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Rys. 13. Diagram wnioskowania indukcyjnego.[13] Uytkownik ponownie zamierza skorzysta z programu AWARIA, tym razem w systemie zaimplementowane jest wnioskowanie w przd. Aby program rozpocz inferencj opart na tym algorytmie, w pamici podrcznej systemu musz znale si fakty. Uytkownik udzieli odpowiedzi na pytania o: wiata, rozrusznik, zbiornik paliwa, moc wiecenia wiate, zapach paliwa w baku. Odpowiedzi i cel wnioskowania przedstawia tabela 4. Tab. 7. Wnioskowania w przd. Ustalenie faktw przez uytkownika Fakty Atrybut Warto wiata wiec Rozrusznik zaskakuje Zbiornik paliwa nie wiem Moc wiecenia wiate w normie Zapach paliwa w baku nie obecny Cel zalecana czynno

23 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

System rozpoczyna wnioskowanie po ustaleniu wartoci faktw przez uytkownika. Warunki reguy pierwszej nie zostay spenione, aby j potwierdzi, gdy wiata samochodu wic i rozrusznik zaskakuje. Regua ta jest usuwana ze zbioru regu aktywnych. Regua druga nadal pozostaje oznaczona jako aktywna, poniewa uytkownik nie wie czy zbiornik paliwa jest pusty. Fakty zapisane w pamici podrcznej take nie speniy przesanek reguy trzeciej i czwartej, wic ich wnioski nie zostay potwierdzone(reguy zostay odrzucone). Warunki ostatniej reguy zostay osignite. Z konkluzji tej reguy wynika, e zbiornik paliwa jest pusty, w skutek tego dochodzi do aktualizacji bazy faktw i aktualizacji wartoci atrybutu zbiornik paliwa. Odpalenie tej reguy powoduje jej usunicie ze zbioru regu aktywnych. Tab. 8. Wnioskowanie w przd. Aktualizacja bazy faktw. Fakty Atrybut Warto wiata wiec Rozrusznik Zaskakuje Zbiornik paliwa Pusty Moc wiecenia wiate w normie Zapach paliwa w baku nie obecny Cel zalecana czynno Regua druga, nadal aktywna, ulega ponownemu sprawdzeniu i zostaje odpalona. Zbiornik paliwa jest pusty, wic zalecana czynno polega na napenieniu baku samochodu paliwem. System AWARIA wywietla za pomoc interfejsu uytkownika rozwizanie problemu. W tym wypadku wnioskowanie jest przerywane, poniewa cel zosta osignity i nie ma wicej regu aktywnych do sprawdzenia. Wnioskowanie w przd doskonale sprawdza si systemach pracujcych bez kontroli uytkownika gdzie dane, czyli fakty, zbierane s automatycznie lub gdy wymagane jest podanie wszystkich informacji przez rozpoczciem wnioskowania np. ankieta. Wad wnioskowania indukcyjnego jest moliwo cakowitego zapenienia pamici operacyjnej komputera przez dodanie znacznej iloci faktw do pamici podrcznej systemu ekspertowego.

4 Opis narzdzia e2gRuleEngine do budowy systemw ekspertowych


Aplet e2gRuleEngine(v8.01) to szkieletowy system ekspertowego dostpny za darmo na stornie http://expertise2go.com. Budowa wasnego systemu ekspertowego polega na uzupenienia bazy wiedzy informacjami interesujcej nas dziedziny wiedzy. Baza wiedzy zapisywana jest w osobnym pliku. System zbudowany w oparciu o e2gRuleEngine moe by uruchamiany w trzech rnych rodowiskach: przez wywoanie w przegldarce strony internetowej, ktra uruchamia e2gRuleEngine jako plik odczytywany bezporednio z dysku twardego komputera, na lokalnym serwerze internetowym np. Apache Web serwer,

24 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

uywajc publicznego serwera internetowego i udostpniajc system ekspertowy szerszemu gronu uytkownikw. Do uruchomienia e2gRuleEngine w na stronie WWW potrzebny jest odpowiedni kod napisany w jzyku HTML oraz wirtualna maszyna Javy zainstalowana na komputerze uytkownika. Kod HMTL wyglda nastpujco: <applet code="e2gRuleEngine.class" archive="e2gRuleEngine.jar" width="700" height="420"> <param name="KBURL" value="'nazwa_bazy_wiedzy.kb"> </applet> Znaczniki <applet>..</applet> pozwalaj uruchomi szkielet systemu ekspertowego w oknie przegldarki. Pierwszy wymaga podania atrybutw, ktrymi s: code naley poda nazw skompilowanej klasy apletu z rozszerzeniem .class, archive atrybut wymagany w przypadku e2gRuleEngine, gdy klasy appletu spakowane s w archiwum .jar, width w ktrej podajemy szeroko wywietlanego apletu, height okrela wysoko apletu. Archiwum e2gRuleEngine musi zosta wywoane z jednym parametrem o nazwie KBURL, ktrego warto okrela ciek do bazy wiedzy zapisanej w osobnym pliku o rozszerzeniu .kb. Pozwoli to na odnalezienie bazy wiedzy przez mechanizm wnioskujcy. Opis innych parametrw mona znale na stronie http://expertise2go.com/e2g3g/e2g3gdoc/e2gref.htm. Baza wiedzy systemu ekspertowego czytelna dla moduu wnioskujcego e2gRuleEngine musi by zapisana w postaci regu produkcyjnych(podrozdzia 3.4 Reprezentacja wiedzy), majcych odpowiedni dla narzdzia format. Przesanki i konkluzje zapisywane s w postaci pary: atrybut warto. Wartoci atrybutw mog stanowi jeden z trzech rnych typw: Tekstowy zawarty midzy cudzysowami. Numeryczny(ang. Numeric), ktra moe by liczb cakowit lub rzeczywist. Logiczny (ang. Boolean) przyjmujcy warto TRUE albo FALSE. Typ atrybutu jest inicjowany, gdy po raz pierwszy zostanie uyty w regule w trakcie wnioskowania. Prba zmiany typu atrybutu po jego wczeniejszy ustaleniu zakoczy si bdem. Analogiczny bd wystpi przypadku pierwszego wystpienia atrybutu stwierdzeniach PROMPT i GOAL, ktre zostan omwione w dalszej czci tego rozdziau. W bazie wiedzy wystpuj takie elementy jak: puste linie, jednoliniowe komentarze, reguy, zapytania, stwierdzenia wyznaczajce cel wnioskowania i wartoci domylne atrybutw. Jednoliniowe komentarze podobnie jak puste linie (linie tekstu zaczynajcego si od sowa REM) s ignorowane przez modu wnioskujcy. Reguy skadaj si z kilku elementw, kady element wystpuje w nowej linii. Pierwsza linia reguy rozpoczyna si od stwierdzenia RULE, po ktrym wystpuje nazwa reguy zamknita w kwadratowych nawiasach. Pocztek nastpnej linii stanowi przesanka reguy, ktrej pocztkiem jest sowo IF. Po nim wystpuje atrybut zawarty w nawiasach kwadratowych poczony z wartoci za pomoc jednego z operatorw opisanych w tabeli. Jeeli wystpuje wicej ni jedna przesanka, to musz by one poczone przez ten sam logiczny operator,
25 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

AND(iloczyn logiczny) lub OR(suma logiczna). Kada przesanka skadajca si z atrybutu, operatora i wartoci musi znajdowa si w oddzielnej linii. W przypadku wikszej liczby warunkw ten sam operator logiczny znajduje si na kocu kadej przesanki oprcz ostatniej. Linia wystpujca po ostatniej przesance musi zaczyna si od sowa THEN. Sowo to inicjuje cz reguy odpowiedzialn za konkluzj. Po THEN musi wystpi nazwa atrybutu w kwadratowych nawisach z przypisan wartoci za pomoc znaku rwnoci(=), inne operatory z tabeli numer 9 traktowane s jako bd. Do powizania wikszej iloci wnioskw suy operator AND. Suma logiczna(OR) powoduje wystpienie bdu i zakoczenie dziaania programu. Linia konkluzji, ktra nie jest zakoczona sowem AND koczy ciao reguy. Opcjonalnie mona doczy do reguy wspczynnik pewnoci(CF) przez dodanie znaku @ i liczby z przedziau od 1 do 100 po wartoci atrybutu konkluzji. Tab. 9. Operatory przypisania wartoci atrybutu. Operator Znaczenie operatora Przykad = rwny [zbiornik paliwa] = pusty zbiornik paliwa jest pusty < mniejszy [cena] < 120 cena jest mniejsze ni 120 <= mniejszy lub rwny [cena] <= 50 cena jest mniejsza ni lub rwna 50 > wikszy [cena] > 150 cena jest wiksza ni 50 >= wiksza lub rwna [cena] >= 80 cena jest wiksza lub rwna 80 ! nie rwna [zbiornik paliwa] ! pusty zbiornik paliwa nie jest pusty <> nie rwna(od v8.0) [zbiornik paliwa] <> pusty zbiornik paliwa nie jest pusty != nie rwna(od v8.0) [zbiornik paliwa] != pusty zbiornik paliwa nie jest pusty : rwny jednej wartoci z [objawy] : bl, gorczka (tylko typ tekstowy) jednym z objaww jest bl lub gorczka !: nierwny adnej [objawy] : bl, gorczka wartoci z adnym z objaww nie jest bl lub gorczka (tylko typ tekstowy) Regua skonstruowana wedug wyej wymienionych informacji powinna wyglda w sposb nastpujcy: RULE [Zawa serca z wstrzsem kardiogennym?] If [Bl w klatce zawaowy] = true and [STEMI] = false and [NSTEMI] = true and [Troponiny] > 0.03 and [Ocena psycho-ruchowa] = "spltany" and [Wypenienie ttna] = "nitkowate" and [Napicie ttna] = "mikkie" and [Temperatura skry] = "obniona" and
26 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

[Niedocinienie] = true and [Zaburzenia oddawania moczu] = true and [Oddech] = "szybki i gboki" Then [Rozpoznania towarzyszce] = "Wstrzs kardiogenny" @ 95 and [Rozpoznanie] = "Zawa serca typu NonSTEMI" @ 95 Stwierdzenie PROMPT(zapytanie) umoliwia ustawianie wartoci przesanek przez uytkownika za pomoc interfejsu systemu ekspertowego i w bazie wiedzy wystpuj po reguach. Pierwsza linia stwierdzenia zaczyna si od sowa PROMPT, po ktrym musi wystpi nazwa atrybutu przesanki, zapisana w nawiasach kwadratowych i typ zapytania(Tab. 9). Fraza CF znajdujca si w tej samej linii po typie zapytania daje moliwo podawania przez uytkownika wspczynnika pewnoci. Tre zapytania, zamknit w cudzysowu, deklaruje si w nastpnej linii. Tab. 10. Typy zapyta e2gRuleEngine Typ zapytania MultChoice

Opis Przyciski radiowe (ang. Radio button) dla typu tekstowego, moliwe jest tylko wybr jednej odpowiedzi. Choice Rozwijana lista(ang. drop-down list) dla typu tekstowego z sadami analogicznymi do MultChoice ForcedChoice MultChoice bez opcji I don't know/would rather not answer". AllChoice Umoliwia zaznaczeniu kilku odpowiedzi(ang. Check box) dla wartoci tekstowych. YesNo Przyciski radiowe z wartociami logicznymi true/false(typ boolean) Numeric Pole tekstowe przyjmujce wartoci numeryczne Nastpne linie stanowi moliwe odpowiedzi. Dla MultChoice, Choice, AllChoice, ForcedChoice s wartoci zawarte midzy cudzysowem. Numeric wymaga, aby w dwch osobnych liniach poda warto minimaln i maksymaln w cudzyslowiu. Nie naley wpisywa adnych wartoci, jeeli rodzaj zapytania to YesNo. We wszystkich typach oprcz Numeric i ForcedChoice istnieje moliwo wyboru odpowiedzi, ktra nie ustala wartoci warunku(opcja I don't know/would rather not answer"). Jest on traktowany przez modu wnioskujcy jako nieznany. W bazie wiedzy zapytanie AllChoice wyglda nastpujco: PROMPT [Czynniki agodzce bl w klatce] AllChoice CF "Jakie s czynniki agodzce bl w klatce?" "Nitrogliceryna" "rodki przeciwblowe" "Zaprzestanie wysiku" "Pozycja siedzca" "Pozycja siedzca i pochylenie do przodu" "Brak czynnikw"
27 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

W bazie wiedzy musi wystpi przynajmniej jedno stwierdzenie deklarujce cel wnioskowania. Rozpoczyna si sowem GOAL, po ktrym nastpuje para nawiasw kwadratowych ze znajdujcym si midzy nimi atrybutem konkluzji jednej z regu. Deklaracja celu lub celw wnioskowania w bazie musi wystpi po reguach i moe by zapisany przed lub po zapytaniach(PROMPT). Poprawnie zapisanie celu: GOAL [Rozpoznanie] Oprcz wyej wymienionych komponentw w bazie wiedzy mona zadeklarowa warto domyln dla kadej przesanki, maksymaln liczb odpowiedzi branych pod uwag przy zapytaniu typu AllChoice i minimaln warto wspczynnika pewnoci dla wszystkich rodzajw zapyta, aby odpowied moga zosta wzita pod uwag jako fakt. Zapis wartoci domylnych wyglda nastpujco: DEFAULT [Wypenienie ttna] = W normie Maksymaln liczb odpowiedzi mona zadeklarowa na dwa sposoby: MAXVALS [Czynniki agodzce bl w klatce] 4 MAXVALS [Czynniki agodzce bl w klatce] = 4 Do ustawienia minimalnego wspczynnika pewnoci(CF) suy zapis: MINCF X Gdzie X jest dowoln liczb z zakresu od 0 do 100. Domylnie warto minimalna CF wynosi 80. Gdy w regule wystpuj dwie przesanki, wspczynnik pewnoci obliczany jest na podstawie iloczynu, natomiast w przypadku ustalenia wartoci atrybutu z kilku rde(zapytanie i kilka zagniedonych regu) do kalkulacji uywana jest suma probabilistyczna(podrozdzia 3.5 Reprezentacja wiedzy). W trakcie sprawdzania poprawnoci utworzonej bazy wiedzy przydatne jest uywanie moduu wyjaniajcego oraz dodanie parametru o nazwie DEBUG z ustawion wartoci TRUE. Parametr ten tworzy okno suce do odnajdywania i usuwania usterek. Za pomoc funkcji Trace is ON/OFF moliwe jest ledzenie procesu inferencji. Display KB dump wywietla aktualny status przesanek i regu w trakcie wnioskowania. Stan przesanki skada si z jej nazwy, wartoci, typu zamknitego w nawiasach okrgych(S dla typu tekstowego, N dla liczbowego i B jako warto logiczna), wspczynnika pewnoci warunku oraz wskanik, czy przesanka jest prawdziwa bd nie. Reguy prezentowane s w caoci wraz z doczonym statusem. Status reguy moe by nieznany(U), odpalony(F), gdy przesanki reguy oka si prawdziwe lub faszywy(X), w przypadku niemoliwoci dowiedzenia prawdziwoci reguy. Opcja Analyze KB pozwala sprawdzi poprawno bazy wiedzy, czy nie wystpiy w niej bdy typograficzne(tzw. literwki) i logiczne. Po naciniciu tego przycisku widoczne s dwie sekcje: ATTRIBUTE USAGE wywietla wszystkie atrybuty w kolejnoci alfabetycznej z zaznaczeniem, ktre zapytanie lub regua wyznacza jego warto i w jakiej regule dany atrybut zosta uyty.
28 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

VALUE USAGE pokazuje wartoci typu tekstowego, take uoone w szeregu alfabetycznym. Po wartoci, zamknitej midzy cudzysowami ,znajduje si dugo cigu tekstowego. Widoczne jest take miejsce wystpowania danej wartoci(przesanka reguy, konkluzja reguy, zapytanie) oraz powizanym z ni atrybutem.

Rys. 14. Okno odnajdywania i usuwania usterek e2gRuleEngine. Podstawowym jzykiem apletu e2gRuleEngine jest jzyk angielski. W sytuacji, gdy trzeba zaimplementowa system ekspertowy w innym jzyku, przydatne okazuje si stwierdzenie TRANSLATE, po ktrym nastpuje nazwa atrybutu, jaki chcemy przetumaczy oraz jego warto zamknita w cudzysowie. Do poprawnego dziaania programu z baz wiedzy w innym jzyku ni angielski potrzebne jest dopisanie parametru apletu o nazwie KBENCODING. Parametr ten okrela jakiego kodowania tekstu uyto do utworzenia bazy wiedzy i umoliwia jej poprawne odczytanie moduowi wnioskujcemu oraz wyjaniajcemu. Nazwy atrybutw dla TRANSLATE znajduj si na stronie http://expertise2go.com/e2g3g/e2g3gdoc/e2gref.htm. Wszystkie moliwe funkcje szkieletowego systemu ekspertowego e2gRuleEngine, take te, ktre nie zostay opisane w pracy znajduj si na stronie wymienionej na pocztku biecego rozdziau.

5 Budowa systemu ekspertowego wspomagajcego decyzje medyczne


Konstrukcja systemu ekspertowego zostanie przedstawiona krok po kroku wedug etapw opisanych w podrozdziale 3.4 o tytule Etapy tworzenia systemu ekspertowego. Schemat budowy systemu ekspertowego wspierajcego decyzje medyczne zostanie pokazany na przykadzie jednej choroby, zawau serca typu STEMI z towarzyszcym wstrzsem kardiogennym. Choroba ta znajduje si w

29 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

bazie wiedzy o nazwie kardiolog.kb, a powyszy schemat posuy do budowy wszystkich baz wiedzy znajdujcych si w systemie. Pierwsz faz budowy systemu bya identyfikacja problemu. W pierwszym etapie naley okreli cel, zadania systemu ekspertowego oraz potencjalne rdo wiedzy, ktre posuy do budowy bazy wiedzy systemu. W celu identyfikacji problemu zostanie utworzony raport, ktry zapocztkuje proces tworzenia systemu ekspertowego. W raporcie znajduj si nastpujce elementy: Cel zbudowa system ekspertowy wspomagajcy decyzje medyczne lekarza dyurujcego w szpitalnym oddziale ratunkowy(w skrcie SOR). Rozwizanie w systemie zostan zaimplementowane cztery bazy wiedzy odpowiadajce wiedzy czterech specjalistw z nastpujcych dziedzin medycyny: Kardiologa choroby ukadu sercowo naczyniowego. Neurolog choroby obwodowego i orodkowego ukadu nerwowego. Chirurgia oglna choroby leczone operacyjnie. Pulmonologia choroby ukadu oddechowego. Zadaniem programu bdzie odnalezienie rozpoznania gwnego choroby i rozpoznania towarzyszcego chorobie, jeeli wystpio oraz zalecenie odpowiedniego postpowania na podstawie faktw. W przypadku tego systemu fakty to objawy jakie zostan zidentyfikowane w trakcie konsultacji lekarza SOR z pacjentem oraz te, ktre zostay wywnioskowane z regu zagniedonych w trakcie inferencji. Dane(fakty) bd wprowadzane na zasadzie dialogu systemu z uytkownikiem, ktrym bdzie powyszy dyurny medyk. Do budowy systemu zostanie wykorzystany szkieletowy system ekspertowy e2gRuleEngine. Wiedza z powodu braku ekspertw wiedza musiaa zosta uzyskana z innych rde. rdem tym bya literatura o tematyce medyczne. Pierwsz z nich jest ksika o tytule Griffith 5 minut konsultacji klinicznej[4], ktra jest zbiorem chorb, ich objaww i metod leczenia, druga o nazwie Medycyna ratunkowa dokadnie opisuje przypadki chorb moliwych do wystpienia u pacjentw zgaszajcych si do Szpitalnego Oddziau Ratunkowego. Zapotrzebowanie nie dotyczy systemu ekspertowego budowanego do pracy dyplomowej. Infrastruktura system ekspertowy musi by zintegrowany z aplikacj obsugi przyj pacjentw do SOR, ktra dziaa w architekturze klient serwer z interfejsem uytkownika typu cienki klient. Cienki klient to komputer bd terminal komputerowy z zainstalowanym oprogramowaniem klienckim do obsugi aplikacji znajdujcej si na serwerze. W przypadku aplikacji obsugi przyj pacjentw do SOR interfejs uytkownika uruchamiany jest w oknie przegldarki internetowej. Jak ju zostao wspomniane, narzdzie e2gRule jest napisane w technologii Java aplet, ktra umoliwia uruchomienie tego programu za pomoc przegldarki internetowej, a cay kod rdowy apletu znajduje si na serwerze. Narzdzie to doskonale nadaje si do budowy systemu ekspertowego wspdziaajcego z aplikacj klient - serwer. Do dziaania obu programw jest wymagany serwer i redniej klasy komputer PC z zainstalowan wirtualn maszyn Javy do obsugi apletu. Na serwerze musi by zainstalowane oprogramowanie Apache Web do obsugi aplikacji internetowych z moliwoci obsugi skryptowego jzyka programowania
30 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

PHP w wersji co najmniej 5.1 i systemem zarzdzania relacyjnymi bazami danych MySQL 5.1. Koszty narzdzie e2gRuleEngine jest bezpatne podobnie jak wymienione we wczeniejszym punkcie oprogramowanie Apache Web, PHP oraz MySQL, wic implementacja obu programw(systemu ekspertowego i aplikacji obsugi przyj pacjentw do SOR) nie wie si kosztami. Po udanej identyfikacji problemu nastpuje faza pozyskiwania wiedzy, ktra skada si z dwch etapw. Pierwszy z nich to nabywanie i dokumentacja wiedzy, drugi polega na modelowaniu zdobytej wiedzy. Ju wiemy z poprzedniej fazy budowy systemu ekspertowego, e rozwizaniem problemu bdzie skierowanie celu wnioskowania programu na rozpoznanie choroby z jak trafi pacjent do SOR, moliwego rozpoznania towarzyszcego chorobie i zalecenia co do postpowania lekarza(uytkownika systemu). Do udokumentowania mamy stan chorobowy: zawa serca typu STEMI z towarzyszcym mu wstrzsem kardiogennym. W kadej chorobie wystpuje zbir charakterystycznych objaww, wic dokumentacj wiedzy rozpoczynamy od ich ustalenia. Dla czytelniejszego zapisu podzielimy objawy na podmiotowe(subiektywne) i przedmiotowe(obiektywne), w trakcie tworzenia bazy wiedzy podzia ten nie bdzie brany pod uwag. Podmiotowe to te odczuwane przez pacjenta zebrane przez lekarza w czasie wywiadu(rozmowy z pacjentem), natomiast przedmiotowe ustalane s w trakcie badania pacjenta np. kolor skry, sprawdzenie czstoci bicia serca itp. Objawy podmiotowe zawau serca typu STEMI to: Bl zlokalizowany w klatce piersiowej zamostkowo, rozlany(trudny do zlokalizowania). Bl ma charakter ciskania, ucisku, nagego blu, tpego ucisku. Trwa duej ni 20 minut. Brak jest czynnikw nasilajcych oraz agodzcych bl(np. lek nitrogliceryna). Do objaww przedmiotowych zaliczamy: Podwyszone troponiny(wynik wikszy ni 0.03 ug/l) Uniesienia odcinka ST w badaniu EKG w co najmniej dwch kolejnych odprowadzeniach. Uniesienie to w oprowadzeniach przedsercowych(V1V6) musi by wiksze ni lub rwne 0,1 mV lub w koczynowych(I,II,III,aVF,aVR,aVL) wiksze ni 0,2 mV. W przypadku rozlegego zawau serca moe towarzyszy mu wstrzs kardiogenny, ktrego objawy przedmiotowe charakteryzuj si: Zaburzeniami wiadomoci, pacjent jest spltany. Napicie ttna jest mikkie. Wypenienie ttna jest mae lub nitkowate. Oddech pacjenta jest szybki i gboki. Wystpuj zaburzenia oddawania moczu(anuria lub oliguria). Z powodu dysfunkcji obwodowego ukadu krwiononego skra pacjenta jest zimna. Niedocinienie ttnicze. We wstrzsie kardiogennym nie wystpuj charakterystyczne objawy podmiotowe, wic nie zostay wzite pod uwag w dokumentowaniu wiedzy. Po udokumentowaniu powyszej wiedzy naley rozbi dany problem(zawa serca z towarzyszcym mu wstrzsem kardiogennym) na podproblemy i

31 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

wyodrbni z nich obiekty, atrybuty i wartoci. Po dekompozycji otrzymujemy nastpujce podproblemy: Bl w klatce wystpujcy przy zawale serca. Uniesienie odcinka ST. Zaburzenia oddawania moczu. Niedocinienie ttnicze Bl u pacjenta moe wystpi w rnych miejscach, wic dokonujemy rozbicia podproblemu blu w klatce zapisujc obiekt o nazwie bl, ktrego atrybut to: Lokalizacja blu, a jej wartoci, to miejsca, gdzie pacjent moe odczuwa bl: gowa, uchwa, szyja, ramiona, klatka piersiowa, nadbrzusze, brzuch, plecy, lewa koczyna grna, prawa koczyna grna, lewa koczyna dolna, prawa koczyna dolna lub pacjent moe nie zgasza dolegliwoci blowych. W ten sposb uzyskujemy nastpn trjk obiekt atrybut warto. Nastpnie moemy wrci do problemu znajdujcego si wyej w hierarchii, jest to bl w klatce wystpujcy przy zawale serca. Dla klarownego i krtkiego zapisu nazwiemy ten obiekt Bl zawaowy. Skada si on z nastpujcy atrybutw i wartoci: Subiektywne odczuwanie blu w klatce piersiowej(bl opisywany przez pacjenta) z wartociami: ucisk, ciskanie, nagy bl, tpy ucisk. Charakter blu w klatce, ktry przyjmuje nastpujce wartoci: rozlany. Umiejscowienie blu w klatce piersiowej: zamostkowo. Czas trwania blu w klatce: duej ni 20 minut. Czynniki nasilajce bl w klatce piersiowej: nie wystpuj. Czynniki agodzce bl w klatce piersiowej: nie wystpuj. Po okreleniu obiektw z danej dziedziny wiedzy(medycyna) mona przystpi do jawnej reprezentacji wiedzy, czyli jej modelowaniu. W normalnych warunkach etap ten zostaby przeprowadzony po zdefiniowaniu wikszoci obiektw, aczkolwiek dla klarownoci zapisu faza ta zostanie przedstawiona po zdefiniowaniu kadego obiektu dotyczcego zawau oraz wstrzsu kardiogennego. Modelowanie bdzie przyjmowa posta tabel decyzyjnych, poniewa mona atwo sformalizowa je w postaci regu produkcyjnych, z ktrych bd skaday si bazy wiedzy systemu ekspertowego wspomagajcego decyzje medyczne. Tabela decyzyjna 10 przedstawia zbir wartoci, jakie musz zosta spenione, aby konkluzje zostay uznane za prawdziwe w przypadku blu w klatce oraz blu zawaowego.

32 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Tab. 11. Tabela decyzyjna blu w klatce i blu o charakterze zawaowym. Warunki Lokalizacja blu Klatka piersiowa Bl w klatce wystpuje wystpuje wystpuje zawaowy Subiektywne ucisk ciskanie nagy bl tpy ucisk odczuwanie blu w klatce piersiowej Charakter blu w rozlany rozlany rozlany Rozlany klatce piersiowej Umiejscowienie za za za za blu w klatce mostkowo mostkowo mostkowo mostkowo piersiowej Czas trwania blu duej ni duej ni duej ni duej ni w klatce 20 minut 20 minut 20 minut 20 minut Czynniki nie nie nie nie nasilajce bl w wystpuj wystpuj wystpuj wystpuj klatce piersiowej Czynniki nie nie nie nie agodzce bl w wystpuj wystpuj wystpuj wystpuj klatce piersiowej Konkluzje Bl w klatce wystpuje (true) Bl w klatce wystpuje wystpuje wystpuje wystpuje zawaowy (true) (true) (true) (true) Nastpnym w kolejnoci podproblemem byo uniesienie odcina ST. Jest to objaw zawau serca typu STEMI, z tego powodu nastpny obiekt bdzie nosi nazw STEMI. Obiekt ten bdzie skada si z atrybutw i wartoci: Uniesienia odcinka ST: wystpuje(true). Liczba uniesie ST wiksza ni dwa kolejne odprowadzenia: prawda(true). Wysoko uniesienia odprowadze koczynowych (I,II,III,aVF,aVR,aVL): >= 0,1 mV. Wysoko uniesienia odprowadze przedsercowych(V1-V6): > 0,2 mV. Jawna reprezentacja powyszego obiektu zostaa przedstawiona w tabeli 11(Str. 34). Zaburzenia oddawania moczu to kolejny obiekt z, ktrego mona wydzieli nowy podbroblem Stan oddawania moczu z atrybutami: anuria, oliguria i dobowe oddawnie moczu w normie. Atrybuty te musz zosta wydzielone ponownie jako nowe obiekty, gdy to czy wystpuj, zaley od iloci oddawanego moczu w cigu doby(atrybut obiektu anuria, oliguria, dobowe oddawanie moczu w normie) przyjmujcej rne wartoci dla kadego z tych atrybutw. Model zaburze oddawania moczu ukazuje tabela 12(Str. 34).

33 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Tab. 12. Tabela decyzyjna obiektu STEMI. Warunki Uniesienia odcinka wystpuje(true) wystpuje(true) ST Liczba uniesie ST prawda(true) prawda(true) wiksza ni dwa kolejne odprowadzenia Wysoko >= 0,1 mV >= 0,1 mV uniesienia odprowadze koczynowych (I,II,III,aVF,aVR,aVL) Wysoko > 0,2 mV uniesienia odprowadze przedsercowych(V1V6) Konkluzje STEMI wystpuje(true) wystpuje(true)

wystpuje(true) prawda(true)

> 0,2 mV

wystpuje(true)

Tab. 13. Tabela decyzyjna obiektw zaburzenia oddawania moczu, stan oddawania moczu, anuria, oliguria, dobowe oddawanie moczu w normie. Warunki Ilo < 500 ml < 100 >= 500 ml na dob oddawanego na dob ml na moczu w dob cigu doby Stan oliguria Anuria oddawania moczu Konkluzje Stan oliguria anuria dobowe oddawania oddawanie moczu moczu w normie Zaburzenia wystpuje wystpuje oddawania (true) (true) moczu Ostatnim z wydzielonych podproblemw wstrzsu kardiogennego jest niedocinienie ttnicze. Niedocinienie ttnicze(tabela decyzyjna Str. 35) jest rozpoznaniem stanu cinienia ttniczego pacjenta skadajcego si z cinienia skurczowego oraz rozkurczowego, a ich wartoci dla hipotensji(niedocinienia) s nastpujce: Cinienie skurczowe < 90 MmHg(cinienie supa rtci). Cinienie rozkurczowe < 50 MmHg. W trakcie przeksztacania obiektw na tabele decyzyjne dochodzi do zmiany trki obiekt atrybut warto na par skadajc si z atrybutu i wartoci, co uatwi pniejsz formalizacj wiedzy w postaci regu.

34 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Tab. 14. Tabela decyzyjna Niedocinienia ttniczego Warunki Cinienie skurczowe < 90 MmHg Cinienie rozkurczowe < 50 MmHg Konkluzje Niedocinienie ttnicze wystpuje(true) Po przeanalizowaniu wszystkich podproblemw moemy w kocu wrci do problemw gwnych, jakimi s zawa serca typu STEMI oraz wstrzsu karodiogennego. Po usuniciu nieistotnego podziau na objawy podmiotowe i przedmiotowe atrybuty i wartoci zawau serca typu STEMI prezentuj si nastpujco: Bl w klatce zawaowy: wystpuje(true). STEMI : wystpuje(true). Troponiny: > 0.03 ug/l. Przesanki wstrzsu kardiogenngo take ulegy zmianie: Stan wiadomoci: spltany. Wypenienie ttna: mae lub nitkowate. Napicie ttna: mikkie. Charakterystyka oddechu pacjenta: szybki i gboki. Zaburzenia oddawania moczu: wystpuj(true). Temperatura skry: obniona. Niedocinienie ttnicze: wystpuje(true). Jak zostao ju wczeniej wspomniane celem wnioskowania systemu ekspertowego jest znalezienie rozpoznania, moliwego rozpoznania towarzyszcego oraz zalecenia postpowania. Rozpoznanie to nic innego jak zawa serca typu STEMI, rozpoznaniem towarzyszcym zawaowi serca jest wstrzs kardiogenny. Obie choroby w powyszy sposb zostan opisane w tabeli decyzyjnej problemu gwnego(tabela numer 14 Str.35) wraz z zaleceniem. Jawna reprezentacja tych dwch przypadkw koczy przykad ukazania etapu nabywania wiedzy. Z przykadu wynika, e jest to trudny proces wymagajcy cigej wsppracy z ekspertem bd przeszukiwania i analizowania innych rde. Etap ten moe zosta uatwiony przez automatyzacj pozyskiwania wiedz, automatyzacja wymaga jednak opracowania specjalistycznego oprogramowania przez inyniera wiedzy co nie naley do najatwiejszych zada.

35 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Tab. 15. Jawna reprezentacja wiedzy o Zawale serca typu STEMI i wstrzsie kardiogennym. Warunki Bl w klatce zawaowy wystpuje(true) wystpuje(true) STEMI wystpuje(true) wystpuje(true) Troponiny 0.03 ug/l 0.03 ug/l Stan wiadomoci spltany spltany Wypenienie ttna mae nitkowate Napicie ttna mikkie mikkie Charakterystyka szybki i gboki szybki i gboki oddechu pacjenta Zaburzenia oddawania wystpuj(true) wystpuj(true) moczu Temperatura skry obniona obniona Niedocinienie ttnicze wystpuje(true) wystpuje(true) Konkluzje Rozpoznanie zawa serca typu STEMI zawa serca typu STEMI Rozpoznanie wstrzs kardiogenny wstrzs kardiogenny towarzyszce Zalecenia Pilna angioplastyka Pilna angioplastyka wiecowa wiecowa Przechodzimy do nastpnej fazy, ktr wedug schematu etapw tworzenia systemu ekspertowego(rys. 5. Str. 13) jest reprezentacja wiedzy. Do budowy bazy wiedzy zostanie uyta technika regu produkcyjnych z wspczynnikiem pewnoci(CF) w konkluzji wynoszcym 95%, ktre zostan utworzone na podstawie tabel decyzyjnych z poprzedniego etapu procesu projektowania systemu ekspertowego. Na podstawie powyszych tabel decyzyjnych zostaa stworzona ponisza baza wiedzy: 1. Jeeli lokalizacj blu jest klatka piersiowa to u pacjenta wystpuje bl w klatce z 95% pewnoci. 2. Jeeli u pacjenta wystpuje bl w klatce piersiowej i subiektywnym odczuwaniem blu przez pacjenta jest ucisk lub ciskanie lub nagy bl lub tpy ucisk i charakter blu w klatce piersiowej jest rozlany i bl w klatce piersiowej umiejscowiony jest za mostkowo i czas trwania blu w klatce piersiowej jest duy ni 20 minut i czynniki agodzce bl w klatce piersiowej nie wystpuj i czynniki agodzce bl w klatce piersiowej nie wystpuj to bl w klatce piersiowej ma charakter zawaowy 95% pewnoci. 3. Jeeli uniesienia odcinka ST wystpuj i liczba uniesie ST wiksza ni dwa kolejne odprowadzenia wystpuje i wysoko uniesienia odprowadze koczynowych (I,II,III,aVF,aVR,aVL) jest wiksza lub rwna 0,1 mV i wysoko uniesienia odprowadze przedsercowych(V1-V6) jest wiksza ni 0,2 mV to STEMI wystpuje z 95% pewnoci. 4. Jeeli uniesienia odcinka ST wystpuj i liczba uniesie ST wiksza ni dwa kolejne odprowadzenia wystpuje i wysoko uniesienia odprowadze koczynowych (I,II,III,aVF,aVR,aVL) jest wiksza lub rwna 0,1 mV to STEMI wystpuje z 95% pewnoci. 5. Jeeli uniesienia odcinka ST wystpuj i liczba uniesie ST wiksza ni dwa kolejne odprowadzenia wystpuje i wysoko uniesienia odprowadze
36 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

przedsercowych(V1-V6) jest wiksza ni 0,2 mV to STEMI wystpuje z 95% pewnoci. 6. Jeeli ilo oddawanego moczu w cigu doby jest mniejsza ni 500 ml/dob to stanem oddawania moczu jest oliguria z 95% pewnoci. 7. Jeeli ilo oddawanego moczu w cigu doby jest mniejsza ni 100 ml/dob to stanem oddawania moczu jest anuria z 95% pewnoci. 8. Jeeli ilo oddawanego moczu w cigu doby jest wiksza ni lub rwna 500 ml/dob to stanem oddawania moczu jest dobowe oddawanie moczu w normie z 95% pewnoci. 9. Jeeli stanem oddawania moczu jest anuria lub oliguria to zaburzenia oddawania moczu wystpuj z 95% pewnoci. 10. Jeeli cinienie skurczowe jest mniejsze ni 90 MmHg i cinienie rozkurczowe jest mniejsze ni 50 MmHg to niedocinienie ttnicze wystpuje z 95% pewnoci. 11. Jeeli bl w klatce zawaowy wystpuje i STEMI wystpuje i troponiny s wysze ni 0,03 ug/l i stanem wiadomoci pacjenta jest spltanie i wypenienie ttna jest mae lub nitkowate i napicie ttna jest mikkie i charakterystyka oddechu pacjenta jest szybka i gboka i zaburzenia oddawania moczu wystpuj i temperatura skry jest obniona i niedocinienie ttnicze wystpuje to rozpoznaniem jest zawa serca typu STEMI z 95% pewnoci i rozpoznaniem towarzyszcym jest wstrzs kardiogenny z 95% pewnoci i zalecane czynnoci to pilna angioplastyka wiecowa. Niektre nazwy atrybutw zostay zmienione, aby reguy byy bardziej czytelne. Tak utworzon baz wiedzy moe w kocu sformalizowa wedug zasad z rozdziau 4 Opis narzdzia e2gRuleEngine do budowy systemw ekspertowych w etapie implementacji wiedzy. Baza wiedzy moe zosta umieszczona na serwerze bezporednio lub za porednictwem edytora administratora aplikacji obsugi przyj pacjentw do szpitalnego oddziau ratunkowego. Reguy w bazie e2gRuleEnigne uoone s w innej kolejnoci, dlatego maj inne numery ni w etapie reprezentacji wiedzy oraz niektre z nich musiay zosta podzielone na kilka regu(w e2gRuleEnigne mog by stosowane tylko te same operatory logiczne). Powyej przedstawione reguy w bazie wiedzy kardiolog wygldaj nastpujco: RULE [nr 29] If [Lokalizacja blu] : "klatka piersiowa" Then [Bl w klatce] = true RULE [nr 31] If [Bl w klatce] = true and [Subiektywne odczuwanie blu w klatce] = "ucisk" and [Charakter blu w klatce piersiowej] = "rozlany" and [Umiejscowienie blu w klatce piersiowej] = "za mostkowo" and [Czas trwania blu w klatce] = "duej ni 20 minut" and [Czynniki nasilajce bl w klatce piersiowej] : "nie wystpuj" and [Czynniki agodzce bl w klatce piersiowej] : "nie wystpuj" Then [Bl w klatce zawaowy] = true
37 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

RULE [nr 32] If [Bl w klatce] = true and [Subiektywne odczuwanie blu w klatce] = "ciskanie" and [Charakter blu w klatce piersiowej] = "rozlany" and [Umiejscowienie blu w klatce piersiowej] = "za mostkowo" and [Czas trwania blu w klatce] = "duej ni 20 minut" and [Czynniki nasilajce bl w klatce piersiowej] : "nie wystpuj" and [Czynniki agodzce bl w klatce piersiowej] : "nie wystpuj" Then [Bl w klatce zawaowy] = true RULE [nr 33] If [Bl w klatce] = true and [Subiektywne odczuwanie blu w klatce] = "nagy bl" and [Charakter blu w klatce piersiowej] = "rozlany" and [Umiejscowienie blu w klatce piersiowej] = "za mostkowo" and [Czas trwania blu w klatce] = "duej ni 20 minut" and [Czynniki nasilajce bl w klatce piersiowej] : "nie wystpuj" and [Czynniki agodzce bl w klatce piersiowej] : "nie wystpuj" Then [Bl w klatce zawaowy] = true RULE [nr 34] If [Bl w klatce] = true and [Subiektywne odczuwanie blu w klatce] = "tpy ucisk" and [Charakter blu w klatce piersiowej] = "rozlany" and [Umiejscowienie blu w klatce piersiowej] = "za mostkowo" and [Czas trwania blu w klatce] = "duej ni 20 minut" and [Czynniki nasilajce bl w klatce piersiowej] : "nie wystpuj" and [Czynniki agodzce bl w klatce piersiowej] : "nie wystpuj" Then [Bl w klatce zawaowy] = true RULE [nr 35] If [Uniesienia odcinka ST] = true and [Liczba uniesie ST wiksza ni dwa kolejne odprowadzenia] = true and [Wysoko uniesienia odprowadze koczynowych (I,II,III,aVF,aVR,aVL)] >= 0.1 and [Wysoko uniesienia odprowadze przedsercowych(V1-V6)] > 0.2 Then [STEMI] = true and [NSTEMI] = false RULE [nr 36] If [Uniesienia odcinka ST] = true and [Liczba uniesie ST wiksza ni dwa kolejne odprowadzenia] = true and [Wysoko uniesienia odprowadze przedsercowych(V1-V6)] > 0.2 Then [STEMI] = true and [NSTEMI] = false RULE [nr 37] If [Uniesienia odcinka ST] = true and [Liczba uniesie ST wiksza ni dwa kolejne odprowadzenia] = true and [Wysoko uniesienia odprowadze koczynowych (I,II,III,aVF,aVR,aVL)] >= 0.1
38 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Then [STEMI] = true and [NSTEMI] = false RULE [nr 69] If [Ilo oddawanego moczu w cigu doby] < 500 Then [Stan oddawania moczu] = "oliguria" RULE [nr 70] If [Ilo oddawanego moczu w cigu doby] < 100 Then [Stan oddawania moczu] = "anuria" RULE [nr 71] If [Ilo oddawanego moczu w cigu doby] >= 500 Then [Stan oddawania moczu] = "dobowe oddawanie moczu w normie" RULE [nr 72] If [Stan oddawania moczu] = "oliguria" or [Stan oddawania moczu] = "anuria" Then [Zaburzenia oddawania moczu] = true RULE [nr 73] If [Stan oddawania moczu] = "oddawanie moczu w normie" Then [Zaburzenia oddawania moczu] = false RULE [nr 74] If [Cinienie skurczowe] < 90 and [Cinienie rozkurczowe] < 50 Then [Niedocinienie] = true RULE [nr 1] If [Bl w klatce zawaowy] = true and [NSTEMI] = true and [Troponiny] > 0.03 and [Stan wiadomoci] = "spltany" and [Wypenienie ttna] = "mae" and [Napicie ttna] = "mikkie" and [Temperatura skry] = "obniona" and [Niedocinienie] = true and [Zaburzenia oddawania moczu] = true and [Chrakterstyka oddechu pacjenta] = "szybki i gboki" Then [Rozpoznanie] = "Zawa serca typu NonSTEMI" @ 95 and [Rozpoznania towarzyszce] = "Wstrzs kardiogenny" @ 95 and [Zalecenia] = "Pilna angioplastyka wiecowa" Aby fakty, ktre nie s konkluzjami innych regu, mogy przyj okrelone wartoci w bazie wiedzy, musz wystpi zapytania z ustawion maksymaln liczb odpowiedzi dla typu AllChoice. Zapytania prezentuj si nastpujco: PROMPT [Stan wiadomoci] MultChoice CF "Jaki jest stan wiadomoci pacjenta?"
39 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

"spltany" "senny" "w normie" "pobudzony" "agresywny" PROMPT [Lokalizacja blu] AllChoice CF "Gdzie pacjent lokalizuje bl?" "gowa" "uchwa" "szyja" "ramiona" "klatka piersiowa" "nadbrzusze" "brzuch" "plecy" "lewa koczyna grna" "prawa koczyna grna" "prawa koczyna dolna" "lewa koczyna dolna" "Pacjent nie zgasza dolegliwo blowych" PROMPT [Subiektywne odczuwanie blu w klatce] MultChoice CF "Jaki jest charakter blu w klatce?" "ucisk" "ciko" "pieczenie" "ciskanie" "rozdzieranie" "kucie" "nagy bl" "tpy ucisk" "przeszywajcy" PROMPT [Charakter blu w klatce piersiowej] MultChoice CF "Jaki jest charakter blu?" "miejscowy" "rozlany" PROMPT [Umiejscowienie blu w klatce piersiowej] MultChoice CF "Jakie jest umiejscowienie blu w klatce piersiowej" "lewa strona klatki piersiowej" "prawa strona klatki piersiowej" "za mostkowo" "przednia ciana klatki" PROMPT [Czas trwania blu w klatce] MultChoice CF "Jaki jest czas trwania blu?" "krcej ni 3 minuty" "od 3 do 15 minut"
40 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

"duej ni 20 minut" "wiele godzin" "duej ni kilka dni" PROMPT [Uniesienia odcinka ST] YesNo CF "Czy wystpuje uniesienie odcinka ST w wyniku badania EKG?" PROMPT [Liczba uniesie ST wiksza ni dwa kolejne odprowadzenia] YesNo CF "Czy uniesienia ST znajduj si w co najmniej dwch odprowadzeniach?" PROMPT [Wysoko uniesienia odprowadze koczynowych (I,II,III,aVF,aVR,aVL)] Numeric CF "O ile mV uniesione s odprowadzenia koczynowe (I,II,III,aVF,aVR,aVL. Zakres 0.0-3.0 mV)?" "0.0" "3.0" PROMPT [Wysoko uniesienia odprowadze przedsercowych(V1-V6)] Numeric CF "O ile mV uniesione s odprowadzenia przedsercowe(V1-V6)?" "0.0" "3.0" PROMPT [Troponiny] Numeric CF "Jaki jest wynik badania troponiny cTN(0.00 - 30.00 ug/l)?" "0.0" "20.0" PROMPT [Czynniki nasilajce bl w klatce piersiowej] AllChoice CF "Jakie czynniki wpywaj na nasilenie blu w klatce?" "wysiek fizyczny" "zimno" "zmczenie poposikowe" "stres" "poykanie" "intensywne wymioty" "skrcenie tuowia" "gboki wdech" "kaszel" "pozycja leca" "nadcinienie ttnicze" "nie wystpuj" PROMPT [Czynniki agodzce bl w klatce piersiowej] AllChoice CF "Jakie s czynniki agodzce bl w klatce?" "nitrogliceryna" "rodki przeciwblowe" "zaprzestanie wysiku" "pozycja siedzca" "pozycja siedzca i pochylenie do przodu"
41 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

"nie wystpuj" PROMPT [Wypenienie ttna] MultChoice CF "Jakie jest wypenienie ttnicy promieniowej w trakcie badania ttna?" "due" "mae" "nitkowate" PROMPT [Napicie ttna] MultChoice CF "Jakie jest napicie ttna?" "twarde" "mikkie" PROMPT [Temperatura skry] MultChoice CF "Jaka jest temperatura skry?" "w normie" "obniona" "podwyszona" PROMPT [Ilo oddawanego moczu w cigu doby] Numeric CF "Ile moczu oddaje pacjent w cigu doby" "0.0" "1000.0" PROMPT [Charakterystyka oddechu pacjenta] MultChoice CF "Jak opiszesz oddech pacjenta?" "szybki i gboki" "szybki i pytki" "wolny i gboki" "wolny i pytki" PROMPT [Cinienie skurczowe] Numeric CF "Jakie jest cinienie skurczowe(0-270 MmHg)?" "0.0" "270.0" PROMPT [Cinienie rozkurczowe] Numeric CF "Jakie jest cinienie rozkurczowe(0-170 MmHg)?" "0.0" "160.0" MAXVALS [Lokalizacja blu] 11 MAXVALS [Czynniki nasilajce bl w klatce piersiowej] 4 MAXVALS [Czynniki agodzce bl w klatce piersiowej] 5 W bazie musi rwnie wystpi deklaracja celu lub celw: GOAL [Rozpoznanie] GOAL [Rozpoznania towarzyszce] GOAL [Zalecenia]
42 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Przydatne okazuje si take ustawienie minimalnego wspczynnika pewnoci dla odpowiedzi uytkownika. Jeeli uytkownik ustawi wspczynnik poniej tego minimum odpowied nie bdzie traktowana jako fakt i nie zostanie doczona do pamici podrcznej. System ekspertowy wspomagajcy decyzje medyczne bdzie akceptowa odpowiedzi jako fakty przy minimalnym CF wynoszcym 80%: MINCF 80 Do uruchomienia systemu ekspertowego w aplikacji obsugi przyj posuy poniszy kod bdcy funkcj PHP: function showApplet($param){ echo' <div class="applet" id="applet"> <applet code="e2gRuleEngine" archive="e2gRuleEngine.jar" width="700" height="420"> <param name="KBURL" value="'.$param.'.kb"> <param name="APPTITLE" value="Specjalistyczna konsultacja"/> <param name="APPSUBTITLE" value="Wybrany specjalista: '.$param.'."/> <param name="STARTBUTTON" value="Rozpocznij konsultacj"/> <param name="TITLCOLOR" value="#0000FF"/> <param name="BGCOLOR" value="#FFFFFF"/> <param name="KBENCODING" value="UTF-8"/> <param name="NOLOGO" = value="true"/> <param name="DEBUG" value="true"/> </applet> </div> '; } Parametr $param suy do wczytania wybranej bazy wiedzy. Po zaimplementowaniu wiedzy do naszego systemu ekspertowego moemy przystpi do nastpnego etapu, ktrym jest testowanie systemu. Czynno ta zostanie opisana w nastpnym rozdziale.

6 Testowanie systemu
Testowanie aplikacji, podobnie jak budowa systemu ekspertowego, jest czynnoci wymagajc czasu oraz duej iloci dokumentacji, dlatego w biecym rozdziale zostanie opisany jeden z przeprowadzonych testw wspdziaania i poprawnoci dziaania obu aplikacji, programu do obsugi przyj pacjentw do oddziau SOR i systemu ekspertowego wspomagajcego decyzje medyczne. rodowiskiem testowym dla interfejsu uytkownika po stronie klienta bdzie laptop o parametrach znajdujcych si w tabeli 15.

43 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Tab. 16. Parametry laptopa uytego do testw systemu. Podzespoy Parametry Processor Intel Core 2 Duo T7500 Taktowanie rdzenia procesora 2.2 GHz Ilo pamici RAM 2 gb Typ pamici RAM So-dimm ddr2 (667 MHz) Pojemno dysku twardego 250 GB Obrt napdu 5,400 Obr./min Karta graficzna ATI Mobility Radeon HD2600 Ekran LCD 15,4 System operacyjny MS Windows 7 Professional Przegldarka internetowa Opera 11.01 Kody rdowe obu aplikacji zostan umieszczone na serwerze udostpnionym przez firm hostingowi 1&1 Internet Sp. z o.o. Aby uruchomi interfejs aplikacji wpisujemy w oknie przegldarki adres URL i wchodzimy w modu dla pielgniarki. Przyjmujemy nowego pacjenta.

Rys. 15. Przyjcie pacjenta. Nastpnie loguje si lekarz i uywamy przycisku Konsultacje, aby wywietli tabel z pacjentami, ktrych historia wymaga uzupenienia lub trzeba skorzysta z systemu ekspertowego wspomagajcego decyzje medyczne, poniewa aden specjalista z innych oddziaw nie jest dostpny. Pacjent trafi na oddzia z nastpujcymi objawami: Objawy podmiotowe: Bl zlokalizowany w klatce piersiowej za mostkowo. Bl jest rozlany, a pacjent odczuwa ucisk w klatce piersiowej. Z wywiadu wynika, e bl trwa duej ni 20 minut i adne czynniki go nie agodz, ani nie nasilaj.
44 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Objawy przedmiotowe: W EKG wystpuje uniesienie odcinka ST w dwch kolejnych odprowadzeniach koczynowych, wynosi 0,4 mV. Badanie krwi wykazao podwyszone troponiny(0.7 ug/l). Ttno pacjenta jest mikkie i nitkowate, jego oddech szybki i gboki, skra wilgotna. Cinienie skurczowe wynosi 80 MmHg a rozkurczowe 45 MmHg. Pacjent jest spltany z trudem odpowiada na zadawane pytania. Temperatura skry jest obniona. Pacjent odda mocz w cigu doby o objtoci przyblionej ptora szklanki wody(okoo 300 ml). O wynikach bada krwi lekarz zosta poinformowany telefonicznie, gdy modu laboratoryjny pozwalajcy wprowadza wyniki pacjenta nie zosta jeszcze zaimplementowany.

Rys. 16. Panel konsultacyjny. Lekarz uruchamia system ekspertowy przyciskiem Konsultacja i inicjuje dziaanie systemu ekspertowego. Wybiera odpowiedni baz wiedzy(kardiolog) i rozpoczyna konsultacj z systemem.

45 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Rys. 17. Interfejs systemu ekspertowego z rozpoczt konsultacj. Po zakoczeniu dialogu lekarza z systemem ekspertowym i podaniu przez niego wszystkich objaww pacjenta wywietla si wynik konsultacji.

Rys. 18. Wniosek systemu ekspertowego. System rozpozna chorob pacjenta, ktr jest zawa serca typu STEMI z towarzyszcym mu wstrzsem kardiogennym i zaleci odpowiednie postpowanie. Po naciniciu przycisku wytumacz wywietla si cay proces, w jaki sposb system doszed do rozwizania(na podstawie jakich faktw i regu zosta osignity cel wnioskowania). Test zosta zakoczony powodzeniem.
46 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Rys. 19. Modu wyjaniajcy systemu ekspertowego. Aplikacja obsugi przyj pacjentw do SOR zostaa wyposaona w prosty edytor bazy wiedzy. Po zalogowaniu si do moduu administratora uzyskujemy moliwo edycji baz wiedzy zapisanych na serwerze.

Rys. 20. Edytor bazy wiedzy.

47 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

7 Podsumowanie
Systemy ekspertowe stanowi cigle rozwijajc si dziedzin sztucznej inteligencji. Niestety te zwizane z medycyn, z baz wiedzy rozwijan przez kilka lat, nie osigny 100% sprawnoci dowiadczonego eksperta. Powyej zaprojektowany i zaimplementowany system ekspertowym jest tylko przykadem w jaki sposb systemy te mog zosta wykorzystane w medycynie i jak za pomoc darmowych narzdzi mona stworzy programy, ktre w przyszoci mog okaza si uyteczne i dochodowe. Cel pracy zosta osignity. System ekspertowy wspomagajcy decyzje medyczne zosta zbudowany i zintegrowany z aplikacj obsugujc przyjcia pacjentw do szpitalnego oddziau ratunkowego. Wykorzystanie narzdzia e2gRuleEngine pozwolio na atwe zbudowanie systemu ekspertowego bez ponoszenia kosztw. Aplet e2gRuleEngine jest cigle rozwijany, poczenie tego apletu z aplikacj zbudowan w oparciu architektur klient serwer uatwia wymian jego starszej wersji na nowsz z poprawionymi bdami i dodatkowymi funkcjami bez naruszenia reszty systemu. Dodatkowo aplikacja obsugi przyj pacjentw zostaa wyposaona w edytor baz wiedzy, ktrego nie posiada e2gRuleEngine. Jednake medyczne systemy ekspertowe powinny by raczej wykorzystywane do diagnozowania, niegronych powszechnie wystpujcych schorze, ktre mona wyleczy w domu bez wizyty u lekarza. Pozwoli to zaoszczdzi, czas, pienidze. Tam, gdzie liczy si czas, gdzie trzeba szybko i skutecznie udzieli pomocy w stanie zagroenia ycia i zdrowia, systemy ekspertowe wspomagajce decyzje medyczne nie sprawdzi si z powodu ogranicze, jakie narzuca interfejs uytkownika systemu. Do szybkiej i wygodnej komunikacji w powyszym przypadku wymagana byaby komunikacja werbalna systemu z czowiekiem. Wanie w tym kierunku powinien poda rozwj systemw ekspertowych po to, by zatrze rnic midzy ekspertem-czowiekiem a ekspertem programem.

Bibliografia
[1] Red. Sobol E.: Nowy sownik jzyka polskiego. Wydawnictwo Naukowe PWN. Warszawa 2002 [2] Red. Owoc. L: Elementy systemw ekspertowych cz I. Wydawnictwo Akademii ekonomicznej im. Oskara Langego we Wrocawiu. Wrocaw 2006 [3] Korbicz J., Kocielny J., Kowalczuk Z., Cholewa W.: Diagnostyka procesw. Modele. Metody sztucznej inteligencji. Zastosowania., Wydawnictwo Naukowotechniczne, Warszawa 2007 [4] Dambro M. R.: Griffith 5 minut konsultacji klinicznej, Wydawnictwo Medyczne Urban & Partner, Wrocaw 2006 [5] Pousada L., Osborn H.H., Levy D.B.:Medycyna ratunkowa, Wydawnictwo Medyczne Urban & Partner, Wrocaw 1999

rda internetowe
[6] www.fizyka.umk.pl/~duch/cog-book/AI/AI7a.pdf [7] http://pl.wikipedia.org/wiki/Dendral [8] http://en.wikipedia.org/wiki/Macsyma [9] http://pl.wikipedia.org/wiki/Mycin [10] http://pl.wikipedia.org/wiki/Prospector
48 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

[11] http://en.wikipedia.org/wiki/CADUCEUS_(expert_system) [12] http://www.amzi.com/ExpertSystemsInProlog/index.htm [13] http://aragorn.pb.bialystok.pl/~radev/ai/sosn/zimiewicz.htm

Spis rysunkw
Rys. 1. Struktura systemu ekspertowego. ................................................................................... 9 Rys. 2. Modu wyjaniajcy programu PC-Shell...................................................................... 10 Rys. 3. Edytor e2gRuleWriter do budowy bazy wiedzy dla e2gRuleEngine. ....................... 11 Rys. 4. Interfejs systemu ekspertowego zbudowanego za pomoc narzdzia e2gRuleEngine. ............................................................................................................................. 12 Rys. 5. Etapy tworzenia systemu ekspertowego. ..................................................................... 13 Rys. 6. Diagram OAV obiektu Ksika. ..................................................................................... 14 Rys. 7. Drzewo decyzyjne. ........................................................................................................... 15 Rys. 8. Diagram przepywu. ......................................................................................................... 15 Rys. 9. Przykad sieci semantycznej. ......................................................................................... 16 Rys. 10. Przykadowa rama. ........................................................................................................ 18 Rys. 11. Schemat blokowy wnioskowania wstecz. .................................................................. 20 Rys. 12. Schemat dziaania stosu celi moduu wnioskowania. .............................................. 22 Rys. 13. Diagram wnioskowania indukcyjnego.[13] ................................................................. 23 Rys. 14. Okno odnajdywania i usuwania usterek e2gRuleEngine. ....................................... 29 Rys. 15. Przyjcie pacjenta.......................................................................................................... 44 Rys. 16. Panel konsultacyjny. ...................................................................................................... 45 Rys. 17. Interfejs systemu ekspertowego z rozpoczt konsultacj. .................................... 46 Rys. 18. Wniosek systemu ekspertowego. ................................................................................ 46 Rys. 19. Modu wyjaniajcy systemu ekspertowego. ............................................................. 47 Rys. 20. Edytor bazy wiedzy........................................................................................................ 47

Spis tabel
Tab. 1. Porwnanie ekspertyzy sztucznej z naturaln. ............................................................. 8

49 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

Budowa systemu ekspertowego wspomagajcego decyzje medyczne

Tab. 2. Tablica decyzyjna............................................................................................................. 14 Tab. 3. Baz wiedzy programu AWARIA. .................................................................................... 19 Tab. 4 . Rozpoczcie wnioskowania wstecz. ............................................................................ 20 Tab. 5. Kolejny etap wnioskowania wstecz. .............................................................................. 21 Tab. 6. Wnioskowanie wstecz po usuniciu ze stosu atrybutu zbiornik paliwa. .................. 21 Tab. 7. Wnioskowania w przd. Ustalenie faktw przez uytkownika .................................. 23 Tab. 8. Wnioskowanie w przd. Aktualizacja bazy faktw. ..................................................... 24 Tab. 9. Operatory przypisania wartoci atrybutu. ..................................................................... 26 Tab. 10. Typy zapyta e2gRuleEngine ...................................................................................... 27 Tab. 11. Tabela decyzyjna blu w klatce i blu a charakterze zawaowym. ........................ 33 Tab. 12. Tabela decyzyjna obiektu STEMI................................................................................ 34 Tab. 13. Tabela decyzyjna obiektw zaburzenia oddawania moczu, stan oddawania moczu, anuria, oliguria, dobowe oddawanie moczu w normie. .............................................. 34 Tab. 14. Tabela decyzyjna Niedocinienia ttniczego............................................................. 35 Tab. 15. Jawna reprezentacja wiedzy o Zawle serca typu STEMI i wstrzsie kardiogennym................................................................................................................................. 36 Tab. 16. Parametry laptopa uytego do testw systemu. ....................................................... 44

50 Konrad Strzelec Inynierska praca dyplomowa WSTT w widnicy 2011

You might also like