INTERFEJS      UŻYTKOWNIKA

Opracował Rafał Głowacki

 

 

        Współpraca użytkownika z systemem ekspertowym nazywana jest konsultacją, bądź sesją. Dialog z użytkownikiem jest to ta część systemu ekspertowego, która sprawia, że określamy go mianem - interaktywny. Odbywa się poprzez warstwę zwaną interfejsem, czyli zbiór programów pozwalających na komunikację pomiędzy systemem, a obiektami zewnętrznymi. Jeżeli sposób prowadzenia dialogu jest przejrzysty i zrozumiały - system staje się łatwy w użyciu i daje użytkownikowi poczucie kontroli, co może mieć duży wpływ na jego późniejszy ewentualny sukces. Niewiele warta jest aplikacja bez odpowiedniego interfejsu zapewniającego dialog, trudno jest więc przecenić rolę omawianych tu kwestii.

        Przez ludzki interfejs rozumiemy interfejs pomiędzy urządzeniem, a jego użytkownikiem. Interfejs ludzki, często złożony i skomplikowany, ma z założenia pozwalać szerokiemu kręgowi użytkowników posługiwać się urządzeniami i narzędziami o wysokim stopniu skomplikowania budowy oraz obsługi. Interfejs odzwierciedla cechy antropologiczne urządzenia, mówi o jego funkcjach, sposobie użycia.

        Poprzez interfejs systemu ekspertowego użytkownik, korzystając ze specyficznej, charakterystycznej danemu systemowi formy języka, definiuje i opisuje problem do rozwiązania, dostarcza dane do systemu, a następnie korzysta z konkluzji. W praktyce pojęcie użytkownik nie musi oznaczać dosłownie człowieka. Często system komunikuje się z obiektami zewnętrznymi nieożywionymi, np. różnymi rodzajami czujników i instrumentów pomiarowych, bazami danych, innymi systemami lub też programami użytkowymi.

        Główne funkcje dialogu z użytkownikiem to zadawanie mu pytań, ale również udzielanie informacji i wyjaśnień dotyczących zadawanych pytań, toku rozumowania oraz uzasadnienie konkluzji. Część systemów powinna również zapewniać możliwość rozszerzania i modyfikacji wiedzy.

 

Kontrola danych istotnych.

        Danymi istotnymi są wszystkie informacje, które są niezbędne dla procesów identyfikacji obiektów w systemie ekspertowym, służą do zachowania powiązań z innymi obiektami, mają znaczenie integrujące [1]. Rozumie się samo przez się jak ważna jest kontrola jakości tych danych dla jakości całego systemu, jak i zgromadzonych w nim informacji oraz wiedzy. Niejednoznaczności na etapie danych istotnych poddają w wątpliwość słuszność działania całego systemu. Zasady postępowania, którymi należy się kierować przy projektowaniu programu zapewniającego dialog z użytkownikiem to głównie: kontrola unikalności wartości identyfikującej, kontrola wprowadzania danych obowiązkowych, nadzór nad zmianami tych wartości w powiązaniu z innymi obiektami. Mechanizmy weryfikacji kompletności danych powinny wiedzieć, które pola są obowiązkowe i nie dopuszczać do zapisu obiektu, jeżeli nie zostały spełnione warunki konieczne. W razie wykrycia błędu, użytkownik powinien mieć możliwość weryfikacji błędu lub unieważnienie zapisu.

 

Wyniki wnioskowania.

        Jednym z głównych zadań systemu ekspertowego jest przedstawienie użytkownikowi owoców pracy. Wyniki wnioskowania możemy podzielić na trzy główne grupy [2]:

a)      Diagnozy. Oceniany jest stan istniejący na podstawie posiadanych danych. Do użytkownika dociera sformatowana informacja o tym jaka jest obecna sytuacja analizowanego zjawiska. Do systemów realizujących zadania tego typu możemy zaliczyć: MYCIN, CADUCEUS, EDORA, DENDRAL, PROSPECTOR, HEARSAY, PUFF, CASNET.

b)      Prognozy. Ten typ wyników wnioskowania nastawiony jest na przewidywanie stanu przyszłego na podstawie znanych faktów, reguł i danych. Systemy działające w ten sposób nazywamy predykcyjnymi. Do użytkownika dociera najbardziej prawdopodobna wersja tego, co się może na podstawie istniejących faktów wydarzyć. Na przykład system CASNET jest w stanie postawić prognozę stanu zdrowia użytkownika.

