Budowa systemu ekspertowego (Praca dyplomowa)(1)

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

2

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

1

Wstęp ............................................................................................ 3

2

Cel pracy ....................................................................................... 4

3

System ekspertowy ..................................................................... 4

3.1

Podział systemów ekspertowych........................................................... 6

3.2

Zalety i wady systemów ekspertowych ................................................. 7

3.3

Struktura budowy systemu ekspertowego ........................................... 8

3.3.1

Baza wiedzy........................................................................................ 9

3.3.2

Baza faktów ..................................................................................... 10

3.3.3

Mechanizm wnioskujący ................................................................... 10

3.3.4

Mechanizm wyjaśniający .................................................................. 10

3.3.5

Edytor bazy wiedzy ........................................................................... 11

3.3.6

Interfejs użytkownika ........................................................................ 11

3.4

Etapy tworzenia systemu ekspertowego ............................................ 12

3.5

Reprezentacja wiedzy ........................................................................... 16

3.6

Mechanizm wnioskowania .................................................................... 18

3.6.1

Wnioskowanie wstecz ....................................................................... 19

3.6.2

Wni

oskowanie w przód ..................................................................... 22

4

Opis narzędzia e2gRuleEngine do budowy systemów

ekspertowych .................................................................................. 24

5

Budowa systemu ekspertowego wspomagającego decyzje

medyczne ......................................................................................... 29

6

Testowanie systemu .................................................................. 43

7

Podsumowanie ........................................................................... 48

Bibliografia ....................................................................................... 48

Źródła internetowe .......................................................................... 48

Spis rysunków ................................................................................. 49

Spis tabel ......................................................................................... 49

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

3

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

1

Wstęp

Sztuczna inteligencja (ang. Artificial intelligence, w

skrócie A.I) jest dziedziną

informatyki zajmującą się odwzorowywaniem inteligentnego działania człowieka i
symulowaniem tej aktywności w maszynach oraz programach komputerowych.
Jednym z użytecznych zastosowań A.I są systemy ekspertowe. Do grupy
pionierów zajmujących się tymi systemami należy Edward Albert Feigenbaum.
Według niego definicja systemu ekspertowego brzmi następująco: „Jest to
inteligentny program komputerowy wykorzystujący procedury wnioskowania do
rozwiązywania tych problemów, które są na tyle trudne, że normalnie wymagają
znaczącej ekspertyzy specjalistów. Wiedza (niezbędna, by zapewnić odpowiedni
poziom ekspertyzy), wraz z procedurami wnioskowania, może być uważana za
model ekspertyzy, normalnie posiadanej tylko przez najle

pszych specjalistów w tej

dziedzinie. Wiedza systemu eksperckiego składa się zazwyczaj z faktów i
heurystyk. Fakty są podstawą bazy wiedzy systemu - informacją, która jest ogólnie
dostępna i powszechnie akceptowana przez specjalistów w danej dziedzinie.
He

urystyki są zwykle bardziej subiektywną (?) informacją, która charakteryzuje

proces oceny i rozwiązywania problemu przez określonego specjalistę.
Przykładami heurystyk są: intuicyjne domysły, przypuszczenia, zdroworozsądkowe
zasady postępowania. Poziom ekspertyzy, oferowany przez dany system
ekspercki, jest przede wszystkim funkcją rozmiaru i jakości bazy wiedzy danego
systemu.”
[6].

W przypadku medycyny ekspertem posiadającym odpowiednią wiedzę i

kwalifikacje

, która pozawala na zdiagnozowanie pacjenta, jest lekarz. Ze względu

na obszerną wiedzę zawartą w nauce medycznej lekarze specjalizują się w
różnych dziedzinach takich jak: chirurgia, endokrynologia, kardiologia i wielu
innych.

Często w celu wyleczenia chorego potrzebna jest współpraca kilku

ekspertów o różnych specjalizacjach.

Szpitalny odział ratunkowy(skrót SOR) to miejsce gdzie trafiają chorzy w

nagłych przypadkach. W medycynie taki stan określa się jako nagłe zagrożenie
życia lub zdrowia. Chory, u którego wystąpił ten przypadek, jeżeli nie zostanie
wyleczony w jak najkrótszym okresie czasu, może stracić życie lub doznać
trwałego uszczerbku na zdrowiu. Specjalizacje jaką musi posiadać lekarz
dyżurujący w SOR to medycyna ratunkowa. W razie trudniejszego przypadku, w
celu postawienia trafnej diagnozy

oraz podjęciu odpowiednich działań, musi

skonsultować się z specjalistami z innych oddziałów, posiadających szerszą
wiedzę z danej dziedziny. W polskich warunkach często nie są oni dostępni w
krótkim czasie. Jednak, że liczy się czas od przyjęcia do postawienia diagnozy
oraz podjęcia skutecznych zabiegów ratujących życie lub zdrowie pacjenta. W
takich przypadkach użyteczny okazuje się system ekspertowy, który zawiera bazę
wiedzy z różnych dziedzin medycyny. Pozwala on w krótkim czasie skorzystać z
wiedzy ek

sperta z danej specjalizacji. Obniża to koszty oraz czas potrzebny do

zdiagnozowania pacjenta.

Współcześnie do dokumentowania przyjęć pacjentów w szpitalu używa się

aplikacji zbudowanych w oparciu o architekturę klient-serwer. Zapewnia to dużą
elastyczność, znacząco upraszcza wprowadzanie zmian w oprogramowaniu oraz

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

4

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

pozwala na obsługę kliku klientów jednocześnie. Serwer udostępnia usługi,
łączność między dwoma modułami zapewniona jest przez żądania(ang. Request)
oraz odpowiedzi(ang. Response). Jednym z rodz

ajów programów działających w

architekturze klient-serwer jest aplikacja internetowa. Po stronie serwera znajduje
się program i baza danych. Użytkownik końcowy komunikuje się z programem za
pomocą przeglądarki internetowej, wprowadza odpowiednie dane do bazy danych
lub je z powrotem uzyskuje. W p

rzypadku SOR użytkownikiem końcowym

odpowiedzialnym za obsługę przyjęć pacjentów jest lekarz i pielęgniarka.
Integracja systemu ekspertowego i aplikacji do obsługi przyjęć pozwala na
zachowanie architektury klient-s

erwer, ograniczenie kosztów szkoleń oraz

zapewnia bezpieczeństwo po stronie klienta.

2 Cel pracy

Celem pracy jest implementacja systemu

ekspertowego w aplikacji służącej do

obsługi przyjęć pacjentów w szpitalnym oddziale ratunkowym. Zadaniem systemu
eksp

ertowego będzie wspomaganie decyzji medycznych podejmowanych przez

specjalistę medycyny ratunkowej dyżurującego na SOR. System ekspertowy
zostanie

skonstruowany za pomocą e2gRuleEngine. Program e2gRuleEngine jest

darmowym

narzędziem do budowy systemów ekspertowych i został stworzony w

technologii JAVA aplet(ang. Applet)

, która pozwala na obsługę programu w oknie

przeglądarki internetowej. Dzięki takiemu rozwiązaniu możliwe jest zintegrowanie
systemu z aplikacją obsługi pacjentów działającą w technologii klient-serwer.

W pracy nie zostanie opisany program obsługujący przyjęcia, gdyż nie jest to

celem

pracy.

Zostanie użyty do pokazania sposobu wykorzystania

diagnostycznego systemu ekspertowego oraz przetestowania

jego działania.

3 System ekspertowy

Z definicji E.A Feigenbaum

’a wynika, że system ekspertowy to program

komputerowy, którego wbudowane mechanizmy wnioskowania umożliwiają
rozwiązywanie problemów wymagających konsultacji z ekspertem danej dziedziny
wiedzy.

Stopień ekspertyzy zależy od jakości oraz wielkości bazy wiedzy. System

ekspertowy posiada charakterystyczne cechy odróżniające go od innych
programów komputerowych. Należą do nich:

J

awna reprezentacja wiedzy w większości przypadków zrozumiała dla

użytkownika końcowego w postaci reguł, ram lub sieci semantycznych.

Procedury sterowania odseparowane od wiedzy eksperckiej.

W

ykorzystanie procesów wnioskowania zamiast jawnie zdefiniowanego

algorytmu.

Możliwość wyjaśnienia metody rozwiązania określonego problemu.

Systemy

ekspertowe

znajdują

głównie

zastosowanie

w

dziedzinach

niesformalizowanych, gdzi

e nie istnieją ścisłe algorytmy rozwiązania danego

problemu. Do dziedzin tych należą między innymi:

Medycyna

Geologia

Prawo

Administracja i z

arządzanie

Rolnictwo

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

5

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Leśnictwo

Architektura

Chemia

Okazują się także przydatne przy rozwiązywaniu problemów NP-zupełnych, gdzie
algorytmy obliczeniowe z powodu bardzo długiego czasu działania stają się
zupełnie nie przydatne.

Pierwsze systemy ekspertowe

powstały w latach 60. Poniżej zostały

przedstawione

niektóre systemy, które znacząco przyczyniły się do rozwoju tej

dziedziny.

Dendral - zbudowany

około 1965 roku w Stanford University przez Bruce

Buchanan

’a, Edwarda Feigenbaum’a oraz Joshua Lederberg’a. Był

wykorzystywany do określenia struktury molekularnej nieznanych
chemi

cznych związków organicznych w oparciu o analizę widm

spektroskopowych

. Do budowy systemu Dendral wykorzystano język

programowania

Interlisp. Dendral osiągnął wydajność porównywalną z

ekspertami -

ludźmi dzięki zastosowaniu algorytmu stworzonego przez

Josh

ua Lederberg’a służącego do semantycznego generowania wszystkich

możliwych struktur cząsteczkowych.[7]

Macscyma

– prace nad systemem rozpoczęły się w 1968 roku w

Massachusetts Institute of Technology (MIT), rozwój projektu został
zakończony w 1982 roku. Został napisany w języku MACLisp. System
Macscyma

służył

do

rozwiązywania

złożonych

problemów

algebraicznych.[8]

Mycin

– stworzony w latach 70 na uniwersytecie w Stanford system

ekspertowy

służący do diagnozowania bakteryjnych chorób krwi,

znalezieniu odpowiedniej terapii

i dawkowania leków w zależności od płci,

wieku i wagi chorego

. Baza wiedzy opierała się na regułach IF - THEN

stworzonych przez grupę lekarzy. Reguły zawierały także współczynniki
pewności, które pozwalały na określenie stopnia niepewności odpowiedzi.
Działanie programu polegało na odpowiadaniu na pytania zadawane przez
system. Po zadaniu około 50-60 pytań system udzielał odpowiedzi. W
każdym momencie działania programu można było sprawdzić dlaczego
zostało zadane dane pytanie(za pomocą polecenia WHY).[9]

Emycin

– projekt powstał w 1981 po usunięciu reguł z bazy wiedzy systemu

Mycin. Dało to możliwość tworzenia własnych reguł. Emycin był pierwszym
szkieletowym systemem ekspertowym.

Prospector

– program był używany do wspomagania zadań wykonywanych

przez geologów. Rozwijany od 1974 do 1983 w Stanford Research Institute.
Baza wiedzy składała się z około 1000 reguł. Dzięki programowi udało się
znaleźć złoża molibdenu.[10]

Internist/Caduceus

– system ekspertowy opracowywany od połowy lat 70

na University of Pittsburgh przez Harry Pople'a Jr. (informatyk) i Jacka D.
Myersa (internista)

. Program wspierał lekarzy w stawianiu diagnozy z

chorób wewnętrznych(interny). Osiągnął 85 % sprawności specjalisty z tej
dziedziny.[11]

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

6

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

W Polsce tworzeniem systemów ekspertowych zajmuje się firma AITECH.

Założył ją dr Krzysztof Michalik, który w latach 80 brał udział w tworzeniu
projektów PC-Expert i Diagnosta MC14007. W firmie AITECH powstał pierwszy
komercyjny szkielet systemu ekspertowego o nazwie PC-Shell. PC-Shell jest
narzędziem do budowy systemów ekspertowych z różnych dziedzin takich jak:
finanse, bankowość, diagnostyka, marketing, dydaktyka i wielu innych.

3.1

Podział systemów ekspertowych

Od lat 60 do czasów dzisiejszych wraz z rozwojem informatyki wytworzyło się

kilka podziałów systemów ekspertowych. Systemy ekspertowe dzielimy ze
względu na:

Sposób działania:

 Doradcze

– to czy użytkownik uzna bądź nie zaakceptuje wyniku

wyjściowego(wniosek) sztucznej ekspertyzy, zależy tylko od niego.
W przypadku zanegowania odpowiedzi system ekspertowy poszuka
innego rozwiązania.

Działające autonomicznie(bez kontroli człowieka) – Systemy

działające bez ingerencji człowieka tam, gdzie potrzebna jest szybka
reakcja na zmieniające się warunki(dane) np. systemu ekspertowe
czasu rzeczywistego

sterujące pracą elektrociepłowni.

Krytykujące – do systemu wprowadzane są dane wejściowe i

wyjściowe. Zadaniem systemu jest przeanalizowanie i pokazanie
krok po kroku w jaki sposób dana konkluzja została osiągnięta.

Dane otrzymywane na wyjściu (wnioski systemu):

 Diagnostyczne

– wykorzystywane np. w medycynie, mechanice.

System ocenia bie

żący stan na podstawie otrzymanych danych.

 Prognostyczne(Predykacyjne)

– służą do przewidywania przyszłego

