Home » UJ 2022/23 » Systemy ekspertowe – czym są, co oferują i jakie niosą za sobą konsekwencje?

Tagi

Wyróżnione posty

Zobacz też

Statystyki

  • 116
  • 642
  • 25 020
  • 7 313
  • 80

Systemy ekspertowe – czym są, co oferują i jakie niosą za sobą konsekwencje?

Spread the love

Rozwój sztucznej inteligencji umożliwił ludziom tworzenie narzędzi, które wspomagają człowieka zarówno w życiu zawodowym jak i prywatnym. SI posiada  cechy, dzięki którym może osiągać lepsze wyniki niż człowiek w wielu zadaniach, mimo że dla wielu osób jest to temat budzący negatywne skojarzenia. Przykładem mogą być autonomiczne systemy zbrojne zastępujące żołnierzy na polu walki, roboty społeczne wspierające pracowników hospicjum, czy inteligentni asystenci głosowi Google’a lub Apple towarzyszący nam w czynnościach życia codziennego. Do grona narzędzi wykorzystujących technologie sztucznej inteligencji należą również systemy ekspertowe, które postaramy się przybliżyć w tym poście.

Czym jest system ekspertowy?

Pierwsze systemy ekspertowe powstały w latach 70. XX wieku i od tego czasu zaczęto je wykorzystywać w wielu różnych dziedzinach. Współcześnie wiele takich rozwiązań jest sprzedawanych jako produkt komercyjny, który ma ułatwiać działalność np. firm ubezpieczeniowych, finansowych czy kancelarii prawniczych. System ekspertowy to program lub aplikacja komputerowa opracowane do rozwiązywania złożonych problemów w konkretnej dziedzinie na nadzwyczajnym poziomie ludzkiej inteligencji i specjalistycznej wiedzy. Jak się łatwo domyślić, nazwa związana jest z ekspertami, których wiedza i doświadczenie są niezbędne w procesie tworzenia takiego systemu.
Edward Feigenbaum, który jest uważany za ojca systemów ekspertowych, definiował je jako inteligentne programy komputerowe wykorzystujące procedury wnioskowania do rozwiązywania takich problemów, które są na tyle trudne, że normalnie wymagają znaczącej ekspertyzy specjalistów. Feigenbaum oraz J. Lederberg przez ponad 10 lat rozwijali na Uniwersytecie Stanforda system ekspertowy DENDRAL. System ten miał na celu wspomaganie chemików w określaniu struktury cząsteczek organicznych. Aby stworzyć odpowiednie reguły dla systemu, Feigenbaum i jego studenci musieli przeprowadzić obszerne wywiady z ekspertami, aby ustalić ukrytą i często nieświadomą wiedzę wykorzystywaną przez nich przy podejmowaniu decyzji. Dzięki pracy nad tym systemem zrozumiano, że system ekspertowy jest tylko tak dobry, jak wbudowane w niego reguły. Cenne doświadczenie uzyskane podczas rozwijania pierwszych projektów tego typu pozwoliło, by systemy ekspertowe wkrótce wyszły z laboratorium i trafiły na rynek jako pierwsze skuteczne komercyjne produkty SI. 

Idealny system ekspertowy powinien cechować się wysoką jakością i skutecznością działania, wyrażającą się szybkością i niezawodnością. Ponadto, wskazane jest, by system był zdolny do zrozumienia wyjaśnienia i rozwiązania zadania tak, aby przekonać użytkownika o poprawności lub racji (Basztura, 1996). 

Celem systemów ekspertowych jest rozwiązywanie problemów, w których duże znaczenie ma specjalistyczna wiedza i doświadczenie. Dzięki tym narzędziom, można skodyfikować wiedzę ekspercką (która jest dobrem rzadkim i kosztownym), co pozwala na zwiększenie jej dostępności. Ponadto, poziom wiedzy w takim systemie jest stabilny, przez co nie mają nie niego wpływu warunki zewnętrzne i czas pracy systemu. To ułatwia na przykład prowadzenie jednolitej polityki przez centralę firmy mającej wiele oddziałów (WEB1). 

Z czego składa się system ekspertowy?

