Przywitanie z AI (w tle)

Sztuczna inteligencja jest w mojej ocenie jedną z najbardziej interesujących i nieodkrytych dziedzin informatyki. Wszak algorytmy, podstawy teoretyczne w postaci modeli matematycznych są znane od wielu lat. Mimo tego, zastosowanie AI wciąż rozpala emocje i wyobraźnię. Specjaliści od AI zafascynowani kolejnym wdrożeniem zastanawiający się nad tym w jakim obszarze mogą wykorzystać swój produkt. Z drugiej strony biznes wyprzedzający się w generowaniu pomysłów związanych z wykorzystaniem AI w procesach automatyzujących pracę, generujących oszczędności i jednocześnie zwiększając zyski.

AI == Future?

Mimo niesamowitego postępu technologi AI, rosnącej ilości materiałów, kursów (popularne MIT AI czy Oxford AI Course), gotowych narzędzi wykorzystujących AI (Tensorflow, nltk,  Pytorch) jest to wciąż obszar na którym jest wiele do zrobienia. A właściwie, obszar, z którego można wiele pożyczyć aby wnieść nową wartość do istniejących modeli biznesowych, produktów, usług, procesów. Wg danych z portalu Statista, zyski branży IT związane ze świadczeniem usług AI osiągną tym roku (2020)  ponad 22 miliardów dolarów aby za niespełna 5 lat osiągnąć przychody na poziomie 126 miliardów dolarów. Takich prognoz (pod względem przyrostów % year to year) nie ma przed sobą żadna z branż IT. Niewątpliwie, w najbliższych latach czeka nas wiele nowości w świecie AI.

Evoqai również w swojej strategii rozwoju obrał AI jako jeden z 3 kierunków mających stanowić podstawę źródła przychodów. Ale zanim o tym to trochę historii...

Pierwsze spotkanie z AI

Moja pierwsza przygoda ze sztuczną inteligencją miała miejsce w 2003 roku. Dokładnie 17 lat od momentu pisania tego posta, na studiach. Na początku wydawało mi się to wszystko totalną abstrakcją. Niemożliwym do nauczenia zlepkiem niezrozumiałych koncepcji i teorii, których nie będę w stanie pojąć.

Mój cel na początku był prosty: jakoś przez to przebrnąć i zaliczyć. I tak się stało. Z tym, że owa droga okazała się być fascynującą przygodą, która zakończyła się (trochę też za sprawą przypadku) zwolnieniem z egzaminu i zrodzeniem pasji do wszelkiego rodzaju automatyzacji. Do dziś wspominam symulację obiegu ściągawek na klasówce - tak brzmiał nasz pierwszy poważny projekt na SI. Potem kolejne zetknięcie z tematem, i kolejne zwolnienie z egzaminu.

Nasze drogi (moja i Sztucznej Inteligencji) rozeszły się na jakiś czas. Wszak jako wchodzący w dorosłe życie, musiałem się skupić na czymś, na czym się znałem i co pozwoli mi opłacić rachunki. W tamtym czasie było to programowanie aplikacji internetowych. I tak to trwało prawie dwa lata. Aż postanowiłem wszystko rzucić i spróbować swoich sił w świecie nauki. Dostałem się na studia doktoranckie. Ażeby było trudniej, to w Anglii, we wspólnym projekcie (PRiMMA) realizowanym przez The Open University, The Imperial College London oraz University of Bath. Do dziś nie wiem jak to się stało, ale się dostałem. A jeden z moich promotorów, Bashar Nuseibeh, po latach powiedział wprost: "I spot the potential". Całe szczęście dla mnie, ponieważ dzięki temu już niedługo później mogłem robić coś, co zawładnęło mną na ponad 3 lata: "doing academic research".

Zaczęło się od czytania i poszukiwania problemu. Aż w końcu (po ponad pół roku) go znalazłem i mogłem zacząć go doprecyzowywać i rozwiązywać. A to znaczyło, że znowu mogłem ubrudzić ręce w technologii: statystyka, data science, machine learning i moje ulubione user studies. Była to niesamowita lekcja, która zmieniła moje postrzeganie Świata i podejście do rozwiązywania problemów. Cóż to była za przygoda - stworzyć system wykorzystujący uczenie maszynowe oraz wiedzę na temat psychologii oraz HCI (Human Computer Interaction) aby dowieść, że można w ten sposób dołożyć cegiełkę do rozwiązania problemu prywatności. Problemu głęboko zakorzenionego w psychologii środowiskowej, o którym wtedy jeszcze niewielu sobie zdawało sprawę. A jednak udało się. PhD completed. A ja mogłem iść dalej.