stanu w oparciu o istniejące dane(bieżący stan). Używane przy
prognozowaniu pogody.

 Planowania

– po osiągnięciu wyznaczonego celu planują dalsze

działanie.

Sposób reprezentacji wiedzy:

Logika dwuwartościowa (ang. Boole’a) – fakty i wnioski mają

możliwość przyjęcia tylko jednej z dwóch wartości: prawda lub fałsz.

Logika wielowartościowa – argumenty faktów i wniosków mogą

przyjmować jedną, kilka lub nie przyjmować żadnej wartości.

 Logika rozmyta(ang. Fuzzy logic)

– jeden z rodzajów logiki

wielowartościowej, gdzie między stanem prawda(0) a fałsz(1) istnieje
jes

zcze pewien zbiór wartości.

Realizację projektu systemu ekspertowego:

 Systemy dedykowane

– systemy tworzone zarówno przez inżyniera

wiedzy oraz projektant systemu (definicja w podrozdziale 3.3
„Struktura budowy systemu ekspertowego”). Do zadań inżyniera
wi

edzy należy wypełnienie wiedzą eksperta bazy wiedzy, natomiast

funkcją

projektanta

systemu

jest

zbudowanie

modułów

programu(pod

rozdział 3.3).

 Systemy

narzędziowe(tzw. szkieletowe systemy ekspertowe) –

system ekspertowy z pustą bazą wiedzy. Do budowy systemu
wystarczy inżynier wiedzy, którego celem jest zbudowanie bazy
wiedzy po konsultacji z ekspertem.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

7

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Przetwarzaną informację:

Systemy z wiedzą pewną – gdy stwierdzenia w bazie wiedzy są

pewne np. logika dwuwartościowa.

Systemy z wiedzą niepewną – prawdziwość niektórych stwierdzeń

jest nie pewna np. logika rozmyta.

3.2

Zalety i wady systemów ekspertowych

Systemy ekspertowe jak każdy program komputerowy posiadają wady i zalety,

poniżej zostało wypunktowane ich zestawienie.
Zalety:

Systemy ekspertowe rozwiązujące problemy w czasie rzeczywistym, gdzie

wymagana jest analiza wielu danych w bardzo krótkim czasie działa lepiej
od człowieka, który nie jest w stanie przeanalizować tylu danych
jednocześnie. Systemy takie znajdują zastosowanie np. przy sterowaniu
elektrowni

ą atomową, systemami stacji lub statków kosmicznych.

Możliwe jest zgromadzenie wiedzy kilku ekspertów jednocześnie, co

pozawala na ograniczenie kosztów zatrudnienia oraz pozwala
użytkownikowi systemu na efektywniejszą pracę.

System ekspertowy tylko prezent

uje swoje rozwiązania użytkownikowi, to

czy użytkownik skorzysta z rozwiązania zależy tylko od niego.

Czas eksperta może być wykorzystany do rozwiązania trudniejszych

problemów. Łatwiejsze, często powtarzające się rozwiąże system
ekspertowy bez obecności specjalisty.

Sprawność systemu zależy głównie od jakości i ilości wiedzy zapisanej w

bazie wiedzy a nie od metody wnioskowania.

Modułowa budowa i oddzielenie bazy wiedzy od reszty systemu pozwala na

wprowadzanie zmian bez naruszania integracji całego systemu
ekspertowego.

Wady:

Zrobienie jakościowo i ilościowo dobrej bazy wiedzy wymaga stałej

obecności eksperta, czasu oraz nakładów finansowych. Zaprojektowanie
systemu ekspertowego jest opłacalne tylko wtedy, gdy będzie on używany
przez dłuższy okres czasu i dużą grupę osób.

Ograniczenie „dialogu” z programem w wyniku używania klawiatury.

System ekspertowy w porównaniu do specjalisty z danej dziedziny nie

potrafi sam rozszerzać swojej wiedzy. Jest całkowicie zależny od
użytkownika.

Nie zawsze wiedza eksperta

może być zapisana w sztywnych ramach

re

prezentacji wiedzy(reguły, ramy, sieci semantyczne).

Uzupełnianie faktów i reguł w bazie wiedzy może doprowadzić do

powstania błędów, co utrudni lub uniemożliwi poprawne działanie systemu.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

8

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Zalety i wady systemów ekspertowych wynikają również z porównania

ekspertyzy sztucznej i naturalnej. Za ekspertyzę naturalną odpowiada człowiek,
specjalista z danej dziedziny natomiast ekspertyza sztuczna jest wynikiem
działania programu komputerowego(systemu ekspertowego). Tabela 1 porównuje
zalety i wady tych dwóch ekspertyz.

Tab. 1

. Porównanie ekspertyzy sztucznej z naturalną.

Ekspertyza naturalna

Ekspertyza sztuczna

Zalety

twórcza (oparta na wiedzy i
intuicji)

trudna w dokumentacji

adaptacyjna

wykorzystanie wszystkich

zmysłów

szeroki zakres

stała, nie traci na wartości z
upływem czasu

łatwa w dokumentacji

łatwo

dostępna

(nie

jest

wymagana obecność eksperta z
danej dziedziny)

zgodna z bazą wiedzy

Wady

utrudniona dokumentacja

z upływem czasu występuje
utra

ta wartości ekspertyzy

kosztowna

nie dająca się przewidzieć

wąski zakres zgodny z faktami i
regułami zawartymi w bazie
wiedzy

przetwarzanie wiedzy w sposób
mechaniczny

3.3 Struktura budowy systemu ekspertowego

W celu zrozumienia struktury systemu ekspertowe

go należy wyjaśnić rolę ludzi,

którzy współdziałają z systemem:

Ekspert z danej dziedziny

– według definicji zawartej w „Nowym słowniku

języka polskiego” to „specjalista powołany do wydania orzeczenia lub opinii
w sprawach spornych, wchodzących w zakres jego kompetencji; biegły,
rzeczoznawca.”
[1]

Inżynier wiedzy – to osoba zajmująca się kodowaniem wiedzy przekazanej

przez eksperta w formę deklaratywną możliwą do użycia przez system
ekspertowy[12]

Użytkownik – osoba korzystająca z systemu ekspertowego z zamiarem

uzyskania porady, którą mógł by uzyskać od eksperta z danej dziedziny.

W przypadku systemów dedykowany, gdy do budowy systemu ekspertowego

nie jest wykorzystywany szkielet(ang. Shell) dochodzi jeszcze jedna ważna rola:

Projektant systemu

(inżynier systemu) – informatyk, którego celem jest

zaprojektowanie i zbudowanie modułów systemu ekspertowego.

W zależności od wielkości projektu inżynier wiedzy i inżynier systemu może być
tą samą osobą.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

9

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Systemy ekspertowe mają ściśle określoną budowę. Jest to wzorzec projektowy

według, którego należy konstruować te systemy.

Rys. 1. Struktura systemu ekspertowego.

Systemów ekspertowych nie należy mylić z systemami z bazą wiedzy. Systemy

z bazą wiedzy nie posiadają modułu wyjaśniającego.

3.3.1 Baza wiedzy

Zawiera

wiedzę eksperta przetworzoną przez inżyniera wiedzy i zgromadzoną w

postaci sformalizowanej(reguły, ramy, sieci semantyczne), tak, aby mogła zostać
odczytana przez mechanizm wnioskujący systemu ekspertowego. Ważną zasadą
jest niesprzeczność i spójność przekształconej wiedzy. Nie zachowanie tej zasady
przez inżyniera wiedzy może doprowadzić do utrudnienia bądź całkowitego braku
działania program. Rozróżniamy następujące rodzaje baz wiedzy:

Baza tekstów (ang. Text base) – składa się z nieuporządkowanych danych.

Baza danych (ang. data base)

– struktura zawierająca dane ułożone w

sposób uporządkowany

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 zdroworozsądkowej (ang. Common sense knowledge base) –
gromadzi reguły potencjalnych i racjonalnych działań człowieka.
O

dzwierciedla meta wiedzę systemu, czyli jak przetwarzać wiedzę zawartą

w systemie ekspertowy.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

10

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Większości przypadków występuje baza reguł. O to przykład reguły w tym typie

bazy wiedzy: IF rozrusznik nie odpala silnika AND wyczuwasz zapachu benzyny
THEN zbiornik paliwa jest pusty.

Budowa reguły z zaznaczonymi słowami kluczowymi zostanie opisane w

następnym podrozdziale 3.4 „Reprezentacja wiedzy”).

3.3.2

Baza faktów

Inaczej pamięć podręczna lub baza danych zmiennych. Baza pomocnicza, w

niej zapisywane są fakty oraz wnioski w trakcie użytkowania przez użytkownika
systemu ekspertowego. Baza faktów umożliwia także działanie mechanizmu
wyjaśniającego.

3.3.3

Mechanizm wnioskujący

Stanowi najważniejszą część systemu ekspertowego. „Maszyna wnioskująca

jest modułem, który wykorzystuje odpowiednie sposoby wnioskowania w celu
znalezienia rozwiązania lub postawienia diagnozy
”.[2] Metody wnioskowania to
algorytmy pozwalające doprowadzić konsultację do konkluzji na podstawie faktów
i reguł zawartych w bazie wiedzy oraz danych odbieranych przez użytkownika.

3.3.4

Mechanizm wyjaśniający

Udostępnia opcję sprawdzenia w każdym momencie konsultacji dlaczego

została użyta dana reguła lub zadane pytanie. Jest niezwykle przydatny dla
inżyniera wiedzy w trakcie projektowania systemu ekspertowego. Sprawdzając
wyniki wnioskowania za pomocą mechanizmu wnioskowania inżynier może
sprawdzić jak zachowuje się system ekspertowy oraz sprawdzić współdziałanie
faktów i reguł.

Rys. 2

. Moduł wyjaśniający programu PC-Shell.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

11

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

3.3.5 Edytor bazy wiedzy

Pozwala użytkownikowi na uzupełnianie wiedzy przez wprowadzanie nowych

faktów i reguł do bazy wiedzy systemu ekspertowego. Powinien zawierać
mechanizm sprawdzający poprawność i niezgodność reguł w celu zapewnienia
bezbłędnego działania systemu.

Rys. 3. Edytor e2gRuleWriter do budowy bazy wiedzy dla e2gRuleEngine.

3.3.6

Interfejs użytkownika

Bez tego modułu nie mogłaby istnieć interakcja użytkownika z pozostałymi

częściami systemu ekspertowego oraz bazą wiedzy. Stanowi mechanizm
wejścia/wyjścia.

Odbiera

dane

od

użytkownika

zwracając

rezultaty

przeprowadzonego działania na bazie wiedzy przez mechanizm wnioskujący.
Odpowiada także za obsługę edytora bazy wiedzy.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

12

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Rys. 4

. Interfejs systemu ekspertowego zbudowanego za pomocą narzędzia

e2gRuleEngine.

3.4 Etapy tworzenia systemu ekspertowego

W procesie bu

dowy systemu ekspertowego zazwyczaj biorą udział trzy grupy

osób: eksperci, inżynierowie wiedzy i użytkownicy. Osoby te współpracują ze
sobą w trakcie trwania różnych okresów tworzenia systemu. Proces ten został
p

rzedstawiony na rysunku numer 5 i składa się z:

Identyfikacji problemu

– odbywa się przy współpracy eksperta z inżynierem

wiedzy. Polega na zdefiniowaniu celu oraz wymagań konstruowanego
systemu ekspertowego. Problem stawiany przed systemem ekspertowym
powinien charakteryzować się:

zawężoną specjalizacją,

musi być dokładnie zdefiniowany,

do rozwiązania problemu wykonywane są operacje na symbolach

(brak jawnego algorytmu rozwiązania).

Dla ułatwienia identyfikacji powinien zostać stworzony raport zawierający:

 Cel

– definicja zadań stawianych przed systemem ekspertowym.

Rozwiązanie – określa wynik działania systemu.

Wiedzę – źródło wiedzy z danej dziedziny (najczęściej jest nim
ekspert).

Istnieje prawdopodobieństwo braku dostępności eksperta z

danej dziedziny. W tym przypadku należy określić inne źródła
wiedzy.

 Zapotrzebowanie

– określenie grupy ewentualnych kupujących.

Infrastrukturę – środowisko sprzętowe potrzebne do działania
systemu.

 Koszty

– ekonomiczne uzasadnienie projektu.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

13

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Rys. 5. Etapy tworzenia systemu ekspertowego.

Pozyskiwanie wiedzy

– na tym etapie produkcji systemu ekspertowego

inżynier wiedzy dokumentuje wiedzę, po wcześniejszym rozpoznaniu
dziedziny w procesie identyfikacji problemu, przekazaną przez eksperta. W
przypadku niemożliwości uzyskania wiedzy od eksperta można skorzystać
z innych

źródeł do, których zaliczamy:

literaturę,

 dokumentacj

ę,

 bazy i hurtownie danych,
 eksperymenty.

Proces pozyskiwania wiedzy składa się z dwóch etapów: nabywania i
dokumentowania wiedzy z danej dziedziny oraz modelowania nabytej
wiedzy. Faza nabywania i dokumentowania polega na:

rozbiciu problemów na podproblemy,

ustaleniu faktów w postaci obiektów, atrybutów i wartości oraz

udokumentowaniu relacji jakie zachodzą między faktami,

znalezieniu rozwiązania problemu.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

14

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Modelowanie nabyt

ej wiedzy to projekt jawnego wzorca, który w dalszym

