Nie tam, gdzie są aplikacje mobilne, bo te zaczęły nudzić użytkowników. Teraz na topie są boty, które automatycznie odpowiadają na pytania i dostarczają potrzebnych informacji o każdej porze. Świat już zainteresował się tą technologią, czemu dowodzi ta infografika pokazująca 197 najbardziej popularnych chatbotów, które pozyskały blisko 22 miliardów dolarów finansowania i są wyceniane łącznie na 159 miliardy dolarów.
Niedoskonałe, toporne, awaryjne?
Jak widać z powyższego wykresu, na początku 2015 roku suma użytkowników największych komunikatorów, z Messengerem na czele, przekroczyła sumę użytkowników aplikacji społecznościowych. W 2016 roku ta przewaga wzrosła do 500 milionów osób. Dziś globalnie z komunikatorów korzystają ponad 3 miliardy ludzi. Większość czasu spędzanego w sieci użytkownicy spędzają właśnie tam. Powstaje więc na naszych oczach nowy, ogromny kanał dystrybucji treści. Mamy do czynienia z rewolucją, na miarę rewolucji mobilnej, którą zapoczątkował debiut pierwszego iPhona w 2007 roku.
Zacytujmy Phila Libina, twórcę Evernote i inwestora, który pisze w artykule A Charge of Bots: “Moment olśnienia spłynął na mnie latem 2007 roku. Po czterech godzinach stania w kolejce do sklepu Apple, na przedmieściach Bostonu, w dniu, kiedy na rynek wypuszczono pierwszego iPhona, wreszcie udało mi się go dostać. Poczułem coś w stylu klasycznej hollywoodzkiej sekwencji – długa droga ciągnąca się po horyzont i nagle na wszystkich skrzyżowaniach, dokładnie w tym samym momencie, zapalają się zielone światła. Zobaczyłem rozwijającą się przede mną mapę świata, pokazującą jak będzie on wyglądał za 5 lat. Na podstawie tej mapy zbudowaliśmy Evernote. Od tamtego czasu podobny moment olśnienia już mi się nie zdarzył. Aż do teraz. Tym razem chodzi o boty i tym razem w związku z nimi świat technologii, jaki do tej pory znaliśmy zostanie napisany na nowo.”
Odnosimy identyczne wrażenie. Boty i ich potencjał nas wciągnęły i zafascynowały. Podejście wielu ludzi do botów jednak nas dziwi. Słyszymy, że są one niedoskonałe, toporne, awaryjne, ten sam cel lepiej można osiągnąć przy użyciu aplikacji itd. Przypomina nam to głosy osób, które na początku XX wieku twierdziły, że samochód nigdy nie wygra z koniem. Jaki odsetek osób jeździ dziś konno do pracy? Każda zarodkowa technologia na początku jest daleka od doskonałości. Historia motoryzacji też zaczęła się od korby. Nie zakręciłeś korbą, nie pojechałeś. Potem zniknęła korba, za chwilę zniknie kierowca. Odrobinę skompresowaliśmy historię motoryzacji, bo chcemy pisać o botach.
Zrobiliśmy (naszym zdaniem) niezłego bota na platformę Messenger – www.icanhereeat.com. Wszystko dzięki temu, że w kwietniu br. Facebook oddał deweloperom narzędzie umożliwiające tworzenie botów i umieszczanie ich w Messengerze. Spodobały nam się boty i od razu zaczęliśmy nad nimi pracować. Bot I Can Here Eat nie jest naszym pierwszym botem, mamy już za sobą bota prezentującego program telewizyjny oraz bota, który umożliwia sprawdzenie podstawowych informacji na temat leków dostępnych w aptece.
Boty możemy podzielić na dwa rodzaje:
1. Proste boty, opierające się o SLT (Simple Logic Tree). Ten typ botów jest mocno ograniczony. Reaguje on po prostu na zdefiniowany wcześniej zestaw komend. Jeśli użytkownik napisze do niego coś, czego programista wcześniej nie przewidział, bot nie zareaguje.
2. Złożone boty, wykorzystujące sztuczną inteligencję / machine learning. Rozumieją język i potrafią odpowiedzieć, odnosząc się do kontekstu zapytania. Bot w miarę prowadzenia kolejnych rozmów uczy się i staje się coraz lepszy w interakcji z użytkownikami. Taka przynajmniej jest teoria.
Pierwsza podstawowa decyzja, stojąca przed każdym, kto tworzy bota, to który typ bota budujemy. Naszym zdaniem posiadanie kompetencji umożliwiających zbudowanie bota typu drugiego nie jest wystarczającym argumentem, aby tak właśnie postąpić. Głównym czynnikiem decydującym o tym, jaki typ bota budować powinna być odpowiedź na pytanie, czemu dokładnie ten bot ma służyć. Do realizowania większości prostych scenariuszy sztuczna inteligencja nie jest potrzebna.
My, tworząc I Can Here Eat, wybraliśmy pierwszą z dróg. Można sobie zadać pytanie, czy nie super byłoby tworzyć “profil kulinarny” każdego z użytkowników, żeby podpowiadać tylko takie dania, które mu się spodobają? Wystarczy jednak chwilę się zastanowić, żeby dojść do wniosku, że nawet jeśli zazwyczaj jem pizzę, to jestem otwarty na to, żeby czasami skosztować czegoś innego. Może akurat dziś mam ochotę na karmazyna smażonego z żurawiną, podanego na kremowym czarnym ryżu z marchewkami duszonymi w syropie anyżowym?
Naszym zdaniem cel, jaki stawiamy przed botem I Can Here Eat na wstępnym etapie jego budowy nie wymaga sztucznej inteligencji. Nasz bot ma odpowiadać na proste pytanie “gdzie mogę zjeść to, na co akurat mam ochotę”. Ma to robić szybko i ma proponować szeroki wybór dań. Nie znaczy to, że w bocie SLT nie warto bawić się machine learning.
1. 10 wyników na raz
Pamiętać musimy, że podstawowym narzędziem prezentacji potraw w naszym bocie jest karuzela z wynikami zapytania.
Facebook narzuca tutaj ograniczenie 10 kafli. Zawsze wprawdzie możemy na 10-tej pozycji dać opcję załadowania kolejnych 10-ciu wyników ale w bocie, jak w wyszukiwarce Google, raczej niewiele osób jest zainteresowanych wychodzeniem poza “pierwszą stronę”.
Optymalizacja wyników prezentowanych w karuzeli ma więc znaczenie zasadnicze dla wygody korzystania z bota. Te 10 miejsc powinniśmy wykorzystać optymalnie – optymalnie z punktu widzenia tej konkretnej osoby. I tu przyda się machine learning. Dlaczego w odpowiedzi na zapytanie o stek w centrum Poznania, wszyscy klikają na pozycję 3, 4, 5, a nikt na 1 i 2? Czy dlatego, że steki wyświetlone na pozycji 1 i 2 nie mają zdjęcia? A może dlatego, że sortujemy wyniki po odległości albo steki numer 1 i 2 kosztują powyżej 40 złotych? Słowem, warto bawić się machine learning, nawet w bocie SLT, żeby jak najlepiej rozumieć użytkowników i doskonalić bota, tak aby stawał się coraz bardziej użyteczny.
2. Nie udawaj, że Twój bot myśli
Kolejna podpowiedź, jakiej możemy udzielić – nie udawajmy, że nasz bot jest mądrzejszy, niż faktycznie jest. A już absolutnie nie udawajmy, że bot SLT jest botem myślącym. Efekt jest łatwy do przewidzenia – frustracja użytkownika i hejt w sieci. Powyżej pisaliśmy o botach SLT: “Jeśli użytkownik napisze do niego coś, czego programista wcześniej nie przewidział bot nie zareaguje”. Na przykładzie wielu botów widzimy, że część programistów stara się za wszelką cenę, aby bot reagował zawsze i to najlepiej czymś turbo-błyskotliwym. Był takim małym Einsteinem. Wielu stara się udawać, że ich bot jest mądrzejszy, niż naprawdę jest, programując jakieś wymyślne reakcje. Po co? Czy firmy te mają w zanadrzu sztuczną inteligencję, która przeszła test Turinga?
Jeśli nie mają, to nie ma sensu udawać. Każdy użytkownik od razu zorientuje się, że ma do czynienia z maszyną. I to jest ok. Jeśli bot nie obsługuje załączników graficznych, a jedynie tekst, to w odpowiedzi na wysłanie mu przez użytkownika grafiki napiszmy, że jej nie obsługujemy, zamiast udawać, że nasza “sztuczna inteligencja” właśnie analizuje obraz.
Kierując się tą zasadą, w przypadku niezrozumiałych zapytań do naszego bota zdecydowaliśmy się zawsze zwracać użytkownikowi formatkę startową. Wydaje nam się to, w przypadku naszego bota, optymalnym rozwiązaniem. Wyrabia ono w użytkowniku nawyk zaczynania konwersacji z botem zawsze od tej właśnie formatki i pokazuje wyraźnie, czemu ma służyć ten bot. A ma on służyć jednemu – napisz co chcesz zjeść, a powiem Ci, gdzie to znajdziesz.
3. Nie bądź na siłę zabawny
Naszym zdaniem kolejną rzeczą, która jest bolączką pierwszych botów, to staranie aby rozbawić użytkownika do łez. “Wprawdzie nie ogarniam zadania, ale jestem taki zabawny, że nawet nie zauważysz”. Darujmy sobie. Chyba, że ktoś buduje bota opowiadającego dowcipy albo bota, dla któregoś z kabaretów. Wtedy super. Z botem jest dokładnie tak, jak z wyszukiwarką Google, jak chce się znaleźć tanie bilety na linii Warszawa – Londyn, to nie jest dla nas fajne, jeśli zamiast propozycji biletów Google zacznie pokazywać nam dowcipy. Nawet jeśli nie będą to suchary.
I rzecz, która jest ściśle z tym powiązana – warto być lakonicznym i konkretnym. Ludzie naprawdę nie lubią czytać w Messengerze przydługich historii. Jeśli prezentujemy wyniki, to podawajmy je tak. aby wszystkie najważniejsze informacje były widoczne już na pierwszy rzut oka. W I Can Here Eat od razu prezentujemy zdjęcie dania, jego nazwę, cenę, nazwę restauracji i odległość do niej. Wszystko to mieścimy w dwóch linijkach tekstu. Całą resztę wyrzuciliśmy do następnego kroku. Szczerze polecamy takie podejście.
4. Podpowiadaj z sensem
Co jeszcze możemy doradzić, to wykorzystywanie w botach szybkich podpowiedzi, tzw. quick replies. My korzystamy z nich gdy pytamy użytkownika o to, w jakiej lokalizacji mamy szukać danego dania.
Są bardzo pomocne i od razu zrozumiałe dla użytkownika. Oczywiście sęk w tym, aby nie były za długie i aby były dobrze sformułowane. Jako szybkie podpowiedzi możemy wykorzystać nie tylko tekst ale również:
- cyfry (np. w bocie zamawiającym bilety do kina od razu możemy podpowiedzieć ilość biletów)
- kolory (w bocie sklepu z odzieżą możemy pokazać dostępne kolory)
- emotikony (w każdym bocie możemy zbierać opinie użytkowników za pomocą symboli kciuka skierowanego w dół / do góry)
- symbole (w bocie do rezerwacji hoteli możemy pokazać gwiazdki, wskazujące jaki standard pokoju nas interesuje)
Inną dostępną opcją jest stałe menu, tzw. persistent menu. Jest to też bardzo użyteczne narzędzie. Warto pokazać tam użytkownikowi skróty do wszystkich najważniejszych funkcji realizowanych przez bota.
Ciekawą opcją prezentacji wyników w bocie jest webview, które tak naprawdę jest malutką, jednoekranową stroną internetową, osadzoną w bocie. Zaletą tego rozwiązania jest to, że możemy ją zaprogramować w dowolny sposób. Są już na rynku pierwsze boty, które w webview umożliwiają nam zagranie w proste gry. Na pewno warto wykorzystać webview, jeśli nasz bot realizuje transakcje. O wiele bardziej przejrzyste jest pokazanie podsumowania transakcji w webview, niż w dymku ograniczonym do 320 znaków, dodatkowo pozbawionym możliwości formatowania.
W I Can Here Eat nie ma w chwili obecnej webview, ale pracujemy nad tym, aby widok szczegółów dania zastąpić właśnie odpowiednio skonstruowanym webview. Wydaje nam się to dobra droga, ponieważ po zamknięciu webview użytkownik byłby dokładnie w tym samym miejscu, z jakiego wyszedł, czyli na widoku karuzeli dań i mógłby od razu sprawdzić szczegóły kolejnego dania. Teraz traci ten widok z oczu i w celu powrotu do niego musi przescrollować konwersację w górę. Po statystykach zachowań użytkowników widzimy, że nie jest to rozwiązanie, które powszechnie przychodzi ludziom do głowy.
5. Rób to szybko
Nie można dać się zwieść pozorom, ponieważ budowa dobrego bota jest zadaniem niezwykle trudnym. Aby ludzie korzystali z bota musi on być pomocny w obszarze, który ma dla użytkowników znaczenie. Musi też oczywiście dawać szybkie i trafne odpowiedzi. Każdy bot będzie tak dobry, jak zestaw danych, które prezentuje i tak użyteczny, jak szybko będzie można do tych danych sięgnąć. Jeśli robimy bota, który będzie pokazywał dania, a w bazie będziemy mieli 99 potraw, to nic z tego nie wyjdzie. Jeśli w celu znalezienia dania będziemy musieli pisać z botem przez 2 minuty, to też nikt z tego nie skorzysta. W takim bocie muszą być tysiące dań, a znalezienie tego odpowiedniego nie może zająć więcej jak 30 sekund.
–
Budowa bota jest dziś czymś, co warto zrobić. Za chwilę botów będzie o wiele więcej, niż aplikacji mobilnych dlatego warto teraz wykroić dla siebie kawałek tortu. Ludzie zresztą są dziś mocno zmęczeni aplikacjami mobilnymi i z całą pewnością oczekują, że będzie ich mniej a nie więcej. Boty są w stanie położyć kres tej hegemonii. Niebawem będą w stanie realizować taniej, szybciej, efektywniej i mądrzej te same zadania, które dziś są realizowane przez aplikacje mobilne. Wiedzą to już w Białym Domu, skoro prezydent Obama ma bota.
Do zrobienia dobrego bota potrzebny jest dobry pomysł, świetny zespół i solidny zastrzyk kapitału, aby móc szybko złapać odpowiednią skalę biznesu. Tu leży całe wyzwanie i to akurat było, jest i zawsze pozostanie niezmienne, mimo że same boty są czymś nowym, wpisującym się doskonale w słowa noblisty.
–
I to tyle. Jeśli z czymkolwiek w tym artykule się nie zgadzacie, to piszcie w komentarzach. Jeśli się zgadzacie piszcie tym bardziej. Jesteśmy otwarci na dyskusję. Zależy nam aby boty stały się czymś powszechnym. Uważamy, że dobrze zrobiony bot może być niezwykle użytecznym i pomocnym narzędziem i zależy nam aby dyskusja na temat botów zataczała coraz szersze kręgi. Będziemy też rzecz jasna wdzięczni za wszelkie uwagi do bota stworzonego przez nas – testujcie I Can Here Eat i dawajcie nam znać, co Waszym zdaniem powinniśmy w nim poprawić. Każdy głos jest dla nas ważny.
–
Marek Tokarewicz
Business Developer i Project Manager w Modern Factory
Urodzony w 1974 r. Przez wiele lat pracujący dla korporacji, między innymi Dyrektor Regionalny w Eurobank SA oraz European Sales Manager w Amhil Enterprises. Od kilku lat angażujący się w projekty z obszaru nowych technologii. W wolnym czasie podróżuje (daleko), biega (szybko) i czyta (dużo).