Po doktoracie, moja przygoda z AI urwała się na prawie 8 lat. Nie licząc jakiś pomniejszych eksperymentów i zabaw z data science w R, Weka czy tensor flow. Aż w trakcie spotkań z jednym z klientów padło z jego ust pytanie, "czy mógłbyś zrobić system, który sprawi, że .... ?" No właśnie, to co było po że sprawiło, że rozwiązaniem tego problemu była sztuczna inteligencja właśnie. 6 tygodni zabawy z pythonem, nltk i podobnymi bibliotekami i tak się zrodził nasz pierwszy produkt wykorzystujący elementy AI: EvoScanner - system potrafiący rozpoznawać dane z faktur i dowolnych dokumentów. Co ciekawe, w 6 tygodni udało nam się zrobić model, który na próbce testowej działał o kilka procent lepiej niż inne produkty komercyjne dostępne na rynku. A dziś, stworzenie dedykowane modelu do klasyfikowania dowolnych dokumentów na podstawie treści to dla nas zadanie powszednie.

EvoqAI

W/w projekt to EvoScanner, a jego mały sukces sprawił, że postanowiliśmy zmierzyć się z czymś co wg mnie jest jednym z głównych obszarów rozwoju i przyszłej dominacji AI w biznesie - conversational AI. Czyli systemami wykorzystującymi sztuczną inteligencję do prowadzenia dialogu z człowiekiem. W Evoqai najwięcej uwagi poświęcamy voicebotom, czyli botom głosowym potrafiącym mówić, słuchać, rozumiejącym co się do nich mówi. Mówię tu o systemach, które wykorzystują najlepszy, najprostszy i najbardziej naturalny interfejs jaki wykształcił człowiek: ludzką mowę. Czy może być coś prostszego niż powiedzenie co się chce, ile i w jakim kolorze? Bez konieczności odrywania rąk od kierownicy albo bez konieczności patrzenia w ekran?

Ilość zastosowań jest ogromna: sprzedaż ubezpieczeń, sprzedaż kredytów, ocieplanie leadów, windykacja (przykład evobota), sprzedaż suplementów na odchudzanie, doradztwo, infolinie (weźmy ostatni przykład z branży: infolinia nt. koronawirusa), rezerwacje wizyt u lekarza, fryzjera, kosmetyczki. Do tego wszelkiego rodzaju ankiety, badanie satysfakcji klientów czy w końcu głosowanie (przykład voicebota wyborczego).

To tylko krótka lista zastosowań voicebotów, która tak naprawdę jest nieograniczona.

