Analityk widzi emocje w cyfrowym śladzie

Analityk widzi emocje w cyfrowym śladzie

— Zaletą analizowania danych behawioralnych jest fakt, że nie wymagają żadnego dodatkowego, specjalistycznego sprzętu, jak np. kamery. Ponadto, jeśli uzyskamy zgodę  użytkownika, takie dane można zbierać podczas jego codziennej pracy. Monitorowanie przebiega w tle, w zupełnie niewidoczny sposób — wyjaśnia dr inż. Agata Kołakowska z Katedry Inteligentnych Systemów Interaktywnych Politechniki Gdańskiej.

Dr inż. Agata Kołakowska jest adiunktem na Wydziale Elektroniki, Telekomunikacji i Informatyki PG. Tematyka prowadzonych przez nią badań dotyczy budowy komputerowych systemów rozpoznawania z uwzględnieniem wszystkich etapów ich powstawania, tj. zbierania i reprezentacji danych, selekcji i ekstrakcji cech, wyboru algorytmu uczenia, właściwego uczenia i testowania systemu. Jednym z obszarów zastosować badanych metod jest biometria, w szczególności wykorzystująca dane behawioralne do weryfikacji tożsamości użytkowników, rozpoznawania emocji oraz wykrywania i monitorowania zaburzeń emocjonalnych lub rozwojowych.

Na czym dokładnie polega biometria?

Chodzi o różnego rodzaju pomiary i analizę cech człowieka. Mogą to być cechy fizyczne, ale też behawioralne. Ja w swojej pracy jestem zainteresowana drugimi z wymienionych. Biometria oparta na cechach fizycznych to np. analiza twarzy, odcisków palca czy geometrii dłoni, znana choćby z bankowości czy systemów bezpieczeństwa. Ale są też dane behawioralne, które opierają się na informacji, w jaki sposób osoba wykonuje pewne czynności.  

Jako ludzie mamy różnorodne umiejętności, style, preferencje, samopoczucie, a od tych kwestii zależy, jak będziemy wykonywać daną czynność. Przykładami danych behawioralnych są: nasz podpis, sposób, w jaki korzystamy z klawiatury, w jaki poruszamy myszką, głos, sposób chodzenia. Należy pamiętać, że są to dane, które jesteśmy w stanie zmieniać, w odróżnieniu choćby do danych fizycznych, które są niezmienne. Za pomocą cech behawioralnych możemy badać także emocje człowieka i nad tym pracuję na co dzień. 

W jakim celu chcemy analizować emocje człowieka?

Jeśli chodzi o rozpoznawanie emocji, to obszar, który od ponad dwudziestu lat jest eksplorowany dość chętnie przez badaczy. Powstała nawet dziedzina nauki nazywana informatyką afektywną, która ma uwzględniać emocje użytkownika. Chodzi nie tylko o to, aby je rozpoznać, ale także reagować na emocje. Powodów poszukiwania narzędzi do rozpoznawania emocji jest sporo. Można je wykorzystać w grach komputerowych, gdzie w zależności od emocji gracza można odpowiednio dopasowywać poziom gry. Także do celów edukacyjnych, gdzie w analogiczny sposób w zależności od emocji podsuwamy uczniom odpowiednie zadania, aby nie zniechęcać ich do nauki, ale żeby też nie ułatwiać zadań. 

Jednym z ciekawych zastosowań jest wykorzystywanie tych narzędzi w komunikacji pomiędzy użytkownikami, którzy wysyłają sobie wiadomości tekstowe. Model na podstawie analizy treści może automatycznie podpowiadać znaki w stylu emotikonów, które sugerują, że na użytkownika oddziałują takie, a nie inne emocje. Niezwykle ciekawym zastosowaniem jest system wspomagający prowadzenie mediacji. Mediator za pomocą odpowiednich narzędzi rozpoznaje ewentualny stres wśród osób, pomiędzy którymi próbuje rozwiązać konflikt.

Do analizy emocji potrzebne są dane. Skąd i jak je pozyskać?

Kamera i mikrofon są podstawowymi źródłami informacji o emocjach, czyli mamy do czynienia z analizą twarzy, mimiki, głosu. Natomiast mniej oczywiste, które stanowią mój obszar zainteresowań, to klawiatura, myszka komputerowa czy ekran dotykowy. Ponadto źródłem wielu danych mogą być czujniki zawarte w urządzeniach mobilnych, jak akcelerometr czy żyroskop, ale także dane lokalizacyjne z GPS-u.

Ja badam właśnie tego rodzaju informacje, zbierane podczas codziennej pracy użytkownika. Na ich podstawie wyznaczam  parametry do analizy. Jeżeli chodzi o klawiaturę, są to różnego rodzaju charakterystyki czasowe i ilościowe.