Systemy ekspertowe są złożonymi strukturami i składają się z pięciu elementów (chociaż w literaturze czasem wymienia się tylko 3 lub 4). Pierwszym i podstawowym elementem jest baza wiedzy/danych (knowledge base), która zawiera fakty, założenia i zasady, z których korzysta system w celu rozwiązania zadanego przez użytkownika problemu. Kolejnym komponentem jest silnik wnioskowania (inference engine), którego główną funkcją jest pozyskiwanie odpowiednich danych z bazy wiedzy, interpretowanie ich oraz znajdowanie rozwiązania problemu użytkownika. System ekspertowy może również odwoływać się do zewnętrznych baz danych. W tym celu zawiera moduł pozyskiwania wiedzy i uczenia się (knowledge acquisition and learning module), który umożliwia pozyskiwanie większej ilości danych z różnych źródeł i przechowywanie ich w bazie wiedzy. Dobrze zaprojektowany interfejs użytkownika (user interface) to konieczny komponent umożliwiający laickiemu użytkownikowi sprawną interakcję z systemem ekspertowym. Ostatni z elementów to moduł eksplanacyjny (explanation module), którego rolą jest zapewnienie użytkownikowi wyjaśnienia, dlaczego system wygenerował akurat takie rozwiązanie zadanego problemu (WEB7).

Schemat działania systemu ekspertowego
Schemat działania systemu ekspertowego

Strategie wnioskowania

Silnik wnioskowania korzysta z dwóch strategii podczas rekomendacji rozwiązań problemów: wnioskowania w przód i wnioskowania w tył (forward and backward chaining).

Wnioskowanie w przód jest wykorzystywane przez system ekspertowy w sytuacji, kiedy musi odpowiedzieć na pytanie „Co może się wydarzyć dalej?” i dokonać pewnych predykcji. Śledząc łańcuch warunków i wyprowadzeń logicznych, system wyprowadza wynik po rozważeniu wszystkich faktów i reguł. Następnie sortuje je, zanim dojdzie do konkluzji pod kątem odpowiedniego rozwiązania. Strategia ta jest stosowana podczas pracy nad wnioskiem, wynikiem lub efektem. Na przykład, przewidywanie, jak prognozy rynku akcji zareagują na zmiany stóp procentowych.

Schemat wnioskowania w przód

Wnioskowanie w tył jest strategią wykorzystywaną w odniesieniu do przeszłości i pozwala odpowiedzieć na pytanie „Dlaczego tak się stało?”. Silnik wnioskowania próbuje zidentyfikować warunki, które mogły wystąpić w przeszłości i wywołały efekt/wynik końcowy. System działa wtedy jak archeolog, który na podstawie dostępnych danych w teraźniejszości, próbuje odkodować co miało miejsce miliony lat wstecz i doprowadziło do obecnego stanu rzeczy. Strategia ta służy do znalezienia przyczyny czegoś, co się wydarzyło lub dzieje obecnie. Na przykład diagnoza różnych rodzajów raka u ludzi (WEB7).

Schemat wnioskowania w tył

Typy systemów ekspertowych

