Komputerowy agent czy... mój wirtualny przyjaciel

Od chwili gdy komputer przestał być elitarnym narzędziem naukowców i trafił ''pod strzechy'', w ręce sfrustrowanych użytkowników, rzesze informatyków rozpoczęły prace nad maksymalnym uproszczeniem jego obsługi. Paradoksalnie, spora część mocy obliczeniowej dzisiejszego komputera jest wykorzystywana po to, by ułatwić czy chociaż uatrakcyjnić wykonywanie codziennych czynności, zaś o wartości oprogramowania często decyduje jego ''przyjazność'' dla użytkownika. Jednak nawet tak rozwojowe i elastyczne środowiska, jak Windows 95 czy internetowy interfejs WWW wciąż, pod względem prostoty obsługi czy intuicyjności, pozostawiają wiele do życzenia.

Od chwili gdy komputer przestał być elitarnym narzędziem naukowców i trafił ''pod strzechy'', w ręce sfrustrowanych użytkowników, rzesze informatyków rozpoczęły prace nad maksymalnym uproszczeniem jego obsługi. Paradoksalnie, spora część mocy obliczeniowej dzisiejszego komputera jest wykorzystywana po to, by ułatwić czy chociaż uatrakcyjnić wykonywanie codziennych czynności, zaś o wartości oprogramowania często decyduje jego ''przyjazność'' dla użytkownika. Jednak nawet tak rozwojowe i elastyczne środowiska, jak Windows 95 czy internetowy interfejs WWW wciąż, pod względem prostoty obsługi czy intuicyjności, pozostawiają wiele do życzenia.

Komputerowi awatarzy, asystenci czy agenci sprawią, że nasz komputer wreszcie ożyje. Za chwilę użytkownicy sieci komputerowych zapewne nie będą w stanie odróżnić żywego interlokutora od... specjalistycznego programu komputerowego.

Być może należy zmienić dotychczasowy punkt widzenia i poszukać innych dróg zbliżenia do siebie dwóch światów - ludzkiego i maszyn liczących. Nie od dziś wiadomo, iż efektywność pracy (dotyczy to nie tylko komputerów) zależy w dużym stopniu od "mentalnego porozumienia", jakie powstaje na styku człowieka z maszyną. Jako że człowiekowi najłatwiej porozumieć się z drugim człowiekiem, być może klucz do przyjaznych komputerów przyszłości leży w "uczłowieczaniu" tych maszyn do tego stopnia, by zachowywały się i reagowały jak ludzie. Nie chodzi tu tylko o tzw. sztuczną inteligencję, lecz o ogół cech personalnych, takich jak usposobienie, nastrój, "ludzkie" motywacje i emocje. Badania amerykańskich naukowców dowiodły np. że ludzie chętniej pracują z komputerami (mowa o konkretnych systemach informatycznych, zainstalowanych na tych maszynach), które wykazują ludzkie cechy, nawet jeśli są one negatywne. Świadczy to o wielkiej roli, jaką odgrywa (lub będzie odgrywać w przyszłości) sztuczna osobowość implementowana urządzeniom elektronicznym.

DLACZEGO AGENT?

Spójrzmy jednak, jak wygląda kwestia wirtualnych postaci w przypadku zwykłego, domowego komputera typu PC. Wszystkie dotychczas podejmowane próby polegały na opracowaniu oprogramowania zdolnego do kreowania sztucznych bytów mających ludzkie cechy. Istoty te określane są zwyczajową nazwą agentów (nazwa ta powstała już przed kilkunastoma laty) i dzielą się na trzy główne grupy: awatarów, asystentów i aktorów. Różnice między nimi wynikają z ich przeznaczenia i relacji do użytkownika.

Awatar

Awatar jest bezpośrednią reprezentacją użytkownika komputera w cyberprzestrzeni. Pojawia się wszędzie tam, gdzie wymagane jest podkreślenie obecności człowieka (dotyczy to głównie sieci Internet) - w chat-roomach, na wirtualnych konferencjach i w cybersklepach. Jego swoboda (czy też autonomia) jest minimalna - awatar wykonuje wszystko, co "każe" mu użytkownik - jest więc swego rodzaju marionetką. Może "spotykać się" z innymi awatarami (w chat-roomie) lub asystentem czy aktorem (w wirtualnym sklepie czy muzeum).

Asystent