Proszę podać przykład.

Mierzy się m.in. czas, w jakim klawisz jest wciśnięty, jak również czas pomiędzy wciskaniem kolejnych klawiszy. Te wartości są rejestrowane przez pewien czas i uśredniane, a następnie każda z nich stanowi jeden parametr wejściowy dla modeli, które będą uczone na podstawie tych danych. Mamy też częstotliwościowe charakterystyki, które mówią, jak często ktoś używa konkretnych klawiszy. 

Z kolei jeśli chodzi o myszkę, mamy tu jeszcze większe pole do popisu. To nie tylko kliknięcia dostępnymi klawiszami, na podstawie których można wyznaczyć szybkość klikania lub czas reakcji od najechania na jakiś obiekt na ekranie do kliknięcia, ale także parametry opisujące sposób poruszania myszą. W przypadku ekranów dotykowych możemy zdefiniować wiele parametrów opisujących poszczególne gesty, jak choćby dla skrolowania pionowego jego szybkość, rozmiar i położenie. Ekran dotykowy pozwala ponadto na pomiar siły nacisku.

Na czym polega trudność w zbieraniu takich danych?

Ze względu na to, że do uczenia rozpoznawania emocji stosuje się metody uczenia nadzorowanego, zebrane od użytkownika dane uczące muszą mieć etykiety. Pomimo że mamy próbkę danych zebranych od użytkownika z klawiatury, myszki czy ekranu, musimy wiedzieć, jakiej emocji towarzyszyło pisanie czy rysowanie. Musimy wiedzieć, że w tym czasie użytkownik był przykładowo znudzony albo zły.

Do tego trzeba stworzyć odpowiednie narzędzie, które damy użytkownikowi, aby taką etykietę pozyskać. Dzięki niemu przynajmniej od czasu do czasu będzie mógł nam przekazać, jak się czuł w danym momencie. Ta informacja jest dołączana jako etykieta do próbki danych zebranych z jego urządzenia.

A co, jeśli odpowiednich danych nie mamy od użytkownika, a chcemy analizować styl jego pracy i korelację z odczuwanymi emocjami?

Jeżeli chodzi o rozpoznawanie emocji, to są oczywiście dla badaczy dostępne bazy danych. Najwięcej jest baz zdjęć lub fragmentów wideo. Wśród nich są takie, gdzie emocje są udawane, pozowane. Opisana metoda na pewno nie jest równie skuteczna, jak odwołanie do naturalnych emocji, ale dostępne są również bazy zawierające naturalne obrazy. Bazy z danymi z klawiatury, które mają etykiety, niestety są dużo mniej popularne.

Czyli musimy stworzyć najpierw aplikację do zbierania danych, która od czasu do czasu będzie pobierać dane o użytkowniku. Jak buduje się takie modele?

Po zebraniu odpowiednio dużej liczby próbek danych wraz z etykietami wyznaczamy parametry zależne od źródła danych. W ten sposób surowe dane zebrane za pośrednictwem klawiatury, myszki czy ekranu dotykowego zamienione zostają na tzw. wektory cech. Wektory stanowią dane, na podstawie których uczymy wybrany przez nas model klasyfikacyjny lub regresyjny, wykorzystując do tego celu odpowiedni algorytm uczenia.

Ile takich danych potrzebujemy, aby stworzyć model?

Wiadomo, że im więcej danych zbierzemy, tym lepiej. Najlepsze rezultaty uzyskuje się, jeśli stworzymy dla użytkownika indywidualny system. Innymi słowy, jeżeli dany model nauczymy wyłącznie na podstawie danych pochodzących od jednego użytkownika. Niestety zazwyczaj, danych pochodzących od jednej osoby mamy zbyt mało. 

Dlatego model budujemy na podstawie wszystkich dostępnych danych pochodzących od różnych użytkowników. Z czasem, kiedy informacji na temat konkretnej osoby przybywa, możemy je nieco bardziej profilować, doskonalić, dopasowywać pod kątem jednego użytkownika, na jego urządzeniu. Jeśli odpowiednią ilość danych uda się zebrać, oczywiście jest szansa, że taki system rozpoznający wskazany stan emocjonalny czy kilka stanów uda się nauczyć bardziej skutecznej detekcji. 

Stworzyliśmy model rozpoznawania emocji. Jak on wygląda?