Jest pięć podstawowych typów systemów ekspertowych (SE). Zaliczamy do nich SE oparte na regułach (rule-based ES), SE oparte na ramach (frame-based ES), SE oparte na rozmytej logice (fuzzy logic ES), neuronowe ES (neuro ES) oraz hybrydy między dwoma ostatnimi (neuro-fuzzy ES) (WEB7).

  • Najprostszym typem SE są systemy ekspertowe oparte na regułach, które wykorzystują ustalone i sztywno zakodowane zasady do analizy danych wejściowych i danych z bazy. W najbardziej podstawowej formie, reguły są zazwyczaj zdaniami warunkowymi („jeśli a, to wykonaj x, a w przeciwnym razie jeśli b, to wykonaj y”). Systemy tego typu powinny być stosowane do prostszych, mniej złożonych problemów, ponieważ im bardziej złożony system, tym więcej reguł jest wymaganych do jego opisania, a co za tym idzie zwiększa się trudność modelowania rozwiązań dla wszystkich możliwych wyników.
  • Systemy ekspertowe oparte na ramach, to systemy reprezentacji wiedzy, które używają ram, pojęcia pierwotnie wprowadzonego przez Marvina Minsky’ego, jako podstawowego środka do reprezentowania wiedzy dziedzinowej. Rama to struktura reprezentująca pojęcie lub sytuację, taką jak „pokój dzienny” lub „przebywanie w salonie”. Do ramy dołączone są różne rodzaje informacji, na przykład definicje i informacje opisowe oraz instrukcje korzystania z ramy.
  • Rozmyte systemy ekspertowe są oparte na logice rozmytej zamiast logice Boole’a. Logika rozmyta, jak sama nazwa wskazuje, oznacza, że odpowiedź nie jest jednoznaczna: tak lub nie. Wypada gdzieś pośrodku, a komputer musi spróbować obliczyć odpowiedź na podstawie odpowiedzi, które mogą nie być jednoznaczne. W logice Boole’a odpowiedzi są prawdziwe lub fałszywe, podczas gdy w logice rozmytej odpowiedź może być prawdziwa, częściowo prawdziwa, fałszywa, częściowo fałszywa i kilka wartości pomiędzy, w zależności od tego, jakie terminy użytkownik wprowadza do programu.
  • Neuronowe systemy ekspertowe to SE, które posiadają sieci neuronowe jako bazę wiedzy. Najważniejszymi cechami tych systemów jest algorytm uczenia, który pozwala na automatyczne generowanie bazy wiedzy z przykładów treningowych oraz możliwość obsługi danych cząstkowych i zaszumionych.
  • Neuronalno-rozmyty system ekspertowy jest hybrydą między dwoma poprzednimi typami SE. System neuronalno-rozmyty opiera się na systemie rozmytym, który jest szkolony przez algorytm uczenia wywodzący się z teorii sieci neuronowych. Procedura uczenia (heurystycznego) działa na informacjach lokalnych i powoduje jedynie lokalne modyfikacje w podstawowym systemie rozmytym.

Dodatkowo można zaproponować podział na systemy dedykowane i szkieletowe.

  • Szkieletowe systemy ekspertowe (shell expert systems) to jedno z narzędzi do tworzenia gotowych SE; posiadają wszystkie elementy pełnego systemu ekspertowego (baza wiedzy, silnik wnioskowania, interfejs użytkownika, itd.), jednak baza wiedzy nie jest wypełniona, więc żeby korzystać z systemu należy uzupełnić ją we własnym zakresie wiedzą dziedzinową, w obrębie której chcemy, żeby system rozwiązywał problemy. Reszta komponentów jest gotowa do użycia. Zaletą tych narzędzi są względnie niskie koszty produkcji. 
  • Dedykowane systemy ekspertowe są tworzone na zamówienie, a  baza wiedzy jest uzupełniona przez producenta i zoptymalizowana pod względem treści, do których ma się docelowo odnosić (Sala, 2005).

Poniżej wymienione są pozostałe narzędzia do tworzenia systemów ekspertowych (poza szkieletowymi SE):

  • środowiskowe programy ułatwiające implementację systemu, np. programy ułatwiające zarządzanie bazą wiedzy, programy grafiki komputerowej itd.
  • języki systemów ekspertowych, np. Clips, JESS
  • języki programowania symbolicznego (tzw. języki sztucznej inteligencji), np. Lisp, Prolog
  • języki algorytmiczne, np. Basic, Pascal, C, C++ , Fortran, itd. (WEB6)

 

Możliwości jakie oferują systemy ekspertowe

Systemy ekspertowe znacznie rozszerzyły możliwości wykonywania zadań, którymi wcześniej mogli zajmować się tylko specjaliści. Wykorzystanie dużych ilości mocy obliczeniowej dostępnej dzięki komputerom oraz wiedzy ekspertów z danej dziedziny pozwoliły na uzyskanie przez takie systemy:

  • maksymalnej efektywności, 
  • niezawodności, 
  • wysokiego poziomu zrozumiałości,
  • bezkonkurencyjnej wydajności (WEB2)

Systemy ekspertowe mogą zaoferować więcej niż ludzie-eksperci, ponieważ przechowywanie i wykorzystywanie dużych ilości danych nie jest dla nich problemem. Ponadto, czas w jakim podejmują decyzje jest dużo krótszy niż ten potrzebny człowiekowi. Dużo lepiej niż ludzie radzą sobie też z redukowaniem liczby popełnianych błędów i mogą zapobiegać błędom popełnianym przez człowieka (WEB2). Systemy ekspertowe często rozwiązują zadany problem w inny sposób niż ludzie, ponieważ nie mogą “spojrzeć” na niego z naszej perspektywy. Rozwiązanie wypracowane przez system i człowieka może być podobne, ale rozumienie danych za nim stojących może być całkiem inne. 