cyklu projektowania systemu pozwoli na sformalizowanie informacji
nabytych od eksperta w celu przeniesienia ich do bazy wiedzy. W
modelowaniu występują następujące metody:

 Diagram Obiekt - Atrybut - Wart

ość(ang. Object - Attribute - Value, w

skr

ócie OAV) – służy do opisywania rzeczywistych obiektów.

Upraszczają formalizowanie faktów w bazie danych.

Rys. 6

. Diagram OAV obiektu Książka.

 Tabela decyzyjna -

łatwa i czytelna metoda zapisywania wiedzy

zarówno dla inżyniera wiedzy jak i eksperta. Zbudowana jest z
wierszy

zawierających warunki i czynności. Stanowi jawny i

klarowny zapis warunków, które należy spełnić, aby mogła zostać
wykonana czynność.

Tab. 2. Tablica decyzyjna

Warunki

Okłada

Miękka Miękka Miękka Twarda Twarda Twarda

Wielkość

Mała

Średnia Duża

Mała

Średnia Duża

Cena

Tania

Tania

Tania

Tania

Tania

Droga

Czynności
Kupić

Nie

Nie

Tak

Tak

Nie

Nie

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

15

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

 Drzewa decyzyjne

– składają się z węzłów i gałęzi. Węzły definiują

podejmowane decyzje lub zmiany stanu rzeczy natomiast gałęzie
określają podjęte akcje. Do jednego węzła prowadzi tylko jedna
gałąź

Rys. 7. Drzewo decyzyjne.

Diagram przepływu – zbudowane podobnie jak drzewa decyzyjne, z

tą różnicą, że do jednego węzła może prowadzić wiele gałęzi.

Rys. 8

. Diagram przepływu.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

16

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Reprezentacja wiedzy

– formalizowanie modelu wiedzy eksperta. Szerszy

opis w pod

rozdziale 3.5 „Reprezentacja wiedzy”.

Implementacja systemu

– opracowanie gotowego systemu ekspertowego.

Wprowadzenie, przez inżyniera wiedzy, sformalizowanej wiedzy do bazy
wiedzy szkieletowego bądź dedykowanego systemu ekspertowego.

Testowanie systemu

– weryfikacja poprawności działania systemu. W

test

ach może uczestniczyć użytkownik.

3.5 Reprezentacja wiedzy

Działanie systemu ekspertowego zależy od jakości i ilości informacji zawartych

w bazie wiedzy, która składa się z odpowiednio przetworzonych i
sformalizowanych faktów i heurystyk tak, aby umożliwić wnioskowanie. Fakt to
określenie stanu rzeczy, zjawisko, które zachodzi lub zaszło w rzeczywistości. [1]
Heurystyki natomiast,

stanowią sposób rozwiązywania problemów przez

ekspertów biorących pod uwagę zaistniałe fakty. W bazie wiedzy heurystyki
występują pod postacią relacji i procedur. Relacje obejmują zależności między
dwoma lub większą liczbą faktów, z kolei procedury to mechanizmy jakim
podlegają fakty i relacje. Do najczęściej używanych technik reprezentowania
należą:

Sieci semantyczne

– to graficzna interpretacja, w postaci grafu, relacji i

asocjacji

zachodzących między stwierdzeniami oraz ich składowymi.

Stwierdzenia zapisywane są w postaci trójki: obiekt – atrybut - wartość, które
można przedstawić za pomocą diagramu OAV(rys. 7.). Sieć semantyczna
składa się z węzłów i łuków. Węzły mogą oznaczać obiekty, atrybuty
obiektów lub wartości atrybutów. Natomiast łuki służą do opisywania relacji
jakie zachodzą między węzłami. Sieci semantyczne mogą być także
wykorzystane do reprezentacji wiedzy niepewnej przez dodanie wag do
węzłów i łuków.[3] Zaleta tej techniki reprezentacji to przedstawienie wiedzy
w formie graficznej co przemawia do wyobraźni, jest intuicyjne i efektywne.

Rys. 9

. Przykład sieci semantycznej.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

17

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Reguły produkcyjne – większość systemów ekspertowych opartych jest o tę
technikę reprezentacji wiedzy, gdyż posiada wiele zalet takich jak:

bardzo zrozumiały zapis,

 prosta modyfikacja bazy wiedzy przez dodanie nowych

lub zmianę

istniejących reguł,

ułatwione rozwiązanie problemu przez właściwy dobór grupy reguł.

Reguły mają postać:

JEŻELI (Warunek) TO (Konkluzja)

Standardowo w bazie wiedzy zapisywane są w postaci kanonicznej(język
angielski):

IF(Warunek)THEN(Konkluzja)

Konkluzja(wniosek) to następstwo spełnienia(wystąpienia) warunku.
Warunki i wnioski składają się z par atrybut – wartość. Przykład:

IF

Zwierzę jest Wróbel THEN Zwierzę ma gniazdo

IF

Zwierzę jest Wróbel THEN Zwierzę jest Ptak

IF

Zwierzę jest Ptak THEN Zwierzę ma Skrzydła

Możliwe jest łączenie kilku warunków oraz konkluzji za pomocą koniunkcji
oraz alternatywy. Koniunkcja to iloczyn logiczny, którego symbolem jest
AND

. W tym wypadku reguły mają postać:

IF

Zwierzę jest Ptak THEN Zwierzę ma Pióra AND Zwierzę ma Skrzydła

IF Ptak ma Gniazdo AND

Ptak jest Mały THEN Ptak jest Wróbel

IF Ptak ma Gniazdo AND

Ptak jest Mały THEN Ptak jest Wróbel

AND

Wróbel ma Skrzydła

Alternatywa, inaczej suma logiczna, jest reprezentowana przez symbol OR i
reguły prezentują się następująco:

IF

Zwierzę ma Gniazdo OR Zwierzę ma Pióra THEN Zwierzę jest Ptak

IF

Zwierzę jest Ptak THEN Zwierzę jest Małe OR Zwierzę jest Średnie

IF

Zwierzę ma Gniazdo OR Zwierzę ma Pióra THEN Zwierzę jest Małe OR

Zwierzę jest Średnie


Reguły produkcyjne mogą się zagnieżdżać. Sytuacja taka występuje wtedy,
gdy konkluzja(wniosek)

jednej reguły jest warunkiem(przesłanką) innej.

Prowadzi to do podziału warunków na możliwe do zapytania, których
wartość ustalana jest przez odpowiedź użytkownika na zapytanie systemu
ekspertowego oraz warunki wynikające z konkluzji innej reguły. Pozwala to
na ograniczenie zapytań i skrócenie czasu konsultacji.

Baza wiedzy

może zawierać wiedzę niepewną, w tym wypadku wzór

reguły wygląda następująco:

JEŻELI (Warunek) TO (Konkluzja)(CF)

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

18

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Współczynnik pewności ( ang. certainty factors lub confidence factors, w
skrócie CF) to wartość wyrażona w liczbach. Zbiór wartości jakie może
przyjmować, określa szkielet systemu ekspertowego. Do opisania metod
współczynnika zostaną użyte procenty z przedziału <0%,100%>, dla
warunku A współczynnik ten wynosi 60%, warunek B ma 80%.
Metody obliczania współczynnika pewności:

 Minimum

– pod uwagę brana jest najmniejsza wartość współczynnika

wartości warunków. W tym wypadku CF konkluzji wynosi 60%.

 Maksimum

– CF wynosi tyle, ile największy współczynnik warunku.

CF konkluzji ma 80%.

Średnia – współczynnik pewności obliczany jest na zasadzie średniej
arytmetycznej współczynników warunków. CF równe jest 70%.

 Suma probabilistyczna

– wzór na obliczanie współczynnika pewności

wygląda następująco:

CF= A+(B/100)*(100-A)

Po podstawieniu wartości A i B otrzymujemy wynik CF konkluzji, który
jest równy 92%.

 Iloczyn

– Obliczenia polegają na pomnożeniu dwóch CF przesłanek

Ramy

– to strukturalny opis danych. Rama(rys. 10.) reprezentuje obiekt,

który posiada atrybuty i wartości. Atrybuty, czyli cechy obiektu, zapisywane
są w klatkach (ang. Slot), wartości w fasetach(ang. Facet). Klatki jednego
obiektu nie mogą się powtarzać, fasety w jednej klatce nie mogą mieć tej
samej nazwy.

Rys. 10

. Przykładowa rama.

Relacje między ramami określone są przez hierarchię dziedziczenia, czyli
istnieją ramy podstawowe, podrzędne i nadrzędne. Wynik wnioskowania jest
rezultatem przechodzenia przez tę hierarchię.

3.6 Mechanizm wnioskowania

Istnieją dwa główne typy metod wnioskowania:

wnioskowanie w tył(ang. Backward chaining),

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

19

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

wnioskowanie w przód (ang. Forward chaining).

Oba mechanizmy zostaną opisane w kolejnych podrozdziałach. Baza wiedzy, na
której zostanie przeprowadzone wnioskowanie będzie składać się z reguł z wiedzą
pe

wną. W systemie ekspertowym o nazwie AWARIA została zaimplementowana

następująca baza wiedzy:

Tab. 3. Baz wiedzy programu AWARIA.
Numer
reguły

Treść
reguły

1

Jeżeli światła po włączeniu nie świecą i
rozrusznik po przekręceniu kluczyka nie zaskakuje
to zalecana

czynność polega na naładowaniu lub zmianie akumulatora

2

Jeżeli zbiornik paliwa jest pusty
to zalecana

czynność polega na napełnieniu baku samochodu paliwem

3

Jeżeli rozrusznik po przekręceniu kluczyka zaskakuje powoli i

moc świecenia świateł jest słaba

to zalecana

czynność polega na naładowaniu akumulatora

4

Jeżeli rozrusznik po przekręceniu kluczyka zaskakuje i
zapach paliwa w baku jest obecny
to zalecana

czynność polega na odczekaniu 10 minut i ponownemu

uruchomieniu zalanego samochodu

5

Jeżeli rozrusznik po przekręceniu kluczyka zaskakuje i
zapach paliwa w baku jest nie obecny
to zbiornik paliwa jest pusty.


Reguły w trakcie wnioskowania będą zmieniały swój stan. Reguła nie sprawdzona
przez system będzie aktywna, natomiast sprawdzona, której konkluzja nie
zostanie potwierdzona zmieni status na odrzuconą. Gdy wniosek okaże się
prawdziwy reguła stanie się odpalona. Stan przechowywany jest w bazie faktów.

3.6.1 Wnioskowanie wstecz

Wnioskowanie wstecz(ang. hypothesis driver), czyli wnioskowanie dedukcyjne,

to p

roces polegający na potwierdzeniu prawdziwości hipotezy na podstawie

przesłanek. Hipoteza to cel lub inaczej rozwiązanie problemu stawianego przed
systemem ekspertowym.

Przesłanka jest traktowana jako nowa hipoteza w

przypadku, gdy użytkownik nie zna jej wartości lub stanowi konkluzję innej
reguły(zagnieżdżanie reguł). W trakcie działania systemu algorytm wnioskowania
wstecz szuka przesłanek potwierdzających nowe hipotezy dopóki nie zostaną
znalezione wartości przesłanek reguły, której konkluzja stanowi cel. Do
przechowywania celu(ang. Goal)

głównego oraz nowych hipotez(ang. Subgoal)

służy stos. Stos(rys. 12 na stronie 22) to struktura danych, w których ostatni
element dołączony do struktury jest pierwszym elementem do zdjęcia ze
stosu(bufor typu LIFO ang. last in, first out).

Wnioskowanie wstecz działa dopóki

na stosie nie zostanie główny cel i nie ma więcej reguł aktywnych które mogły by
dołączyć nowe hipotezy.


background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

20

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Rys. 11. Schemat blokowy wnioskowania wstecz.

Użytkownik zamierza znaleźć przyczynę awarii samochodu. W tym celu używa

nasz system ekspertowy AWARIA z bazą wiedzy przedstawioną w tabeli 3. Celem
wnioskowania jest znalezienie rozwiązania co zrobić, aby uruchomić samochód.
Moduł wnioskowania umieszcza cel na stosie(zalecana czynność) i sprawdza
pierwszą aktywną regułę, której konkluzja jest celem. Reguła pierwsza zawiera
sprawdzaną hipotezę i nie zagnieżdża się. System oczekuje podania wartości
przesłanek przez użytkownika. Odpowiedzi użytkownika i stos celów przedstawia
tabela numer 4.

Tab. 4

. Rozpoczęcie wnioskowania wstecz.

Fakty

Atrybut

Wartość

Światła

świecą

Rozrusznik

zaskakuje

Cel główny wnioskowania

zalecana czynność

Stos celi

1.

zalecana czynność

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

21

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Z odpo

wiedzi użytkownika wynika, że światła świecą i rozrusznik zaskakuje,

więc reguła pierwsza zmienia stan z aktywnej na odrzuconą. Konkluzja tej reguły
nie spełnia przesłanek. Pod uwagę jest brana następna aktywna reguła
zawierająca cel znajdujący się na szczycie stosu, jest to reguła numer dwa.
System ekspertowy próbuje ustalić jaką wartość ma atrybut zbiornik paliwa.
Użytkownik nie wie czy w zbiorniku znajduje się paliwo, więc algorytm wnioskujący
dodaje nową hipotezę na wierzchołku stosu(tab. 5), a reguła druga nadal
pozostaje aktywna.

Tab. 5. Kolejny etap wnioskowania wstecz.

Fakty

Atrybut

Wartość

