mają LISP
Transkrypt
mają LISP
2016 © Adam Meissner Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner [email protected] http://www.man.poznan.pl/~ameis INŻYNIERIA WIEDZY Architektury systemów eksperckich Literatura [1] Chwiałkowska E., Sztuczna inteligencja w systemach eks perckich, Wyd. MIKOM, Warszawa, 1991. [2] Cichosz P., Systemy uczące się, WNT, Warszawa, 2000. [3] Lebowitz J., The Handbook of Applied Expert Systems, CRC Press, 1998. [4] Martinek J., Materiały do wykładów z przedmiotu sztuczna inteligencja, prowadzonych w latach 1998 - 2008 na Wydz. Elektrycznym Politechniki Poznań-skiej. [5] Puppe F., Systematic Introduction to Expert Systems, Springer-Verlag, 1993. [6] Russell S.J., Norvig P., Artificial Intelligence: A Modern Ap proach, Prentice Hall, New Jersey, 2003. 1 2016 © Adam Meissner Plan wykładu 1.Wprowadzenie. 2.Metody pozyskiwania (akwizycji) wiedzy od ekspertów. 3.Metody reprezentowania i przetwarzania wiedzy. 4.Zagadnienia komunikacji z użytkownikiem i udzielania objaśnień. 5.Środowiska do tworzenia systemów eksperckich. 6.Podsumowanie. Wprowadzenie znaczenie terminu „system ekspercki” „System ekspercki to program komputerowy wyposażony w wiedzę i umiejętności wnioskowania właściwe dla spe cjalistów z pewnej dziedziny” [5] typowa architektura systemu eksperckiego (wg. [5]) użytkownik interfejs z użytkownikiem przypadki specyficzne, dotyczące analizowanego problemu ekspert moduł udzielania objaśnień moduł akwizycji wiedzy wiedza dziedzinowa eksperta mechanizm wnioskujący wyniki pośrednie oraz rozwiązanie problemu 2 2016 © Adam Meissner rys historyczny • lata 50-te: rozwój teorii gier, zdefiniowanie podstawo wych strategii prowadzenia gier dwuosobowych (np. strategia minimaksowa), badania nad algorytmami przeszukiwania heurystycznego (np. algorytm A*), • lata 60-te: skonstruowanie pierwszych systemów roz wiązujących proste problemy, np. GPS (Newell A, Si mon H.) oraz SHRDLU (Winograd T.), badania nad au tomatycznym wnioskowaniem – zdefiniowanie reguły rezolucji (Robinson J.R.), • lata 70-te: ukształtowanie się koncepcji systemu eks perckiego, powstanie pierwszych systemów eksperc kich, takich jak: − MYCIN (Feigenbaum E., 1976) – diagnozowanie bak teryjnych zakażeń krwi, regułowa reprezentacja wie dzy, wnioskowanie na podstawie współczynników pewności, − CADUCEUS (Uniw. Pittsburgh, 1974 - ok. 1985) – diagnozowanie chorób wewnętrznych, zaimplementowany w języku INTERLISP, rozpoznaje ok. 1000 tj. 75% wszystkich znanych jednostek chorobowych, problem współwystępowania chorób, − PUFF (1979) – system diagnozowania chorób płuc, zaimplementowany z wykorzystaniem powłoki EMY CIN, duża trafność postawionych diagnoz (ok. 85%), 3 2016 © Adam Meissner − DENDRAL (Feigenbaum E., Buchanan B., Lederberg J.) – określanie struktury związku chemicznego na podstawie analizy spektralnej, zaimplementowany w INTERLISPie, generowanie i testowanie hipotez, − PROSPECTOR (SRI Int., przełom lat 70/80) – interpretowanie map geologicznych, odkrycie bogatych złóż rudy molibdenu w stanie Washington (wartych ok. 1 mld USD), − MACSYMA – (MIT, początek lat 70-tych) – wykonywanie obliczeń symbolicznych, zaimplementowany w języku LISP, popularny wśród matematyków i inżynierów, − HERSAY I i II (Uniw. Carnegie-Mellon) – rozpoznawanie mowy, pionierskie rozwiązania z zakresu archi tektur tablicowych. kryteria klasyfikowania systemów eksperckich ([1]) • dziedzina zastosowań (np. medycyna, inżynieria, mate matyka, chemia, fizyka, geologia, meteorologia, rolnic two, prawo, zarządzanie, doradztwo finansowe, wojsko wość, transport, kosmonautyka, sterowanie produkcją) • przeznaczenie: − s. kontrolne – sterowanie złożonymi procesami (np. produkcją), − s. diagnostyczne – rozpoznawanie i klasyfikowanie przypadków, systemy te są szeroko stosowane w technice, medycynie, analizie chemicznej i wielu in nych dziedzinach, 4 2016 © Adam Meissner − s. testujące – wykrywanie wad w badanych wyrobach, ich rozszerzeniem są systemy naprawcze, proponujące metody usuwania usterek, − s. projektujące – (np. CAD, CAM) wspomaganie pro cesów projektowania, stosowane np. w elektronice, mechanice i inżynierii budowlanej, − s. edukacyjne – (Intelligent Computer Aided Instruc tion), wspomaganie nauczania, − s. interpretujące – interpretowanie danych, np. sys tem PROSPECTOR, − s. planistyczne – wspomaganie konstruowania pla nów działań, systemy te są wykorzystywane m. in. przez strategów wojskowych, − s. prognostyczne – przewidywanie zachowań ukła dów dynamicznych na podstawie stanów wcześniej szych, systemy te wykorzystuje się np. do prognozo wania pogody. • sposób reprezentowania wiedzy i metody jej przetwa rzania [5] − logika pierwszego rzędu i jej podzbiory (np. logika klauzul Horna, język Prolog), − reguły JEŻELI-TO, wnioskowanie progresywne (ang. forward chaining), wnioskowanie regresywne (ang. backward chaining), − ramy i obiekty, − logiki nieklasyczne - np. modalne, temporalne, wnio skowanie niemonotoniczne, algorytmy utrzy-mywania wiarygodności. 5 2016 © Adam Meissner Metody pozyskiwania wiedzy od ekspertów • metody manualne − kluczowa rola inżyniera wiedzy, − prowadzenie wywiadów z ekspertem, wykorzystanie kwestionariuszy i diagramów, analiza raportów eks perta, obserwowanie pracy eksperta, − zalety w porównaniu z metodami automatycznymi: większe możliwość porozumiewania się eksperta i in żyniera wiedzy, możliwość uwzględnienia w modelu specyficznych aspektów rozpatrywanych zagadnień, − wady: niechęć ekspertów do współpracy, problemy z werbalizowaniem wiedzy przez eksperta, przekłama nia wynikające z udziału inżyniera wiedzy, czaso chłonność, • metody automatyczne i półautomatyczne − środowiska do pozyskiwania wiedzy od eksperta, np. systemy TEIRESIAS, ACQUIST, KNACK, KRITON, KSSO − "odkrywanie" wiedzy na podstawie decyzji eksperta algorytmy uczenia maszynowego. 6 2016 © Adam Meissner konstruowanie drzew decyzyjnych • założenia: dany jest zbiór D decyzji eksperta, klasyfikujących podany zbiór przykładów S na podstawie wartości wyróżnionych cech, • zadanie: skonstruować drzewo, którego wierzchołki wiszące reprezentują elementy zbioru D, a wierzchołki wewnętrzne od powiadają cechom; każda krawędź wychodząca z wierzchoł ka wewnętrznego reprezentuje jedną z możliwych wartości cechy przypisanej temu wierzchołkowi, • ww. zadanie jest przykładem problemu indukowania pojęć, który wchodzi w zakres uczenia maszynowego [2], • do najpopularniejszych metod konstruowania drzew decyzyj nych należy algorytm ID3 Rossa Quinlanna (1979) oraz jego warianty i udoskonalenia. Algorytm ID3 Dane: zbiór przykładów S. Wynik: korzeń w drzewa decyzyjnego dla S. Metoda: 1. Utworzyć wierzchołek w. 2. Jeżeli zbiór S zawiera wyłącznie przykłady pozytywne, to w jest liściem o etykiecie 1; stop. 3. Jeżeli zbiór S zawiera wyłącznie przykłady negatywne, to w jest liściem o etykiecie 0; stop. 4. Wśród wszystkich cech występujących w zbiorze S znaleźć ce chę c o maksymalnym zysku informacyjnym. 5. Podzielić zbiór S na podzbiory S1, ..., Sn w których cecha c ma odpowiednio tę samą wartość; n jest liczbą wartości cechy c. 6. Nadać wierzchołkowi w etykietę c. 7. Dla każdego zbioru Si (i = 1, ..., n) skonstruować drzewo decy zyjne ID3(Si) i połączyć jego korzeń z wierzchołkiem w krawę dzią o etykiecie reprezentującej wartość cechy c w zbiorze Si. 7 2016 © Adam Meissner Przykład 1 (wg. [2]) Dany jest zbiór przykładowych decyzji eksperta w kwestii, czy przy danym stanie pogody można (d(x) = 1) albo nie można (d(x) = 0) grać w tenisa. x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 aura słoneczna słoneczna pochmurna deszczowa deszczowa deszczowa pochmurna słoneczna słoneczna deszczowa słoneczna pochmurna pochmurna deszczowa temperatura wysoka wysoka wysoka umiarkowana niska niska niska umiarkowana niska umiarkowana umiarkowana umiarkowana wysoka umiarkowana wilgotność duża duża duża duża normalna normalna normalna duża normalna normalna normalna duża normalna duża wiatr słaby silny słaby słaby słaby silny silny słaby słaby słaby silny silny słaby silny d(x) 0 0 1 1 1 0 1 0 1 1 1 1 1 0 drzewo decyzyjne {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14} aura słoneczna {1, 2, 8, 9, 11} pochmurna {3, 7, 12, 13} wiatr duża {9, 11} 1 {4, 5, 6, 10, 14} 1 wilgotność normalna deszczowa słaby {1, 2, 8} {4, 5, 10} 0 1 8 silny {6, 14} 0 2016 © Adam Meissner Metody reprezentowania i przetwarzania wiedzy • regułowa reprezentacja wiedzy • wiedza dziedzinowa na temat rozpatrywanego wycinka rzeczywistości (tzw. świata) jest skończonym zbiorem reguł, • każda reguła ma ogólną postać JEŻELI Warunek TO Akcja • wyrażenie Warunek jest zazwyczaj koniunkcją literałów, np. pacjent_skarży_się_na(ból_gardła) ∧ Temperatura > 37,5, • wyrażenie Akcja jest skończonym, niepustym ciągiem, w którym wyróżnia się − wnioski (ang. implications), czyli implikowane formuły np. stwierdzona_dolegliwość(angina), − instrukcje, czyli działania zmieniające stan świata, np. zaaplikować_pacejntowi(aspiryna) Przykład 2 (wg. [2]) Drzewo decyzyjne z przykładu 1 można reprezentować w posta ci następującego zbioru reguł. JEŻELI aura(słoneczna) ∧ wilgotność(duża) TO 0 JEŻELI aura(słoneczna) ∧ wilgotność(normalna) TO 1 JEŻELI aura(pochmurna) TO 1 JEŻELI aura(deszczowa) ∧ wiatr(silny) TO 0 JEŻELI aura(deszczowa) ∧ wiatr(słaby) TO 1 9 2016 © Adam Meissner • przetwarzenie wiedzy regułowej • istnieją dwie, podstawowe metody przetwarzania wie dzy regułowej − wnioskowanie progresywne (ang. forward chaining), − wnioskowanie regresywne (ang. backward chaining), • jednym z elementarnych działań, wykonywanych w ra mach obu ww. metod jest porównywanie wyrażeń; wy korzystuje się do tego celu algorytm − unifikacji, − dopasowania wyrażenia do wzorca (ang. pattern matching) wnioskowanie progresywne [5] Algorytm FC Dane: baza wiedzy KB obejmująca zbiór reguł R i zbiór faktów F oraz hipoteza H. Wynik: sygnał tak, jeżeli KB H albo sygnał nie w przeciwnym wypadku; nowy zbiór F. Metoda: 1. Jeżeli H∈F to stop(tak). 2. Skonstruować zbiór C złożony ze wszystkich reguł ze zbioru R, których warunki są spełnione, tj. dla dowolnej reguły po staci L1 ∧ ... ∧ Ln → A ze zbioru C, Li∈F gdzie i = 1, n. 3. Jeżeli C = ∅ to stop(nie), w przeciwnym wypadku uszere gować zbiór C zgodnie z przyjętymi kryteriami. 4. Wykonać akcję A pierwszej reguły ze zbioru C; jeżeli akcja A jest wnioskiem to dołączyć A do zbioru F. 5. Przejść do kroku 1. 10 2016 © Adam Meissner Popularne strategie szeregowania zbioru C: ● przyjąć naturalny porządek w zbiorze, ● uszeregować zbiór począwszy od reguł, których warunki odnoszą się do przypadków wprowadzonych do bazy wiedzy jako ostatnie (tj. najpóźniej), ● uszeregować zbiór począwszy od reguł o najbardziej złożonych warunkach, ● uszeregować zbiór z wykorzystaniem wiedzy dodatkowej, np. przypisującej regułom priorytety. Udoskonalenia algorytmu ogólnego ● klasyfikowanie reguł ze względu na podobieństwo warunków, ● „przyrostowe” konstruowanie zbioru C, ● indeksowanie reguł ze względu na zmienne występujące w warunkach. Powyższe udoskonalenia zrealizowano w algorytmie RETE (C.L. Forgy, 1974) wykorzystywanym w wielu popularnych systemach eksperckich (np. CLIPS) i w środowiskach do ich konstruowania (np. OPS5). 11 2016 © Adam Meissner wnioskowanie regresywne [5] Algorytm BC Dane: baza wiedzy KB obejmująca zbiór reguł R i zbiór faktów F oraz hipoteza H. Wynik: sygnał tak, jeżeli KB H albo sygnał nie w przeciwnym wypadku. Metoda: 1. Jeżeli H∈F to stop(tak). 2. Skonstruować zbiór C złożony ze wszystkich reguł ze zbioru R postaci W → A, takich że A = H (W jest dowolną koniunk cją literałów). 3. Jeżeli C = ∅ to stop(nie), w przeciwnym wypadku ze zbioru C wybrać dowolną regułę L1 ∧ ... ∧ Ln → A. 4. Wykonać algorytm BC dla każdego Li, gdzie i = 1, n. Jeżeli każdą z uzyskanych odpowiedzi jest tak to stop(tak), w prze ciwnym wypadku usunąć wybraną regułę ze zbioru C. 5. Przejść do kroku 3. 12 2016 © Adam Meissner reprezentowanie wiedzy za pomocą ram • koncepcja reprezentowania wiedzy za pomocą ram (ang. fra mes) pochodzi od Marvina Minskyego (1975), • baza wiedzy jest zbiorem klas i ich wystąpień (czyli obiektów), • definicja klasy obejmuje atrybuty, ich wartości domyślne (opcjonalnie) i metody, wśród których można wyróżnić tzw. demony, • w zbiorze klas określa się relację dziedziczenia, • atrybuty obiektu mają wartości określone ("konkretne"), • do reprezentowania klas, jak również obiektów, służą ramy, • elementami ramy są klatki (ang. slots), które wypełnia się fa setami (ang. facets), • faseta jest parą nazwa:wartość; za pomocą faset określa się m. in. wartości przechowywane w klatce i ich typy. Przykład 3 (wg. [5]) Reprezentacja klasy i obiektów za pomocą ram w języku FRL Frame: expert system Slots: AKO: $value: program Programming environment: $require: (LISP, PROLOG, OPS5, C) $default: LISP $if-needed: "look up references". Frame: MYCIN Slots: AKO: $value: expert system. 13 2016 © Adam Meissner komunikacja z użytkownikiem i udzielanie objaśnień • ogólne metody komunikowania się systemu z użytkow nikiem − język stylizowany na naturalny (wykorzystywany w tzw. systemach dialogowych), − język symboli graficznych (piktogramy, ikony), • metody udzielania objaśnień − objaśnianie przez retrospekcję (ang. retrospective explanation), − objaśnianie kontrfaktyczne (ang. counterfactual explanation) [1], udzielanie odpowiedzi intensjonal nych (ang. intensional answers). środowiska do tworzenia systemów eksperckich • języki programowania: PROLOG, LISP, • powłoki (ang. shells) − EMYCIN, − KAS (powłoka systemu PROSPECTOR), − AGE (powłoka systemu HERSAY), • środowiska narzędziowe (ang. toolkits) − Personal Consultant Plus, produkt firmy Texas Instru ments, zaprogramowany w języku IQLISP, reprezentowanie wiedzy w postaci reguł lub ram, możliwość wnioskowania progresywnego i regresywnego, przetwarzanie informacji niepewnej, edytor bazy wiedzy, moduł udzielania objaśnień (język stylizowany na angielski), 14 2016 © Adam Meissner − OPS5, system opracowany i zaprogramowany na Uniwersy tecie Carnegie–Mellon (początkowo) w języku LISP, repre zentowanie wiedzy w postaci reguł, wnioskowanie progre sywne, edytor bazy wiedzy wyposażony w mechanizm usu wania błędów, − KES, produkt firmy Software Architecture & Engineering Inc., zaprogramowany w języki FRANZ LISP, konstruowanie systemu na podstawie wymagań sformułowanych w języku stylizowanym na naturalny, reprezentowanie wiedzy za po mocą reguł i ram, wnioskowanie regresywne, przetwarzanie informacji niepewnej, − KEE, system opracowany przez firmę IntelliCorp, zaprogra mowany w języku INTERLISP, przeznaczony do wspoma gania tworzenia baz wiedzy z wykorzystaniem ram, − SRL, opracowany przez Instytut Robotyki Uniwersytetu Car negie–Mellon, zaprogramowany w języku FRANZ LISP, przeznaczony do wspomagania tworzenia baz wiedzy z wy korzystaniem ram, umożliwia posługiwanie się metawiedzą, − RULEMASTER, system opracowany przez Radian Corpo ration, przeznaczony do wspomagania tworzenia systemów eksperckich z regułową reprezentacją wiedzy, zawiera m.in. interpreter języka RADIAL służącego do wyrażania reguł (wnioskowanie progresywne i regresywne) oraz kompilator RADIAL → C, moduł indukowania reguł na podstawie przy kładów moduł udzielania objaśnień w języku stylizowanym na angielski. 15 2016 © Adam Meissner Podsumowanie • weryfikowanie i testowanie systemów eksperckich − kryteria formalne: niesprzeczność i pełność zgromadzonej wiedzy, − kryteria nieformalne: np. „konsekwencja”, użyteczność, • zagadnienia istotne przy budowaniu systemów eksperckich − skuteczne pozyskiwanie wiedzy od ekspertów, − zapewnienie niesprzeczności, pełności i użyteczności wie dzy zgromadzonej w bazie, − konieczność udzielania zrozumiałych i wyczerpujących od powiedzi użytkownikowi, − trudności z realizacją wnioskowania na podstawie wiedzy „zdroworozsądkowej” (ang. commonsense knowledge) • kierunki rozwoju systemów eksperckich − nowe rozwiązania w zakresie komunikowanie się systemu z użytkownikiem (system „przyjazny użytkownikowi”), − poszukiwanie rozwiązań problemu dużych baz wiedzy, − badania nad metodami reprezentowania wiedzy niepełnej, niepewnej i zmieniającej się w czasie. 16