Zasady budowy systemów ekspertowych
wykonał: prowadzący:
Marcin Tranda Z. Sosnowski
Spis tresci:
- Wstęp.
- Typowa architektura systemu ekspertowego.
- Metody tworzenia systemów ekspertowych.
- Kryteria wyboru metody.
- Przykłady systemów ekspertowych.
Wstęp.
Zastosowanie maszyn cyfrowych wyłącznie do zadań obliczeniowych szybko przestało być wystarczające dla człowieka. Pojawiła się potrzeba szybkiego i wygodnego redagowania dokumentów, ich prezentacji, jak również gromadzenia, wyszukiwania i przechowywania danych z nimi związanych. Kolejne możliwości zastosowania komputerów dostrzeżono w tych dziedzinach, gdzie występuje przetwarzanie zbiorów danych, w poligrafii (możliwości tworzenia różnego rodzaju grafik i wzorów), rozrywce i innych. Wkrótce zaczęto się zastanawiać, jak uczynić komputer mądrym", tak by na podstawie podanej mu określonej wiedzy sam mógł wysuwać jakieś wnioski podobnie jak czyni to ekspert, a tym samym rozwiązywać postawione mu problemy i zadania - tzn. podejmować decyzje. Zaistniała potrzeba stworzenia "komputerowego doradcy", który symulując pracę eksperta mógłby go zastąpić w określonych sytuacjach, bądź stać się jego doradcą. Prace nad realizacją takiego systemu zapoczątkowały nowy rozdział w dziedzinie informatyki i oprogramowania - rozdział systemów ekspertowych. Powstało szereg teorii i narzędzi poświęconych tej tematyce, odkryto wiele możliwości zastosowania systemów ekspertowych i część z nich już zrealizowano. Obecnie badania i prace nad systemami ekspertowymi dotarły do etapu "samouczenia się" systemu ekspertowego.[1][4] Oznacza to możliwości przyswajania sobie nowej wiedzy a także generacji na jej podstawie nowych reguł decyzyjnych oraz pewnego rodzaju uniwersalności systemów ekspertowych dających się zastosować dla różnych dziedzin wiedzy. Systemy ekspertowe są ciągle rozwijane. Trwa nieustanna ich ekspansja, a wiele funkcjonujących implementacji m.in. w medycynie, przemyśle, obronności, astronomii i meteorologii daje bardzo dobre rezultaty. Zatem można stwierdzić, że nie należy już do wątpliwych ani nie jest pytaniem przyszłości kwestia sensowności i celowości badań nad systemami ekspertowymi.
Typowa architektura systemu ekspertowego.
Budowa systemu ekspertowego wynika poniekąd z cech i właściwości tegoż systemu. Wiedza o problemach zawarta w systemie ekspertowym wyprowadzona jest poza kod źródłowy programu, a więc istotnym elementem w architekturze systemu ekspertowego jest BAZA WIEDZY. Oprócz wymienionej baz wiedzy cechującej systemy ekspertowe posiadają one klasyczną BAZĘ DANYCH. Zawiera ona fakty z dziedziny wiedzy zawartej w bazie wiedzy. Działając na bazach wiedzy i danych system używa MECHANIZMU WNIOSKOWANIA. Wykorzystywany jest on w celu udowodnienia zadanych celów lub wysunięcia propozycji określonych decyzji. Obok bazy wiedzy mechanizm ten jest podstawowym elementem systemu ekspertowego. Użytkownikowi systemu musi być udostępniona możliwość redakcji bazy wiedzy w języku zbliżonym do naturalnego. Wymagany jest zatem MODUŁ POZYSKIWANIA WIEDZY, którego zadaniem byłoby pośredniczenie między użytkownikiem a bazą wiedzy oraz odpowiadanie za translację wiedzy z postaci przystępnej dla użytkownika do postaci wymaganej przez mechanizm wnioskowania i odwrotnie. Oczywiście, jak w każdym systemie, dla udoskonalenia dialogu użytkownika z systemem niezbędny jest odpowiednio zaprojektowany MODUŁ KOMUNIKACJI Z UŻYTKOWNIKIEM. Wymienione wyżej elementy składają się na typową architekturę systemu ekspertowego.
Metody tworzenia systemów ekspertowych.
Proces tworzenia systemu ekspertowego można podzielić na pięć etapów:
Identyfikacja - określenie charakterystyki systemu (dziedzina, język, słownik itd.),
konceptualizacja - znalezienie pojęć dla odpowiedniego 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- dotyczy procesu testowania poprawności działania tworzonego systemu.
Identyfikacja polega na sformułowaniu problemu, tj. ustaleniu dziedziny wiedzy a także jej zakresu, wielkości słownika itd. Na tym etapie konieczna jest współpraca twórcy systemu ekspertowego z ekspertami w celu określenia podstawowych zagadnień. Ustalani są również inni uczestnicy procesu tworzenia systemu (eksperci), rodzaj i liczba opcji oraz potrzebne środki. Na etapie koncepcji przez twórcę oraz ekspertów określane są podstawowe pojęcia, relacje między nimi i sposoby przepływu informacji. Informacje te 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. Formalizmem tym jest najczęściej język programowania.
Poniżej zostaną omówione i porównane trzy sposoby podejścia do tworzenia ekspertowych systemów decyzyjnych. Są to:
klasyfikacja bayesowska (statystyczne rozpoznawanie obrazów),
dedukcja oparta na regułach,
indukcja na tzw. ramach (indukcja ramowa).
Statystyczna klasyfikacja obrazów [1] to metoda, w której wiedza przedstawiona jest "a priori" z warunkowymi prawdopodobieństwami oraz funkcjami wyróżniającymi. Wnioskowanie polega tu na liczeniu następnych prawdopodobieństw a także liczeniu wyróżniającej cechy. Mechanizm wnioskowania w oparciu o twierdzenie Bayesa (jedno z podstawowych twierdzeń rachunku prawdopodobieństwa) opiera się na obliczaniu prawdopodobieństwa każdego możliwego wyniku, przy znanym danym konkretnym przypadku. Prawdopodobnie podstawową wadą tej metody jest to, że wymaga ona znajomości dokładnych wartości bądź też rozkładów prawdopodobieństw pojawienia się parametrów (cech) zjawiska, czyli problemu będącego de facto przedmiotem rozważań. Innym problemem jest to, że należy dokonać pewnych nierealistycznych założeń - na przykład, w bayesowskiej klasyfikacji wymagane wyniki, np. rozpoznawania, muszą się wzajemnie wykluczać. Niestety w wielu rozwiązywanych problemach może zajść sytuacja, w której występują liczne podobne wyniki (np. w diagnostyce: pacjent może mieć wiele chorób). Innym założeniem, co prawda nie wymaganym przez twierdzenia atesa, a wymuszonym przez praktykę, jest statystyczna niezależność cechy problemu. W bardzo wielu dziedzinach zastosowań cechy problemu nie są niezależne, a zatem takie założenie może znacznie obniżyć skuteczność systemu. Kolejną wadą większości systemów statystycznych jest to, że przed zastosowaniem systemu wymagane jest posiadanie wszystkich istotnych informacji o danym przypadku. Może to się okazać 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ę do wykorzystania w tych przypadkach, 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 potrzebne, jeśli nie niezbędne, co mocno podkreśla ich pozycję.
Drugą powszechnie stosowaną metodą tworzenia systemów ekspertowych, która stanowi pewną „normę” w sztucznej inteligencji, jest "dedukcja oparta na regułach" [1]. Zastosowanie reguł pozwala na stosowanie wiedzy nienumerycznej. Dzieje się tak ze względu na to, że 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 teza dość kontrowersyjna. Dedukcyjny system jest 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. Wykonywanie dedukcji może przebiegać na wiele różnych sposobów i w wielostopniowych procedurach dedukcji reguły mogą być wzajemnie zmieniane. Często zdarza się, że są dołączane "współczynniki pewności". Metoda ta umożliwia tworzenie łańcuchowych związków, towarzyszących informacji wykorzystywanych w procesie dedukcji. Przykładem tego typu systemów mogą być programy ekspertowe MYCIN[3], PROSPECTOR oraz PROLOG. Do wad dedukcji opartej na regułach możemy zaliczyć 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. Kolejnym źródłem trudności jest fakt, że przy stosowaniu kolejnej reguły trzeba brać pod uwagę cały dotychczasowy kontekst. Tymczasem istotność ustalonych wcześniej czynników nie zawsze jest oczywista, powstaje więc niebezpieczeństwo popełnienia błędu opuszczenia, który polega na zaniechaniu w procesie dedukcji sprawdzania niektórych warunków, co do których nie ma jasno przedstawionych 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 do końca pewne, który sposób jest najlepszy. Zdarza się, że kończy się na spisywaniu całego systemu reguł od początku. „Kierunkowość" czynników pewności może również stwarzać problemy w procesie tworzenia systemu.
Trzecią ważną metodą tworzenia systemów ekspertowych jest "indukcja oparta na ramach" [1]. W tym przypadku wiedzę z jakiejś konkretnej dziedziny zawierają opisowe "ramy" informacyjne. Wnioskowanie oparte jest na dwóch cyklach: stawianie "hipotezy" i "test", które modelują ludzki sposób rozumowania. W ramach zestawione są opisy istotnych cech problemu, wyniki pomiarów itp. ułożone w sposób podobny do tego, w jaki wypełnia się np. kartę stanu zdrowia pacjenta. Po podaniu jednej lub więcej początkowych cech problemu ( tzn. części opisu zawartego w "ramach"), system ekspertowy utworzy zestaw potencjalnych hipotez, które z kolei 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ści do obliczania znanych cech (parametrów), oraz tworzenie nowych pytań, które pomogą wyróżnić jedną spośród wielu prawdopodobnych hipotez. Cykl jest następnie powtarzany z dodatkową 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ż powstał pomysł, aby budować systemy ekspertowe w oparciu o zasady klasyfikacji oraz diagnostycznego rozwiązywania problemów. Każdej przyczyna posiada 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 zestawy przyczyn, które mogłyby "wyjaśnić" każdy z objawów. Spośród zalet indukcji opartej na ramach można wymienić 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, a co za tym idzie łatwiej można posłużyć się 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. Często stosowane w indukcji opartej na ramach algorytmy hipotezy i testu skupiają się na uzyskaniu najbardziej prawdopodobnego wyniku, skutkiem czego jest mniej pytań zawartych w systemie. Oczywistą zaletą jest krótszy czas trwania sesji "pytania-odpowiedzi". Ponadto, ...
ankl23