proces aktualizacji systemu wspomagania decyzji na podstawie

Transkrypt

proces aktualizacji systemu wspomagania decyzji na podstawie
aktualizacja bazy wiedzy, systemy wspomagania decyzji, statystyka,
znaczenie informacji statystycznej.
Agnieszka NOWAK
*
PROCES AKTUALIZACJI SYSTEMU WSPOMAGANIA DECYZJI NA
PODSTAWIE INFORMACJI STATYSTYCZNYCH UZYSKANYCH
W WYNIKU WNIOSKOWANIA WSTECZ – NA PRZYKŁADZIE
WIELOPLATFORMOWEGO MODUŁU INFER v 2.0.
Praca przedstawia proces aktualizacji wiedzy zapisanej w bazach wiedzy systemów wspomagania decyzji. Proces taki
moŜliwy jest dzięki dany, statystycznym zaimplementowanym w module poddanym analizie - wieloplatoformowym
module wnioskowania wstecz Infer v 2.0 dla inteligentnych aplikacji internetowych. Zawiera krótki opis obecnej wersji
systemu i koncepcję jego rozbudowy pod względem dostarczanych przez niego informacji statystycznych.
1. WSTĘP
Dająca się zaobserwować w ostatnim czasie, dość duŜa popularność systemów wspomagania
decyzji w róŜnych dziedzinach Ŝycia, skłania do elementarnej analizy przyczyn takiego zjawiska. OtóŜ
– okazuje się, iŜ są takie dziedziny, gdzie dla rozwiązywania złoŜonych problemów nie moŜliwe jest
zastosowanie Ŝadnego modelu matematycznego. Mowa tutaj o diagnostyce medycznej oraz
wykorzystaniu systemów wspomagania decyzji w ekonomii i szeroko pojętym zarządzaniu.
W omawianych przypadkach – systemy wzorujące (naśladujące) inteligencję ludzką dobrze radzą
sobie z pozornie nie dającymi się rozwiązać problemami. Biorąc np. pod uwagę ekonomię, a ściślej
ujmując proces wspomagania decyzji kredytowych – „jesteśmy świadkami” tego, Ŝe taki system
zawsze, niezaleŜnie od jakichkolwiek czynników towarzyszących, poda zawsze taką samą decyzję dla
takiego samego przypadku. Idąc dalej tym tokiem rozumowania – moŜna by stwierdzić, iŜ system taki
przeprowadza proces wnioskowania (dowodzenia prawdziwości celu wnioskowania) opierając się
tylko i wyłącznie na wiedzy, z której korzysta (czyli z bazy wiedzy). Innym problemem jest natomiast
to czy dana baza wiedzy, z której korzysta system, jest spójna i kompletna. Dla spełnienia tych
warunków niezbędny jest ciągły proces weryfikacji poprawności takiego źródła wiedzy. W wyniku
tego procesu moŜe się zdarzyć tak, Ŝe konieczna będzie aktualizacja takiej bazy wiedzy. Oczywiście
za taki proces odpowiedzialny jest inŜynier wiedzy.
2. AKTUALIZACJA WIEDZY W SYSTEMACH WSPOMAGANIA DECYZJI
Zatem, wiadomo na pewno, Ŝe proces aktualizacji bazy wiedzy danego systemu wspomagania
decyzji ma na celu zapewnienie poprawności (spójności) i pełności (kompletności) wiedzy. Wiedza ta
(dotycząca danej dziedziny, dla której przeznaczony jest system), gromadzona i tworzona jest
w długim okresie czasu. Czas ten przekładać się powinien na efektywność i jakość tych systemów –
*
Uniwersytet Śląski, Instytut Informatyki, 41-200 Sosnowiec, ul. Będzińska 39, [email protected]
które to z kolei uzaleŜnione są nie tylko od prawidłowo zaimplementowanych algorytmów
wnioskowania wbudowanych w maszyny wnioskującą danego systemu ale i właśnie aktualnej
(zgodnej ze stanem rzeczywistym) wiedzy z tej dziedziny. Z tego względu, niezbędna jest jak
największa liczba informacji, które dałyby inŜynierowi wiedzy podstawę do przeprowadzania procesu
aktualizacji bazy wiedzy. Tymi informacjami mogą być dane statystyczne przedstawiające wyniki
osiągnięte w procesie wnioskowania. Analizie potrzeby wykorzystania takich informacji w systemach
wspomagania decyzji poddano wieloplatformowy moduł wnioskowania dla inteligentnych aplikacji
internetowych Infer v 2.0 [4][7]. Podrozdział 2.1. charakteryzuje pokrótce wspomniany moduł
z punktu widzenia samego procesu wnioskowania oraz generowania informacji statystycznych.
2.1. OPIS MODUŁU
Opisywany moduł, w obecnej wersji realizuje proces wnioskowania wstecz dla wybranego celu
wnioskowania, kierując się przy tym róŜnymi strategiami doboru reguł. Wśród podstawowych funkcji
systemu wymienić naleŜy: wybór bazy wiedzy spośród kilku dziedzin, podgląd bazy wiedzy:
atrybutów i ich wartości oraz reguł, realizacja róŜnych strategii sterowania wnioskowaniem
(kolejności, świeŜości i specyficzności [5]), tryb pracy krokowej i ciągłej z moŜliwością
wielokrotnego przełączania się między nimi, moŜliwość przerwania wnioskowania na Ŝyczenie
uŜytkownika, realizacja modułu objaśniającego – przedstawiającego uŜytkownikowi powód zadania
przez system pytania o wartość danego atrybutu i jak ta odpowiedź moŜe wpłynąć na proces
wnioskowania prowadzonego przez system [1][2], graficzna prezentacja wyników oraz statystyka
wnioskowania, mające na celu przedłoŜenie uŜytkownikowi szczegółowego raportu
z przeprowadzonego procesu dowodzenia prawdziwości hipotezy głównej [3][4][5].
NajwaŜniejsza, z punktu widzenia tematu niniejszej pracy, jest funkcja statystyka wnioskowania,
która po przeprowadzonym procesie dowodzenia poprawności wybranego celu wnioskowania,
przedstawia krótki raport zawierający osiągnięte wyniki. Rysunek nr 1 przedstawia przykładowe okno
z taką właśnie statystyką.
Rys. 1 . Statystyka w systemie Infer v 2.0
Fig. 1. The statistic in Infer v 2.0 system
2.2. PRZYSZŁOŚĆ MODUŁU INFER
Obecnie trwają prace nad rozbudową modułu o nowe informacje statystyczne. Temat ten porusza
praca [7]. Jeśliby udało się zrealizować zaproponowaną tam koncepcję rozbudowy modułu Infer,
moŜna by zwiększyć znacznie funkcjonalność tegoŜ modułu. Operacja ta nie będzie zbyt
skomplikowana, gdyŜ moduł w wersji 2 ma juŜ przygotowany moduł generowania raportu
z przeprowadzonego procesu wnioskowania. Moduł ten nosi nazwę TInferenceHistory(), i w obecnej
wersji dostarcza następujących informacji:
liczba atrybutów,
liczba wartości atrybutów,
liczba reguł,
liczba faktów przed wnioskowaniem,
liczba reguł uaktywnionych w trakcie wnioskowania,
liczba uaktywnień zakończonych sukcesem,
liczba uaktywnień zakończonych poraŜką,
liczba faktów wygenerowanych w trakcie wnioskowania.
Teraz, wystarczy, aby do tak przygotowanego szablonu, dodać te funkcje (procedury), które
będą obliczały dane, które uznano w pracy [6] za niezbędne do przeprowadzenia właściwej (pełnej)
aktualizacji. Zatem powstaną kolejne funkcje:
NumOfSuccess(),
NumOfDefeat(),
AvgTimeOfProof(),
TimeOfRuleLife(),
NumOfAskConditions(),
NumOfExperts(),
NumOfPossibleRuleFirering(),
NumOfActivityStrategy(),
NumOfWorkFormChanges().
Funkcja NumOfSuccess() ma za zadanie podać liczbę dotychczasowych uaktywnień danej
reguły zakończonych sukcesem. W ten sposób – jeśli wiadomo będzie, Ŝe dana reguła najczęściej
kończy się sukcesem, to moŜna ją będzie umieścić na początku bazy wiedzy. Z kolei funkcja
NumOfDefeat() poda liczbę dotychczasowych uaktywnień danej reguły zakończonych poraŜką. To
pozwoli inŜynierowi wiedzy, na usunięcie tych reguł, które zawsze kończą się poraŜką lub spowoduje
to konieczność analizy struktury wewnętrznej tej reguły. MoŜe się bowiem zdarzyć tak, Ŝe dana reguła
zawiera takie warunki, których nie da się potwierdzić korzystając z wiedzy zapisanej w systemie.
RównieŜ niezbędną wydaje się być funkcja AvgTimeOfProof(), która obliczy dla kaŜdej reguły średni
czas jej dowodzenia. Taka informacja pozwoli na zmianę struktury wewnętrznej tych reguł, których
czas dowodzenia jest najdłuŜszy. Przyczyną takiego stanu rzeczy moŜe być fakt, Ŝe warunki tych reguł
są zbyt niejednoznaczne i uŜytkownik ma problemu z udzielaniem odpowiedzi na zadawane mu przez
system pytania. NumOfAskConditions() - to funkcja, której zadaniem jest obliczenie liczby warunków
dopytywalnych, czyli pytań zadawanych uŜytkownikowi. UŜytkownik ma w ten sposób moŜliwość
wglądu do tego jaki jest jego udział w procesie dowodzenia prawdziwości wybranego celu
wnioskowania. Funkcja TimeOfRuleLife(), oblicza czas Ŝycia danej reguły, od momentu jej dodania do
bazy wiedzy. Im dłuŜszy czas Ŝycia danej reguły, tym większa stabilność wiedzy zapisanej
w systemie, a co za tym idzie, równieŜ większy stopień zaufania uŜytkownika do systemu.
Dla uŜytkownika niezwykle istotna będzie takŜe funkcja NumOfExperts(), której celem jest wskazanie
dla kaŜdej reguły liczby ekspertów, którzy uznali tę regułę za zgodną z rzeczywistością. MoŜna
bowiem zakładać, Ŝe im większa liczba ekspertów w tej kwestii, tym większy poziom zaufania
uŜytkownika do systemu oraz do decyzji podawanych przez ten system.
NumOfPossibleRuleFirering() to z kolei funkcja, która oblicza liczbę rzeczywistych uaktywnień danej
reguły w stosunku do liczby moŜliwych jej uaktywnień. Pozwoli to w dalszym etapie na analizę
powodu rzadkiego uaktywnienia danej reguły, pod warunkiem, Ŝe istnieją takie reguły, które są rzadko
uaktywniane. Istotne będą takŜe dwie ostatnie funkcje: NumOfActivityStrategy() oraz
NumOfWorkFormChanges(). Zadaniem pierwszej jest podanie informacji określającej ile razy dana
strategia sterowania wnioskowaniem była wybierana, po to aby w sytuacji gdy domyślna strategia
(strategia kolejności) jest rzadziej stosowana niŜ pozostałe, móc zmienić ustawienia domyślne. Druga
funkcja natomiast mówi, ile razy domyślny tryb pracy systemu (praca krokowa) był zmieniany na tryb
pracy ciągłej. Podobnie jak w poprzedniej funkcji, pozwoli to na ewentualną zmianę ustawień
domyślnych wnioskowania.
3. PRZEBIEG PROCESU AKTUALIZACJI
Poprzez udostępnione w przyszłej wersji systemu funkcje statystyczne moŜliwa będzie
efektywna aktualizacja bazy wiedzy. Schemat obrazujący przebieg takiego właśnie procesu
aktualizacji przedstawiony został na rysunku nr 2.
Rys. 2 . Schemat procesu aktualizacji Bazy Wiedzy
Fig. 2. The structure of knowledge base actualization
Ze schematu widać, iŜ istnieje ścisła zaleŜność aktualizacji bazy wiedzy od uzyskanych (po
przeprowadzonym procesie wnioskowania) informacji statystycznych. UŜytkownik współpracując
z systemem, po przeprowadzonym procesie dowodzenia prawdziwości wskazanego celu
wnioskowania, uzyskuje raport w tak dokonanego dowodu. Raport ten zawiera szereg informacji, tj.:
liczba atrybutów, liczba faktów wygenerowanych w trakcie wnioskowania, z wyszczególnieniem tego,
ile z tego stanowiło odpowiedzi udzielane przez uŜytkownika a ile było faktami wygenerowanymi
w trakcie wnioskowania na podstawie wiedzy zapisanej w systemie, itp. Te informacje są następnie
wykorzystywane zarówno przez uŜytkownika jak i inŜyniera wiedzy. O ile uŜytkownik, wykorzystuje
te dane do prywatnej analizy, o tyle inŜynierowi wiedzy takie dane słuŜą do przeprowadzenia na ich
podstawie procesu aktualizacji bazy wiedzy. Aktualizacja ta zmieniając postać bazy, powoduje, Ŝe
wiedza dotychczasowa moŜe ulec zmianie zarówno pod względem treści jak i formy. W ten sposób
moŜna spodziewać się zwiększenia funkcjonalności danego systemu wspomagania decyzji. Jeśli
bowiem załoŜymy, Ŝe często ma miejsce proces aktualizacji doprowadzający do zgodności wiedzy
z rzeczywistością, to z pewnością dany system będzie bardziej efektywny. Dlatego, poprawnym
wydaje się być stwierdzenie, iŜ informacje statystyczne stanowić powinny nieodłączny element
kaŜdego systemu wspomagania decyzji.
4. INNE ASPEKTYAKTUALIZACJI W MODULE INFER
Rozbudowany zgodnie z powyŜszymi załoŜeniami, omawiany w pracy, moduł z pewnością, dzięki
procesowi wbudowanej aktualizacji bazy wiedzy, zwiększy swoją funkcjonalność. Oczywiście
przedstawione w pracy [7] koncepcje rozbudowy modułu to tylko propozycje, które w trakcie
implementacji będą mogły być rozbudowane lub całkowicie zmienione. Widać jednak jednoznacznie,
iŜ tylko pobieŜna analiza efektywności systemu wspomagania decyzji, który dostarczał by takich
właśnie informacji skłania do głębszej weryfikacji moŜliwości rozbudowy kaŜdego takiego systemu
o informacje statystyczne. Dało się bowiem zauwaŜyć, iŜ informacje takie pozwalają zbadać operacje,
których dokonano w trakcie działania systemu i wyciągnąć z tych informacji ewentualnie
konsekwencje zmierzające do pewnych zmian w systemie. Analiza, tak zrealizowanych celów,
pozwoli na dalsze doskonalenie systemu.
5.
PODSUMOWANIE
Praca prezentuje analizę procesu aktualizacji bazy wiedzy systemów wspomagania decyzji na
podstawie informacji statystycznych. Analizie takich działań poddano prototypowy moduł
wnioskowania wstecz Infer v 2.0.
W rozwaŜaniach uwzględniono m.in. takie dane, które pozwolą inŜynierowi wiedzy na kontrolę
poprawności i kompletności zawartości bazy wiedzy, a co za tym idzie realizację procesu aktualizacji
wiedzy, na której oparty jest system.
LITERATURA
[1] CHOLEWA W., PEDRYCZ W., Systemy doradcze, skrypt P.Śl. nr 1447, Gliwice, 1985
[2] JACOBSON P., Introduction to Expert Systems, University of Edinburgh, 1985
[3]
[4]
[5]
[6]
[7]
NOWAK A., Realizacja modułu wnioskowania wstecz dla regułowej reprezentacji wiedzy, Praca licencjacka, Uniwersytet Śląski,
Sosnowiec, 2000
NOWAK A., Wieloplatoformowy moduł wnioskowania dla inteligentnych aplikacji internetowych, Praca magisterska, Uniwersytet
Śląski, Sosnowiec, 2002
REICHGELT H., Knowledge Representation: An AI Perspective, Ablex Publishing Corporation in New Jersey, 1991
NOWAK A., Wpływ informacji statystycznej na efektywność systemów wspomagania decyzji, Materiały konferencyjne: Statystyka
publiczna – nowe potrzeby i moŜliwości, Stowarzyszenie Silgis Center, Sosnowiec, 2003
http://www.inference.engine.prv.pl/

Podobne dokumenty