Model rozpoznający emocje zależy m.in. od tego, w jaki sposób reprezentujemy emocje. Są dwa podstawowe sposoby reprezentacji emocji. Pierwszy to model dyskretny, w którym mamy zdefiniowanych kilka stanów emocjonalnych. Wybieramy emocje, które nas interesują, i przeprowadzamy uczenie dla tych emocji. Drugi rodzaj to model przestrzenny, w którym emocje są reprezentowane za pomocą trzech składowych. Jedna wartość mówi, czy to emocja pozytywna, czy negatywna. Druga składowa mówi o pobudzeniu człowieka, a trzecia – o dominacji, czyli o tym, czy mamy kontrolę, czy wręcz przeciwnie. Każdą emocję w podobnej trójwymiarowej przestrzeni da się zaprezentować. Jednak jest to trudne do interpretacji, a tym samym do nadania etykiety.

W przypadku analizy behawioralnej powiązanej z rozpoznawaniem emocji najprostsze modele, jakie powstają, to modele dla konkretnej emocji. Wtedy mamy do czynienia z binarnymi klasyfikatorami, które rozpoznają przykładowo, czy użytkownik był zły, czy nie. I co ważne, będą działały z pewnością skuteczniej niż klasyfikatory wieloklasowe, które rozpoznają kilka stanów emocjonalnych.

Z jakich metod korzysta się do analizy emocji? 

Jeśli chodzi o tworzenie modeli, można się spotkać zarówno z klasycznymi metodami, jak i opartymi na głębokim uczeniu. Choć akurat te drugie nie zawsze można wykorzystać ze względu na brak odpowiedniej ilości danych. Trudno wystartować, mając kilkaset próbek danych związanych z danym działaniem na klawiaturze, myszce czy ekranie. Chociaż już na podstawie danych z czujników, jak żyroskop czy akcelerometr, mamy możliwość zebrania dużej liczby przebiegów czasowych i jeśli będziemy w stanie z pomocą użytkownika przypisać im etykiety, pozwoli to na wykorzystanie głębokiego uczenia do budowy modelu.

Podsumowując, przy danych behawioralnych stosujemy te same metody, co w przypadku innych danych, czyli np. lasy losowe, sieci neuronowe. Postępujemy podobnie jak w każdym przypadku, gdzie mamy do czynienia z uczeniem nadzorowanym, w szczególności uczeniem klasyfikacji.

Z jakich narzędzi korzysta pani w codziennej pracy? Czy do danych behawioralnych potrzebne są wyspecjalizowane biblioteki? 

W moich projektach korzystam z ogólnodostępnych, darmowych narzędzi. Programuję przede wszystkim w języku Python. Z bibliotek, których używam, najbardziej popularna jest Scikit-learn, w której zaimplementowanych jest wiele algorytmów uczenia różnego rodzaju modeli. Wcześniej korzystałam z biblioteki Weka. To z kolei biblioteka napisana w języku Java, w pewnych obszarach dużo bardziej rozbudowana niż Scikit-learn. W przypadku wykorzystania sieci neuronowych używam biblioteki PyTorch.

Jakie są wady i zalety stosowania analizy danych behawioralnych?

Zdecydowaną zaletą jest fakt, że dane te nie wymagają korzystania z dodatkowego, specjalistycznego sprzętu, jak np. kamera. Ponadto, jeśli uzyskamy zgodę użytkownika, takie dane można zbierać podczas jego codziennej pracy. Monitorowanie odbywa się w tle, w zupełnie niewidoczny sposób. 

Wadą jest, że na dane behawioralne możemy świadomie lub nieświadomie wpływać. Te dane są bardzo zmienne w czasie. Wystarczy złe samopoczucie lub zmiana narzędzia pracy i ta sama osoba, pisząc na jednej klawiaturze, może mieć inny styl pisania, niż kiedy korzysta z drugiej. Tym samym trudniej jest rozpoznać użytkownika.

Jednak analizę wykorzystującą dane behawioralne stosuje się podobnie jak w przypadku analizy twarzy, zarówno do weryfikacji tożsamości użytkownika, jak i rozpoznawania ludzkich emocji, a także monitorowania nastroju. Powiem więcej, czasem można jej użyć też do analizy pewnych stanów czy wręcz zaburzeń psychicznych, emocjonalnych.

Jak działają takie aplikacje?

Aplikacje przeznaczone dla każdego monitorują nastrój, aby wykrywać pewne stany emocjonalne i informować użytkownika, że być może powinien się z kimś spotkać, może powinien wypocząć itp. Sugerują w ten sposób potrzebne działania. Można się posunąć nawet nieco dalej. Aplikacje specjalistyczne nie tylko monitorują nastrój, ale wręcz diagnozują zaburzenia i tutaj powstają modele, które są w stanie wykrywać stany depresyjne, stresowe, niektóre z nich są stosowane w przypadku osób z chorobą afektywną dwubiegunową.

Czyli analiza danych behawioralnych może diagnozować choroby?

