Systemy ekspertowe

advertisement
Systemy ekspertowe
Systemy informacyjne zarządzania
Systemy administracyjno
Banki
dyspozycyjne
Systemy
uniwersalne
Rachunko wość/
finanse
Kadry/
płace
Zbyt
Systemy
branżowe
-
Systemy wspomagania
decyzyjnego
Systemy ponad branżowe
Systemy infor.
kierow. SIK
Systemy
planowania
Produkcja
Systemy EDI
Pełne SIK
Modele
proste
Handel
Rynki elektro niczne
Częściowe
SIK
Modele
złożone
Systemy baz
wiedzy
Systemy
ekspertowe
Sieci
neuronowe
Contro llingowe SIK
1
Wstęp:
Wraz z rozwojem wiedzy narasta złożoność problemów w wielu
dziedzinach, utrudnia to gromadzenie, przechowywanie oraz
przetwarzanie danych informacyjnych, a także odpowiednie ich
udostępnianie.
Natomiast umysł ludzki ma ograniczoną zdolność przetwarzania i
wykorzystania informacji.
Jak wykazują badania liczba informacji przetwarzanych
jednocześnie w umyśle człowieka wynosi ok. 7, a przy większej ich
liczbie proces analizy odbywa się sekwencyjnie, porcjami też po 7.
2
W wielu dziedzinach w tworzeniu i obsłudze baz danych bardzo
pomocne stały się szybkość działania komputera, pojemność
pamięci, bezbłędne operacje w bardzo złożonym labiryncie
logicznym z możliwością szybkiego docierania do zadanych
informacji, ich selekcjonowania i agregowania według
wieloparametrowych relacji określanych przez użytkownika.
Badania z zakresu sztucznej inteligencji dowiodły, że w wielu
dziedzinach, pewne czynności konsultacyjne mogą być
odwzorowane w postaci algorytmu matematyczno-logicznego.
Stało się zatem możliwe zbudowanie programów z bazą wiedzy
zdolnych do samodzielnego rozwiązywania problemów,
stawiania diagnoz i formułowania porad.
3
Sztuczna inteligencja (AI)
Inteligencja – (psych.) zespół zdolności umysłowych
umożliwiających jednostce sprawne korzystanie z nabytej
wiedzy oraz skuteczne zachowanie się wobec nowych zadań
i sytuacji.
Definicja praktyczno – poznawcza:
Sztuczna inteligencja – dział informatyki zajmujący się
badaniami nad systemami inteligentnymi, ich modelowaniem,
konstrukcją oraz wykorzystaniem do wspomagania i zastąpienia
pracy umysłowej człowieka oraz do głębszego zrozumienia
ludzkiego sposobu rozumowania.
4
Sztuczna inteligencja (AI)
Zadania realizowane z wykorzystaniem AI, np.:
•podejmowanie decyzji w warunkach braku
wszystkich danych,
•zarządzanie wiedzą, preferencjami i informacją w
robotyce,
•analiza i synteza języków naturalnych,
•rozpoznawanie obrazów (osób, obiektów),
•rozpoznawanie mowy i mówców, pisma,
•komputerowe gry logiczne,
•sieci neuronowe, algorytmy genetyczne,
•systemy eksperckie i diagnostyczne.
5
Systemy ekspertowe
program, lub zestaw programów wspomagający korzystanie
z wiedzy i ułatwiający podejmowanie decyzji.
Systemy ekspertowe mogą wspomagać bądź zastępować
ludzkich ekspertów w danej dziedzinie, mogą dostarczać rad,
zaleceń i diagnoz dotyczących problemów tej dziedziny.
Zorganizowane w taki sposób, że wiedza dotycząca danej
dziedziny jest odseparowana od reszty systemu.
6
Ekspert
Człowiek posiadający specjalistyczną wiedzę w pewnej
dziedzinie (wiedzę dziedzinową) i umiejętność stosowania jej
dla podejmowania decyzji związanych z tą dziedziną
(umiejętność wnioskowania w oparciu o posiadaną wiedzę),
nabyte w wyniku studiów i praktyki.
Wiedza (niezbędna, by zapewnić odpowiedni poziom
ekspertyzy), wraz z procedurami wnioskowania, stanowi model
ekspertyzy posiadanej przez najlepszych specjalistów w danej
dziedzinie.
7
Zastosowanie systemów ekspertowych
• diagnozowanie chorób,
• poszukiwanie złóż minerałów,
• identyfikacja struktur molekularnych,
• udzielanie porad prawnych,
• diagnoza problemu (np. nieprawidłowego działania urządzenia),
• dokonywanie wycen i kalkulacji kosztów naprawy pojazdów
przez firmy ubezpieczeniowe,
• prognozowanie pogody,
• sterowania robotami, automatycznymi pojazdami, rakietami,
statkami kosmicznymi,
• analiza notowań giełdowych,
• ...
8
Porównanie ekspertyzy naturalnej z ekspertyzą sztuczną:
Ekspertyza naturalna,
wykonana przez człowieka
Ekspertyza sztuczna
Wady
tracąca na wartości z upływem czasu
trudna do przeniesienia
trudna do dokumentacji
nie dająca się przewidzieć
kosztowna
Zalety
stała
łatwa do przeniesienia
łatwa do dokumentacji
zgodna z bazą wiedzy
dostępna
Zalety
twórcza
adaptacyjna
wykorzystane zmysłów
szeroki zakres
wiedza zdrowego rozsądku
Wady
nie inspirująca
wymaga wprowadzenia wiedzy
wejścia symboliczne
wąski zakres
wiedza przetwarzana w sposób mechaniczny
9
Inżynieria wiedzy
- dziedzina pozyskiwania i przetwarzania wiedzy, z którą są
związane systemy ekspertowe.
Akwizycja wiedzy – elementów inżynierii wiedzy – proces
pozyskiwania, gromadzenia i strukturalizowania wiedzy z danej
dziedziny niezbędnej do realizacji baz wiedzy systemu
ekspertowego.
10
Akwizycja wiedzy:
• prowadzenie wywiadów z ekspertami
• analiza kwestionariuszy wypełnianych przez ekspertów
• analiza raportów pisanych przez ekspertów
• analiza komentarzy ekspertów wykonywanych w czasie pracy
• obserwacja ekspertów przy pracy
• własne przygotowanie inżyniera wiedzy
- powinien poznać problem i zrozumieć
- poznać terminologię
- pamiętać, że inżynier buduje model bazy wiedzy
eksperta, a nie swojej.
11
Przykład procesu pozyskiwania wiedzy:
Dane, problemy, pytania
Ekspert
dziedziny
Inżynier
wiedzy
Wiedza strukturalizowana
Baza
wiedzy
Wiedza, koncepcje, rozwiązania
Dużą trudnością podczas procesu akwizycji wiedzy stanowić może
nastawienie eksperta do inżyniera wiedzy.
Przyczyną może być poczucie zagrożenia, różnica wieku,
posługiwanie się różnymi językami specjalistycznymi, wrogi
stosunek do komputeryzacji, obawa przed utratą strefy wpływów.
12
Problem akwizycji wiedzy:
Ponieważ pozyskanie i strukturalizacja wiedzy eksperta jest
zajęciem pracochłonnym, więc wysiłek włożony w utworzenie
systemu ekspertowego jest uzasadniony wówczas, gdy będzie on
wykorzystywany w długim odstępie czasu przez wystarczająco
dużą liczbę użytkowników.
Moc programu ekspertowego (w zakresie rozwiązywania danego
problemu) tkwi w zakodowanej w nim wiedzy, a nie w
formalizmie i schematach wnioskowania, których używa.
Problem z posiadaniem pełnej wiedzy tkwi w bazie wiedzy, a nie
w sposobie realizacji procesu wnioskowania systemu
ekspertowego.
13
Sposoby pozyskiwania wiedzy eksperta:
Obserwacja eksperta w miejscu pracy – inżynier wiedzy staje
się biernym obserwatorem, starając się uzyskać wgląd na
złożoność problemu.
Dyskusja problemu – celem jest określenie sposobu organizacji
wiedzy eksperta o problemie.
Opisywanie problemu – ekspert opisuje problem dla każdej
mogącej się pojawić kategorii danych wejściowych, podawanych
przez użytkownika. Pomaga to sformułować prototypowy
problem, a następnie wybrać strategię rozwiązania problemu.
14
Analizowanie problemu – inżynier wiedzy stawia ekspertowi do
rozwiązania szereg problemów, badając sposób rozumowania
eksperta w trakcie ich rozwiązywania. Właściwa analiza
przyczynia się wydatnie do poprawnego zrozumienia problemu
oraz opracowania efektywnej metody jego rozwiązania. Lepiej jest
zbyt dokładnie przeanalizować problem, niż dokonać analizy w
sposób niezadowalający.
Udoskonalanie systemu – ekspert zadaje inżynierowi wiedzy
problemy do rozwiązania, zaczynając od bardzo łatwych, a
skończywszy na dość trudnych. Ekspert weryfikuje czy przekazał
właściwie swoją wiedzę.
15
Testowanie systemu – ekspert testuje i wydaje opinie a każdej
regule w prototypowym systemie ekspertowym, a także ocenia
strategie stosowaną do wyboru reguł. Sprawdza, czy koncepcje
wyrażone w sposób abstrakcyjny zostały prawidłowo
zaimplementowane w systemie.
Legalizacja systemu – prototyp systemu ekspertowego
powinien być udostępniony innym ekspertom w celu oceny
poprawności merytorycznej działania i krytyki systemu.
Wniesione poprawki mają umożliwić udoskonalenie systemu.
16
Kategorie systemów ekspertowych:
Systemy doradcze – prezentują rozwiązania dla użytkownika,
który jest w stanie ocenić ich jakość. Użytkownik może odrzucić
rozwiązanie oferowane przez system i zażądać innego
rozwiązania.
Systemy podejmujące decyzje – bez kontroli człowieka są same
dla siebie końcowym autorytetem. Używane np. do sterowania
różnymi obiektami, gdzie udział człowieka jest utrudniony lub
wręcz niemożliwy.
Systemy krytykujące – system na podstawie przedstawionego
problemu i jego rozwiązania dokonuje analizy i komentuje
uzyskane rozwiązanie.
17
Rodzaje systemów ekspertowych:
Ze względu na to co otrzymujemy na wyjściu można podzielić
na trzy zasadnicze grupy:
Diagnoza to ocena stanu istniejącego na podstawie
posiadanych danych
Prognoza jest to przewidywanie stanu przyszłego na
podstawie istniejących danych.
Plan wreszcie jest rozumiany jako opis pewnego stanu,
do którego należy dążyć.
18
Ze względu na sposoby realizacji systemy ekspertowe możemy
podzielić na dwie grupy:
Systemy dedykowane – tworzone od podstaw przez inżyniera
wiedzy współpracującego z informatykiem.
Systemy szkieletowe (shells) – systemy z pustą bazą wiedzy.
Proces tworzenia finalnego systemu ekspertowego jest w tym
przypadku krótszy niż w pierwszym, gdyż jest wymagane tylko
pozyskanie wiedzy i jej odpowiednia implementacja w
systemie.
19
Ze względu na metodę prowadzenia procesu wnioskowania
systemy ekspertowe dzieli się na systemy:
•
•
•
z logiką dwuwartościową (Boole'a),
z logiką wielowartościową,
z logiką rozmytą.
Ze względu na rodzaj przetwarzanej informacji systemy
ekspertowe dzielą się na dwie grupy:
•
•
systemy z wiedzą pewną, czyli zdeterminowaną,
systemy z wiedzą niepewną, w przetwarzaniu której
wykorzystuje się przede wszystkim aparat
probabilistyczny.
20
Podstawowe bloki systemu ekspertowego:
Baza wiedzy
Fakty
Reguły
Maszyna wnioskująca
wraz
z jednostką sterującą
21
Struktura systemów ekspertowych:
Rozważając szczegółowo strukturę systemów ekspertowych
możemy w niej wyróżnić następujące podstawowe elementy:
•
•
•
•
•
baza wiedzy (np. zbiór reguł),
•
procedury umożliwiające rozszerzanie oraz modyfikację wiedzy
- pozyskiwanie wiedzy.
baza danych (np. dane o obiekcie, wyniki pomiarów, hipotezy),
procedury wnioskowania - maszyna wnioskująca,
procedury objaśniania - objaśniają strategię wnioskowania,
procedury sterowania dialogiem - procedury wejścia/wyjścia
umożliwiają formułowanie zadań przez użytkownika i
przekazywanie rozwiązania przez program,
22
Budowa systemu ekspertowego:
System doradczy
Kontroler wywodu
Wyniki
Interfejs
Dane
Baza wiedzy
23
Baza wiedzy:
- jest częścią systemu w której zebrana jest wiedza z danej
dziedziny oraz reguły podejmowania decyzji przez eksperta.
Informacje te mogą być przechowywane w różnej postaci, ale
zawsze są podstawą wnioskowania.
Niemożliwe jest istnienie systemu ekspertowego bez bazy wiedzy
bowiem sam system jest jedynie uniwersalną platformą, w której
po umieszczeniu analogicznie reprezentowanej bazy wiedzy z
innej dziedziny otrzymujemy nowy system doradczy.
24
Kontroler wywodu
- część systemu kierująca rozwiązaniem problemu, odpowiedzialna
za sposób wnioskowania, poprawne wykorzystanie wiedzy, obsługę
sporadycznie występujących sytuacji.
Również bez kontrolera wywodu system ekspercki nie zadziała,
ponieważ nie będzie potrafił wykorzystać posiadanej wiedzy.
Interfejs
- część systemu odpowiedzialna jest za komunikację z
użytkownikiem (wprowadzanie danych) i wyprowadzanie wyników
działania.
Program bez interfejsu nie wykona żadnych czynności z powodu
braku danych (nawet gdyby je posiadał to nie mógłby wyprowadzić
wyników).
25
Cykl projektowania systemu ekspertowego:
Etap projektowania informacyjnego:
•
•
•
Wydzielanie dziedziny przedmiotowej;
•
Projekty szczegółowe modułów:
- mechanizm wnioskujący;
- baza wiedzy;
- moduł współpracy z użytkownikiem.
Nabywanie wiedzy;
Wybór rodzaju systemu (od podstaw lub w oparciu o system
szkieletowy);
26
Etap projektowania informatycznego:
•
Wybór metody programowania (język symboliczny lub język
ogólnego przeznaczenia);
•
Programowanie.
Weryfikacja;
Wdrożenie.
27
Baza wiedzy:
Konstrukcja właściwej bazy wiedzy jest podstawą poprawnego
funkcjonowania systemu ekspertowego. Wymaga ona wyboru
odpowiednich faktów z dziedziny działania systemu, uniknięcia
błędów i wyboru odpowiedniej struktury dla tych faktów.
Podczas tworzenia bazy wiedzy należy odpowiedzieć sobie na
następujące pytania:
1. Jakie obiekty należy zdefiniować?
2. Jakie są relacje między obiektami?
3. Jak należy formułować i przetwarzać reguły?
4. Czy pod względem rozwiązania specyficznego problemu
baza wiedzy jest kompletna i spójna?
28
Etapy konstruowania bazy wiedzy:
1. Identyfikacja - określenie charakterystyki problemu do
rozwiązania (ekspert i inżynier wiedzy określają problem do
rozwiązania i jego zakres - ponadto określają potrzebne środki);
2. Reprezentacja - znalezienie sposobu reprezentacji wiedzy
(przeprowadzana jest analiza problemu, bardzo istotne jest
przeprowadzenie jej w gruntowny sposób, co niweluje
występowanie trudności w późniejszym czasie. Gdy problem jest
już zrozumiały należy przystąpić do ustalenia informacji oraz
danych potrzebnych do jego rozwiązania a następnie zacząć je
kompletować);
29
3. Formalizacja - zaprojektowanie struktur organizujących
wiedzy (przełożenie kluczowych koncepcji, reguł i relacji na
język formalny. Inżynier wiedzy powinien zaprojektować
syntaktykę i semantykę tego języka, a następnie wraz z
ekspertem ustalić wszystkie podstawowe pojęcia i relacje,
które są niezbędne do rozwiązania postawionego problemu);
4. Implementacja - sformułowanie reguł lub ram zawierających
wiedzę (inżynier wiedzy łączy i reorganizuje sformalizowaną
wiedzę tak, aby stała się zgodna z charakterystyką przepływu
informacji danego problemu. Powstały zestaw reguł lub ram i
powiązana z nimi struktura kontrolna tworzy prototypowy
program);
5. Testowanie - sprawdzenie zastosowanych w systemie reguł lub
ram (reguły i relacje są sprawdzane pod kątem generowania
przez nie odpowiedzi zgodnych z wymaganiami eksperta.).
30
Badanie poprawności bazy wiedzy:
Testowanie spójności polega na wykrywaniu reguł zbędnych,
sprzecznych, pochłaniających, reguł z niepotrzebnym warunkiem
oraz reguł zapętlonych.
Redundancja bazy wiedzy występuje wówczas, gdy pojawiają
się reguły zbyteczne. Dwie reguły są redundancyjne, jeśli obie
ich części warunkowe są równocześnie spełnione lub nie
spełniane we wszystkich możliwych sytuacjach np.:
( a, L)  ( c,3)  ( d , H )
(( a , R ))  ( c,3)  ( d , H )
Przy czym atrybut a może przyjąć dwie wartości: L i R. Mimo,
ze redundancja powoduje nadmiarowość bazy wiedzy, proces
wnioskowania odbywa się bez przeszkód, chociaż jest
wymagane przeszukiwanie większej liczby reguł.
31
Dwie reguły są sprzeczne (konfliktowe) wówczas, gdy ich części
warunkowe są równocześnie spełnione lub nie spełnione we
wszystkich możliwych sytuacjach i ich części konkluzyjne są
różne dla przynajmniej jednej sytuacji, np.:
( a, L)  ( c,3)  ( d , H )
( a, R )  ( c,3)  ( d , L)
Przy czym atrybut d może przyjąć dwie wartości: H i L. Niektóre
systemy do sprawdzania poprawności bazy wiedzy pokazują
sprzeczne reguły, umożliwiając inżynierowi wiedzy eliminację
tego błędu.
32
Jedna reguła jest pochłaniana przez inną wówczas, gdy część
warunkowa pierwszej reguły jest spełniona, jeśli jest spełniona
część warunkowa drugiej reguły (odwrotne stwierdzenie nie jest
prawdziwe) i części konkluzyjne obu reguł są identyczne. Na
przykład reguła
(a, L)  (c,3)  (d , H )
jest pochłania prze regułę
( c,3)  ( d , H )
Pochłaniające reguły dają podobny efekt jak reguły
zredundowane (jeżeli pierwsza reguła daje się zastosować, to
druga także).
33
Dwie reguły mają niepotrzebne warunki, jeśli obie są
pochłaniane przez trzecią regułę. Baza reguł może nie zawierać tej
trzeciej reguły i w takiej sytuacji sprawdzanie pochłaniania nie
daje rezultatu. Następujące dwie reguły mają niepotrzebne
warunki:
( a, L)  (b, D )  ( c,5)  ( d , H )
( a, R )  (b, D )  ( c,5)  ( d , H )
Przy czym warunkowy atrybut a może mieć wartości L i R.
Obie reguły są pochłaniane przez regułę
(b, D )  ( c,5)  ( d , H )
W tym przypadku efekt jest podobny jak dla redundancji reguł.
34
Zestaw reguł tworzy pętlę, jeżeli uaktywnienie tych reguł jest
cykliczne. Trzy reguły
( a, L)  ( c,5)  ( d , H )
( d , H )  ( f ,2 )
( f ,2)  ( g ,4)  ( c,5)
Tworzą pętlę, gdy w bazie wiedzy istnieją następujące fakty
( a, L), ( c,5), ( g ,4)
35
Wielokrotne odwołanie do jednego atrybutu zachodzi
wówczas, gdy w części warunkowej występuje kilka członów
zawierających ten sam atrybut. W przypadku, gdy odwołania
są identyczne, wówczas powtarzające się warunki są zbędne.
Natomiast w przypadku, gdy nie są one identyczne, wówczas
reguła nigdy nie będzie uaktywniona, ponieważ atrybut nie
może jednocześnie przyjmować kilku wartości, np.
( a , L)  ( a , R )  ( d , H )
Wielokrotne odwołanie do jednego atrybutu w części
wynikowej jest błędem logicznym, stwarzającym
domniemanie wystąpienia błędnego powiązania atrybutu
wynikowego z jego wartością.
36
Sprawdzanie kompletności bazy reguł – poszukiwanie
brakujących reguł.
W niektórych rozwiązaniach sprawdza się, czy istnieje reguła dla
każdej kombinacji atrybutu przesłanki i wartości, jaką atrybut
może przyjąć.
Większość systemów w celu sprawdzenia poprawności reguł
rozpatruje różne przypadki, jakie mogą się zdarzyć dla części
reguł: nie określone wartości przesłanek, niedopuszczalne
wartości atrybutów, nieosiągalne wartości przesłanek,
nieosiągalna akcja (uaktywnienie reguły) i nieosiągalny cel.
37
Niepewność wiedzy:
Przyczyny niepewności wiedzy:
•
•
•
•
•
•
•
•
•
Niewiarygodne źródła informacji.
Zbyt wiele informacji nie mającej znaczenia.
Brak precyzji w obserwacjach i opisie.
Błędy aparatury.
Brak zrozumienia sytuacji.
Sprzeczne informacje.
Nieznane czynniki wpływające na sytuację.
Zmiana sytuacji w czasie, starzenie się wiedzy.
Koszty pozyskiwania nowych informacji.
38
Zalety systemów ekspertowych:
•
•
•
•
Przydatne do rozwiązywania złożonych problemów, w dziedzinach,
w których zgromadzono wiedzę empiryczną
Potrafią odpowiadać na pytania prezentując swoje konkluzje w
intuicyjne zrozumiały sposób, nie potrzeba programistów by
zrozumieć ich działanie.
Zwykle oparte są na jednolitym sposobie reprezentacji wiedzy, np.
regułach lub ramach.
Dzięki temu łatwo jest modyfikować wiedzę.
Wady:
•
•
Trudno jest przewidzieć, jakie będą skutki dodania nowej
wiedzy, rozumowanie zdroworozsądkowe jest trudne.
Trudno jest pozyskiwać wiedzę (uczenie maszynowe i
odkrywanie wiedzy rzadko jest częścią SE).
39
Zastosowanie systemów ekspertowych w analizie
decyzyjnej:
Przedsiębiorstwa korzystają najczęściej z systemów ekspertowych,
gdy zamierzają poddać analizie następujące problemy:
•
wielokryterialną ocenę sprawozdań finansowych;
•
skutki zmian w strukturze kapitałowej przedsiębiorstwa;
•
zarządzanie zasobami gotówkowymi firmy;
•
planowanie obciążeń podatkowych.
40
Przykład polskiego programu szkieletowego PC-Shell:
http://aitech.pl/
41
Download