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

Podobne dokumenty