c)      Plany. W tym przypadku do użytkownika dociera informacja dotycząca opisu pewnego stanu, do którego należy dążyć. Przykładem może być planowanie komponentów systemu VAX wykonywane przez system R1 (XCON, XSEL).

 

Rozszerzanie bazy wiedzy

        Wiele systemów wymaga uwzględnienia sytuacji, w której użytkownik jest zmuszony do uzupełnienia bazy wiedzy o nowe fakty i prawa. Również w takich przypadkach często odbywa się to na drodze dialogu z użytkownikiem. Podczas takiej operacji, system powinien być przygotowany na uwzględnienie następujących aspektów:

 

Adaptacyjność, bo właśnie o niej mowa w tym punkcie, nie jest oczywiście wymagana od systemów dotyczących zamkniętych dziedzin wiedzy.

 

Pomoc przy pracy z systemem

        Praca użytkownika z systemem powinna zostać zaaranżowana tak, aby była maksymalnie ułatwiona. Środkami służącymi do tego celu są: podręcznik użytkownika, kursy obsługi oraz interakcyjna pomoc. Najbardziej interesującą, ale jednocześnie najtrudniejszą w implementacji formą jest interakcyjna pomoc. Często stosowane są tzw. programy asystujące. Pomagają one niedoświadczonym użytkownikom w sterowaniu systemem. Są to systemy typu on-line, a więc przez cały czas aktywne, dostępne użytkownikowi w każdym momencie, kiedy potrzebne okazuje się rozwianie jego wątpliwości. Ważnymi czynnikami są: sposób wywołania pomocy oraz sposób jej prezentacji, tak, aby była ona jak najbardziej przyjazna i dostępna użytkownikowi. Przydatne jest zamieszczenie w pomocy krótkiego podręcznika obsługi, który pozwoliłby osobom po raz pierwszy stykającym się z systemem, na szybkie zaznajomienie się z podstawowymi funkcjami i natychmiastowe rozpoczęcie pracy. Pomoc nie powinna przerywać pracy systemu, powinna zapewnić możliwość natychmiastowego powrotu do jego pracy.

Podstawowe cechy charakteryzujące dobrą pomoc systemu ekspertowego:

 

 

System objaśniający

Zadaniem systemu objaśniającego jest udzielenie odpowiedzi użytkownikowi, jak również przyjmowanie od niego zapytań praktycznie w dowolnym momencie procesu wnioskowania. Najczęstsze typy zapytań [2]:

 

Błędy

        Najczęściej z błędami ze strony użytkownika mamy do czynienia na etapie programu organizującego wprowadzanie informacji. Wszędzie tam, gdzie informacja nie jest wprowadzana automatycznie z wykorzystaniem automatycznych urządzeń rejestrujących, lecz jest wprowadzana ręcznie, mamy do czynienia z potencjalnymi źródłami generowania błędów. Człowiek jest istotą omylną, często pomyłki wynikają z roztargnienia, niewiedzy, a nawet przypadkowego przyciśnięcia innego klawisza klawiatury [3].

        Pod kątem podejścia do kontroli błędów, można systemy podzielić na klasy:

 

Jeżeli chodzi zaś o sam mechanizm kontroli błędów, warto stosować się do podstawowych reguł tworzenia dialogu z użytkownikiem, aby był on odporny na pomyłki [1]:

Dzięki takiemu podejściu do kontroli błędów, ryzyko niepowodzenia działania programu spowodowane przez niepewny czynnik, jakim jest człowiek, zostaje zminimalizowane.

 