Asystent jest (jak wskazuje nazwa) pomocnikiem użytkownika komputera - rezyduje w komputerze i wykonuje najrozmaitsze zlecenia: pomaga ustalić harmonogram dnia, przypomina o spotkaniach, potrafi też znaleźć w Sieci potrzebną informację czy uporządkować dysk twardy. Oprócz wykonywania tak konkretnych zleceń, równie ważną (lub nawet ważniejszą) rolą asystenta jest zabawianie użytkownika, gdy ten się nudzi. Dlatego też w jego przypadku niezwykle ważną kwestią jest osobowość (dla potrzeb informatyki definiuje się ją jako zestaw zachowań i motywacji charakterystycznych dla danego agenta) - uwiarygodnia ona komputerowego towarzysza i ułatwia z nim kontakt. Asystent ma rację bytu zarówno na komputerze domowym (pełni on wtedy rolę sekretarki), jak i na serwerze sieciowym (może np. oprowadzać nas po wirtualnym muzeum, służąc radą i informacją). Wpływ, jaki użytkownik wywiera na agenta, ogranicza się do wskazywania celów i motywacji (poprzez wydawanie poleceń) - nie można jednak bezpośrednio kierować jego ruchami.

Aktor

Ostatnia grupa agentów obejmuje postacie niezależne od ludzkiej woli - ich poczynania w minimalnym stopniu będą uzależnione od naszego zachowania. Zazwyczaj pełnią oni taką rolę, jak prawdziwi aktorzy - są rezydentami konkretnej rzeczywistości (wirtualnej) i egzystują tam "podglądani" przez internautów. W chat-roomach będą zabawiać nas rozmową, gdy nie znajdziemy tam prawdziwego człowieka (a raczej jego reprezentacji - awatara). Ich motywacje i plany są niezależne od naszej woli (wstępnie układa je autor systemu, później zaś zmieniają się w zależności od warunków).

POTRZEBY

Gdzie znajdziemy potencjalne zastosowanie (zatrudnienie) dla tych "istot"? Wszędzie tam, gdzie użytkownik może mieć problemy z wykonaniem pewnego zadania. Łatwo przewidzieć, jak zmniejszyłaby się frustracja internauty towarzysząca wypełnianiu np. formularza na stronie WWW, gdyby obok tabelki pojawiła się sympatyczna postać prowadząca go za rękę przez ten proces. Oprócz walorów informacyjnych ("... tutaj wpisz numer swojej karty kredytowej..."), niebagatelną rolę odgrywa "rozluźnienie" i "odstresowanie" użytkownika. Badania wykazały, że skuteczność agentów jest znaczna. Nawet gdy nie przekazują żadnej istotnej informacji, już ich obecność działa kojąco na zszargane nerwy internautów.

Drugim ważnym zastosowaniem jest branża rozrywkowa. Połączenie technologii agentów z rozwiązaniami VR w prosty sposób pozwala tworzyć wirtualne światy pełne realnych mieszkańców (więcej na ten temat w artykule "MUD-y: druga generacja"). Rozrywka może mieć walory edukacyjne: przykładem wirtualny skansen - rekonstrukcja japońskiej wioski, gdzie każdy użytkownik na wejściu spotyka usłużnego przewodnika gotowego oprowadzić po najciekawszych miejscach wystawy.

Od dłuższego czasu naukowcy-informatycy badają wpływ, jaki te sztuczne osobowości wywierają na rozwój dzieci. Na razie powstały pierwsze wirtualne zabawki (po części jest to rozbudowanie idei Tamagotchi o elementy mentalne) nazwane Improv Puppets (od nazwy systemu). Według specjalistów, ich wpływ na psychikę kilkuletnich dzieci jest ogromny: zabawa tymi cybermaskotkami pomaga rozwinąć percepcję dziecka, jego zdolności do formowania wypowiedzi i wymyślania krótkich historyjek. Rozwój osobowości po dwutygodniowej zabawie cybermaskotkami znacznie przewyższył wyniki osiągane np. dzięki zabawie z programami edukacyjnymi czy tradycyjnymi zabawkami.

Agent-asystent może zatem pełnić także rolę nauczyciela (przewyższa on "normalnych belfrów": nie męczy się i nie zniechęca, dysponuje bardzo rozległą wiedzą poprzez dostęp do baz danych i dopasowuje tempo nauczania do potrzeb konkretnego ucznia).