W 2008 roku natrafiłem na to video: Apple Knowledge Navigator, Jak to pierwszy raz oglądałem nie wierzyłem w to, że będę potrafił takie coś zrobić. Brzmiało to jak abstrakcja: człowiek prowadzi swobodny dialog z robotem. Do tego ten bot rozumie kontekst wypowiedzi, korzysta z systemów zewnętrznych aby wzbogacić rozmowę. Sprawia wrażenie myślącego. WOW. Potem Apple przedstawiło nam Siri, następnie Google i Amazon swoich asystentów a ludzie się zachwycali i dalej zachwycają botami i ich możliwościami. Pamiętam jak po zobaczeniu po raz pierwszy Knowledge Navigatora wpadłem na pomysł żeby zrobić bota, który będzie mi rekrutował uczestników do badania na temat prywatności z twittera. Co prawda mój bot ze sztuczną inteligencją nie miał wiele wspólnego - nie można przecież nazwać AI bota, który bazuje na prostym modelu i wyrażeniach regularnych. Ale bot robotę zrobił: moi rozmówcy z nim rozmawiali i byłem w stanie (tzn. bot był w stanie) ich nakłonić do wzięcia udziału w moim badaniu. Mój pierwszy twitter bot (https://twitter.com/entish) zrekrutował mi do ankiety badawczej ponad 3 tysiące osób z całego Świata w kilka dni. Ponad 200 wypełniło ankietę do końca. To był mega wynik jak na automat, który powstał w 2 godziny po obejrzeniu wspomnianego video. Czyż nie prawda, że boty można wykorzystać wszędzie?

Voiceboty? - to przecież takie proste...

W mojej opinii tworzenie botów głosowych jest jedną z trudniejszych technicznie dziedzin IT. Na naszym rynku działa wiele firm zajmujących się tematem, jak choćby Voicetel, Intelliwise czy Stanusch Technology. Jednocześnie wykorzystanie voicebotów jest wciąż niewielkie. Dziś zrobienie asystenta głosowego jest o wiele prostsze niż dawniej. Prostsze niż choćby 11 lat temu, kiedy nie było jeszcze narzędzi AI od Amazona, Google czy Microsoft. Wielu programistów powie, że wykorzystując dzisiejszą technologię można prostego bota złożyć z gotowych wręcz klocków: głos weźmiemy od Amazona, przetwarzanie tekstu z Dialog Flow. Kilka dni i gotowe. Ale doświadczenie pokazuje, że to jednak nie jest takie proste. Gdyby tak było, firm oferujących voiceboty byłoby tyle co firm produkujących strony internetowe. A każdy z nas na słowo voicebot by wiedział o czym mówimy. Tak jednak nie jest.

Trzeba pamiętać, że rozpoznanie tekstu czy synteza mowy to jedno. Ale jak sprawić żeby bot miał duszę, osobowość? Jak sprawić żeby był kulturalny, żeby słuchał kiedy powinien, i mówił kiedy jego kolej? Jak sprawić aby normy społeczne, oczekiwania drugiej strony dialogu były przez bota respektowane? Jak sprawić żeby bot rozumiał czy rozmawia z kobietą czy mężczyzną?

Jest element w tej całej botowej układance, który widzę jako jeden z kluczowych czynników decydujących o szerokiej akceptacji technologii głosowych. Jest to voicebot usability. W moim przekonaniu Historia o voicebotach to nie jest wyłącznie historia o technologii, o zamianie dźwięku na tekst czy generowaniu mowy. Niewątpliwie są to elementy technologiczne, bez których nie da się zrobić voicebota. Ale nie można w tym wszystkim zapominać o tym, że bot to jednak interfejs użytkownika. Głos to nasza klawiatura, myszka lub tablet, a bot to tylko interpreter i feedback. A skuteczny interfejs użytkownika to taki, którego nie trzeba się uczyć, który jest naturalny i tani w użytkowaniu. Jest takie pojęcie w HCI jak Interaction Cost. Pozwolę sobie przytoczyć definicję autorstwa Raluci Badiu (konsultant z NN Group): the interaction cost is the sum of efforts — mental and physical — that the users must deploy in interacting with a site in order to reach their goals. Co prawda koszt, o którym mowa odnosi się do stron www, lecz jak odniesiemy to do interfejsów (w tym głosowych) to każda osoba, która miała przyjemność robić boty wyciągnie z niej wnioski dla siebie. My doszliśmy do nich bardzo szybko (literatura nt Usability Goals obowiązkowa).

Nasze badania pokazują, że sposób reagowania, szybkość odpowiedzi, umiejętność przerywania własnej wypowiedzi przez bota czy zapamiętywanie kontekstu rozmowy są równie ważne co kompetencje. Nikt nie lubi jak mu się przerywa w trakcie wypowiedzi, każda milisekunda w oczekiwaniu na odpowiedź bota zwiększa ryzyko zakończenia rozmowy przez drugą stronę. Brak umiejętności reakcji na obiekcje nie wpływa dobrze na Customer Experience, a pytanie kilka razy o to samo w tej samej rozmowie ... to już nie te czasy.

Voicebot usability - co to takiego?

Teraz powinienem rozwinąć dalej wątek. Zrobię to w kolejnym poście. Póki co pozostawię więcej pytań niż odpowiedzi, ale wszystko wskazuje na to, że całą branżę Voicebot czeka ciekawa droga. A na koniec zawsze się wspomina wrażenia z drogi. My swoimi będziemy dzielili się na bieżąco.