Klasyfikacja użytkowników

        Jednym z pierwszych zadań, jakie stoi przed projektantem sposobu dialogu z użytkownikiem, jest określenie cech potencjalnych użytkowników systemu [1]. Często w takich przypadkach przydatna jest wiedza czysto psychologiczna. Podejście to zwane jest User centred approach. Najpierw należy rozważyć cele, jakie chce osiągnąć użytkownik, korzystając z systemu. Bardzo ważne jest, aby odpowiedź systemu była precyzyjna i trafiała dokładnie w potrzeby użytkownika. Zanim się ją jednak osiągnie, potrzebny jest odpowiedni sposób komunikacji. Użytkownicy różnią się bowiem pod względem na przykład poziomu wiedzy na temat wykonywanego zadania, doświadczeniem w posługiwaniu się samym komputerem oraz nastawieniem do niego. Istotne jest orientacyjne przewidzenie częstości wykorzystania systemu ekspertowego oraz to czy będą z niego korzystać często nowi użytkownicy, czy względnie stali, którzy raz przyswoją zasady posługiwania się nim i będą z niego korzystać.

        Można się czasem spotkać z podziałem na dwie skrajne grupami odbiorców. Pierwsza z nich to osoby o małym doświadczeniu, dorywczo korzystające z systemu. W takim przypadku system musi dysponować silnym wspomaganiem i oferować duże wsparcie oraz rozbudowaną pomoc. Nie powinien pozostawiać zbyt dużej swobody, raczej wydawać konkretne polecenia użytkownikowi, niejako prowadzić go za rękę przez proces pozyskiwania informacji. Ważna jest elastyczność, czyli możliwość dostosowania do specyficznej grupy.

        Inny skrajny typ odbiorcy to osoba mająca wiedzę zarówno o samych komputerach, jak i na temat rozważanego problemu, zdolna do samodzielnego podejmowania działań. Do tej grupy zaliczamy również osoby często pracujące z systemem ekspertowym. Tutaj należy położyć nacisk na pozostawienie swobody decyzji, udostępnienie dużej liczby możliwości. Taki interfejs powinien być bogaty w liczne opcje.

        Rzeczywistość jest jednak taka, że raczej rzadko spotykamy się ze skrajnościami i najczęściej musimy być przygotowani na pośrednie typy osobowości. System powinien więc zachować duży stopień uniwersalności.

 

Interfejs użytkownika.

        Przez interfejs użytkownika możemy rozumieć wszystko to, co dotyczy ludzkiej strony systemu informatycznego. Jest to tak zwany czynnik ludzki. Człowiek, w przeciwieństwie do dobrze zaprogramowanego komputera, jest istotą omylną, czynnik ludzki może być często podstawową przyczyną niezamierzonych efektów pracy systemu komputerowego. Dlatego niesłychanie ważne jest, aby interfejs był zaprojektowany tak, aby zapewniał minimalne ryzyko „zbłądzenia” przez użytkownika [1].

        Interfejs pomiędzy systemem ekspertowym, a użytkownikiem jest zbiorem programów, które współpracują z interpreterem oraz bazą wiedzy. Zapewnia to efektywną dwustronną komunikację. Możemy wyróżnić wejście, które realizuje wprowadzanie informacji od użytkownika, a także wyjście, za pośrednictwem którego system ekspertowy może uzewnętrznić swoje komunikaty. Ważne jest wyspecyfikowanie specjalnego formatu poleceń wprowadzanych z wejścia oraz zawężenie ich tylko do tych możliwych do zinterpretowania przez maszynę. Język człowieka zostaje więc zubożony do komunikatów przyjmowanych przez maszynę. Z kolei na wyjściu mamy do czynienia z wzbogaceniem przekazu maszynowego. Celem jest doprowadzenie do jak najłatwiejszej i najwłaściwszej interpretacji przekazu maszyny przez człowieka. Efekt owocuje dialogiem użytkownika z komputerem, a właściwie z systemem ekspertowym. Przekaz komputerowy musi być zakomunikowany w taki sposób, aby przekazywana informacja stała się wiedzą.

 

 

 

 

 

 

 

 

 

 

 

 

 


        W dzisiejszych czasach mamy do czynienia z tendencją do projektowania interfejsów ze szczególnym zwróceniem uwagi na wykonywane przez użytkownika zadania. Powstał tzw. model Collinsa, którego podstawowymi cechami są: iteracja, testowanie i ocena. Stosowanie procedur iteracji pozwala uściślić model konceptualny i w kolejnych krokach osiągnąć spójność z modelem użytkownika.

        Dialog między użytkownikiem, a systemem składa się z komunikatów. Ich forma zależy od typu i formatu interfejsu użytkownika. Przy doborze interfejsu warto się kierować pewnymi specyficznymi regułami. Częstym zabiegiem jest zapożyczanie zachowań z systemów, które są w mniejszym, lub większym stopniu znane użytkownikowi, z którymi już się zetknął dotychczas. Dzięki temu unika się wprowadzania użytkownika w system od elementarnych podstaw komunikacji.

        Ważne jest, aby użytkownik systemu widział dokładnie, jakie funkcje ma dostępne. Niedopuszczalna jest na przykład sytuacja możliwości odniesienia się do jakiejś przydatnej funkcji klawiszem skrótu, bez informacji o tym na ekranie. Przydatne są wszelkiego rodzaju paski narzędzi, menu, dialog-boxy itd.

        Zapewniona powinna być również wewnętrzna, jak i zewnętrzna spójność. Zasady postępowania wobec różnych obiektów wewnątrz programu powinny mieć jakiś wspólny mianownik i zapewniać pewną jednolitość interfejsu.

        W każdy momencie pracy systemu użytkownik powinien mieć możliwość uzyskania informacji o tym, co się aktualnie dzieje. Najczęstsze typy pytań, jakie nurtują użytkownika są następujące:

Możliwość uzyskania odpowiedzi na tego typu pytania daje użytkownikowi swego rodzaju poczucie kontroli nad tym, co się dzieje w trakcie pracy systemu.

 

Typy interfejsów.

        Dialog z użytkownikiem systemu ekspertowego najczęściej prowadzony jest za pośrednictwem dwóch rodzajów interfejsów: znakowego i graficznego. W trybie znakowym użytkownik widzi na ekranie pojawiające się napisy. Reakcje komputera, jak i komendy użytkownika owocują pokazaniem się adekwatnych napisów. Drugim typem interfejsu jest graficzny interfejs użytkownika. Dzięki niemu sposób obsługi programu staje się jednolity. W przeciwieństwie do interfejsu znakowego, użytkownik nie jest zmuszony do pamiętania komend wprowadzanych z klawiatury, komunikacja odbywa się często tylko za pomocą urządzenia wskazującego takiego, jak mysz czy ekran dotykowy, dialog staje się zbliżony do naturalnego i bardzo intuicyjny.

        Z punktu widzenia formatu możemy wyróżnić kilka podstawowych rodzajów interfejsów [1]:

 

        Format interfejsu powinien być dopasowany do charakterystyki użytkownika, zadania oraz systemu operacyjnego, w którym pracuje system ekspertowy. W wielu systemach stosuje się połączenie kilku formatów. W graficznym interfejsie użytkownika stosuje się na przykład jednocześnie okna dialogowe, menu i bezpośrednią manipulację obiektami.

        Użytkownik powinien być informowany o tym, co się aktualnie dzieje w programie. Poprawność wprowadzanych danych powinna być sprawdzana na bieżąca (kontrola błędów), powinny być one również od razu wypisywane na ekranie. Skoordynowane z wejściem wyjście z kolei dostarcza użytkownikowi informacji typu: wyniki obliczeń, informacje o niebezpieczeństwie i błędach, proszenie o dane, dostarczenie pomocy.

        Chyba najważniejszą i konieczną cechą dialogu użytkownika z systemem ekspertowym powinna być jednoznaczność interpretacyjna. Niedozwolone jest dostarczanie jakichkolwiek wątpliwości co do aktualnego sensu wykonywanych działań. Pożądane jest również stosowanie mechanizmów automatyzacji na jak najwyższym poziomie. Użytkownik powinien mieć dostęp do abstrakcyjnego polecenia, nie wnikając w szczegóły techniczne jego znaczenia. Przydatne okazuje się również ukrywanie lub blokowanie opcji niedostępnych na danych poziomach.

 

 

Dialog – kwestie estetyczne.

        Kolor jest skutecznym środkiem w prezentacji informacji, szczególnie w interfejsie graficznym. Barwa może zwracać uwagę, podkreślać jakieś specyficzne znaczenia. W tej materii warto trzymać się sprawdzonych reguł. Barwę w przekazie graficznym stosuje się do: wyróżniania fragmentu obrazu spośród innych, grupowania obiektów o podobnych cechach, wywołania przyjemnego wrażenia artystycznego. Wiązać się z barwą mogą również pewne niepożądane i niekorzystne zjawiska: nadmiar przekazywanej informacji, odbiór barwy zależny od światła, niekorzystne efekty wizualne przy nieodpowiednim połączeniu barw. Musimy być przy tym konsekwentni i stosować w analogicznych sytuacjach te same kolory. Do zasad stosowania barw na ekranie, podczas dialogu z użytkownikiem, należą [1]:

 

 

 

 

 

LITERATURA:

[1] Jagielski J., Inżynieria wiedzy w systemach ekspertowych., Lubuskie Towarzystwo Naukowe, 2001.

[2] Mulawka J. J., Systemy ekspertowe., WNT, 1996.

[3] Bernold T. (pod red.), Expert Systems and Knowledge Engineering. Essential Elements of Advanced Information Technology, Elsevier Science Publisher, 1986