W poniższej tabeli zestawione zostały niektóre aspekty, w jakich systemy ekspertowe przewyższają ludzkich ekspertów: 

Ekspert-człowiek

System ekspertowy
nieprzewidywalny stabilny i konsekwentny
może odczuwać zmęczenie  pracuje bez przerw
jego wiedza jest nietrwała  charakteryzuje go trwała wiedza
kosztowny ekonomiczny
trudne przekazywanie i dokumentowanie danych łatwe przekazywanie i dokumentowanie danych
trudno dostępny łatwo dostępny
może potrzebować dużo czasu szybki
wyższy poziom błędów (error rate) niski poziom błędów
wysokie ryzyko w niebezpiecznym środowisku niskie ryzyko w niebezpiecznym środowisku

Zastosowania systemów ekspertowych

Systemy ekspertowe mogą być wykorzystywane w zadaniach bardzo różnego typu. Obejmują one między innymi: 

  • pomoc w podejmowaniu decyzji przez człowieka (np. w sądownictwie) 
  • demonstracje i instrukcje 
  • wypracowanie rozwiązań
  • diagnozowanie
  • interpretacja danych wejściowych i dostarczanie odpowiednich danych wyjściowych
  • przewidywanie wyników
  • uzasadnianie wniosków
  • sugestie dotyczące alternatywnych rozwiązań problemu

Rodzaje problemów jakie mogą podejmować systemy ekspertowe są bardzo zróżnicowane. Równie niejednolite są dziedziny, w których systemy ekspertowe znalazły swoje konkretne zastosowanie. W usługach finansowych wykorzystywane są do podejmowania decyzji dotyczących zarządzania aktywami, dokonują prognoz w obszarze zachowania rynków i wskaźników finansowych oraz działają jako robo-doradcy np. w sprawie udzielenia kredytów. W dziedzinie inżynierii mechanicznej są stosowane do rozwiązywania problemów złożonych maszyn elektromechanicznych. Systemy ekspertowe są również obecne w usługach telekomunikacyjnych, gdzie są wykorzystywane do podejmowania decyzji o stosowanych technologiach sieciowych i utrzymaniu istniejących sieci. Są bardzo  szeroko wykorzystywane w dziedzinie diagnostyki medycznej. Jednym z pierwszych takich systemów, który osiągnął poziom ludzkiego eksperta, był MYCIN rozwijany w latach 70. W rolnictwie systemy ekspertowe są używane do prognozowania szkód w uprawach. W dziedzinie transportu wykorzystuje się je do sterowania sygnalizacją świetlną, projektowania autostrad, układania rozkładów jazdy autobusów i pociągów oraz kontroli ruchu lotniczego. Systemy ekspertowe stają się coraz popularniejsze w obszarze prawa, gdzie automatyzacja zaczyna być wykorzystywana do świadczenia usług prawnych, oceny spraw cywilnych i oceny odpowiedzialności za produkt (WEB3). 

Przykłady systemów ekspertowych

    1. MYCIN – był jednym z najwcześniejszych systemów ekspertowych, które opierały się na wnioskowaniu wstecznym. Został opracowany w 1974 roku. Jego nazwa pochodzi od końcówki nazw antybiotyków, np. streptomycin – streptomycyna. System miał służyć jako “doradca” dla lekarzy z zakresu diagnostyki i terapii bakteryjnych chorób krwi. System miał za zadanie sugerować jaki jest to rodzaj choroby na podstawie zgłoszonych objawów i wyników badań, a następnie przedstawić propozycję jej leczenia. System mógł poprosić o dalsze informacje dotyczące pacjenta, jak również zasugerować dodatkowe badania laboratoryjne, aby dojść do prawdopodobnej diagnozy. MYCIN był w stanie wyjaśnić rozumowanie, które doprowadziło do postawienia diagnozy i zaproponowanych zaleceń. Używając około 500 reguł, MYCIN działał na mniej więcej tym samym poziomie kompetencji co specjaliści od zakażeń krwi i raczej lepiej niż lekarze ogólni (WEB5)
    2. DENDRAL – system ekspertowy oparty na sztucznej inteligencji, używany głównie do analizy chemicznej. Wykorzystywał dane spektrograficzne substancji w celu przewidzenia jej struktury molekularnej (WEB2).
    3. CaDet –  system wsparcia klinicznego, który ma pomagać w identyfikacji raka w jego wczesnym stadium. Analizuje on epidemiologiczne i kliniczne atrybuty poszczególnych pacjentów, a następnie identyfikuje w tych informacjach i przedstawia lekarzom wzorce, które mogą wymagać dalszej uwagi. Wstępne badania kliniczne potwierdziły jego skuteczność (Heller et al., 2004).