Jednym z ciekawszych projektów w tej dziedzinie jest system firmy IntelliMedia (http://multimedia.ncsu.edu/imedia ). Rozwiązanie to łączy elementy wykładu (ilustrowane odpowiednio skonstruowaną rzeczywistością wirtualną) z testem prowadzonym przez agenta-nauczyciela. Przykładem zastosowania tego systemu jest Robak Herman, wprowadzający ucznia w tajniki budowy roślin. W razie problemów z prawidłowymi odpowiedziami potrafi on (na podstawie zadawanych pytań) "inteligentnie" dobrać rodzaj i stopień podpowiedzi tak, by efekt nauczania był jak najlepszy. Również w tym przypadku kluczową rolę odgrywa osobowość. Robak został tak zaprojektowany, by pobudzić chęć do nauki (nawiasem mówiąc, mogłaby się od niego uczyć większość polskich nauczycieli).

PROBLEMY TECHNICZNE

Komputerowi agenci to pierwszy krok w kierunku uczłowieczania komputera. Jak miło pomyśleć, że niedługo, zamiast bezdusznego programu czy nudnego samoobsługowego sklepu internetowego, będziemy mieli do czynienia z wirtualnym nauczycielem bądź sprzedawcą sprawiającym wrażenie żywej osoby.

Wszyscy, którzy zajmują się projektowaniem systemów sztucznych osobowości (z małymi wyjątkami są to niemal wyłącznie placówki uniwersyteckie), zgodnie przyznają, że w trakcie badań muszą rozwiązywać wielką ilość problemów natury technicznej. Budowę agenta można podzielić na dwie części: "umysł", czyli fragment systemu odpowiedzialny za zachowanie, emocje i motywacje postaci, i "ciało" - moduły wizualizacji i procedury realizujące komunikację agenta z otoczeniem.

Wbrew pozorom, moduł decyzyjny agentów funkcjonuje zupełnie inaczej niż ludzki umysł (opierając się na tych niewielu informacjach, które są dostępne na temat funkcjonowania naszego mózgu). Pozornie najlepszym rozwiązaniem byłoby wykorzystanie w tym celu np. sieci neuronowych lub dynamicznych systemów ekspertowych (modele komputerowe pracujące pod pewnymi względami analogicznie do ludzkiego mózgu). Modele te cechują się jednak małą stabilnością (często "głupieją" bez konkretnego powodu) - dlatego też umysł agenta kontrolowany jest za pomocą algorytmów. Metoda ta nie pozwala wprawdzie na wykorzystanie tzw. sztucznej inteligencji, lecz w zamian za to uzyskujemy dobry stopień kontroli nad naszą postacią.

Zasadniczo zachowanie agenta opisują dwa czynniki: cele i osobowość. Pierwszy z nich to zbiór mniej lub bardziej konkretnych poleceń, które agent ma wykonywać (np. pomoc przy wypełnieniu formularza na stronie WWW). Drugi stwarza pozory kontaktu z realną osobą - osobowość decyduje o "pozaprogramowych" zachowaniach postaci (np. co robi, gdy nic od niej nie chcemy). Gdy przeważa wpływ osobowości nad wytyczonymi celami, uzyskujemy agenta bardziej uniwersalnego (takiego, który potrafi "znaleźć się" w wielu sytuacjach, będzie też asertywny, może realizować własne cele). W przeciwnym wypadku agent skoncentruje się na powierzonych mu zadaniach, a później wyłączy się. Na stronie WWW częściej spotkamy drugi model postaci (asystenci), do pierwszego możemy zaliczyć większość aktorów. Co ciekawe, elementy osobowości (nawet w minimalnym stopniu) powinien mieć każdy agent, włącznie z awatarem (dzięki temu może on wzbogacać naszą gestykulację i mimikę, co generalnie zwiększa realność wirtualnej osoby).

Ważną rolę w projektowaniu systemów sztucznych osobowości odgrywa odpowiednia hierarchizacja zachowań. Doskonale ilustruje to przykład engine'u AHA (Asynchronous Hierarchical Agent). Na poczynania naszej postaci wpływają następujące czynniki (od najwyższego stopnia abstrakcji): motywacje, plany, zachowania, czynności, akcje i tzw. DOF (Degree Of Freedom - stopnie swobody). Każdy czynnik ma wpływ na niższe w hierarchii, przy czym projektant ma możliwość "wyłączenia" czynników zaimplementowanych w engine i zastąpić je własnymi "reakcjami". Tylko taki model gwarantuje niezbędną elastyczność i zarazem spójność funkcjonowania postaci.

KOMUNIKACJA

Aby agent mógł porozumieć się (obustronnie) z użytkownikiem, muszą zaistnieć odpowiednie mechanizmy. Sposób wyświetlania agentów jest różny: od prostych dwuwymiarowych animacji (stosowanych na stronach WWW) do skomplikowanych trójwymiarowych modeli renderowanych w czasie rzeczywistym (najbardziej skomplikowane systemy tego typu przewidują nawet modelowanie postaci na bazie anatomicznego endoszkieletu!). Głosu postaci udziela zazwyczaj moduł syntezy mowy (w niektórych przypadkach jest on skojarzony z odpowiednimi ruchami ust agenta). Równie ważna, jak komunikaty głosowe, jest - podobnie jak w przypadku ludzi - sygnalizacja niewerbalna (mimika, gesty).

Odbiór danych jest realizowany za pomocą klawiatury lub systemu rozpoznawania mowy (niektóre rozwiązania, jak np. VisTA-walk, pozwalają na zbieranie informacji o ruchach ciała i gestach człowieka). Duże nadzieje wiązane są z rozpoznawaniem emocji użytkownika - już dziś konstruuje się czujniki typu "wearable computing" (elementy komputera funkcjonujące stale w bezpośredniej bliskości użytkownika) w postaci kolczyków, okularów czy obuwia zdolnego badać nasze tętno, rytm oddechu, przewodnictwo skóry czy napięcie mięśni. Dane te pozwalają agentowi poznać nasz stan emocjonalny. Czemu ma to służyć? Odpowiedź jest prosta - jak się okazuje, użytkownicy komputera niechętnie zdradzają się ze swoimi emocjami, natomiast łatwo wpadają we frustrację. Badanie ich stanu ducha może pozwolić agentowi na zmianę swego zachowania, na razie nie jest jeszcze za późno (tzn. zanim ręka powędruje w stronę przycisku RESET).

SYSTEMY

Tak naprawdę jedynym działającym i zarazem łatwo dostępnym (bezpłatnym) systemem do kreacji agentów jest Microsoft Agent Character Editor. Pozwala na zaprojektowanie wyglądu zewnętrznego postaci wraz ze wszystkimi fazami animacji, mamy też do dyspozycji moduł syntezy i rozpoznawania mowy (oba tyko w wersji angielskiej). Programowanie zachowania naszej postaci w zasadzie odbywa się za pomocą dowolnego języka programowania (Java, C++, Visual Basic, JavaScript, VBScript). Rozwiązanie to dostępne jest jedynie na platformę Windows 95 (agenta animuje formant ActiveX). Innym systemem tego typu (tzn. opierającym się na grafice dwuwymiarowej) jest PPP-Persona. Systemy kontrolujące trójwymiarowe postaci tradycyjnie używają do wizualizacji języka VRML 2.0 połączonego z Javą (przykładem może być Improv).

Część projektów w ogóle nie zajmuje się wizualizacją, skupiając się jedynie na "umyśle" wirtualnych postaci - należy tu wymienić wspomniany wcześniej system AHA czy HFSM (Hierarchcal Finite State Machine). Wszystkie pozwalają na opisanie zachowania w specjalnym języku wysokiego poziomu, takim jak Improv czy Piccolo (składniowo są one zbliżone do języka angielskiego, co powinno zachęcić amatorów do samodzielnych eksperymentów). Oferowane przez nie możliwości są nieporównywalnie większe (pod względem elastyczności i opisu zachowania) od zawartych w pakiecie Microsoftu.

PRZYSZŁOŚĆ

Jak widać, informatycy poważnie zajęli się problemem wirtualnych osobowości tworzonych przez komputer. Trudno jednak w tej chwili określić nawet najbliższą przyszłość tej dziedziny informatyki. Z pewnością jej możliwości są ogromne - na tyle, na ile obecnie jesteśmy w stanie to stwierdzić. Warto jednak zastanowić się nad pułapkami tkwiącymi w tej technologii - łatwo przecież wyobrazić sobie rzeczywistość, gdzie kontakty międzyludzkie zostaną ograniczone do minimum (pośrednią przyczyną takiego stanu rzeczy jest wciąż wzrastające tempo obiegu informacji), zaś ludzi będą nam zastępowały komputery. Zapowiedzią takiego stanu rzeczy jest ogromny sukces cyberzwierzątek Tamagotchi oraz "narodziny" i niebotyczna kariera wirtualnej japońskiej dziewczynki o imieniu Kyoko Date. Wydarzenia te powinniśmy potraktować jako swego rodzaju ostrzeżenie lub raczej zapowiedź tego, co nieuniknione.

Linki:

Improv - http://www.mrl.nyu.edu/improv/

Realax - http://www.realax.com/

Vision and Modeling Group - http://vismod.www.media.mit.edu/vismod/

OZ Interactive - http://www.oz.com/

IntelliMedia - http://www.csc.ncsu.edu/eos/users/l/lester/www/imedia/

Komputery, a rozpoznawanie uczuć - http://picard.www.media.mit.edu/people/picard/

http://affect.www.media.mit.edu/projects/affect

http://wearabies.www.media.mit.edu/projects/wearabies

Virtual Idols - http://v-idols.simplenet.com/

Extempo - http://www.extempo.com/v

Motion Factory - http://www.motion-factory.com/home.html

Cosmo Player - http://cosmo.sgi.com

Microsoft - http://www.microsoft.com/intdev/agent/agent-f.htm


Zobacz również