Światła

świecą

Rozrusznik

zaskakuje

Zbiornik paliwa

nie wiem

Cel główny 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, których atrybut wniosku to zbiornik
paliwa. W wyniku tego działania zostaje sprawdzona reguła piąta. Reguła zawiera
dwa warunki. Pierwszy z nich, atrybut rozrusznik, znajduje się już w bazie faktów i
jest prawdziwy,

natomiast drugi wymaga odpowiedzi użytkownika. Według

użytkownika zapach paliwa w baku nie jest obecny. Reguła piąta spełniła
przesłanki, więc wartość zbiornika paliwa w bazie faktów zmieniana jest na pusty.
Atrybut zbiornik paliwa ściągany jest ze szczytu stosu.

Tab. 6

. Wnioskowanie wstecz po usunięciu ze stosu atrybutu zbiornik paliwa.

Fakty

Atrybut

Wartość

Światła

świecą

Rozrusznik

zaskakuje

Zbiornik paliwa

nie wiem

Cel główny wnioskowania

zalecana czynność

Stos celi

1.

zalecana czynność

Na

wierzchołku stosu znowu znajduje się zalecana czynność, więc kolejny raz

zostaje sprawdzona pierwsza reguła aktywna z celem głównym wnioskowania w
konkluzji, jest to ponownie reguła druga. Tym razem jej warunki pasują do faktów
w pamięci podręcznej systemu ekspertowego. Zostaje znaleziona wartość
głównego celu wnioskowania przy pominięciu reguł: czwartej i piątej. Zalecana
czynność polega na napełnieniu baku samochodu paliwem.
Przykład wnioskowania wstecz ukazuje jego zalety. Wnioskowanie dedukcyjne nie
wymaga sprawdzenia wszystkich reguł w bazie wiedzy co powoduje
wygenerowanie mniejszej ilości faktów w wyniku czego oszczędzana jest pamięć
podręczna komputera oraz krótki czas ekspertyzy.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

22

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Rys. 12

. Schemat działania stosu celi modułu wnioskowania.

3.6.2

Wnioskowanie w przód

Wnioskowanie w przód(ang. Data driven), inaczej wnioskowanie indukcyjne,

rozpoczyna się od sprawdzenia faktów znajdujących się w bazie faktów(pamięci
p

odręcznej) systemu ekspertowego i porównaniu ich z częścią reguł

odpowiedzialną za warunki(IF). Reguła spełniająca warunki zostaje, przez
mechanizm wnioskujący, oznaczona jako prawdziwa, a jej konkluzja jest
dodawana do pamięci podręcznej. W trakcie trwania procesu wnioskowania fakty
mogą być także usuwane z pamięci podręcznej. Nowe fakty są generowane
dopóki nie zostanie znaleziony konkluzja lub nie zostaną wygenerowane nowe
fakty

(zbiór reguł aktywnych będzie pusty). Istnieje prawdopodobieństwo

wystąpienia kilku reguł do odpalenia. Wybranie odpowiedniej możliwe jest przez
użycie strategii sterowania wnioskowaniem. Należą do nich:

Strategia świeżości – najpóźniej dodana reguła do bazy faktów ulega
odpaleniu.

Strategia blokowania

– reguły już wykorzystane są usuwane z bazy faktów

co zapobiega powstawaniu pętli wnioskowania.

Strategia specyficzności – wybierana jest reguła o największej liczbie
warunków.

Strategia pierwszej reguły – pierwsza reguła, której warunki zostają
spełnione zmienia stan na odpaloną

Strategia przypadkowości – wybranie reguły w sposób losowy. Używana
jako strategia pomocnicza po wykorzystaniu jednej

z wcześniej

wymienionych strategii.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

23

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Rys. 13. Diagram wnioskowania indukcyjnego.[13]

Użytkownik ponownie zamierza skorzystać z programu AWARIA, tym razem w

systemie zaimplementowane jest wnioskowanie w przód. Aby program rozpoczął
inferencję opartą na tym algorytmie, w pamięci podręcznej systemu muszą
znaleźć się fakty. Użytkownik udzielił odpowiedzi na pytania o: światła, rozrusznik,
zbiornik paliwa, moc świecenia świateł, zapach paliwa w baku. Odpowiedzi i cel
wnioskowania przedstawia tabela 4.

Tab. 7

. Wnioskowania w przód. Ustalenie faktów przez użytkownika

Fakty

Atrybut

Wartość

Światła

świecą

Rozrusznik

zaskakuje

Zbiornik paliwa

nie wiem

Moc świecenia świateł

w normie

Zapach paliwa w baku

nie obecny

Cel

zalecana czynność

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

24

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

System rozpoczyna wnioskowanie po ustaleniu

wartości faktów przez

użytkownika. Warunki reguły pierwszej nie zostały spełnione, aby ją potwierdzić,
gdyż światła samochodu święcą i rozrusznik zaskakuje. Reguła ta jest usuwana ze
zbioru reguł aktywnych. Reguła druga nadal pozostaje oznaczona jako aktywna,
ponieważ użytkownik nie wie czy zbiornik paliwa jest pusty. Fakty zapisane w
pamięci podręcznej także nie spełniły przesłanek reguły trzeciej i czwartej, więc
ich wnioski

nie zostały potwierdzone(reguły zostały odrzucone). Warunki ostatniej

reguły zostały osiągnięte. Z konkluzji tej reguły wynika, że zbiornik paliwa jest
pusty, w skutek tego dochodzi do aktualizacji bazy faktów i aktualizacji wartości
atrybutu zbiornik paliwa.

Odpalenie tej reguły powoduje jej usunięcie ze zbioru

reguł aktywnych.

Tab. 8. W

nioskowanie w przód. Aktualizacja bazy faktów.

Fakty

Atrybut

Wartość

Światła

Świecą

Rozrusznik

Zaskakuje

Zbiornik paliwa

Pusty

Moc świecenia świateł

w normie

Zapach paliwa w baku

nie obecny

Cel

zalecana czynność


Reguła druga, nadal aktywna, ulega ponownemu sprawdzeniu i zostaje odpalona.
Zbiornik paliwa

jest pusty, więc zalecana czynność polega na napełnieniu baku

samochodu paliwem

. System AWARIA wyświetla za pomocą interfejsu

użytkownika rozwiązanie problemu. W tym wypadku wnioskowanie jest
przerywane, ponieważ cel został osiągnięty i nie ma więcej reguł aktywnych do
sprawdzenia.

Wnioskowanie w przód doskonale sprawdza się systemach pracujących bez

kontroli użytkownika gdzie dane, czyli fakty, zbierane są automatycznie lub gdy
wymaga

ne jest podanie wszystkich informacji przez rozpoczęciem wnioskowania

np.

ankieta. Wadą wnioskowania indukcyjnego jest możliwość całkowitego

zapełnienia pamięci operacyjnej komputera przez dodanie znacznej ilości faktów
do pamięci podręcznej systemu ekspertowego.

4

Opis narzędzia e2gRuleEngine do budowy systemów
ekspertowych

Aplet e2gRuleEngine(v8.01) to szkiel

etowy system ekspertowego dostępny za

darmo

na

stornie

http://expertise2go.com

. Budowa własnego systemu

ekspertowego polega na

uzupełnienia bazy wiedzy informacjami interesującej nas

dziedziny wiedzy. Baza wiedzy zapisywana jest w osobnym pliku. System
zbudowany w oparciu o e2gRuleEngine może być uruchamiany w trzech różnych
środowiskach:

przez

wywołanie w przeglądarce strony internetowej, która uruchamia

e2gRuleEngine jako plik odczytywany bezpośrednio z dysku twardego
komputera,

na lokalnym serwerze internetowym np. Apache Web serwer,

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

25

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

używając publicznego serwera internetowego i udostępniając system

ekspertowy s

zerszemu gronu użytkowników.

Do uruchomienia e2gRuleEngine w na stronie WWW potrzebny jest odpowiedni
kod napisany w języku HTML oraz wirtualna maszyna Javy zainstalowana na
komputerze użytkownika. Kod HMTL wygląda następująco:

<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 przeglądarki. Pierwszy wymaga podania atrybutów,
którymi są:

code

– należy podać nazwę skompilowanej klasy apletu z rozszerzeniem

.class,

archive

– atrybut wymagany w przypadku e2gRuleEngine, gdyż klasy

app

letu spakowane są w archiwum

.jar,

width

– w której podajemy szerokość wyświetlanego apletu,

height

– określa wysokość apletu.

Archiwum e2gRuleEngine musi zostać wywołane z jednym parametrem o nazwie
KBURL,

którego wartość określa ścieżkę do bazy wiedzy zapisanej w osobnym

pliku o rozszerzeniu .kb. Pozwoli to na odnalezienie bazy wiedzy przez
mech

anizm wnioskujący. Opis innych parametrów można znaleźć na stronie

http://expertise2go.com/e2g3g/e2g3gdoc/e2gref.htm

.

Baza wiedzy systemu ekspertowego czytelna

dla modułu wnioskującego

e2gR

uleEngine musi być zapisana w postaci reguł produkcyjnych(podrozdział 3.4

„Reprezentacja wiedzy”), mających odpowiedni dla narzędzia format. Przesłanki i
konkluzje zapisywane są w postaci pary: atrybut – wartość. Wartości atrybutów
mogą stanowić jeden z trzech różnych typów:

T

ekstowy zawarty między cudzysłowami.

Numeryczny(ang. Numeric)

, która może być liczbą całkowitą lub

rzeczywist

ą.

Logiczny (ang. Boolean) przyjmujący wartość TRUE albo FALSE.

Typ atrybutu jest inicjowany, gdy po raz pierwszy zostanie

użyty w regule w trakcie

wnioskowania. Próba zmiany typu atrybutu po jego wcześniejszy ustaleniu
zakończy się błędem. Analogiczny błąd wystąpi przypadku pierwszego
wystąpienia atrybutu stwierdzeniach PROMPT i GOAL, które zostaną omówione
w dalszej części tego rozdziału.

W bazie wiedzy występują takie elementy jak: puste linie, jednoliniowe

komentarze, reguły, zapytania, stwierdzenia wyznaczające cel wnioskowania i
wartości domyślne atrybutów. Jednoliniowe komentarze podobnie jak puste linie
(linie tekstu zacz

ynającego się od słowa REM) są

ignorowane

przez moduł

wnioskujący. Reguły składają się z kilku elementów, każdy element występuje w
nowej linii.

Pierwsza linia reguły rozpoczyna się od stwierdzenia RULE, po którym

występuje nazwa reguły zamknięta w kwadratowych nawiasach. Początek
następnej linii stanowi przesłanka reguły, której początkiem jest słowo IF. Po nim
występuje atrybut zawarty w nawiasach kwadratowych połączony z wartością za
pomocą jednego z operatorów opisanych w tabeli. Jeżeli występuje więcej niż
jedna

przesłanka, to muszą być one połączone przez ten sam logiczny operator,

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

26

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

AND(iloczyn logiczny) lub OR(suma logiczna).

Każda przesłanka składająca się z

atrybutu, operatora i wartości musi znajdować się w oddzielnej linii. W przypadku
większej liczby warunków ten sam operator logiczny znajduje się na końcu każdej
przesłanki oprócz ostatniej. Linia występująca po ostatniej przesłance musi
zaczynać się od słowa THEN. Słowo to inicjuje część reguły odpowiedzialną za
konkluzję. Po THEN musi wystąpić nazwa atrybutu w kwadratowych nawisach z
przypisaną wartością za pomocą znaku równości(=), inne operatory z tabeli numer
9 traktowane są jako błąd. Do powiązania większej ilości wniosków służy operator
AND. Suma logiczna(OR

) powoduje wystąpienie błędu i zakończenie działania

programu.

Linia konkluzji, która nie jest zakończona słowem AND kończy ciało

reguły. Opcjonalnie można dołączyć do reguły współczynnik pewności(CF) przez
dodanie znaku @ i liczby z przedziału od 1 do 100 po wartości atrybutu konkluzji.

Tab. 9

. Operatory przypisania wartości atrybutu.

Operator Znaczenie operatora

P

rzykład

=

równy

[zbiornik paliwa] =

”pusty”

zbiornik paliwa jest pusty

<

mniejszy

[cena] < 120
cena jest mniejsze niż 120

<=

mniejszy lub równy

[cena] <= 50
cena jest mniejsza niż lub równa 50

>

większy

[cena] > 150
cena jest

większa niż 50

>=

większa lub równa

[cena] >= 80
cena jest większa lub równa 80

!

nie równa

[zbiornik paliwa] !

”pusty”

zbiornik paliwa nie jest pusty

<>

nie równa(od v8.0)

[zbiornik paliwa] <>

”pusty”

zbiornik paliwa nie jest pusty

!=

nie równa(od v8.0)

[zbiornik paliwa] !=

”pusty”

zbiornik paliwa nie jest pusty

:

równy jednej wartości z
(tylko typ tekstowy)

[

objawy] : ból, gorączka

j

ednym z objawów jest ból lub gorączka

!:

nierówny

żadnej

wartości z
(tylko typ tekstowy)

[objawy] : ból, gorączka
żadnym z objawów nie jest ból lub gorączka


Reguła skonstruowana według wyżej wymienionych informacji powinna wyglądać
w sposób następujący:

RULE [Zawał serca z wstrząsem kardiogennym?]
If [Ból w klatce zawałowy] = true and
[STEMI] = false and
[NSTEMI] = true and
[Troponiny] > 0.03 and
[Ocena psycho-

ruchowa] = "splątany" and