Ograniczenia i zagrożenia systemów ekspertowych

  •   Trudność w pozyskaniu rzetelnej wiedzy eksperckiej (Nettleton, 2014).
    • Brak dostępu do ekspertów w danej dziedzinie.
    • Czasami eksperci, którzy intuicyjnie podejmują właściwe decyzje w dziedzinie swojej ekspertyzy, nie potrafią podać systematycznego wyjaśnienia słuszności tych decyzji lub przekazać swojej wiedzy w sposób uporządkowany, na odpowiednio dużym poziomie szczegółowości.
    • Niektórzy eksperci nie chcą dzielić się swoją wiedzą w celu stworzenia systemu ekspertowego, ponieważ boją się, że staną się zbędni dla firmy i stracą pracę lub ich wynagrodzenie zostanie zredukowane.
  • Opracowanie i utrzymanie systemu eksperckiego jest stosunkowo kosztowne.
  • Dany system ekspertowy doskonale sprawdza się tylko w rozwiązywaniu określonych typów problemów w ograniczonej dziedzinie wiedzy.
  • Projektowanie i budowa systemu ekspertowego wymaga doświadczonych inżynierów, a są oni rzadkim i kosztownym zasobem (WEB8). 
  • W sądownictwie jest problem z uzyskaniem rzetelnych danych do bazy wiedzy, ponieważ sędziowie skazują niekonsekwentnie i często kierują się własnymi uprzedzeniami i stereotypami (np. na tle rasowym)
  • Dużym problemem jest trudność w przypisaniu odpowiedzialności za złą decyzję systemu, która wpłynęła na czyjeś zdrowie lub życie; nie wiadomo, czy odpowiedzialność za błąd przypisać producentowi czy użytkownikowi systemu.

 

Literatura

  1. Basztura Cz., (1996). Komputerowe systemy diagnostyki akustycznej.
  2. Heller, I., Isakov, A., Villa, Y., Natour, H., Inbar, M., Fuchs, J. & Topilsky, M. (2004). Evaluation of CaDet, a computer-based clinical decision support system for early cancer detection: a comparison with the performance of clinicians. Cancer Detection and Prevention, 28(5), 352-356.
  3. WEB1: https://www.studocu.com/pl/document/uniwersytet-technologiczno-przyrodniczy-w-bydgoszczy/informatyka-stosowana/zasada-i-dzialanie-systemow-ekspertowych-sztuczna-inteligencja/11156703
  4. WEB2: https://intellipaat.com/blog/expert-system-in-ai/
  5. WEB3: https://www.techtarget.com/searchenterpriseai/definition/expert-system 
  6. WEB4: https://web.archive.org/web/20160327105307/http://www.kkiem.agh.edu.pl/dydakt/expert/pozyskiw.htm
  7. WEB5: https://www.britannica.com/technology/MYCIN
  8. WEB6: https://brasil.cel.agh.edu.pl/~15sdrzeznik/narzedzia.html
  9. Sala, D. (2005). Systemy ekspertowe narzędziem wspomagania decyzji w procesach przygotowania produkcji. Zeszyty Naukowe/Polskie Towarzystwo Ekonomiczne, (3), 243-261.
  10. WEB7: https://www.mygreatlearning.com/blog/expert-systems-in-artificial-intelligence/
  11. Nettleton, David. (2014). Commercial Data Mining: Processing, Analysis and Modeling for Predictive Analytics Projects.
  12.  WEB8: https://www.ilearnlot.com/expert-systems-es-features-classification-and-limitations/60928/#Limitations_of_Expert_Systems_ES

 


Leave a comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze komentarze

  1. Ciekawe jest porównanie tradycyjnej terapii z nowymi rozwiązaniami opartymi na modelach językowych. Warto zauważyć, że mimo obiecujących wyników, istnieją ważne…