ZASADY BUDOWY
SYTEMU EKSPERTOWEGO
Prowadzący:
Urszula Zajkowska dr Z.Sosnowski
Od czasów powstania pierwszego komputera dążono do zbudowania maszyny mogącej zastąpić człowieka nie tylko pod względem fizycznym, ale i intelektualnym. Stworzono wiele maszyn przewyższających jednostkę ludzką pod względem siłowym jak również sprawnościowym. Jednak podstawowym pytaniem jest „czy komputer może zastąpić istotę myśląca?”. Odpowiedź wydaje się jednoznaczna. Inteligencja, czyli zdolność rozumienia, kojarzenia, pojętność, bystrość; zdolność znajdowania właściwych, celowych reakcji na nowe zadania i warunki życia, sprawnego zdobywania i wykorzystywania wiedzy [6] nie może być w żaden sposób zastąpiona przez maszynę. Zgodnie ze stanowiskiem filozofii przysługuje on wyłącznie człowiekowi.
Jednak nie powstrzymało to ekspertów, którzy postanowili złamać wszelkie zasady i rozpocząć pracę nad sztuczną inteligencją. Postanowili opracować program komputerowy, który wykonuje złożone zadania o dużych wymaganiach intelektualnych i robi tak dobrze jak człowiek, będący ekspertem w tej dziedzinie - zwany systemem ekspertowym. Zasada jego działania zbliżona jest do toku rozumowania człowieka będącego ekspertem w danej dziedzinie, który na podstawie posiadanej wiedzy potrafi analizować sytuacje i wyciągać wnioski. Postawiony w ten sposób problem nie jest do końca skonkretyzowany, bowiem istota ludzka podlega także pewnym ograniczeniom i to nie tylko wynikających z jej fizyczności, ale również z zasady funkcjonowania umysłu, który nie jest w stanie postrzegać wielu zdarzeń jednocześnie. Komputer i system ekspertowy nie posiadają takich ograniczeń, w wyniku, czego sprawdzają się o wiele lepiej w niektórych sytuacjach np.: przy pracach na stacjach kosmicznych, na dnie morza jak również w wielu innych ekstremalnych przypadkach. Rośnie zatem zapotrzebowanie na systemy pracujące w czasie rzeczywistym i niezależne od warunków. Dlatego też system ekspertowy możemy pojmować jako program przeznaczony do rozwiązywania specjalistycznych problemów wymagający oceny eksperta. Inną definicja przedstawia system ekspertowy jako układ składający się z trzech niezależnych fizycznie części, współpracujących ze sobą:
- bazy wiedzy;
- kontrolera wywodu;
- interfejsu;
mających zastąpić pracę eksperta[2].
Wobec czego stwierdzamy, że podstawą do budowy sytemu ekspertowego jest uznanie: zarówno budowa systemu jak i jego przeznaczenie są równoważne i tak samo znaczące.
Systemy ekspertowe można podzielić na trzy ogólne kategorie.
Systemy doradcze, które wspomagają pracę eksperta w danej dziedzinie, dzięki czemu pozyskiwana jest większa efektywność pracy i zyska cennego czasu eksperta mogącego zajmować się zadaniami bardziej skomplikowanymi.
Systemy podejmujące decyzje bez kontroli człowieka, gdzie zarówno system jak i użytkownik ma możliwość komunikacji przy pomocy stawianych pytań i możności wybrania rozwiązania. Kiedy nie istnieje taka możliwość, system staje się dyktatorem wyznaczającym tylko jedno rozwiązanie bez udziału człowieka. Znajdują one wykorzystanie w sytuacjach, kiedy człowiek jest ograniczony ze względu na swoje aspekty fizyczne.
Systemy krytykujące, czyli systemy posiadające zasób wiedzy pozwalający na określenie
problemu jak i jego rozwiązanie. System dokonuje w tym przypadku tylko analizy i komentuje uzyskane rozwiązanie. Podstawowymi cechami każdego rodzaju systemu ekspertowego powinno być umiejętność modyfikowania sposobu wykonania działań, racjonalne uzasadnianie otrzymanych wniosków, wyjaśnianie toku postępowania na żądanie użytkownika jak i możliwość zadawania pytań przez system, w celu wybrania właściwej drogi wnioskowania [5]. Systemy ekspertowe powinny mieć również możliwość działania w sytuacjach, gdy ich baza wiedzy nie jest kompletna, lub jest niepewna. Równie ważna jest komunikacja z użytkownikiem, która powinna odbywać się w jak najprostszy sposób i w języku zrozumiałym dla przeciętnego człowieka. Prowadzone są prace nad opracowaniem jak najbardziej przyjaznego interfejsu, który ma zapewnić łatwy dostęp do informacji. Inną dziedziną jest rozwiązywanie problemów NP.-zupełnych .
Przeszkodą główną w opracowaniu teoretycznym powyższych problemów są ograniczenia czasowe, które działają na niekorzyść programistów zajmujących się tworzeniem systemów ekspertowych. Problem sprowadza się do rozwiązań teoretycznych i możliwości opracowania algorytmów kreujących rozwiązania. Dla problemów zupełnych złożoność obliczeniowa jest funkcją wykładniczą ich rozmiarów. Zjawisko takie określane jest mianem eksplozji kombinatorycznej. Najnowsze systemy wykorzystują różnorodne sposoby reprezentacji wiedzy. Najczęściej stosowana jest reprezentacja wiedzy za pomocą reguł. Liczba tych reguł w sposób jednoznaczny określa wielkość systemu. Systemy posiadające około tysiąca reguł są uważane za systemy średniej, lub wręcz małej wielkości, przykładem może być system Serum Protein/EXPORT, który zawiera osiemdziesiąt dwie reguły. Natomiast posiadające powyżej tej granicy są postrzegane jako duże. Znów jako przykład może posłużyć nam R1/XCON przeznaczony do konfiguracji systemów komputerowych VAX, zawiera on około trzy i pół tysiąca reguł. Rzadziej stosowanymi sposobami reprezentacji wiedzy są reguły, ramy, sieci semantyczne, sieci bayesowskie, czy też scenariusze. Istnieją systemy, które łączą ze sobą kilka sposobów reprezentacji wiedzy np.: reguł i ram -ELAS. Żeby jednak zapisać w jakiś sposób wiedzę należy najpierw ją pozyskać od eksperta, który często znajduje rozwiązanie na podstawie informacji o problemie oraz na swoim doświadczeniu [1]. Budowa systemu ekspertowego różni się w znacznym stopniu od tworzenia zwykłego programu na podstawie specyfikacji problemu. Wymaga ona przede wszystkim ścisłej współpracy eksperta oraz inżyniera wiedzy. W wyniku ich pracy powstają prototypy, które są testowane i ulepszane aż do uzyskania zamierzonego celu. Dla uproszczenia zapisu faktów w bazie wiedzy oraz przyspieszenia procesu wyszukiwania faktów stosuje się słownik nazw obiektów, atrybutów oraz ich wartości. Identyfikacja poszczególnych obiektów może odbywać się za pomocą etykiet bez konieczności wielokrotnego przetwarzania łańcuchów znakowych. Zaletą tego rozwiązania jest również możliwość tworzenia synonimów nazw, czy też opisów definicji używanych nazw. Jest ono wykorzystywane przy systemach przeznaczonych dla szerokiego grona użytkowników oraz dla systemów tworzonych w celach dydaktycznych.
Zaczynając jednak od najwcześniejszego etapu powstania systemu ekspertowego należy wziąć po uwagę wszystkie aspekty jego przeznaczenia. Najbardziej pracochłonne są przeprowadzane wywiady, akwizycja wiedzy i planowanie, natomiast testowanie i implementacja zajmuje stosunkowo niewielki fragment czasu. Podstawą do rozpoczęcia pracy jest pozyskanie i strukturalizacja wiedzy eksperta, bądź ekspertów. Musi być więc to zadanie opłacalne zarówno z perspektywy eksperta jak i zleceniodawcy. Niektóre rozwiązania mogą być przedstawione za pomocą zwykłego konwencjonalnego programu, co pochłania znacznie mniejsze fundusze. Oczywiście równie ważnym faktem jest eksploatacja systemu i możliwość jego zastosowań. Oszczędność czasu i powtarzanie analogicznych ekspertyz jest bardziej efektywne i twórcze dla osób korzystających z pomocy takiego typu programu.
Lata siedemdziesiąte przyniosły rozwój systemów i związanych z nimi aspektami programowania. Nacisk położono na bazy wiedzy, które zostały uznane za podwaliny i główną jednostkę systemu. Dokonano nawet stwierdzenia, iż „ im pełniejsza jest wiedza, tym szybciej uzyskuje się rozwiązanie”. Tak, więc problem z posiadaniem pełnej wiedzy tkwi w bazie wiedzy, a nie w sposobie realizacji procesu wnioskowania systemu ekspertowego. Oznacza to, że aby zbudować inteligentny program, należy go wyposażyć w dużą ilość dobrej jakości, specyficznej wiedzy o danym przedmiocie[4].
Jednostką odpowiadającą za proces konstruowania systemów ekspertowych jest inżynieria wiedzy. Dziedziną tą zajmuje się grupa ekspertów, którzy mają za zadanie pozyskiwanie i strukturalizacje wiedzy, oraz jej przetwarzanie. Często prowadzi to również do rozwoju metodologii i narzędzi budowy systemów ekspertowych. Dziedzina ta zajmuje się pozyskiwaniem i strukturalizacją wiedzy ekspertów. Następnie dopasowania i wyborem odpowiednich metod wnioskowania i wyjaśniania rozwiązywanych problemów, jak i projektowania odpowiednich interfejsów między programami, a użytkownikiem. Można w ten sposób prześledzić poszczególne etapy powstawania systemu.
Baza wiedzy stanowi odseparowaną część systemu, zawierającej m.in. sterowanie wiedzą, do czego stosuje się odpowiednie mechanizmy wnioskowania. Dzięki czemu możemy ją stosować wymiennie i uzyskiwać w ten sposób nowe systemy ekspertowe z inną jednostką bazy wiedzy. Ograniczeniem jest jednak fakt, że nowa wiedza musi być reprezentowana w taki sam sposób jak wiedza poprzednia. Należy tu podkreślić, że nie istnieje system ekspertowy bez bazy wiedzy. Posiadana wiedza określa jednoznacznie przeznaczenie systemu i rodzaj jego zastosowań. Jako, że jest ona również odseparowana łatwiej można ją modyfikować i rozbudowywać niezależnie od pozostałych struktur. Aby utworzyć taką bazę należy pozyskać wiedzę od ekspertów. Schematy pozyskiwania wiedzy powinny zmniejszać czas budowy bazy wiedzy oraz umożliwić weryfikację otrzymanej wiedzy pod kątem jej niesprzeczności, zupełności jak i eliminacji nadmiarowych informacji. Wiedze taką możemy otrzymać na podstawie obserwacji, doświadczeń, przykładów, instrukcji, analogii, bądź też na podstawie zapisanej wiedzy. Obserwacja i pewien statyczny opis pozwala uzyskać wiedzę z pominięciem eksperta. Doświadczenie, bądź też praktyczne przykłady to najczęściej stosowana metoda przy budowie systemów ekspertowych. Współudział ekspert jest w tym wypadku większy ponieważ to on przygotowuje przykłady i kontrprzykłady, czuwa nad optymalnością przebiegu badania, oraz redukuje niebezpieczeństwo zbyt daleko idących uogólnień, lub zbytniej szczegółowości. Pozyskiwanie wiedzy na podstawie instrukcji wymaga wzajemnej współpracy między ekspertem, a systemem. Polega ona na wskazaniu źródeł wiedzy, sposobu korzystania z niej i jej zastosowania. Metoda oparta na analogii polega na transformacji istniejącej wiedzy tak, aby można nią było opisać podobne obiekty. Uzyskana w ten sposób nowa wiedza dołączana jest do bazy wiedzy. Bezpośrednie zapisywanie wiedzy nie wymaga od systemu żadnego działania i sprowadza się do prostego zapamiętywania. Nie bez znaczenia jest także forma zapisu tej wiedzy. Tak zwana reprezentacja wiedzy w systemie powinna stanowić niezależny od znaczenia rozpatrywanej informacji ogólny formalizm zapisu. Przyjęcie odpowiedniej reprezentacji wiedzy w systemie, umożliwiającej przekształcenie trudnych, złożonych zadań w zadania prostsze. Jest to niezbędny warunek do uzyskania większej efektywności i wydajności systemu. Technika zapisu zależy od warunków jakie ma spełniać system oraz od formy posiadanej wiedzy. Pod uwagę należy też wziąć problemy związane z zapisem informacji warunkowych, sprzecznych itp. Wyróżniamy dwa typy reprezentacji wiedzy. Reprezentacja proceduralna określa zbiór procedur, których działanie reprezentuje wiedzę. Znalazła ona zastosowanie przy opisach stałych, niezmiennych obiektów o niezbyt dużej złożoności. W wypadku zmiany opisu obiektu cała struktura wymaga przebudowy i znacznie się rozrasta, co świadczy o jej sztywności i słabej rozszerzalności. Reprezentacja deklaratywna to zbiór reguł i faktów, które występują jako niezależny element systemu, prze co można ją w łatwy sposób modyfikować.
Drugim elementem systemu ekspertowego jest maszyna wnioskująca. Opisany powyżej charakter możemy przedstawić jako dwu blokowy rysunek :
Rys.1 OGÓLNA STRUKTURA SYSTEMU EKSPERTOWEGO
rys.2 PODSTAWOWE BLOKI SYSTEMU EKSPERTOWEGO
Kontroler wywodu odpowiada za rozwiązywanie problemu, czyli za zastosowanie metawiedzy i wiedzy, obsługę sytuacji wyjątkowych i sposobie wnioskowania. System ekspercki pozbawiony tego elementu nie jest w stanie zastosować posiadanej wiedzy, innymi słowem nie istnieje [4].
Zajmując się szczegółowo analizą zasad budowy systemów ekspertowych należy dogłębnie przyjrzeć się jego architekturze. Możemy w niej wyróżnić następujące podstawowe elementy:
-baza wiedzy;
-baza danych;
-procedury wnioskowania - maszyna wnioskująca;
-procedury objaśniania ;
-procedury sterowania dialogiem -procedury wejścia / wyjścia umożliwiają formułowanie zdań przez użytkownika i przekazywanie rozwiązania przez program;
-procedury umożliwiające rozszerzenie oraz modyfikację wiedzy - pozyskiwanie wiedzy.
Uwzględniając te elementy strukturę systemu ekspertowego można przedstawić w postaci schematu:
rys. 3 GŁÓWNE ELEMENTY SYSTEMU EKSPERTOWEGO
Użytkownik konsultujący się z systemem ekspertowym oczekuje pełnej i kompetentnej analizy problemu, taka konfrontacja często zwana jest również sesją [4]. Jednostką umożliwiającą wymianę informacji między człowiekiem, a maszyną jest interfejs. Stanowi on również nieodzowne narzędzie realizacji systemu. Jego forma ma duży wpływ na jakość udzielanych ekspertyz, ponieważ łatwość obsługi i umiejętność porozumienia z użytkownikiem stanowią klucz do rozwiązania problemów.
Systemy z odseparowanymi bazami wiedzy od pozostałych modułów programu nazywamy systemami opartymi na bazie wiedzy. Często wykorzystywane są jako systemy wspomagające podejmowanie decyzji. System ekspertowy podczas swojego działania korzysta z bazy wiedzy. Powinien mieć on możliwość jej modyfikacji podczas współpracy z użytkownikiem, oraz możliwość rozszerzenia zarówno o nową wiedzę, jak i o nowe zadania, które ma realizować. Wiedza ta może być przechowywana w różnej postaci, ważne jest to, że na jej podstawie dokonuje się wnioskowania w systemie. Jeśli wiedza jest rozległa, może być podzielona na kilka poziomów, wówczas zawartość wyższych poziomów to metawiedza, czyli wiedza dotycząca wiedzy na niższych poziomach. Jednak nie zawsze system mający odseparowaną bazę wiedzy jest systemem ekspertowym. Na przykład programy niektórych gier nie są zaliczane do systemów ekspertowych [4].
rys. 4 PROCES POZYSKIWANIA WIEDZY
Dopiero sformalizowana i usystematyzowana wiedza może być wprowadzona do bazy wiedzy systemu ekspertowego. Odbywa się to różnymi sposobami, na przykład przez inżyniera wiedzy. Pozyskiwanie jej jest bardzo pracochłonnym zajęciem i wymagającym dokładnej analizy i znajomości przeznaczenia systemu. Do rozwiązania problemów potrzebna jest szczegółowa wiedza, która wymagana jest od osób elokwentnych i będących ekspertami w danej dziedzinie. Nie zawsze jednak takie osoby posiadają wiedzę dogłębną. Należy się wiec także liczyć z możliwością konfrontacji wiedzy z innymi osobami zaznajomionymi z tematem badań. Największą precyzję i dokładną analizy otrzymujemy pozyskując wiedzę od kilku ekspertów. Daje nam to możliwość skonfrontowania niejasności i większy zasób wiedzy. Można w różny sposób wydobywać wiedzę. Zależy to od problemu od różnych typów implementacji. Jedną z metod jej pozyskiwania jest prowadzenie dialogu z ekspertem.
Nie bez znaczenia jest również narzędzie wykorzystane do budowy systemów. Prowadzi to do specjalizacji twórców systemu ekspertowego zgodnie ze schematem podanym na:
rys. 5 ROLE TWÓRCÓW SYSTEMU EKSPERTOWEGO
Od systemów ekspertowych oczekuje się pełnych i kompetentnych analiz i wniosków postawionego problemu. Często poprzeczka stawiana jest wyżej niż człowiekowi, który ma prawo do pomyłek, natomiast maszyna jako jednostka sztuczna nie posiada takiego prawa i ma być doskonała pod względem wydawanych ekspertyz Jakość pracy systemu powinna dorównywać, lub nawet przewyższać pracę człowieka. Głównym jej celem jest zastąpienie jednostki ludzkiej przy określaniu podstawowych wniosków i analiz. Wynika z tego oszczędność cennego czasu eksperta, a co za tym idzie zwiększenia czasu jego twórczej działalności. Dąży się do uzyskania systemów, które przewyższyły by intuicje eksperta danej dziedziny uzyskaną przez wieloletnie doświadczenie. Pod względem ograniczeń wynikających z natury fizycznej człowieka maszyny przewyższyły już w znacznym stopniu jego ograniczenie.
Niewątpliwie ekspertyza wykonana przez człowieka jest zajęciem kosztownym i nie dającym się przewidzieć. Tak samo jak pozyskanie wiedzy przez eksperta trudno jest ją udokumentować i zapisać formalnie. Ulega ona również przedawnieniu w miarę upływu czasu. Charakteryzuje się nie mniej jednak szerokim zakresem. Pewne cechy, które pozostają tylko w zakresie zmysłów człowieka odgrywają również niebanalną rolę przy wykonywaniu ekspertyzy. Największe znaczenie ma tu wyobraźnia jak i wiedza zdrowego rozsądku, które nie mogą być zastąpione przez maszynę. Przeciwnością są sztuczne ekspertyzy, które niewątpliwie są stałe, łatwe do przeniesienia i dokumentacji. Łatwość dostępu i zgodność z bazą wiedzy umożliwiają lepszy kontakt z użytkownikiem. Sztuczność takich systemów bywa jednak nie inspirująca i wymagająca wiele pracy poświęconej na wprowadzenie danych do systemu. Wiedza przetwarzana w sposób mechaniczny i jej wąski zakres, często jeszcze utrudnione porozumiewanie się z maszyna nie świadczą bynajmniej na korzyść sztucznej ekspertyzy.
Proces tworzenia systemu ekspertowego można podzielić na pięć etapów:
-identyfikacja-określenie charakterystyki systemu(np.: dziedzina, język, słownik);
-konceptualizacja-znalezienie pojęć dla przedstawienia wiedzy o problemie i języku;
-formalizacja-opracowanie struktur organizacji wiedzy o problemie i języku;
-realizacja-stworzenie reguł rozpoznawania znaczenia i wyrażających wiedzę;
-weryfikacja-proces testowania poprawności działania systemu;
Identyfikacja polega na sformułowaniu problemu, tj. ustaleniu dziedziny wiedzy, jej zakresu, wielkości słownika itd. Na tym etapie twórca systemu ekspertowego współpracuje z ekspertami w celu określenia podstawowych zagadnień. Ustala się również innych uczestników procesu tworzenia systemu, rodzaj i liczbę opcji oraz potrzebna środki. Na etapie koncepcji twórca wraz z ekspertem określają podstawowe pojęcia, relacji między nimi i sposoby przepływu informacji. Te informacje mają ścisły związek z dziedziną wiedzy, w której ma działać system ekspertowy. Formalizacja zagadnień jest na ogół rozumiana jako przedstawienie pojęć i relacji między nimi, języka i bazy wiedzy w pewnym formalizmie, który jest najczęściej językiem programowania. Wyróżniamy trzy podejścia do tworzenia ekspertowych systemów decyzyjnych. Są to:
1.klasyfikacja Bayesowska, czyli statystyczne rozpoznawanie obrazów,
2.dedukcja oparta na regułach,
3.indukcja na tzw. ramach(indukcja ramowa).
Statystyczna klasyfikacja obrazów to metoda, w której wiedza przedstawiona jest przede wszystkim z warunkowym prawdopodobieństwami oraz funkcjami wyróżniającymi, a wnioskowanie polega na liczeniu następnych prawdopodobieństw oraz liczeniu wyróżniających cech. Mechanizm wnioskowania w oparciu o twierdzenie Bayesa polega na obliczaniu prawdopodobieństwa każdego możliwego wyniku, gdy znany jest konkretny przypadek. Wadą tej metody jest to, że wymaga ona znajomości dokładnych wartości lub rozkładów prawdopodobieństw pojawienia się parametrów zjawiska, czyli problemu będącego przedmiotem rozwiązań. Innym problemem jest to ,że należy dokonać pewnych nierealistycznych założeń np.: w bayesowskiej klasyfikacji wymagane wyniki (np.: rozpoznawania) muszą się wzajemnie wykluczać. Niestety w wielu problemach mogą występować liczne podobne wyniki (np.: przy diagnostyce: pacjent może mieć wiele podobnych chorób). Innym założeniem, co prawda nie wymaganym przez twierdzenia Atesa, lecz wymuszonym przez praktykę jest statystyczna niezależność cech problemu. W bardzo wielu dziedzinach zastosowań cechy problemu nie są niezależne, więc założenie to może znacznie obniżyć skuteczność systemu. Kolejną wadą większości systemów statystycznych jest to, że przed zastosowaniem systemu trzeba posiadać wszystkie istotne informacje o danym przypadku. Może okazać się to nierealne, gdyż np.: w systemach diagnostycznych trzeba by najpierw wykonać wiele kosztownych testów. Jednak w uzasadnieniu wyżej wymienionych wad, systemy oparte na statystycznej klasyfikacji obrazów bardzo dobrze nadają się tam, gdzie wiedza jest niepełna, bądź niepewna. Ze względu na częstą niepewność oraz luki w ludzkiej wiedzy systemy oparte na tej metodzie wydają się bardzo potrzebna, jeśli nie niezbędne, co mocno podkreśla ich pozycję.
Drugą powszechnie stosowaną metodą tworzenia systemów ekspertowych, która pewną normę w sztucznej inteligencji, jest dedukcja oparta na regułach. Zastosowanie reguł pozwala na stosowanie wiedzy nienumerycznej, ponieważ nie jest wymagana dokładna znajomość opisywanych wyżej prawdopodobieństw. Niektórzy utrzymują, że reguły tworzą dobry model ludzkiego rozumowania, choć jest to wersja dość kontrowersyjna. Dedukcyjny system jet oparty na regułach postaci:
JEŻELI [PRZESŁANKI] WÓWCZAS [WNIOSKI]
Mechanizm wnioskowania składa się z tłumacza, który po podaniu szczegółowego zestawu cech problemu określa, które reguły należy zastosować, a następnie stosuje je w określonym porządku, prowadząc do konkluzji. Dedukcja może być wykonana na różne sposoby i w wielostopniowych procedurach dedukcji reguły mogą być wzajemnie zmienne. Nierzadko można dołączyć współczynnik pewności. Metoda ta umożliwia tworzenie łańcuchów związków, towarzyszących informacji wykorzystywanych w procesie dedukcji. Jako przykład może nam posłużyć program typu Mycin. Jedną z ujemnych stron dedukcji opartej na regułach jest trudność reprezentowania wiedzy w kategoriach zrozumiałych dla reguł, zwłaszcza gdy wiedza pochodzi z testów lub od ekspertów. Część trudności wynika z faktu, że kierunkowość tworzenia reguł może stwarzać pewne kłopoty. Innym źródłem trudności jest to, że przy stosowaniu kolejnych reguł trzeba brać cały dotychczasowy kontekst. Tymczasem istotność wcześniej ustalonych czynników nie zawsze jest oczywista, powstaje więc niebezpieczeństwo błędu opuszczenia, który polega na zaniechaniu w procesie dedukcji sprawdzania niektórych warunków, co do których nie ma jasno przewidywanych opisów cech problemu. Ponadto interpretacja niektórych cech problemu może być bardzo zależna od kontekstu. Istnieje wiele sposobów organizowania reguł i zwykle nie jest pewne a priori, który sposób jest najlepszy. Często kończy się na spisywaniu całego systemu reguł od początku. Kierunkowość czynników pewności może także stwarzać problemy w procesie tworzenia systemu.
Trzecią ważną metodą tworzenia systemów ekspertowych jest indukcja oparta na ramach. W tym przypadku wiedza z jakiejś konkretnej dziedziny przedstawiona jest w opisowych ramach informacyjnych, zaś wnioskowanie oparte jest na dwóch cyklach: stawienie hipotezy i test, które modelują ludzki sposób rozumowania. Ramy stanowią zestawienie opisów istotnych cech problemu, wyniki pomiarów itp. Ułożone w sposób podobny do tego, w jaki wypełnia się np. kartę zdrowia pacjenta. Podawszy jedną lub więcej początkowych cech problemu, system ekspertowy tworzy zestaw potencjalnych hipotez, które mogą wyjaśnić zaistniałe i podane systemowi cechy problemu. Hipotezy te są następnie testowane przez zastosowanie różnych procedur, które mierzą ich zdolność do obliczania znanych parametrów, oraz tworzenie nowych pytań, które pomogą wyróżnić jedną spośród wielu prawdopodobnych hipotez. Cykl jest następnie powtarzany z dodatkowo otrzymaną informacją.
Wnioskowanie polegające na szukaniu najlepszego wyjaśnienia jest często odnoszone właśnie do indukcji. Badania problemu prowadzą do tezy, że wnioskowanie diagnostyczne jest procesem stawiania kolejnych hipotez i ich testowania, stąd też pomysł, by budować systemy ekspertowe w oparciu o zasady klasyfikacji i diagnostycznego rozwiązywania problemów. Dla każdej możliwej przyczyny istnieje zespół objawów, które mogą być jej następstwem. Podobnie dla każdego możliwego objawu istnieje zespół przyczyn, które mogłyby ten objaw wyjaśnić. Po podaniu zbioru objawów mechanizm wnioskowania wyszukuje wszystkie możliwe zestawy przyczyn, które mogą wyjaśnić każdy z objawów. Zaletą indukcji opartej na ramach jest to, że dla wielu zastosowań ramy są łatwe i naturalne w opisie. Mogą być często brane prawie bezpośrednio z informacji opisowej zawartej w podręczniku lub opracowaniu. Inną cechą dodatnią jest to, że informacja w każdym wyniku umieszczona jest w jednej ramie, stąd w każdym wyniku można posłuży cię informacją zależną od kontekstu. Co więcej, w problemach diagnostycznych i innych wymagających wyboru metoda ta może być skuteczna nawet wtedy, gdy wymagane są wielorakie przyczyny wyboru. Algorytmy hipotezy i testu, często stosowane w indukcji opartej na ramach, skupiają się na uzyskaniu najbardziej prawdopodobnego wyniku, skutkiem tego system zwiera mniej pytań. Oczywistą zaletą jest krótszy czas trwania sesji. Ponadto, operator odczuwa większy komfort z zastosowania tego rodzaju systemów, ponieważ dobrze rozumie sposób wnioskowania zastosowany przez system. Obserwacje potwierdzają że indukcja oparta na ramach jest najbardziej eksperymentalną spośród trzech omawianych metod. Wiele technicznych kwestii dotyczących tej metody również pozostaje do rozwiązania. Moment, w którym następuje tworzenie pytań i proces kształtowania decyzji, zawsze pozostaje do ustalenia. Do wad metod można zaliczyć okoliczność, że brak ważnej informacji pozostaje niezauważony. Po, drugie sformułowanie pytania jakie może postawić użytkownik jest ciężkie do przewidzenia. Dla tworzenia pytań przyjęto wiele różnych podejść herustycznych, lecz wszystkie one wydają się jak dotychczas, ograniczone w swojej kompletności i podstawie teoretycznej.
Wybór właściwej metody tworzenia systemu ekspertowego powinien być poprzedzony porównawczą oceną dokładności różnorodnych systemów ekspertowych dla danej dziedziny. Większość wyników badań porównawczych wskazuje, że żadna z metod nie jest znacząco lepsza od pozostałych. Wykrywane różnice skuteczności metod należy przypisać raczej zróżnicowaniu informacji zawartych w bazach wiedzy niż w samych metodach. Wszystkie trzy metody posiadają wspólne wady i zalety, zaś każdą z nich można zastosować do każdego typu problemów. Cechą dodatnią wszystkich metod jest dobrze określona podstawa teoretyczna. Statystyczne rozpoznawanie obrazów oparte jest na teorii prawdopodobieństwa, dedukcja zasadza się na logice dedukcyjnej, zaś indukcja ramowa może być oparta na teorii zbioru pokrywającego, który tworzy formalną teorię wnioskowania typu diagnostycznego.
Konwencjonalna mądrość sztucznej inteligencji stanowi o tym, że systemy oparte na regułach, przy ich zdolnościach utrzymywania ograniczonej formy dopasowania odpowiedzi mają przewagę w zakresie tworzenia systemów ekspertowych Jednak ostatnio wykazano, że systemy oparte na klasyfikacji bayesowskiej mogą również szukać odpowiedzi przez analizowanie i przetwarzanie cech znamiennych problemów najbardziej odpowiedzialnych za względne ustawienie wyników. Zainteresowaniem badaczy cieszy się obecnie problem dopasowywania odpowiedzi w indukcyjnych systemach ekspertowych na podstawie opartych na analizie związków przyczynowych, zawartych w podstawie wiedzy. Literatura przedmiotu nie zawiera wielu wskazówek odnośnie wyboru metody tworzenia systemu ekspertowego, toteż zostaną opisane jedynie najważniejsze kryteria, wypracowane w kilku ośrodkach naukowych. Kryteria te oparte są o:
-wstępnie istniejącym formacie wiedzy użytkowej,
-typie obranej klasyfikacji,
-liczbie zależności kontekstowych, zawartych w każdym problemie.
Najważniejszym czynnikiem wyboru metody jest wstępnie istniejącym formacie wiedzy użytkowej. Zazwyczaj wymaga on pewnego nakładu pracy dla utrzymania bazy wiedzy w formie oryginalnej zamiast przekształcenia jej w inną reprezentację. Równie ważna jest obrana klasyfikacja. Niektóre problemy wymagają prawdopodobnych wnioskowań, lub też wniosków kategorycznych. Są również problemy wymagające zarówno tych pierwszych ja i drugich. Trzecim czynnikiem jest zależność sposobu wnioskowania od kontekstu. Jeśli wnioskowania zależą ściśle od niewielu cech wejściowych, wówczas najbardziej odpowiednią metodą może być dedukcja oparta na regułach. Z drugiej strony, jeśli wnioskowania zależą od wielu cech wejściowych, wówczas napisanie zestawu reguł może być zbyt trudne, ponieważ cały kontekst dla zastosowania każdej reguły musiałby być zawarty w warunkach tej reguły; preferowanym podejściem w tym wypadku będzie indukcja ramowa. Przyjmując nawet, że można by było rozpoznać a priori całość tego kontekstu, wynikająca z niego baza byłaby potencjalnie olbrzymim zestawieniem reguł.
Statystyczne rozwiązanie obrazów w klasyfikacji bayesowskiej nadaje się do zastosowania, gdy istotne są prawdopodobieństwa lub dane wymagane do ich wprowadzenia są łatwo osiągalne. Jak również wyniki, w których ma się ocenić prawdopodobieństwa wzajemnie się wykluczają, lub też wiedz jest niepewna lub niepełna. Nie bez znaczenia jest również fakt wyboru tej metody, gdy parametry wejściowe są niezależne od innych i gdy wymagane są wnioskowania prawdopodobne. Wydaje się, że właściwości te mogą być wykorzystywane w tworzeniu systemów dialogowych, dla systemów głosowej komunikacji człowieka-komputer, czy też systemów rozpoznawania obrazów rzeczywistych. Dedukcja oparta na regułach jest najbardziej właściwa, gdybała wiedzy jest już sformalizowana w postaci reguł lub tabeli, przeważa kategoryczny typ klasyfikacji oraz liczba zależności kontekstowych nie jest zbyt duża. Stosuje się ją do dobrze predefiniowanych kategorii. Natomiast indukcja ramowa stosowana jest, gdy format podstawy wiedzy jest opisowy, istnieje potrzeba mieszania metod klasyfikacji prawdopodobnej i kategorycznej oraz istnieje duża liczba zależności kontekstowych.
Poznaliśmy już podstawowe warunki, które muszą być spełnione przy budowie systemu ekspertowego, jak również jego ogólną budowę. Przyjrzyjmy się teraz szczegółowo zasadom budowy systemów ekspertowych.
Niewątpliwie system powinien podlegać zasadzie uniwersalności, czyli umiejętności rozwiązywania zadań z szerokiego zakresu wiedzy danej dziedziny. Nie osiągalna jest jeszcze możliwość stworzenia systemu, który zajmował by się kilkoma dziedzinami wiedzy. Istnieją tu zbyt wielkie rozbieżności w rodzajach wnioskowania i reguł w zakresie różnych dziedzin. Niewątpliwie jednak w przyszłości może stać się to możliwe. Aby to uzyskać system powinien zawierać wiele ogólnych rozwiązań mogących posłużyć przy rozwiązaniu kilku problemów. Swoim rozwiązaniem powinny obejmować nie tylko jasno skonkretyzowane zagadnienia, ale również te z pogranicza niejasności. Wadą takich systemów jest jednak zbyt ogólna diagnostyka i analiza zagadnień, co prowadzi do nie dokładnych ekspertyz. Następnym etapem rozwoju systemu ekspertowego jest zaprojektowanie jego złożoności. Jasny jest fakt, iż im bardziej system jest prosty i przejrzysty w swej budowie tym łatwiej jest go modyfikować i rozbudowywać. Nie da się jednak uniknąć komplikacji wynikających ze stopnia trudności postawionych zagadnień, a także z zakresu jego dziedziny. Występuje tu paradoksalne zjawisko, że problem niezbyt skomplikowany, o krótkim i mało rozgałęzionym drzewie przeszukiwań czyni konstrukcję systemu nie
opłacalną, ponieważ problem taki łatwiej jest rozwiązać używając zwykłych programów.
Opłacalność budowy zwykłego konwencjonalnego programu mogącego rozwiązać dany problem za pomocą ściśle określonych algorytmów przewyższa koszt budowy systemu ekspertowego zarówno pod względem funduszy jak i czasu poświęconego na ich konstrukcję. Istnieje także możliwość stworzenia systemu opartego o bazę wiedzy. Są to systemy, które jedynie wspomagają pracę człowieka ponieważ nie są w stanie zastąpić ludzkiej twórczości, czy też zdrowego rozsądku.
Jednostka ludzka potrafi analizować i poprawiać swoje błędy na podstawie niewłaściwego postępowania. Zdolność autoanalizy umożliwia wyjaśnienie i uzasadnienie ekspertyzy na każdym jej etapie. W przypadku sztucznej ekspertyzy polega to na przeglądaniu drzewa rozwiązań w kierunku wstecznym, tak jakby to było jeszcze jedno zadanie wymagające ekspertyzy. Niewątpliwie nie zastępuje to pełnego zrozumienia przez system postawionego przed nim zadania, ale w jakimś stopniu przypomina tok rozumowania ludzkiego. Człowiek na podstawie błędnej analizy i sprzeczności faktów z rzeczywistością rozpatruje zadanie od nowa. Odpowiednikiem tego postępowania w przypadku sztucznej inteligencji jest zmiana drogi w drzewie rozwiązania. W analizowaniu przez system własnego zachowania istotną rolę odgrywa tzw. moduł niesprzeczności. Do prowadzenia autoanalizy niezbędna jest możliwość rekonstrukcji pewnego ciągu wnioskowania.
Bezpośredni kontakt człowieka eksperta z użytkownikiem jest znacznie korzystniejszy zarówno w stosunku do użytkownika jak i do ekspertyzy postawionej przez eksperta.
Poziom udzielanych wyjaśnień zależy bowiem nie tylko od posiadanej przez eksperta wiedzy, ale również od osoby która je otrzymuje. Autoanaliza systemu jest czynnikiem niemożliwym do subiektywnego przeanalizowania i zmierzenia. Faktem jest stwierdzenie, że bez niej nie można stwierdzić czy system prawidłowo funkcjonuje czy też nie. Systemy czasu rzeczywistego muszą tak szybko reagować na zmienne warunki otoczenia, że prowadzenie dialogu z człowiekiem jest zwykle niemożliwe. Nie mniej jednak objaśnienia są ważnym elementem pracy systemu, a ich waga rośnie wraz ze wzrostem kosztów przyjęcia błędnego rozwiązania [4].
System ekspertowy, jeśli ma być efektywny, powinien ciągle rozszerzanie wiedzy o nowe fakty i reguły wnioskowania. Dokonywanie autoanalizy i możliwość samodoskonalenia bazy wiedzy jest jedną z bardzo pożądanych cech systemu. Umożliwia to autokreatywne udoskonalanie i możliwość rozwoju systemu. Bazy wiedzy projektowe są często jako wyodrębnione jednostki, które można w łatwy sposób wymienić lub zmodyfikować. Do mechanizmów umożliwiających udoskonalanie bazy wiedzy zalicza się :
Kontrolera niesprzeczności nowo wprowadzanych do baz wiedzy reguł z regułami w niej zawartymi i kontrolera zgodności reguł z nowo wprowadzonymi faktami mieszczą się w module niesprzeczności. Natomiast mechanizm oceny częstości stosowania poszczególnych reguł i mechanizm rozbudowy istniejącej bazy reguł poza zakres danej bazy wiedzy są wyodrębnionymi elementami, które należy wbudować jako dodatkową strukturę uczącą. Adaptacyjność nie jest wymagana dla zamkniętych dziedzin wiedzy, będzie natomiast konieczna w systemach dla tych dziedzin wiedzy, w których występuje duży stopień niepewności i niedostateczna, rozwijająca się baza danych.
Przykładem może nam posłużyć schemat diagnostyki uszkodzeń z wykorzystaniem systemu ekspertowego:
Diagnostyczny system ekspertowy można wykorzystać jako urządzenie działające automatycznie, lub jako urządzenie sterujące systemami pomiarowymi. Sterowanie systemami pomiarowymi musi jednak odbywać się przy ścisłej współpracy z człowiekiem.
Diagnostyczne systemy ekspertowe zbierające potrzebne informacje samodzielnie, nie są jeszcze znane. Istotnym wymaganiem na diagnostyczny system ekspertowy jest sprawny układ interfejsu, oraz zapewnienie możliwości współpracy człowieka z systemem ekspertowym w trybie konwersacyjnym. Użytkownik systemu ekspertowego może mieć większą wiedzę niż system, dlatego system powinien na bieżąco akceptować decyzje operatora. Fakt, że decyzja człowieka wydaje się błędną w porównaniu z wiedzą jaką ma system ekspertowy, może być sygnalizowany użytkownikowi.
Diagnostyczny system ekspertowy nie musi umieć pozyskiwać nowej wiedzy w czasie eksploatacji, ale powinien umieć wyjaśniać podejmowane przez siebie decyzje.
Dla potrzeb diagnostyki układów elektronicznych wykorzystuje się wszystkie znane sposoby reprezentowania wiedzy, ale najbardziej interesująca wydaje się być propozycja zapamiętywania wiedzy w postaci ram:
- ram hipotezowych - zawierające opis związków między objawami dostarczonymi przez operatora i możliwymi przyczynami ,
- ram testowych - zawierające testy i opis czynności naprawczych,
- ram składnikowych - zawierające opis struktury układu badanego,
- ram historycznych - zawierające opis zebranych doświadczeń podczas diagnostyki układu badanego.
Działanie diagnostycznego systemu ekspertowego rozpoczyna się po wprowadzeniu przez operatora objawów uszkodzenia. Następnie na podstawie wiedzy zgromadzonej w ramach hipotezowych i ramach składnikowych system ekspertowy stawia diagnozę. Diagnoza składa się zazwyczaj z kilku hipotez. System, w celu jak najdokładniejszego, najtańszego i najszybszego zlokalizowania uszkodzenia, szereguje hipotezy na podstawie wiedzy zgromadzonej w ramach historycznych. Kiedy diagnoza jest znana, system stara się ją udowodnić nakazując operatorowi lub sobie wykonanie wskazywanych przez ramę hipotezową testów. Testy potwierdzają lub wykluczają niektóre hipotezy. System ekspertowy, na podstawie przekazanych przez operatora wyników testów, modyfikuje listę postawionych hipotez i opisany cykl działań jest powtarzany aż do znalezienia uszkodzenia oraz jego naprawy [7].
Bibliografia:
Wojciech Cholewa, Witold Padrycz - Systemy doradcze (skrypt uczelniany) Gliwice 1987;
Joanna Chromiec, Edyta Strzemieczna - "Sztuczna Inteligencja. Metody konstrukcji i analizy systemów eksperckich"
Warszawa 1994, Akademicka oficyna Wydawnicza PLJ;
Wojciech Cholewa, Ernest Czogała - "Podstawy systemów ekspertowych"
Warszawa 1989, Polska Akademia Nauk Instytut Biocybernetyki i Inżynierii Biomedycznej;
Mulawka Jan Jerzy - "Systemy ekspertowe " WNT, Warszawa 1996;
Feigenbaum E.A. "The Art. Of Artificial Intelligence - Themes and Case Studies of Knowledge Engineering" [Ws.] "Proc. Of the 5th Int. Joint Conf. on AI", 1977;
W. Kopaliński - "Słownik wyrazów obcych i zwrotów obcojęzycznych" Warszawa 1975;
Diagnostyka układów elektronicznych .html (6.12.2002);
2
Maszyna wnioskująca
+
Interfejs graficzny
Baza wiedzy
Z
Baza wiedzy
Y
Baza wiedzy
X
Baza Wiedzy
Maszyna wnioskująca wraz z
jednostką sterująca
Reguły
Fakty
Procedura aktualizacji bazy wiedzy
Bazy wiedzy
Bazy danych zmiennych
Bazy danych stałych
Procedury objaśniania
Procedury wnioskowa -nia
Procedury sterowania dialogiem
Wiedza, koncepcje, rozwiązania
Wiedza struktualizo-wana
Dane, problemy, pytania
Baza wiedzy
Inżynier wiedzy
Ekspert dziedziny
rozszerza i testuje
wykorzystuje
wykorzystuje i aktualizuje
Wykorzyst-uje dane
buduje i testuje
dialog
buduje
Baza wiedzy
Ekspert dziedziny
Twórca narzędzi
Użytkownik
System ekspertowy
Inżynier wiedzy
Narzędzia do budowy SE