[Wypełnienie tętna] = "nitkowate" and
[Napięcie tętna] = "miękkie" and
[Temperatura skóry] = "obniżona" and

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

27

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

[Niedociśnienie] = true and
[Zaburzenia oddawania moczu] = true and
[Oddech] = "szybki i głęboki"
Then [Rozpoznania towarzyszące] = "Wstrząs kardiogenny" @ 95 and
[Rozpoznanie] = "Zawał serca typu NonSTEMI" @ 95

Stwierdzenie PROMPT(zapytanie)

umożliwia ustawianie wartości przesłanek

przez użytkownika za pomocą interfejsu systemu ekspertowego i w bazie wiedzy
występują po regułach. Pierwsza linia stwierdzenia zaczyna się od słowa
PROMPT, po

którym musi wystąpić nazwa atrybutu przesłanki, zapisana w

nawiasach kwadratowych i

typ zapytania(Tab. 9). Fraza CF znajdująca się w tej

samej linii po typie zapytania daje możliwość podawania przez użytkownika
współczynnika pewności. Treść zapytania, zamkniętą w cudzysłowu, deklaruje się
w następnej linii.

Tab. 10

. Typy zapytań e2gRuleEngine

Typ zapytania

Opis

MultChoice

Przyciski radiowe (ang. Radio button)
dla typu tekstowego, możliwe jest tylko
wybór 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

Umożliwia

zaznaczeniu

kilku

odpowiedzi(ang.

Check

box)

dla

wartości tekstowych.

YesNo

Przyciski

radiowe

z

wartościami

logicznymi true/false(typ boolean)

Numeric

Pole tekstowe przyjmujące wartości
numeryczne