W pewnym zakresie zapewne tak. Jako Politechnika Gdańska braliśmy udział w projekcie, gdzie wykorzystywaliśmy omówione przeze mnie metody do monitorowania terapii dzieci z autyzmem. W ramach współpracy z jednym z krakowskich startupów, gdzie w zespole był m.in. psycholog i osoby pracujące z dziećmi z autyzmem, zrodził się pomysł zbudowania czegoś, co będzie pomagało w pracy terapeutów dzieci autystycznych. Zaczęliśmy od prób diagnozowania, następnie projekt się rozrósł i wzięliśmy udział w tworzeniu narzędzia do monitorowania postępów terapii.

Jak działa to narzędzie?

W trakcie projektu powstała aplikacja składająca się z kilku bardzo prostych gier na tablet, przeznaczonych dla dzieci. Gry zostały zaprojektowane we współpracy z terapeutami i psychologami. Badano umiejętności dzieci poddanych terapii, związane m.in. z poprawnym wykonywaniem poleceń, samodzielnością, komunikacją, precyzją. W ramach zadań, które realizowane były podczas tych gier, w tle zbierane były dane z czujników, w które wyposażone są tablety. Zatem z ekranu dotykowego, ale i z akcelerometru czy żyroskopu. W projekcie brało udział 40 dzieci, z kilku ośrodków w Polsce. Spotkania odbywały się co miesiąc, dzieci grały za każdym razem w te same gry przez kilka minut. 

Zbieraliśmy dane, które opisywały sam przebieg gry, czyli jak dziecko szybko wykonuje zadania, ile błędów popełnia, ile razy powtarza pewne akcje, jakie przerwy robi itd. Druga grupa danych to parametry z ekranu dotykowego. Na ich podstawie wyznaczyć można było wiele charakterystyk, związanych z tym, jak długo grający przytrzymuje palec, jak mocno, jak szybko nim porusza po ekranie, jaki kształt mają rysowane przez niego ścieżki oraz dane bezpośrednio z akcelerometru i żyroskopu wskazujące np. na intensywność wstrząsania tabletem lub wychylania go. Podczas gdy my zbieraliśmy dane, terapeuci wypełniali ankiety, w których oceniali dzieci w dziesięciu różnych sferach rozwojowych jak komunikacja, motoryka, samodzielność i innych.  

Nasze zadanie polegało na tym, aby z danych wyznaczyć szereg parametrów i sprawdzić, czy jest korelacja pomiędzy zmianami w czasie tychże parametrów z gier a zmianami wartości ocen terapeutów. Drugim naszym celem była próba nauczenia modelu rozpoznawania na podstawie danych zebranych podczas gry, czy nastąpił postęp w terapii w ciągu paru miesięcy. 

Jaki był efekt? 

Zidentyfikowaliśmy parametry, które w poszczególnych sferach rozwojowych można byłoby potraktować jako miary postępu terapii. Ponadto przetestowaliśmy wiele klasycznych metod uczenia nadzorowanego i w niektórych obszarach udało się uzyskać całkiem przyzwoite wyniki rozpoznawania postępów terapii. Najlepsze widoczne były w sferze tzw. motoryki małej dzieci, co było zgodne z naszą intuicją. Zaproponowane rozwiązanie mogłoby stanowić pomoc dla rodziców, informując ich o przebiegu terapii, a także dla terapeutów, udostępniając obiektywne miary postępów. Natomiast firma, z która współpracowaliśmy, udostępniła narzędzie do wstępnej diagnozy autyzmu u dzieci.

Wydaje się, że to bardzo optymistyczny prognostyk dla badań behawioralnych. Mówimy  jednak o testach. W jakich obszarach  już dziś rozpoznawanie emocji jest wykorzystywane, jaka jest przyszłość analizy tego rodzaju danych?

Rozpoznawanie emocji ma zastosowanie przede wszystkim w grach komputerowych, gdzie można na podstawie analizy konkretnych działań gracza na klawiaturze czy na padzie dostosować w danym momencie do niego poziom gry. Mówimy wtedy o takim pojęciu jak “affect aware video games”, gdzie przebieg gry zależy właśnie od dostosowania się do emocji samego gracza. Poza tym zastosowanie rozpoznawania emocji jest na porządku dziennym w wielu aplikacjach mobilnych, np. tych monitorujących nastrój czy rzadziej – w programach edukacyjnych. Prawdziwym wyzwaniem, ale jednocześnie szansą na rozwój analizy emocji w grach i programach komputerowych, zapewne będzie fakt coraz szerszego zastosowania urządzeń VR.

Udostępnij link

https://www.datasciencerobie.pl/analityk-widzi-emocje-w-cyfrowym-sladzie/