KNOWLEDGE CODIFICATION IN EXPERT SYSTEM ON EXAMPLE OF SYSTEM SUPPORTED DESIGNING ELECTROMECHANICAL CONVERTERS Artur JEŻYK 1,2, Maria DEMS 2 1) Technical University of Lodz, Institute of Mechatronics and Information Systems, 18/22 Stefanowskiego Street, 90-924 Lodz; E-mail: ajezyk@p.lodz.pl 2) Academy of Humanities and Economics in Lodz, Department Intelligent Systems Informatics, 64 Street Rewolucji 1905, 90-222 Lodz, Poland, E-mail: mdems@wshe.lodz.pl Abstract Nowadays Expert Systems are build and apply in lots of fields. We take into consideration not only stability and quality expert systems but also possibilities of knowledge codification. This problem has got in last year one of main problem in knowledge engineering which is domain artificial intelligence dedicate in design and apply expert systems. This include series problems with effect from problematic knowledge canvassing from fields experts, through problematic connection with structuralisation, codification and evaluation of correctness. Among these problems we can highlight problematic connected with codification knowledge base, which has strictly connection with knowledge-base quality. In this paper outline basic problems connection with built knowledge base and possibilities implementation knowledge in system with take advantages techniques like frames, ruled-base and neural networks. There are also few examples regarding to knowledge implementation in expert system supporting designing electromechanical converters. Keywords: computer science, artificial intelligence, expert systems, knowledge engineering 1. Wstęp Jednym z najtrudniejszych problemów inżynierii wiedzy jest formalizacja wiedzy od postaci werbalnej do postaci sformalizowanej. Etap ten obejmuje
identyfikację i klasyfikację wiedzy, a także jej pozyskiwanie i specyfikację w postaci pierwotnej, niezbędnej w procesie wnioskowania i obejmuje jej kodowanie oraz formalizowanie. Kodowanie polega na rejestracji, strukturyzacji i zapisie formalnym wiedzy przy jednoczesnym poszukiwaniu związków przyczynowo skutkowych pomiędzy zjawiskami i działaniami. Bardzo często w procesie tym spotykamy się z problemem zapisu wiedzy[6] w warunkach dużej niepewności pomiaru, ewentualnie braku danych dla pewnego rozpatrywanego zakresu zmiennych decyzyjnych. Wówczas skutecznym rozwiązaniem może być zastosowanie sieci neuronowych. Celem artykułu jest omówienie etapu implementacji wiedzy w systemie ekspertowym z wykorzystaniem nie tylko baz wiedzy regułowej ale również sieci neuronowych. 2. Sieci Neuronowe Sieci neuronowe wykazują szereg unikatowych własności, dzięki którym mogą być zastosowane w wielu dziedzinach nauki. Podstawową własnością sieci neuronowych jest ich zdolność do implementacji wiedzy na podstawie prezentowanych przykładów. Nie trzeba precyzować sposobu rozwiązania danego problemu, lecz wystarczy zgromadzić odpowiedni duży reprezentatywny zbiór próbek. Sieci neuronowe potrafią w naturalny sposób przetworzyć podaną informacje i wyciągnąć z niej najistotniejsze elementy. Szczególnie ważne jest to w problemach klasyfikacji oraz wszelkiego rodzaju prognozach. Łączy się to w naturalny sposób z kolejną ważną własnością, jaką jest zdolność do generalizacji, czyli uogólnienia[4, 8]. Sprowadza się to do możliwości otrzymania odpowiedzi od systemu w przypadkach z którymi sieć nigdy się wcześniej nie zetknęła. Jako przykład można podać możliwość odczytu danych z charakterystyki poza zadanym wstępnym przedziałem pomiarowym. 2.1 Modelowanie sieci neuronowej Przy opracowywaniu systemu ekspertowego wspomagającego projektowanie przetworników elektromechanicznych konieczny jest dobór różnych parametrów na podstawie wyznaczonych empirycznie charakterystyk wielu zmiennych, przy czym często należy aproksymować ich przebieg poza zakresem pomiarowym. Przykładem może być charakterystyka indukcji w szczelinie powietrznej w zależności od liczby par biegunów oraz średnicy wewnętrznej rdzenia stojana, do aproksymacji której zastosowano sieć neuronową.
Rys 1. Indukcja Bσ w szczelinie przetwornika w zależności od średnicy wewnętrznej Dsi (ds) rdzenia stojana oraz liczby par biegunów [1] Ponieważ charakterystyka ta zależy od dwóch parametrów wejściowych (średnicy wewnętrznej rdzenia stojana Dsi oraz liczby par biegunów p), do jej aproksymacji zastosowano model sieci neuronowej z dwiema warstwami ukrytymi neuronów, w którym możliwe jest szybkie osiągnięcie warunku zakończenia procesu uczenia, a więc uzyskanie wartości błędu średniokwadratowego RMS poniżej założonej granicy. Rys 2. Schemat neuronu x1...xn sygnały wejściowe w1..wn wagi wejściowe f(z) funkcja aktywacji (z=w1*x1+w2*x2+...+wn*xn) y wyjście Błąd średniokwadratowy MSE dla jednej prezentacji wyraża się wzorem: 1 MSE' = n i= n 1 0 ( T i O ) 2 i (1)
gdzie: n liczba wyjść Ti wartość oczekiwana i-tego wyjścia. Oi wartość rzeczywista i-tego wyjścia Zakładając że w jednej epoce zostanie zaprezentowanych m-wzorców, to błąd średniokwadratowy dla jednej epoki wynosi[7]. MSE = 1 1 m m j= 0 MSE j ' (2) Mając tak określony błąd średniokwadratowy można zdefiniować błąd RMS: RMS = MSE (3) Modelowanie sieci zostało przeprowadzone w programie Neuronix gdzie raz zamodelowany model jest w późniejszym etapie dynamicznie uruchamiany w aplikacji systemu ekspertowego, w celu pobrania odpowiednich danych niezbędnych w procesie wnioskowania. Tak zamodelowana sieć potrafi sobie poradzić z danymi niekompletnymi czy zakłóconymi. Rys 3. Symulacje sieci neuronowej w Neuronixie [7]
3. Systemy wspomagające tworzenie i weryfikację regułowych baz wiedzy. Proces tworzenia bazy wiedzy systemu ekspertowego jest często bardzo skomplikowanym przedsięwzięciem, które wymaga wiele pracy nie tylko prze jej budowie ale i również przy utrzymaniu i weryfikacji. Dzieje się tak dlatego, że często wiedza pochodzi z różnych źródeł i nie jest w żaden sposób sformalizowana, co stwarza dodatkowe problemy przy jej przetwarzaniu. Rozpatrując bazę wiedzy dowolnego systemu ekspertowego należy zwrócić uwagę, że jakość w istotnym stopniu decyduje o właściwym działaniu systemu. Jakość ta zależy od wielu czynników, przy czym istnieje kilka elementów, które w sposób bezpośredni wpływają na pojawienie się różnych problemów w realizacji wnioskowania. Dlatego badanie poprawności bazy wiedzy (validation) jest istotną czynnością podczas testowania systemu ekspertowego. W systemie ekspertowym wspomagającym projektowanie przetworników elektromechanicznych wykorzystywana jest baza wiedzy pochodzącej z różnych źródeł, dlatego też proces jej weryfikacji odgrywa bardzo dużą rolę. Przykładem może być baza zawierająca dane dotyczące doboru średnicy wewnętrznej stojana[1, 2] Dsi na podstawie średnicy zewnętrznej Dse, liczby par biegunów p, oraz rodzaju maszyny. Tab 1.Zależność Dsi =f(dse) dla maszyn o różnej liczbie par biegunów [1] Rodzaj maszyny Indukcyjna Liczba par biegunów 1 2 3 4 5 i 6 Średnica zewnętrzna D se [mm] 80 360 ponad 360 720 80 520 ponad 520 990 80 590 ponad 590 990 80 590 ponad 590 990 Zależności do obliczania średnicy D si [mm] D si = 0,61D se 4 D si = 0,48D se +28 D si = 0,68D se 5 D si = 0,56D se +60 D si = 0,72D se 3 D si = 0,6D se +82 D si = 0,72D se 3 D si = 0,6D se +100 D si = 0,6D se +100 Ze względu na fakt iż wiedza nie jest z reguły uporządkowana, wymaga ona weryfikacji po każdym etapie jej rozbudowy [5]. Jest to zadanie trudne ze względu na często dużą liczbę reguł, dlatego celowe jest sprawdzanie jej
poprawności z wykorzystaniem zewnętrznych narzędzi typu CASE, co wymaga jednak zapisania bazy wiedzy w określonym formacie. Istniejące aktualnie na rynku, najbardziej popularne narzędzia wspomagające proces budowy baz wiedzy to Computer Aided Knowledge Engineering (CAKE) [7] oraz kbbuilder [3, 9]. Funkcje realizowane przez te systemy można podzielić na następujące cztery grupy: 1. Wspomaganie realizacji baz wiedzy poprzez: edycję definicji atrybutów, obejmującą wprowadzanie nowych atrybutów, modyfikowanie oraz usuwanie atrybutów istniejących; w trakcie realizacji tych operacji system kontroluje spójność bazy wiedzy. edycję reguł zorganizowanych w jednostki decyzyjne, obejmujące dopisywanie nowych reguł, modyfikowanie i usuwanie reguł istniejących. Na tym etapie system realizuje automatycznie wybrany zestaw czynności weryfikacyjnych, których celem jest nie dopuszczenie do tworzenia reguł zawierających podstawowe anomalie. 2. Weryfikację baz wiedzy. Obejmuje ona techniki weryfikacji lokalnej i globalnej, a także prezentację wyników oraz zalecenia dotyczące usunięcia wykrytych anomalii. 3. Przegląd zawartości baz wiedzy oraz generację raportów projektowych. 4. Ochronę projektu systemem haseł oraz uprawnień do jego modyfikacji. Rys. 4 Okno programu CAKE umożliwiające zarówno edycję reguł jak i budowę faset (fasetą określamy zbiór deklaracji odnoszących się do wybranych atrybutów) oraz definiowanie zmiennych parametrycznych.
Rys 5. Zakładka reguł (CAKE) Program posiada również moduł dokonujący weryfikacji bazy wiedzy na poziomie logicznym, przedstawiony na rys. 6. Rys. 6 Wyniki weryfikacji stwierdzono istnienie anomalii (CAKE) W budowanej bazie wiedzy wykryto występowanie anomalii takich jak wystąpienie reguł powtórzonych, pochłaniających oraz sprzecznych. Przykład reguł pochłaniających: 1. dsi= 0.61*dse-4 if p=1 & dse>80 & dse < 360;
10. dsi= 0.61*dse-4 if p=1 & dse>80 & dse < 360 & rodzaj_maszyny= indukcyjna ; Reguła nr 1 posiada w bazie wiedzy nadmiarowy odpowiednik w postaci reguły nr 10. System CAKE nie tylko informuje o anomaliach, ale również daje możliwości szybkiego skorygowania występujących błędów (rys. 6). Rys. 6 Weryfikacja bazy wiedzy (CAKE) Dzięki wykorzystaniu systemu CAKE możliwe jest wygodne budowanie regułowych baz wiedzy. System wspomaga użytkownika w realizacji większości operacji dokonywanych na poszczególnych elementach bazy wiedzy. Wsparcie to ma zarówno charakter typowo techniczny np. w zakresie wprowadzania informacji, jak również merytoryczny, dzięki wbudowanym mechanizmom kontroli i weryfikacji bazy wiedzy. 4. Wnioski Tworzenie bazy wiedzy jest procesem transformacji wiedzy specjalisty od postaci werbalnej do postaci sformalizowanej. To właśnie proces kodyfikacji wiedzy może spowodować wiele problemów ze względu na poprawność jej zapisu w systemie. Należy również pamiętać o tym że sam zapis bazy w postaci regułowej może być niewystarczający do
zamodelowania pewnych zjawisk, i dopiero w połączeniu z odpowiednim modelem sieci neuronowej może da zadawalające efekty. Stosowanie jednak w bazie wiedzy tego typu zabiegów wymaga zawsze pewnej weryfikacji poprawności działania systemu ekspertowego. Zagadnienie to odnosi się również do baz stricte regułowych w przypadku gdy wiedza pochodzi z akwizycji od ekspertów dziedzinowych [5]. Wykorzystanie zewnętrznych narzędzi wspomagających projektowanie baz wiedzy w połączeniu z sieciami neuronowymi pozwala na uzyskanie lepszej jakości tej bazy, co bezpośrednio przekłada się na jakość systemu ekspertowego. Literatura [1.] Dąbrowski M., 1994, Projektowanie Maszyn Elektrycznych Prądu Przemiennego, WNT Warszawa [2.] Dems M., Rutkowski Z., 1992, Obliczanie prądu magnesującego i parametrów rozruchowych w silnikach indukcyjnych, Zeszyty Naukowe Politechniki Poznańskiej, Elektryka, no. 40,, ss.63-73. [3.] Jagielski J., 2003, Projektowanie Bazy Wiedzy Systemu Ekspertowego, V krajowa konferencja Naukowa Inżynieria Wiedzy i Systemy Ekspertowe Wrocław [4.] Jastriebow A., Kułkowski A., 2006, Sztuczne Sieci Neuronowe w Układach z Niepełną Informacją Inżynieria wiedzy I Systemy Ekspertowe, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław [5.] Jeżyk A., Dems M., 2006, Verification Rule-Based Systems - PD FCCS 2006, Wydawnictwo WSHE, Łódź [6.] Jeżyk A., Dems M., Wiak S., 2005, Programowanie systemów ekspertowych przegląd technologii PD FCCS 2005, Wydawnictwo WSHE, Łódź [7.] Michalik K., 2004, PC-Shell dla Windows wer. 4.0 Podręcznik użytkownika. AITECH, Katowice. [8.] Muławka J., 1996, Systemy Ekspertowe, WNT, Warszawa
[9.] Siminski R., Wakulicz-Deja A., Kbbuilder, 2003, System wspomagania tworzenia i weryfikacji regułowych baz wiedzy, V krajowa konferencja Naukowa Inżynieria Wiedzy i Systemy Ekspertowe Wrocław