Następne linie stanowią możliwe odpowiedzi. Dla MultChoice, Choice, AllChoice,
ForcedChoice są wartości zawarte między cudzysłowem. Numeric wymaga, aby w
dwóch osobnych liniach podać wartość minimalną i maksymalną w cudzyslowiu.
Nie należy wpisywać żadnych wartości, jeżeli rodzaj zapytania to YesNo. We
wszystkich typach oprócz Numeric i ForcedChoice istnieje możliwość wyboru
odpowiedzi, która nie ustala wartości warunku(opcja „I don't know/would rather not
answer")

. Jest on traktowany przez moduł wnioskujący jako nieznany. W bazie

wiedzy zapytanie AllChoice wygląda następująco:

PROMPT [Czyn

niki łagodzące ból w klatce] AllChoice CF

"Jakie są czynniki łagodzące ból w klatce?"
"Nitrogliceryna"
"Środki przeciwbólowe"
"Zaprzestanie wysiłku"
"Pozycja siedząca"
"Pozycja siedząca i pochylenie do przodu"
"B

rak czynników"

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

28

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

W bazie wiedzy musi wystąpić przynajmniej jedno stwierdzenie deklarujące cel
wnioskowania.

Rozpoczyna się słowem GOAL, po którym następuje para

nawiasów kwadratowych ze znajdującym się między nimi atrybutem konkluzji
jednej z

reguł. Deklaracja celu lub celów wnioskowania w bazie musi wystąpić po

regułach i może być zapisany przed lub po zapytaniach(PROMPT). Poprawnie
zapisanie celu:

GOAL [Rozpoznanie]

Oprócz wyżej wymienionych komponentów w bazie wiedzy można

zadeklarować wartość domyślną dla każdej przesłanki, maksymalną liczbę
odpowiedzi branych pod uwagę przy zapytaniu typu AllChoice i minimalną wartość
współczynnika pewności dla wszystkich rodzajów zapytań, aby odpowiedź mogła
zostać wzięta pod uwagę jako fakt. Zapis wartości domyślnych wygląda
następująco:

DEFAULT

[Wypełnienie tętna] = „W normie”


Maksymalną liczbę odpowiedzi można zadeklarować na dwa sposoby:

MAXVALS [Czynniki łagodzące ból w klatce] 4
MAXVALS [Czynniki łagodzące ból w klatce] = 4

Do ustawienia minimalnego współczynnika pewności(CF) służy zapis:

MINCF X

Gdzie X jest dowolną liczbą z zakresu od 0 do 100. Domyślnie wartość minimalna
CF wynosi 80.

Gdy w regule występują dwie przesłanki, współczynnik pewności

obliczany jest na podstawie iloczynu,

natomiast w przypadku ustalenia wartości

atrybutu z kilku źródeł(zapytanie i kilka zagnieżdżonych reguł) do kalkulacji
używana jest suma probabilistyczna(podrozdział 3.5 „Reprezentacja wiedzy”).

W trakcie sprawdzania poprawności utworzonej bazy wiedzy przydatne jest

używanie modułu wyjaśniającego oraz dodanie parametru o nazwie „DEBUG” z
ustawioną wartością TRUE. Parametr ten tworzy okno służące do odnajdywania i
usuwania usterek.

Za pomocą funkcji Trace is ON/OFF możliwe jest śledzenie

procesu inferencji. Display KB dump

wyświetla aktualny status przesłanek i reguł

w trakcie wnioskowania.

Stan przesłanki składa się z jej nazwy, wartości, typu

zamkniętego w nawiasach okrągłych(S dla typu tekstowego, N dla liczbowego i B
jako wartość logiczna), współczynnika pewności warunku oraz wskaźnik, czy
przesłanka jest prawdziwa bądź nie. Reguły prezentowane są w całości wraz z
dołączonym statusem. Status reguły może być nieznany(U), odpalony(F), gdy
przesłanki reguły okażą się prawdziwe lub fałszywy(X), w przypadku
niemożliwości dowiedzenia prawdziwości reguły. Opcja Analyze KB pozwala
sprawdzić poprawność bazy wiedzy, czy nie wystąpiły w niej błędy
typograficzne(tzw. literówki) i logiczne. Po naciśnięciu tego przycisku widoczne są
dwie sekcje:

ATTRIBUTE USAGE

– wyświetla wszystkie atrybuty w kolejności

alfabetycznej z zaznaczeniem,

które zapytanie lub reguła wyznacza jego

wartość i w jakiej regule dany atrybut został użyty.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

29

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

VALUE USAGE

– pokazuje wartości typu tekstowego, także ułożone w

szeregu alfabetycznym. Po wartości, zamkniętej między cudzysłowami
,znajduje się długość ciągu tekstowego. Widoczne jest także miejsce
występowania danej wartości(przesłanka reguły, konkluzja reguły,
zapytanie) oraz

powiązanym z nią atrybutem.

Rys. 14. Okno odnajdywania i usuwania usterek e2gRuleEngine.

Podstawowym językiem apletu e2gRuleEngine jest język angielski. W sytuacji,

gdy trze

ba zaimplementować system ekspertowy w innym języku, przydatne

okazuje się stwierdzenie TRANSLATE, po którym następuje nazwa atrybutu, jaki
chcemy przetłumaczyć oraz jego wartość zamknięta w cudzysłowie. Do
poprawnego działania programu z bazą wiedzy w innym języku niż angielski
potrzebne jest dopisanie parametru apletu o nazwie KBENCODING. Parametr ten
określa jakiego kodowania tekstu użyto do utworzenia bazy wiedzy i umożliwia jej
poprawne odczytanie modułowi wnioskującemu oraz wyjaśniającemu. Nazwy
at

rybutów

dla

TRANSLATE

znajdują

się

na

stronie

http://expertise2go.com/e2g3g/e2g3gdoc/e2gref.htm

.

Wszystkie

możliwe

funkcje

szkieletowego

systemu

ekspertowego

e2gRuleEngine, także te, które nie zostały opisane w pracy znajdują się na stronie
wymienionej na początku bieżącego rozdziału.

5

Budowa systemu ekspertowego wspomagającego decyzje
medyczne

Konstrukcja systemu ekspertowego zostanie przedstawiona krok po kroku

według etapów opisanych w podrozdziale 3.4 o tytule „Etapy tworzenia systemu
ekspertowego

”. Schemat budowy systemu ekspertowego wspierającego decyzje

medyczne zostanie pokazany na

przykładzie jednej choroby, zawału serca typu

STEMI z towarzyszącym wstrząsem kardiogennym. Choroba ta znajduje się w

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

30

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

bazie wiedzy o nazwie kardiolog.kb, a

powyższy schemat posłużył do budowy

wszystkich baz wiedzy znajdujących się w systemie.

Pie

rwszą fazą budowy systemu była identyfikacja problemu. W pierwszym

etapie należy określić cel, zadania systemu ekspertowego oraz potencjalne źródło
wiedzy, które posłuży do budowy bazy wiedzy systemu. W celu identyfikacji
problemu zostanie utworzony raport, który zapoczątkuje proces tworzenia systemu
ekspertowego.

W raporcie znajdują się następujące elementy:

Cel

– zbudować system ekspertowy wspomagający decyzje medyczne

lekarza dyżurującego w szpitalnym oddziale ratunkowy(w skrócie SOR).

Rozwiązanie – w systemie zostaną zaimplementowane cztery bazy wiedzy
odpowiadające wiedzy czterech specjalistów z następujących dziedzin
medycyny:

 Kardiologa

– choroby układu sercowo – naczyniowego.

 Neurolog

– choroby obwodowego i ośrodkowego układu nerwowego.

Chirurgia ogólna – choroby leczone operacyjnie.

 Pulmonologia

– choroby układu oddechowego.

Zadaniem programu b

ędzie odnalezienie rozpoznania głównego choroby i

rozpoznania towarzyszącego chorobie, jeżeli wystąpiło oraz zalecenie
odpowiedniego postępowania na podstawie faktów. W przypadku tego
systemu fakty to objawy jakie zostaną zidentyfikowane w trakcie konsultacji
lekarza SOR z pacjentem

oraz te, które zostały wywnioskowane z reguł

zagnieżdżonych w trakcie inferencji. Dane(fakty) będą wprowadzane na
zasadzie dialogu

systemu z użytkownikiem, którym będzie powyższy

dyżurny medyk. Do budowy systemu zostanie wykorzystany szkieletowy
system ekspertowy e2gRuleEngine.

Wiedza

– z powodu braku ekspertów wiedza musiała zostać uzyskana z

innych źródeł. Źródłem tym była literatura

o tematyce medyczne. Pierwszą

z nich jest książka o tytule „Griffith 5 minut konsultacji klinicznej”[4], która
jest zbiorem chorób, ich objawów i metod leczenia, druga o nazwie
„Medycyna ratunkowa” dokładnie opisuje przypadki chorób możliwych do
wystąpienia u pacjentów zgłaszających się do Szpitalnego Oddziału
Ratunkowego.

Zapotrzebowanie

– nie dotyczy systemu ekspertowego budowanego do

pracy dyplomowej.

Infrastruktura

– system ekspertowy musi być zintegrowany z aplikacją

obsługi przyjęć pacjentów do SOR, która działa w architekturze klient –
serwer z interfejsem użytkownika typu cienki klient. Cienki klient to
komputer bądź terminal komputerowy z zainstalowanym oprogramowaniem
klienckim do obsługi aplikacji znajdującej się na serwerze. W przypadku
aplikacji obsługi przyjęć pacjentów do SOR interfejs użytkownika
uruchamiany jest w oknie przeglądarki internetowej. Jak już zostało
wspomniane, narzędzie e2gRule jest napisane w technologii Java aplet,
która umożliwia uruchomienie tego programu za pomocą przeglądarki
internetowej,

a cały kod źródłowy apletu znajduje się na serwerze.

Narzędzie to doskonale nadaje się do budowy systemu ekspertowego
współdziałającego z aplikacją klient - serwer. Do działania obu programów
jest wymagany serwer i

średniej klasy komputer PC z zainstalowaną

wirtualną maszyną Javy do obsługi apletu. Na serwerze musi być
zainstalowane oprogramow

anie Apache Web do obsługi aplikacji

internetowych z możliwością obsługi skryptowego języka programowania

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

31

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

PHP w wersji co najmniej 5.1 i

systemem zarządzania relacyjnymi bazami

danych MySQL 5.1.

Koszty

– narzędzie e2gRuleEngine jest bezpłatne podobnie jak wymienione

we wcześniejszym punkcie oprogramowanie Apache Web, PHP oraz
MySQL, więc implementacja obu programów(systemu ekspertowego i
aplikacji obsługi przyjęć pacjentów do SOR) nie wiąże się kosztami.

Po udanej identyfikacji problemu

następuje faza pozyskiwania wiedzy, która

składa się z dwóch etapów. Pierwszy z nich to nabywanie i dokumentacja wiedzy,
drugi polega na modelowaniu zdobytej wiedzy.

Już wiemy z poprzedniej fazy

budowy systemu ekspertowego, że rozwiązaniem problemu będzie skierowanie
celu w

nioskowania programu na rozpoznanie choroby z jaką trafił pacjent do SOR,

możliwego rozpoznania towarzyszącego chorobie i zalecenia co do postępowania
lekarza

(użytkownika systemu). Do udokumentowania mamy stan chorobowy:

zawał serca typu STEMI z towarzyszącym mu wstrząsem kardiogennym. W
każdej chorobie występuje zbiór charakterystycznych objawów, więc
dokumentację wiedzy rozpoczynamy od ich ustalenia. Dla czytelniejszego zapisu
podzielimy objawy na podmiotowe(subiektywne) i przedmiotowe(obiektywne), w
tra

kcie tworzenia bazy wiedzy podział ten nie będzie 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 skóry, sprawdzenie częstości bicia serca itp. Objawy
podmiotowe zawału serca typu STEMI to:

Ból zlokalizowany w klatce piersiowej zamostkowo, rozlany(trudny do

zlokalizowania).

Ból ma charakter ściskania

,

ucisku, nagłego bólu, tępego ucisku.

Trwa

dłużej niż 20 minut.

Brak jest czynników nasilających oraz łagodzących ból(np. lek

nitrogliceryna).

Do objawów przedmiotowych zaliczamy:

Podwyższone troponiny(wynik większy niż 0.03 ug/l)

Uniesienia odcinka ST w badaniu EKG w co najmniej dwóch kolejnych

odprowadzeniach. Uniesienie to w oprowadzeniach przedsercowych(V1-
V6)

musi

być

większe

niż

lub

równe

0,1

mV

lub

w

kończynowych(I,II,III,aVF,aVR,aVL) większe niż 0,2 mV.

W przypadku rozległego zawału serca może towarzyszyć mu wstrząs
kardiogenny, którego objawy przedmiotowe charakteryzują się:

Zaburzeniami świadomości, pacjent jest splątany.

Napięcie tętna jest miękkie.

W

ypełnienie tętna jest małe lub nitkowate.

Oddech pacjenta

jest szybki i głęboki.

Występują zaburzenia oddawania moczu(anuria lub oliguria).

Z powodu dysfunkcji

obwodowego układu krwionośnego skóra pacjenta jest

zimna.

Niedociśnienie tętnicze.

We wstrząsie kardiogennym nie występują charakterystyczne objawy podmiotowe,
więc nie zostały wzięte pod uwagę w dokumentowaniu wiedzy.

Po udokumentowaniu powyższej wiedzy należy rozbić dany problem(zawał

serca z towarzyszącym mu wstrząsem kardiogennym) na podproblemy i

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

32

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

wyodrębnić z nich obiekty, atrybuty i wartości. Po dekompozycji otrzymujemy
następujące podproblemy:

Ból w klatce występujący przy zawale serca.

Uniesienie odcinka ST.

Zaburzenia oddawania moczu.

Niedociśnienie tętnicze

Ból u pacjenta może wystąpić w różnych miejscach, więc dokonujemy rozbicia
podproblemu

bólu w klatce zapisując obiekt o nazwie ból, którego atrybut to:

Lokalizacja bólu, a jej wartości, to miejsca, gdzie pacjent może odczuwać

ból: głowa, żuchwa, szyja, ramiona, klatka piersiowa, nadbrzusze, brzuch,
plecy, lewa kończyna górna, prawa kończyna górna, lewa kończyna dolna,
prawa kończyna dolna lub pacjent może nie zgłaszać dolegliwości
bólowych.

W

ten sposób uzyskujemy następną trójkę obiekt – atrybut – wartość. Następnie

możemy wrócić do problemu znajdującego się wyżej w hierarchii, jest to ból w
klatce występujący przy zawale serca. Dla klarownego i krótkiego zapisu
nazwiemy ten obiekt Ból zawałowy. Składa się on z następujący atrybutów i
wartości:

Subiektywne odczuwanie

bólu w klatce piersiowej(ból opisywany przez

pacjenta)

z wartościami: ucisk, ściskanie, nagły ból, tępy ucisk.

Charakter bólu w klatce, który przyjmuje następujące wartości: rozlany.

Umiejscowienie bólu w klatce piersiowej: zamostkowo.

Czas trwania bólu w klatce: dłużej niż 20 minut.

Czynniki nasilające ból w klatce piersiowej: nie występują.

Czynniki łagodzące ból w klatce piersiowej: nie występują.

Po określeniu obiektów z danej dziedziny wiedzy(medycyna) można przystąpić do
jawnej reprezentacji wiedzy, czyli jej modelowaniu. W normalnych warunkach etap
ten zostałby przeprowadzony po zdefiniowaniu większości obiektów, aczkolwiek
dla

klarowności zapisu faza ta zostanie przedstawiona po zdefiniowaniu każdego

obiektu dotyczącego zawału oraz wstrząsu kardiogennego. Modelowanie będzie
przyjmować postać tabel decyzyjnych, ponieważ można łatwo sformalizować je w
postaci reguł produkcyjnych, z których będą składały się bazy wiedzy systemu
ekspertowego wspomagającego decyzje medyczne. Tabela decyzyjna 10
przedstawia

zbiór wartości, jakie muszą zostać spełnione, aby konkluzje zostały

uznane za prawdziwe w przypadku bólu w klatce oraz bólu zawałowego.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

33

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Tab. 11. Tabela de

cyzyjna bólu w klatce i bólu o charakterze zawałowym.

Warunki

Lokalizacja bólu

Klatka
piersiowa

Ból w klatce
zawałowy

występuje występuje występuje

Subiektywne
odczuwanie

bólu

w klatce
piersiowej

ucisk

ściskanie

nagły ból

tępy ucisk

Charakte

r bólu w

klatce piersiowej

rozlany

rozlany

rozlany

Rozlany

Umiejscowienie
bólu w klatce
piersiowej

za
mostkowo

za
mostkowo

za
mostkowo

za
mostkowo

Czas trwania bólu
w klatce

dłużej niż
20 minut

dłużej niż
20 minut

dłużej niż
20 minut

dłużej niż
20 minut

Czynniki
nasilające ból w
klatce piersiowej

nie
występują

nie
występują

nie
występują

nie
występują

Czynniki
łagodzące ból w
klatce piersiowej

nie
występują

nie
występują

nie
występują

nie
występują

Konkluzje
Ból w klatce

w

ystępuje

(true)

Ból w klatce
zawałowy

w

ystępuje

(true)

w

ystępuje

(true)

w

ystępuje

(true)

w

ystępuje

(true)

Następnym w kolejności podproblemem było uniesienie odcina ST. Jest to

objaw zawału serca typu STEMI, z tego powodu następny obiekt będzie nosił
nazwę STEMI. Obiekt ten będzie składał się z atrybutów i wartości:

Uniesienia odcinka ST

: występuje(true).

Liczba uniesień ST większa niż dwa kolejne odprowadzenia: prawda(true).

Wysokość uniesienia odprowadzeń kończynowych (I,II,III,aVF,aVR,aVL):

>= 0,1 mV.

Wysokość uniesienia odprowadzeń przedsercowych(V1-V6): > 0,2 mV.

Jawna reprezentacja powyższego obiektu została przedstawiona w tabeli 11(Str.
34).

Zaburzenia oddawania moczu to kolejny obiekt z, którego można 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 występują, zależy od ilości oddawanego moczu w ciągu

doby(atrybut obiektu anuria, oliguria, dobowe oddawanie moczu w normie)
przyjmuj

ącej różne wartości dla każdego z tych atrybutów. Model zaburzeń

oddawania moczu ukazuje tabela 12(Str. 34).

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

34

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Tab. 12. Tabela decyzyjna obiektu STEMI.

Warunki
Uniesienia odcinka
ST

występuje(true)

występuje(true)

występuje(true)

L

iczba uniesień ST

większa niż dwa
kolejne
odprowadzenia

prawda(true)

prawda(true)

prawda(true)

Wysokość
uniesienia
odprowadzeń
kończynowych
(I,II,III,aVF,aVR,aVL)

>= 0,1 mV

>= 0,1 mV

Wysokość
uniesienia
odprowadzeń
przedsercowych(V1-
V6)

> 0,2 mV

> 0,2 mV

Konkluzje
STEMI

występuje(true)

występuje(true)

występuje(true)


Tab. 13

. Tabela decyzyjna obiektów zaburzenia oddawania moczu, stan

oddawania moczu, anuria, oliguria, dobowe oddawanie moczu w normie.
Warunki
Ilość
oddawanego
moczu w
ciągu doby

< 500 ml
na dobę

< 100
ml na
dobę

>=

500 ml na dobę

Stan
oddawania
moczu

oliguria

Anuria

Konkluzje
Stan
oddawania
moczu

oliguria

anuria dobowe

oddawanie moczu
w normie

Zaburzenia
oddawania
moczu

w

ystępuje

(true)

w

ystępuje

(true)

Ostatnim

z wydzielonych podproblemów wstrząsu kardiogennego jest

niedociśnienie tętnicze. Niedociśnienie tętnicze(tabela decyzyjna Str. 35) jest
rozpoznaniem stanu

ciśnienia tętniczego pacjenta składającego się z ciśnienia

skurczowego oraz rozkurczowego,

a ich wartości dla hipotensji(niedociśnienia) są

następujące:

Ciśnienie skurczowe < 90 MmHg(ciśnienie słupa rtęci).

Ciśnienie rozkurczowe < 50 MmHg.

W trakcie przekształcania obiektów na tabele decyzyjne dochodzi do zmiany tróki
obiekt

– atrybut – wartość na parę składającą się z atrybutu i wartości, co ułatwi

późniejszą formalizację wiedzy w postaci reguł.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

35

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011


Tab. 14

. Tabela decyzyjna Niedociśnienia tętniczego

Warunki
Ciśnienie skurczowe

< 90 MmHg

Ciśnienie rozkurczowe

< 50 MmHg

Konkluzje
Niedociśnienie tętnicze

występuje(true)

Po przeanalizowaniu wszystkich podproblemów możemy w końcu wrócić do

problemów głównych, jakimi są zawał serca typu STEMI oraz wstrząsu
karodiogennego.

Po usunięciu nieistotnego podziału na objawy podmiotowe i

przedmiotowe atrybuty i wartości zawału serca typu STEMI prezentują się
następująco:

Ból w klatce zawałowy: występuje(true).

STEMI : występuje(true).

Troponiny: > 0.03 ug/l.

Przesłanki wstrząsu kardiogenngo także uległy zmianie:

Stan świadomości: splątany.

Wypełnienie tętna: małe lub nitkowate.

Napięcie tętna: miękkie.

Charakterystyka oddechu pacjenta

: szybki i głęboki.

Zaburzenia oddawania moczu: występują(true).

Temperatura skóry: obniżona.

Niedociśnienie tętnicze: występuje(true).

Jak zos

tało już wcześniej wspomniane celem wnioskowania systemu

ekspertowego

jest

znalezienie

rozpoznania,

możliwego

rozpoznania

towarzyszącego oraz zalecenia postępowania. Rozpoznanie to nic innego jak
zawał serca typu STEMI, rozpoznaniem towarzyszącym zawałowi serca jest
wstr

ząs kardiogenny. Obie choroby w powyższy sposób zostaną opisane w tabeli

decyzyjnej problemu głównego(tabela numer 14 Str.35) wraz z zaleceniem. Jawna
reprezentacja tych dwóch przypadków kończy przykład ukazania etapu nabywania
wiedzy. Z prz

ykładu wynika, że jest to trudny proces wymagający ciągłej

współpracy z ekspertem bądź przeszukiwania i analizowania innych źródeł. Etap
ten może zostać ułatwiony przez automatyzację pozyskiwania wiedz,
automatyzacja wymaga jednak opracowania specjalistycznego oprogramowania
przez inżyniera wiedzy co nie należy do najłatwiejszych zadań.











background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

36

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Tab. 15. Jawna reprezentacja wiedzy o Zawa

le serca typu STEMI i wstrząsie

kardiogennym.

Warunki
Ból w klatce zawałowy

występuje(true)

wy

stępuje(true)

STEMI

występuje(true)

występuje(true)

Troponiny

0.03 ug/l

0.03 ug/l

Stan świadomości

splątany

splątany

Wypełnienie tętna

małe

nitkowate

Napięcie tętna

miękkie

miękkie

Charakterystyka
oddechu pacjenta

szybki i głęboki

szybki i głęboki

Zaburzenia oddawania
moczu

występują(true)

występują(true)

Temperatura skóry

obniżona

obniżona

Niedociśnienie tętnicze występuje(true)

występuje(true)

Konkluzje
Rozpoznanie

zawał serca typu STEMI

zawał serca typu STEMI

Rozpoznanie
towarzyszące

wstrząs kardiogenny

wstrząs kardiogenny

Zalecenia

Pilna angioplastyka
wieńcowa

Pilna angioplastyka
wieńcowa

Przechodzimy do następnej fazy, którą według schematu etapów tworzenia
systemu ekspertowego(rys. 5. Str. 13) jest reprezentacja wiedzy. Do budowy bazy
wiedzy zostanie użyta technika reguł produkcyjnych z współczynnikiem
pewności(CF) w konkluzji wynoszącym 95%, które zostaną utworzone na
podstawie tabel decyzyjnych z poprzedniego etapu procesu projektowania
systemu ekspertowego. Na podst

awie powyższych tabel decyzyjnych została

stworzona poniższa baza wiedzy:

1.

Jeżeli lokalizacją bólu jest klatka piersiowa to u pacjenta występuje ból w

klatce z 95% pewnością.

2.

Jeżeli u pacjenta występuje ból w klatce piersiowej i subiektywnym

odczuwaniem bólu przez pacjenta jest ucisk lub ściskanie lub nagły ból lub
tępy ucisk i charakter bólu w klatce piersiowej jest rozlany i ból w klatce
piersiowej umiejscowiony jest za mostkowo i czas trwania bólu w klatce
piersiowej jest dłuży niż 20 minut i czynniki łagodzące ból w klatce
piersiowej nie występują i czynniki łagodzące ból w klatce piersiowej nie
występują to ból w klatce piersiowej ma charakter zawałowy 95%
pewnością.

3.

Jeżeli uniesienia odcinka ST występują i liczba uniesień ST większa niż

dwa kolejne odprowadzenia w

ystępuje i wysokość uniesienia odprowadzeń

kończynowych (I,II,III,aVF,aVR,aVL) jest większa lub równa 0,1 mV i
wysokość uniesienia odprowadzeń przedsercowych(V1-V6) jest większa niż
0,2 mV to STEMI występuje z 95% pewnością.

4.

Jeżeli uniesienia odcinka ST występują i liczba uniesień ST większa niż

dwa kolejne odprowadzenia występuje

i wysokość uniesienia odprowadzeń

kończynowych (I,II,III,aVF,aVR,aVL) jest większa lub równa 0,1 mV to
STEMI występuje z 95% pewnością.

5.

Jeżeli uniesienia odcinka ST występują i liczba uniesień ST większa niż

dwa kolejne odprowadzenia występuje i wysokość uniesienia odprowadzeń

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

37

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

przedsercowych(V1-

V6) jest większa niż 0,2 mV to STEMI występuje z 95%

pewnością.

6.

Jeżeli ilość oddawanego moczu w ciągu doby jest mniejsza niż 500 ml/dobę

to stanem oddawania moczu jest oliguria

z 95% pewnością.

7.

Jeżeli ilość oddawanego moczu w ciągu doby jest mniejsza niż 100 ml/dobę

to stanem oddawania moczu jest anuria

z 95% pewnością.

8.

Jeżeli ilość oddawanego moczu w ciągu doby jest większa niż lub równa

500

ml/dobę to stanem oddawania moczu jest dobowe oddawanie moczu w

normie

z 95% pewnością.

9.

Jeżeli stanem oddawania moczu jest anuria lub oliguria to zaburzenia

oddawania moczu występują z 95% pewnością.

10.

Jeżeli ciśnienie skurczowe jest mniejsze niż 90 MmHg i ciśnienie

rozkurczowe jest mniejsze niż 50 MmHg to niedociśnienie tętnicze
występuje z 95% pewnością.

11.

Jeżeli ból w klatce zawałowy występuje i STEMI występuje i troponiny są

wyższe niż 0,03 ug/l i stanem świadomości pacjenta jest splątanie i
wypełnienie tętna jest małe lub nitkowate i napięcie tętna jest miękkie i
charakterystyka oddechu pacjenta jest szybka i głęboka i zaburzenia
oddawania moczu występują i temperatura skóry jest obniżona i
niedociśnienie tętnicze występuje to rozpoznaniem jest zawał serca typu
STEMI

z 95% pewnością i rozpoznaniem towarzyszącym jest wstrząs

kardiogenny

z 95% pewnością i zalecane czynności to pilna angioplastyka

wieńcowa.

Niektóre nazwy atrybutów zostały zmienione, aby reguły były bardziej czytelne.
Tak utworzoną bazę wiedzy może w końcu sformalizować według zasad z
rozdziału 4 „Opis narzędzia e2gRuleEngine do budowy systemów ekspertowych”
w etapie implementacji wiedzy

. Baza wiedzy może zostać umieszczona na

serwerze bezpośrednio lub za pośrednictwem edytora administratora aplikacji
obsługi przyjęć pacjentów do szpitalnego oddziału ratunkowego. Reguły w bazie
e2gRuleEnigne ułożone są w innej kolejności, dlatego mają inne numery niż w
etapie reprezentacji wiedzy oraz niektóre z nich musiały zostać podzielone na
kilka reguł(w e2gRuleEnigne mogą być stosowane tylko te same operatory
logiczne).

Powyżej przedstawione reguły w bazie wiedzy kardiolog wyglądają

następująco:

RULE [nr 29]
If [Lokalizacja bólu] : "klatka piersiowa"
Then [Ból w klatce] = true

RULE [nr 31]
If [Ból w klatce] = true and
[Subiektywne odczuwanie bólu w klatce] = "ucisk" and
[Charakter bólu w klatce piersiowej] = "rozlany" and
[Umiejscowienie bólu w klatce piersiowej] = "za mostkowo" and
[Czas trwania bólu w klatce] = "dłużej niż 20 minut" and
[Czynniki nasila

jące ból w klatce piersiowej] : "nie występują" and

[Czynn

iki łagodzące ból w klatce piersiowej] : "nie występują"

Then [Ból w klatce zawałowy] = true

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

38

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

RULE [nr 32]
If [Ból w klatce] = true and
[Subiektywne odczuwanie bólu w klatce] = "ściskanie" and
[Cha

rakter bólu w klatce piersiowej] = "rozlany" and

[Umiejscowienie

bólu w klatce piersiowej] = "za mostkowo" and

[Czas trwania bólu w klatce] = "dłużej niż 20 minut" and
[Czynniki nasilające ból w klatce piersiowej] : "nie występują" and
[Czynn

iki łagodzące ból w klatce piersiowej] : "nie występują"

Then [Ból w klatce zawałowy] = true

RULE [nr 33]
If [Ból w klatce] = true and
[Subiektywne odczuwanie bólu w klatce] = "nagły ból" and
[Charakter bólu w klatce piersiowej] = "rozlany" and
[Umiejscowienie b

ólu w klatce piersiowej] = "za mostkowo" and

[Czas trwania bólu w klatce] = "dłużej niż 20 minut" and
[Czynniki nasilające ból w klatce piersiowej] : "nie występują" and
[Czyn

niki łagodzące ból w klatce piersiowej] : "nie występują"

Then [Ból w klatce zawałowy] = true

RULE [nr 34]
If [Ból w klatce] = true and
[Subiektywne odczuwanie bólu w klatce] = "tępy ucisk" and
[Charakter bólu w klatce piersiowej] = "rozlany" and
[Umiejscowienie bólu w klatce piersiowej] = "za mostkowo" and
[Czas trwania bólu w klatce] = "dłużej niż 20 minut" and
[Czynniki nasilające ból w klatce piersiowej] : "nie występują" and
[Czyn

niki łagodzące ból w klatce piersiowej] : "nie występują"

Then [Ból w klatce zawałowy] = true

RULE [nr 35]
If [Uniesienia odcinka ST] = true and
[Liczba unie

sień ST większa niż dwa kolejne odprowadzenia] = true and

[Wysokość uniesienia odprowadzeń kończynowych (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 większa 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 większa niż dwa kolejne odprowadzenia] = true and
[Wysokość uniesienia odprowadzeń kończynowych (I,II,III,aVF,aVR,aVL)] >= 0.1

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

39

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Then [STEMI] = true and
[NSTEMI] = false

RULE [nr 69]
If [Ilość oddawanego moczu w ciągu doby] < 500
Then [Stan oddawania moczu] = "oliguria"

RULE [nr 70]
If [Ilość oddawanego moczu w ciągu doby] < 100
Then [Stan oddawania moczu] = "anuria"

RULE [nr 71]
If [Ilość oddawanego moczu w ciągu 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 [Ciśnienie skurczowe] < 90 and
[Ciśnienie rozkurczowe] < 50
Then [Niedociśnienie] = true

RULE [nr 1]
If [Ból w klatce zawałowy] = true and
[NSTEMI] = true and
[Troponiny] > 0.03 and
[Stan świadomości] = "splątany" and
[Wypełnienie tętna] = "małe" and
[Napięcie tętna] = "miękkie" and
[Temperatura skóry] = "obniżona" and
[Niedociśnienie] = true and
[Zaburzenia oddawania moczu] = true and
[Chrakterstyka oddechu pacjenta] = "szybki i głęboki"
Then [Rozpoznanie] = "Zawał serca typu NonSTEMI" @ 95 and
[Rozpoznania towarzyszące] = "Wstrząs kardiogenny" @ 95 and
[Zalecenia] = "Pilna angioplastyka wieńcowa"

Aby fakty,

które nie są konkluzjami innych reguł, mogły przyjąć określone wartości

w bazie wiedzy,

muszą wystąpić zapytania z ustawioną maksymalną liczbą

odpowiedzi dla typu AllChoice. Zapytania

prezentują się następująco:


PROMPT [Stan świadomości] MultChoice CF
"Jaki jest stan świadomości pacjenta?"

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

40

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

"splątany"
"senny"
"w normie"
"pobudzony"
"agresywny"

PROMPT [Lokalizacja bólu] AllChoice CF
"Gdzie pacjent lokalizuje ból?"
"głowa"
"żuchwa"
"szyja"
"ramiona"
"klatka piersiowa"
"nadbrzusze"
"brzuch"
"plecy"
"lewa kończyna górna"
"prawa kończyna górna"
"prawa kończyna dolna"
"lewa kończyna dolna"
"Pacjent nie zgłasza dolegliwość bólowych"

PR

OMPT [Subiektywne odczuwanie bólu w klatce] MultChoice CF

"Jaki jest charakter bólu w klatce?"
"ucisk"
"ciężkość"
"pieczenie"
"ściskanie"
"rozdzieranie"
"

kłucie"

"nagły ból"
"tępy ucisk"
"przeszywający"

PROMPT [Charakter bólu w klatce piersiowej] MultChoice CF
"Jaki jest chara

kter bólu?"

"miejscowy"
"rozlany"

PROMPT [Umiejscowienie bólu w klatce piersiowej] MultChoice CF
"Jakie jest umiejscowienie bólu w klatce piersiowej"
"lewa strona klatki piersiowej"
"prawa strona klatki piersiowej"
"za mostkowo"
"prz

ednia ściana klatki"


PROMPT [Czas trwania bólu w klatce] MultChoice CF
"Jaki jest czas trwania bólu?"
"krócej niż 3 minuty"
"od 3 do 15 minut"

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

41

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

"dłużej niż 20 minut"
"wiele godzin"
"dłużej niż kilka dni"

PROMPT [Uniesienia odcinka ST] YesNo CF
"Czy występuje uniesienie odcinka ST w wyniku badania EKG?"

PROMPT [Liczba uniesień ST większa niż dwa kolejne odprowadzenia] YesNo CF
"Czy uniesienia ST znajdują się w co najmniej dwóch odprowadzeniach?"

PROMPT

[Wysokość

uniesienia

odprowadzeń

kończynowych

(I,II,III,aVF,aVR,aVL)] Numeric CF
"O ile mV

uniesione są odprowadzenia kończynowe (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 nasilające ból w klatce piersiowej] AllChoice CF
"Jakie czynniki wpływają na nasilenie bólu w klatce?"
"wysiłek fizyczny"
"zimno"
"zmęczenie poposiłkowe"
"stres"
"połykanie"
"intensywne wymioty"
"skręcenie tułowia"
"głęboki wdech"
"kaszel"
"pozycja leżąca"
"nadciśnienie tętnicze"
"nie występują"

PROMPT [Czynn

iki łagodzące ból w klatce piersiowej] AllChoice CF

"Jak

ie są czynniki łagodzące ból w klatce?"

"nitrogliceryna"
"środki przeciwbólowe"
"zaprzestanie wysiłku"
"pozycja siedząca"
"pozycja siedząca i pochylenie do przodu"

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

42

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

"nie występują"

PROMPT [Wypełnienie tętna] MultChoice CF
"Jakie jest wypełnienie tętnicy promieniowej w trakcie badania tętna?"
"duże"
"małe"
"nitkowate"

PROMPT [Napięcie tętna] MultChoice CF
"Jakie jest napięcie tętna?"
"twarde"
"miękkie"

PROMPT [Temperatura skóry] MultChoice CF
"Jaka jest temperatura skóry?"
"w normie"
"obniżona"
"podwyższona"

PROMPT [Ilość oddawanego moczu w ciągu doby] Numeric CF
"Ile moczu oddaje pacjent w ciągu doby"
"0.0"
"1000.0"

PROMPT [Charakterystyka oddechu pacjenta] MultChoice CF
"Jak opiszesz oddech pacjenta?"
"szybki i głęboki"
"szybki i płytki"
"wolny i głęboki"
"wolny i płytki"

PROMPT [Ciśnienie skurczowe] Numeric CF
"Jakie jest ciśnienie skurczowe(0-270 MmHg)?"
"0.0"
"270.0"

PROMPT [Ciśnienie rozkurczowe] Numeric CF
"Jakie jest ciśnienie rozkurczowe(0-170 MmHg)?"
"0.0"
"160.0"

MAXVALS [Lokalizacja bólu] 11
MAXVALS [Czynniki nasilające ból w klatce piersiowej] 4
MAXVALS [Czyn

niki łagodzące ból w klatce piersiowej] 5


W bazie musi również wystąpić deklaracja celu lub celów

:

GOAL [Rozpoznanie]
GOAL [Rozpoznania towarzyszące]
GOAL [Zalecenia]

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

43

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011


Przydatne okazuj

e się także ustawienie minimalnego współczynnika pewności dla

odpowiedzi użytkownika. Jeżeli użytkownik ustawi współczynnik poniżej tego
minimum odpowiedź nie będzie traktowana jako fakt i nie zostanie dołączona do
pamięci podręcznej. System ekspertowy wspomagający decyzje medyczne będzie
akceptował odpowiedzi jako fakty przy minimalnym CF wynoszącym 80%:

MINCF 80

Do uruchomienia systemu ekspertowego w aplikacji obsługi przyjęć posłuży
poniższy kod będący 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 służy do wczytania wybranej bazy wiedzy. Po
zaimplementowaniu wiedzy do naszego systemu ekspertowego możemy
przystąpić do następnego etapu, którym jest testowanie systemu. Czynność ta
z

ostanie opisana w następnym rozdziale.

6 Testowanie systemu

Testowanie aplikacji, podobnie jak budowa systemu ekspertowego, jest

czynnością wymagającą czasu oraz dużej ilości dokumentacji, dlatego w bieżącym
rozdziale zostanie opisany jeden z przeprowadzonyc

h testów współdziałania i

poprawności działania obu aplikacji, programu do obsługi przyjęć pacjentów do
od

działu SOR i systemu ekspertowego wspomagającego decyzje medyczne.

Środowiskiem testowym dla interfejsu użytkownika po stronie klienta będzie laptop
o parametrach

znajdujących się w tabeli 15.





background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

44

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Tab. 16

. Parametry laptopa użytego do testów systemu.

Podzespoły

Parametry

Processor

Intel® Core™ 2 Duo T7500

Taktowanie rdzenia procesora

2.2 GHz

Ilość pamięci RAM

2 gb

Typ pamięci RAM

So-dimm ddr2 (667 MHz)

Pojemność dysku twardego

250 GB

Obrót napędu

5,400 Obr./min

Karta graficzna

ATI Mobility™ Radeon® HD2600

Ekran LCD

15,4’’

System operacyjny

MS Windows 7 Professional

Przeglądarka internetowa

Opera 11.01


Kody źródłowe obu aplikacji zostaną umieszczone na serwerze udostępnionym
przez firmę hostingowi 1&1 Internet Sp. z o.o.

Aby uruchomić interfejs aplikacji wpisujemy w oknie przeglądarki adres URL i

wchodzimy w moduł dla pielęgniarki. Przyjmujemy nowego pacjenta.

Rys. 15

. Przyjęcie pacjenta.

Następnie loguje się lekarz i używamy przycisku Konsultacje, aby wyświetlić

tabelę z pacjentami, których historia wymaga uzupełnienia lub trzeba skorzystać z
systemu ekspertowego wspomagającego decyzje medyczne, ponieważ żaden
specjalista z innych oddziałów nie jest dostępny. Pacjent trafił na oddział z
następującymi objawami:

Objawy podmiotowe:

Ból zlokalizowany w klatce piersiowej za mostkowo.

Ból jest rozlany, a pacjent odczuwa ucisk w klatce piersiowej.

 Z

wywiadu wynika, że ból trwa dłużej niż 20 minut i żadne czynniki

go nie łagodzą, ani nie nasilają.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

45

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Objawy przedmiotowe:

W EKG występuje uniesienie odcinka ST w dwóch kolejnych

odprowadzeniach kończynowych, wynosi 0,4 mV.

 Badanie

krwi wykazało podwyższone troponiny(0.7 ug/l).

Tętno pacjenta jest miękkie i nitkowate, jego oddech szybki i głęboki,

skóra wilgotna.

Ciśnienie skurczowe wynosi 80 MmHg a rozkurczowe 45 MmHg.

Pacjent jest splątany z trudem odpowiada na zadawane pytania.

Temperatura skóry jest obniżona.

Pacjent oddał mocz w ciągu doby o objętości przybliżonej półtora

szklanki

wody(około 300 ml).

O w

ynikach badań krwi lekarz został poinformowany telefonicznie, gdyż moduł

laboratoryjny pozwalający wprowadzać wyniki pacjenta nie został jeszcze
zaimplementowany.

Rys. 16. Panel konsultacyjny.

Lekarz uruchamia system ekspertowy przyciskiem Konsultacja i inicjuje

działanie systemu ekspertowego. Wybiera odpowiednią bazę wiedzy(kardiolog) i
rozpoczyna konsultację z systemem.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

46

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Rys. 17

. Interfejs systemu ekspertowego z rozpoczętą konsultacją.

Po zakończeniu „dialogu” lekarza z systemem ekspertowym i podaniu przez

niego wszystkich objawów pacjenta wyświetla się wynik konsultacji.

Rys. 18. Wniosek systemu ekspertowego.

System r

ozpoznał chorobę pacjenta, którą jest zawał serca typu STEMI z

towarzyszącym mu wstrząsem kardiogennym i zalecił odpowiednie postępowanie.
Po naciśnięciu przycisku wytłumacz wyświetla się cały proces, w jaki sposób
sy

stem doszedł do rozwiązania(na podstawie jakich faktów i reguł został

osiągnięty cel wnioskowania). Test został zakończony powodzeniem.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

47

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Rys. 19

. Moduł wyjaśniający systemu ekspertowego.

Aplikacja obsługi przyjęć pacjentów do SOR została wyposażona w prosty edytor
bazy wiedzy. Po zalogowaniu się do modułu administratora uzyskujemy możliwość
edycji baz wiedzy zapisanych na serwerze.

Rys. 20. Edytor bazy wiedzy.

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

48

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

7 Podsumowanie

Systemy ekspertowe

stanowią ciągle rozwijającą się dziedzinę sztucznej

inteligencji.

Niestety te związane z medycyną, z bazą wiedzy rozwijaną przez kilka

lat,

nie osiągnęły 100% sprawności doświadczonego eksperta. Powyżej

zaprojektowany i zaimplementowany system ekspertowym jest tylko przy

kładem w

jaki sposób systemy te mogą zostać wykorzystane w medycynie i jak za pomocą
darmowych narzędzi można stworzyć programy, które w przyszłości mogą okazać
się użyteczne i dochodowe.

Cel pracy został osiągnięty. System ekspertowy wspomagający decyzje

medyczne został zbudowany i zintegrowany z aplikacją obsługującą przyjęcia
pacjentów do szpitalnego oddziału ratunkowego. Wykorzystanie narzędzia
e2gRuleEngine pozwoliło na łatwe zbudowanie systemu ekspertowego bez
ponoszenia kosztów. Aplet e2gRuleEngine jest ciągle rozwijany, połączenie tego
apletu z aplikacją zbudowaną w oparciu architekturę klient – serwer ułatwia
wymianę jego starszej wersji na nowszą z poprawionymi błędami i dodatkowymi
funkcjami bez naruszenia reszty systemu.

Dodatkowo aplikacja obsługi przyjęć

pacjentów została wyposażona w edytor baz wiedzy, którego nie posiada
e2gRuleEngine.

Jednakże medyczne systemy ekspertowe powinny być raczej wykorzystywane

do diagnozowania, niegroźnych powszechnie występujących schorzeń, które
można wyleczyć w domu bez wizyty u lekarza. Pozwoli to zaoszczędzić, czas,
pieniądze. Tam, gdzie liczy się czas, gdzie trzeba szybko i skutecznie udzielić
pomocy w stanie zagrożenia życia i zdrowia, systemy ekspertowe wspomagające
decyzje medyczne nie sprawdzi się z powodu ograniczeń, jakie narzuca interfejs
użytkownika systemu. Do szybkiej i wygodnej komunikacji w powyższym
przypadku wymagana byłaby komunikacja werbalna systemu z człowiekiem.
Właśnie w tym kierunku powinien podążać rozwój systemów ekspertowych po to,
by z

atrzeć różnicę między ekspertem-człowiekiem a ekspertem – programem.

Bibliografia

[1]

Red. Sobol E.: Nowy słownik języka polskiego. Wydawnictwo Naukowe PWN.

Warszawa 2002

[2] Red. Owoc. L

: Elementy systemów ekspertowych cz I. Wydawnictwo Akademii

ekonomi

cznej im. Oskara Langego we Wrocławiu. Wrocław 2006

[3]

Korbicz J., Kościelny J., Kowalczuk Z., Cholewa W.: Diagnostyka procesów.
Modele. Metody sztucznej inteligencji. Zastosowania., Wydawnictwo Naukowo-
techniczne, Warszawa 2007

[4] Dambro M. R.: Griffith 5 minut konsultacji klinicznej, Wydawnictwo Medyczne

Urban & Partner, Wrocław 2006

[5] Pousada L., Osborn H.H., Levy D.B.:Medycyna ratunkowa, Wydawnictwo

Medyczne Urban & Partner, Wrocław 1999

Źródła 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

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

49

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

[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 rysunków

Rys. 1. Struktura systemu ekspertowego.

................................................................................... 9

Rys. 2. Moduł wyjaśniający programu PC-Shell. ..................................................................... 10

Rys. 3. Edytor e2gRuleWriter do budowy bazy wiedzy dla e2gRuleEngine.

....................... 11

Rys. 4. Interfejs systemu ekspertowego zbudowanego za pomocą narzędzia
e2gRuleEngine.

............................................................................................................................. 12

Rys. 5. Etapy tworzenia systemu ekspertowego.

..................................................................... 13

Rys. 6. Diagram OAV obiektu Książka. ..................................................................................... 14

Rys. 7. Drzewo decyzyjne.

........................................................................................................... 15

Rys. 8. Diagram przepływu. ......................................................................................................... 15

Rys. 9. Przykład sieci semantycznej. ......................................................................................... 16

Rys. 10. Przykładowa rama. ........................................................................................................ 18

Rys. 11. Schemat blokowy wnioskowania wstecz.

.................................................................. 20

Rys. 12. Schemat działania stosu celi modułu wnioskowania. .............................................. 22

Rys. 13. Diagram wnioskowania indukcyjnego.[13]

................................................................. 23

Rys. 14. Okno odnajdywania i usuwania usterek e2gRuleEngine.

....................................... 29

Rys. 15. Przyjęcie pacjenta.......................................................................................................... 44

Rys. 16. Panel konsultacyjny.

...................................................................................................... 45

Rys. 17. Interfejs systemu ekspertowego z rozpoczętą konsultacją. .................................... 46

Rys. 18. Wniosek systemu ekspertowego.

................................................................................ 46

Rys

. 19. Moduł wyjaśniający systemu ekspertowego. ............................................................. 47

Rys. 20. Edytor bazy wiedzy.

....................................................................................................... 47

Spis tabel

Tab. 1. Po

równanie ekspertyzy sztucznej z naturalną. ............................................................. 8

background image

Budowa systemu ekspertowego wspomagającego decyzje medyczne

50

Konrad Strzelec – Inżynierska praca dyplomowa – WSTT w Świdnicy 2011

Tab. 2. Tablica decyzyjna

............................................................................................................. 14

Tab. 3. Baz wiedzy programu AWARIA.

.................................................................................... 19

Tab. 4 . Rozpoczęcie wnioskowania wstecz. ............................................................................ 20

Tab. 5. Kolejny etap wnioskowania wstecz.

.............................................................................. 21

Tab. 6. Wnioskowanie wstecz po usunięciu ze stosu atrybutu zbiornik paliwa. .................. 21

Tab. 7. Wnioskowania w przód. Ustalenie faktów przez użytkownika .................................. 23

Tab. 8. Wnioskowanie w przód. Aktualizacja bazy faktów. ..................................................... 24

Tab. 9. Operatory przypisania wartości atrybutu. ..................................................................... 26

Tab. 10. Typy zapytań e2gRuleEngine ...................................................................................... 27

Tab. 11. Tabela decyzyjna bólu w klatce i bólu a charakterze zawałowym. ........................ 33

Tab. 12. Tabela decyzyjna obiektu STEMI.

............................................................................... 34

Tab. 13. Tabela decyzyjna obiektów zaburzenia oddawania moczu, stan oddawania
moczu, anuria, oliguria, dobowe oddawanie moczu w normie.

.............................................. 34

Tab. 14. Tabela decyzyjna Niedociśnienia tętniczego ............................................................. 35

Tab. 15. Jawna reprezentacja wiedzy o Zawle serca typu STEMI i wstrząsie
kardiogennym.

................................................................................................................................ 36

Tab. 16. Parametry laptopa użytego do testów systemu. ....................................................... 44


Wyszukiwarka

Podobne podstrony:
pytania, systemy ekspertowe, Pytanka dyplomowe
praca dyplomowa budowa chipsetu serii radeon?00 I5JVXKCF2N7YDTTZOIX3MLL46XDNFTY4TU5KWZY
praca dyplomowa ?zpieczeĺƒstwo?nych w sieciowych systemach komputerowych [inzynierska] 5AVN62WTY3RD
Elektrownia wiatrowa w systemie energetycznym Pomiary, zjawiska, ocena [PRACA DYPLOMOWA MAGISTERSKA]
Praca dyplomowa Sieć komputerowa w oparciu o system Linux i protokół Samba- calosc, Zespół Szkół Pon
Praca Dyplomowa BezpieczeĹ stwo SystemĂłw Komputerowych A Hakerzy, prace doktorskie, magisterskie, P
PRACA DYPLOMOWA - SYSTEM HACAP - SPIS TREŚCI, TEMATY PRAC DYPLOMOWYCH Z BHP
in afynierska+praca+dyplomowa+ opracowanie+koncepcji+i+implementacja+systemu+wspomagaj b9cego+zarz b
Prezentacja praca dyplom
Praca dyplomowa Strona tytułowa etc
PRACA DYPLOMOWA BHP - ORGANIZACJA PRACY W PSP, TEMATY PRAC DYPLOMOWYCH Z BHP
praca dyplomowa 1 strona wzor, Szkoła, prywatne, Podstawy informatyki
d druku BIBLIOGRAFI1, cykl VII artererapia, Karolina Sierka (praca dyplomowa; terapia pedagogiczna z
Praca dyplomowa(1)
tranda, na studia, systemy ekspertowe
streszczenie panelu, Prace dyplomowe i magisterskie, praca dyplomowa, materiały z internetu
Kilka refleksji na temat budowania systemu motywowania uczniów do nauki
SEM 2 Systemy logistyczne Praca semestralna (A5)

więcej podobnych podstron