Systemy ekspertowe : program PCShell
Transkrypt
Systemy ekspertowe : program PCShell
Systemy ekspertowe : program PCShell Przemysław Juszczuk Instytut Informatyki Uniwersytetu Śląskiego 23 luty 2010 Przemysław Juszczuk Systemy ekspertowe : program PCShell Opis sytemu ekspertowego Metody wnioskowania System PcShell Projekt Przemysław Juszczuk Systemy ekspertowe : program PCShell System ekspertowy - system ekspertowy to system komputerowy zawierający w sobie wyspecjalizowaną wiedzę na temat określonego obszaru ludzkiej działalności, przy czym wiedza ta jest tak zorganizowana, że umożliwia systemowi wejście w interakcyjny dialog z użytkownikiem, w wyniku czego system może oferować rady lub podpowiadał decyzje, jak również objaśniał proces prowadzonego wnioskowania. Inżynieria wiedzy - dziedzina sztucznej inteligencji zajmująca się projektowaniem i realizacją systemów ekspertowych. Inżynier wiedzy – projektant SE, osoba łącząca wiedzę na temat technik budowy SE z umiejętnością pozyskiwania i formalizacji wiedzy eksperckiej. Akwizycja wiedzy – proces pozyskiwania wiedzy niezbędnej do realizacji systemu ekspertowego. Na proces składają się: rozpoznanie problemu, wywiady z ekspertem, oraz reprezentacja wiedzy eksperta. Akwizycja kończy się w momencie zapisania wiedzy eksperta w bazie wiedzy SE. Przemysław Juszczuk Systemy ekspertowe : program PCShell Rysunek: System ekspertowy Przemysław Juszczuk Systemy ekspertowe : program PCShell Reprezentacje wiedzy: Regułowe bazy wiedzy - wiedza zapisana w postaci reguł : if obiekt = wartość then reguła Tablice decyzyjne - odpowiadają regułom. Zapis w tablicy, gdzie jeden wiersz odpowiada jednej regule. Zawiera atrybuty warunkowe oraz atrybut/atrybuty decyzyjne. Język perceptów - (SKRZYDA : SAMOLOT : X , MA) Język predykatów - Wyższy(Paweł, Piotr) wiedza niepewna (zbiory przybliżone, sieci Bayesa). Przemysław Juszczuk Systemy ekspertowe : program PCShell Moduł komunikacji z użytkownikiem: moduł umożliwiający współpracę z systemem przyjazny dla użytkownika powinien umożliwiać wizualizację uzyskanych wyników Baza danych: zawiera niezbędne dane, które są potrzebne do działania systemu identyczna z bazą danych w systemach tradycyjnych Przemysław Juszczuk Systemy ekspertowe : program PCShell Moduł pozyskiwania wiedzy: Ekspert sam przedstawia wiedzę w postaci reguł (łańcuch przyczynowo-skutkowy): „Jeśli coś to wtedy...” Zaletą jest czytelność. Liczne wady : czas potrzebny do przekazania wiedzy, konieczność usystematyzowania wiedzy przez eksperta. Ekspert określa prawdopodobieństwo wpływu poszczególnych cech na daną sytuację. Np. Lekarz określający prawdopodobieństwo wystąpienia danego objawu. Zdecydowaną wadą takiego podejścia jest błędne szacowanie prawdopodobieństwa + różni eksperci mogą różnie interpretować pewne fakty. Budowa bazy wiedzy operatej na przykładach. Nie zawsze jednak dla danego problemu istnieje wystarczająca liczba opisanych przypadków. Przemysław Juszczuk Systemy ekspertowe : program PCShell Problem pozyskiwania wiedzy : duża liczba ekspertów. Metody wykorzystujące n ekspertów np. mini metoda delficka: uczestnik niezależnie od innych opracowuje swoją ocenę, przedstawienie wszystkich ocen na forum (anonimowo), dyskusja nad rozbieżnościami, każdy ekspert weryfikuje swoją ocenę, mediana ostatnich wyników przyjmowana jako wynik końcowy. Przemysław Juszczuk Systemy ekspertowe : program PCShell Moduł wnioskowania: Wnioskowanie w przód : wnioskowanie od faktów do celu (wnioskowanie sterowane danymi). Wnioskowanie w tył : wnioskowanie od celu do faktów (wnioskowanie sterowane celem). Wnioskowanie mieszane : cechy wnioskowania w tył i w przód. Np. podział bazy wiedzy na dwie części dla wnioskowania w przód oraz w tył. Przemysław Juszczuk Systemy ekspertowe : program PCShell Przykład wnioskowania: Dana jest baza wiedzy : R1: jeżeli „a” i „b” i „c” to „d” R2: jezeli „a” i „b” to „g” R3: jeżeli „b” i „c” to „e” R4: jeżeli „a” i „c” to „f” R5: jeżeli „e” i „b” i „c” to „f” Dane są fakty : „a”, „b”, „c”. Celem wnioskowania jest „f”. Przemysław Juszczuk Systemy ekspertowe : program PCShell Przykład 2: Dana jest baza wiedzy : R1: jeżeli „a” i „b” i „c” to „d” R2: jeżeli „a” i „d” to „g” R3: jeżeli „a” i „f” to „b” R4: jeżeli „b” i „g” to „f” R5: jeżeli „a” i „e” to „f” R6: jeżeli „e” i „f” to „a” R7: jeżeli „a” i „b” to „c” Dane są fakty : „a” i „e”. Udowodnić hipotezę „g”. Przemysław Juszczuk Systemy ekspertowe : program PCShell Przykład 3: Dana jest baza wiedzy: R1: jeżeli „b” i „d” to „f” R2: jeżeli „a” to „b” R3: jeżeli „e” i „f” to „g” R4: jeżeli „b” i „c” to „e” Fakty: „a”, „c” i „d”. Szukane „b” Przemysław Juszczuk Systemy ekspertowe : program PCShell Przykład 4: Dana jest baza wiedzy: R1: jeżeli „ j” i „k” to „l” R2: jeżeli „ j” to „n” R3: jeżeli „n” i „m” to „o” R4: jeżeli „n” i „l” to „m” Fakty: „ j”, „k”, „l”, „p”. Szukane „p”. Przemysław Juszczuk Systemy ekspertowe : program PCShell Przykład 5: Dana jest baza wiedzy: R1: jeżeli „ j” i „k” to „l” R2: jeżeli „ j” to „n” R3: jeżeli „n” i „m” to „o” R4: jeżeli „n” i „l” to „m” Fakty: „ j”, „k”, „l”. Szukane „p”. Przemysław Juszczuk Systemy ekspertowe : program PCShell Przykład 6: Dana jest baza wiedzy: R1: jeżeli „l” i „m” to „n” R2: jeżeli „ j” to „o” R3: jeżeli „ j” i „k” to „m” R4: jeżeli „n” i „o” to „p” Fakty: „ j”, „k”, „l”. Szukane „p”. Przemysław Juszczuk Systemy ekspertowe : program PCShell Etapy tworzenia systemu ekspertowego: analiza problemu, pod kątem, czy kwalifikuje się on do budowy systemu ekspertowego, opracowanie specyfikacji systemu, zdefiniowanie jego zadań i oczekiwanych wyników; przejęcie wiedzy od ekspertów i jej opracowanie; wybór metody reprezentacji wiedzy oraz „narzędzi” do budowy systemu; organizacja i kodowanie wiedzy (prototyp, pełna wersja); weryfikacja i testowanie systemu. Przemysław Juszczuk Systemy ekspertowe : program PCShell Rysunek: PcShell Przemysław Juszczuk Systemy ekspertowe : program PCShell Rysunek: PcShell Przemysław Juszczuk Systemy ekspertowe : program PCShell Rysunek: PcShell Przemysław Juszczuk Systemy ekspertowe : program PCShell Rysunek: PcShell Przemysław Juszczuk Systemy ekspertowe : program PCShell Rysunek: PcShell Przemysław Juszczuk Systemy ekspertowe : program PCShell Rysunek: PcShell Przemysław Juszczuk Systemy ekspertowe : program PCShell Rysunek: PcShell Przemysław Juszczuk Systemy ekspertowe : program PCShell Rysunek: PcShell Przemysław Juszczuk Systemy ekspertowe : program PCShell Projekt do realizacji: Utworzyć własną bazę wiedzy, przygotować opis oraz reguły. Wnioskowanie minimum na dwóch poziomach (patrz baza grzyby). Do projektu przygotować sprawozdanie. Sprawozdanie powinno zawierać: Tematyka bazy. Np. Klasyfkator utworów literackich jest to baza dotycząca klasyfkacji poszczególnych utworów literackich. Ma ona za zadanie wskazać właściwy gatunek literacki wybranego utworu na podstawie jego cech charakterystycznych. Powód wybrania zagadnienia. Np. w języku polskim 3 rodzaje literackie: liryka, epika dramat + wiele gatunków literackich: powieść, bajka, pieśń, komedia, anegdota, fraszka, farsa, haiku, plankt, dystopia... Program pozwoli użytkownikowi na podstawie cech utworu określić jego przynależność. Proces zbierania inforamcji: wskazać cechy poszczególnych rodzajów literackich. Opisać dlaczego wybrano te gatunki literackie i wskazać ich cechy unikalne. + źródła (książki / strony www ). Przemysław Juszczuk Systemy ekspertowe : program PCShell Proces powstawania: np. początkowym założeniem była identyfikacja dowolnego tekstu, czyli zarówno tekstu literackiego jak i przykładowego zadania z fzyki lub matematyki. Jednak w trakcie przygotowania bazy wyniknął np. problem jednoznaczego odróżnienia tekstu matematycznego od literackiego. Pierwszym krokiem przy projektowaniu bazy było przedstawienie odpowiednich zależności pomi ędzy poszczególnymi gatunkami i rodzajami literackimi w postaci grafu. Tak przygotowane opisy utworów tworzyły reguły w języku naturalnym, które następnie zostały zakodowane w programie PC-Shell 4.0 oraz umieszczone w regułach bazy danych. Zapis naturalny: Przykład: 029: rodzaj = „epika” if przedstawienie fabuły = „opowiada jedna osoba” i styl wypowiedzi = „proza”; Utwór należy do epiki, jeżli cała fabuła przedstawiana jest z perspektywy jednej osoby - narratora. Kolejnym ważnym czynnikiem jest styl wypowiedzi autora a także osób biorących udział w fabule. Opcjonalnie kod źródłowy. Przykłady wnioskowania. Przemysław Juszczuk Systemy ekspertowe : program PCShell Rysunek: PcShell Przemysław Juszczuk Systemy ekspertowe : program PCShell Rysunek: PcShell Przemysław Juszczuk Systemy ekspertowe : program PCShell Rysunek: PcShell Przemysław Juszczuk Systemy ekspertowe : program PCShell