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/