REKLAMA

Roboty budujące roboty. Tak tworzy się asystenta głosowego po polsku

Uczymy maszynę „rozumieć” zależności, których zrozumienie dla ludzi, jest zupełnie naturalne. Okazuje się bowiem, że to właśnie te najprostsze, najbardziej ludzkie czynności, są dla maszyn największym wyzwaniem  – mówi Piotr Stachowicz z edrone. Jego firma tworzy platformę dla asystentów głosowych.

Polskie startupy. Roboty budujące roboty - tak tworzy się asystenta głosowego po polsku
REKLAMA

Salesforce podaje, że 81 proc. klientów preferuje formę kontaktu za pomocą czatu. W tym samym badaniu Amerykanie wskazują, że ponad 50 proc. pracowników obsługi klienta, spędza swój czas głównie na prozaicznych zadaniach, w których teoretycznie mogłaby zastąpić ich maszyna. Dzięki temu pracownicy mogliby wykonywać mniej rutynowe, kreatywne zadania, które miałyby znacznie większy wpływ na rentowność i rozwój biznesu.

REKLAMA

Wykorzystanie asystentów w online’owej sprzedaży wydaje się naturalnym krokiem. Zwłaszcza że kupujących w sieci będzie tylko przybywało. Zaczyna się więc od prostych pytań o status zamówienia albo warunki reklamacji i zwrotu. Później maszyna uczy się rozumieć intencje klienta i dopasowywać je do posiadanych zapasów. Asystent pomoże nie tylko wybrać produkt, ale i doradzi czy doprecyzuje, kiedy klient sam jest niepewny swojego wyboru.

12,5 mln zł na rozumienie mowy naturalnej

Narodowe Centrum Badań i Rozwoju wsparło projekt edrone, kwotą 10 milionów złotych, a łączna kwota, która zainwestuje edrone to 12,5 miliona. Zadanie, które stoi przed zespołem to stworzenie platformy umożliwiającej sklepom internetowym wdrożenie wirtualnych asystentów sprzedażowych. AVA – bo tak nazywa się projekt – ma być czymś więcej, niż botem z ograniczonym zestawem zamkniętych pytań i odpowiedzi. To niezależny asystent sprzedaży, którego umiejętności będą rosły, wraz z nabywanym doświadczeniem.

AVA pokaże produkt i zaproponuje alternatywę, jeśli spełnienie wszystkich wymagań jest niemożliwe lub dopyta, jeśli klient opisał produkt zbyt ogólnie. Będzie też w stanie zaproponować coś „od siebie”, jeśli klient nie jest pewny wyboru, używając silnika rekomendacji

- mówi Piotr Stachowicz, CTO w edrone.

W poniższym wywiadzie specjalnie dla Spider’s Web, Piotr z pasją opisuje tajniki budowy wirtualnych asystentów sprzedaży i wyjaśnia, dlaczego to zadanie nie jest tak proste, jak może się to wydawać.

Karol Kopańko, Spider’s Web: Jak wygląda proces tworzenia asystenta głosowego? Czy wiąże się to z dużą ilością pracy, czy może polega na integracji dostępnych systemów?

Piotr Stachowicz, edrone: Dostępne na rynku narzędzia do tworzenia wirtualnych asystentów wymagają bardzo dużej ilości ludzkiej pracy. Z jednej strony są tu dość żmudne i powtarzalne zadania związane z przygotowanie danych czy adnotacjami. Z drugiej, dopasowanie modeli i wyjście poza schematyczny scenariusz dialogu wymaga dość specjalistycznej i rzadkiej na rynku wiedzy. Bez tego ciężko mówić o stworzeniu czegoś ekscytującego czy przełomowego. W najlepszym wypadku dostajemy zaawansowany autoresponder.

Jak więc wyglądało to z waszej perspektywy; jakie kroki musieliście podjąć?

W typowym przypadku asystenta przygotowuje się, tworząc intencje, encje i konteksty. Każda intencja jest mikro-scenariuszem, zazwyczaj krótkim, który dąży do jak najszybszego wypełnienia zadania, jakie stawiamy przed asystentem.

Encje odpowiadają zmiennym. Jeśli mówimy o sprzedaży przez internet, będą to produkty dostępne w sklepie oraz cechy, które je opisują, np. kolory z synonimami, materiały i rozmiarówki, ale także godziny lub dni tygodnia. Wszystko, co może być przedmiotem rozmowy związanej z zamówieniem.

I konteksty?

Konteksty są najprostsze do wyjaśnienia, bo to po prostu oznaczenia wątku, w którym znajduje się rozmowa. Naprowadzają algorytmy NLP na właściwe odpowiedzi, gdy wypowiedź użytkownika wyrwana z kontekstu jest zbyt ogólna. Najlepszy przykład: „tak” lub „nie”.

To oczywiście bardzo uogólniony opis, ale to głównie z tymi obiektami pracuje się w trakcie przygotowywania wirtualnego asystenta.

 class="wp-image-1257277"
Praca w edrone.

Dużo się mówi o tym, że stworzenie asystenta dla języka polskiego jest o wiele trudniejsze, niż dla angielskiego. Czy tak jest w istocie?

Tak i jest ku temu kilka powodów. W porównaniu do angielskiego nasze słowa mają bardzo wiele różnych form fleksyjnych (np. koszulka – koszulki – koszulkę). To rodzi wiele komplikacji i zwiększa niejednoznaczność. Gdy dokonujemy rozbioru zdania i oznaczamy rolę poszczególnych składowych w języku angielskim mamy maksymalnie 200 wariantów. W języku polskim jest ich teoretycznie 4000. Dodatkowo w polskim mamy bardziej dowolny szyk zdania (szczególnie w mowie potocznej), przez co metody przetwarzania zakładające ustalony porządek nie działają tak skutecznie, jak w angielskim.

Kluczowym utrudnieniem jest jednak dużo mniejsza ilość zbiorów danych (korpusów tekstów) w naszym języku. To ma znaczenie dla uczenia maszynowego, gdzie rozmiar zbioru treningowego często decyduje o ostatecznej skuteczności rozwiązania. Tutaj dysproporcja pomiędzy językiem polskim a angielskim jest ogromna.

Czy w takim razie przygotowanie tych wszystkich scenariuszów, encji i kontekstów to manualna praca zespołu?

Całe szczęście nie w stu procentach! Niestety pomimo automatyzacji, wciąż pozostaje bardzo dużo zadań do wykonania ręcznie. Dodatkowo, jeśli zawęzimy problem wyłącznie do e-commerce, to okazuje się, że automatyzacje dotychczas działające w zadowalający sposób, stają się mniej przydatne.

Jeśli definiujemy intencje, nie musimy podawać każdego możliwego wariantu pytania, któremu odpowiada, bo część platform dysponuje algorytmami, które samodzielnie rozwijają wzorcową listę. Jeszcze inne rozwiązanie ułatwia sam proces identyfikowania intencji, analizując archiwalne konwersacje, czy nawet dodając nowe, jeśli takie pojawią się w trakcie pracy asystenta.

Do tworzenia mniej zaawansowanych asystentów, możemy wykorzystać algorytmy analizujące proste bazy wiedzy (np. FAQ) i wyznaczające tematy, o które mogą zapytać użytkownicy. Moduł jednak nie sprawdzi się w pytaniach o produkty, bo zawierają one zbyt wiele kryteriów. Część z nich możemy wyodrębnić i poprawnie sklasyfikować używając jeszcze innych rozwiązań, ale wciąż są to automatyzacje na tyle ogólne, że nie sprawdzą się w przypadku asystenta zakupowego.

A co gdybyśmy mogli połączyć te wszystkie możliwości automatyzacji?

I tak pozostanie bardzo dużo żmudnej pracy do wykonania. W dodatku wymagającej rzadkiego na rynku zestawu umiejętności. Największym wyzwaniem w przygotowaniu asystenta dla e-commerce, są właśnie cechy opisujące produkty i to praca nad nimi zajmuje najwięcej czasu. Między innymi to chcemy zmienić.

Jak w takim razie tworzyć bazę kontekstów czy encji, która będzie wpisywać się w potrzeby sprzedaży przez internet?

Sklep sklepowi nierówny i każdy wymaga innej bazy wiedzy. Nawet jeśli mówimy o sklepach z tej samej branży. 

Zakładając, że specjaliści mogą się skupić wyłącznie na zaprojektowaniu głosowego asystenta, z pewnością wygodnie będzie posiłkować się gotowymi bazami.

Niestety to w dalszym ciągu za mało, bo są one po prostu zbyt ogólne. Nawet jeśli mówimy o tak popularnej cesze, jak „rozmiar”. Czym innym będzie rozmiar buta, a czym innym rozmiar koszulki. Maszyna nie będzie wiedziała którego rodzaju „rozmiarówki” użyć, szczególnie gdy produkt opisuje się na przykład kilkoma różnymi rozmiarami. Do tego dochodzą jeszcze cechy charakterystyczne dla określonej kategorii produktów, których nomenklatura w różnych sklepach też przecież często się różni.

Im taka baza wiedzy jest lepiej dopasowana do konkretnego sklepu, w którym działa asystent, tym większa będzie jego skuteczność. Ponadto dostępne komercyjnie bazy są głównie w języku angielskim, a jak mówiliśmy wcześniej, język polski jest zdecydowanie bardziej wymagający.

 class="wp-image-1257280"

Ile czasu może zająć przygotowanie fundamentu informacyjnego pod asystenta?

Nie ma jasno określonych widełek czasowych dla takiego wdrożenia. Zależy to od wielkości sklepu, rozumianej jako liczba pozycji w asortymencie i oczywiście liczba cech, jakimi przy wyborze kierują się konsumenci i jakimi opisuje się produkty.

Oczywiście, jestem tego świadom - jak kształtują się więc widełki w praktyce?

W praktyce od trzech miesięcy (małe sklepy i mało zaawansowani asystenci) do nawet jednego roku (największe bazy produktów i zaawansowani inteligentni asystenci). Pamiętaj, że mówimy o jednym projekcie: jednym sklepie, do którego delegowany jest zespół specjalistów. 

Wyróżnikiem AVA będzie skrócenie tego procesu do niecałego miesiąca. Większość potrzebnych zadań będzie wykonywana automatycznie. Wszystko to przy zachowaniu skalowalności produktu. 

Przejdźmy teraz na zaplecze - jak to wygląda od technologicznej strony?

Przypomina to nieco fabrykę, w której roboty składają inne roboty. W oparciu o uczenie maszynowe, między innymi głębokie sieci neuronowe (ale nie tylko) dokonują automatycznej ekstrakcji cech produktów z ich opisów czy zgromadzonych konwersacji.

Każdy produkt zostaje automatycznie umieszczony w wielowymiarowej przestrzeni wektorowej - w ten sposób powstaje model produktowy unikalny dla sklepu. Na jego podstawie tworzony jest z kolei Interpreter, czyli część systemu ustalająca intencje i encje na podstawie pytania człowieka. Ten nie jest trenowany od zera, wykorzystujemy tzw. „transfer learning” w oparciu o bardziej ogólny model językowy dla języka polskiego.

Czy dobrze rozumiem, że Interpreter uczy się poruszać po przestrzeni wektorowej, aby na podstawie konwersacji dojść do konkretnego produktu?

Tak, umiejętność poruszania się po przestrzeni reprezentującej produkty i ich cechy jest najważniejsza, bo wokół niej budujemy defacto całego asystenta w danym sklepie. 

Mówiąc wprost: uczymy maszynę „rozumieć” zależności, których zrozumienie dla ludzi, jest zupełnie naturalne. Jeśli asystent zadaje pytanie, musi ono być adekwatne i wnosić coś do konwersacji sprzedażowej. Akt rozmowy jest wypadkową „rozumienia” opisów tych produktów. Zależy nam przecież na wymianie informacji, a nie nic niewnoszącej pogawędce.  

Zdecydowanie pogawędki wolelibyśmy uniknąć, ale ciekawi mnie co się stanie, kiedy klient sam nie będzie wiedział, czego szuka?

To najtrudniejsze rozmowy, kiedy klient szuka czegoś ogólnego, jak „koszuli na wesele”. To nie jest informacja, która znajduje się w specyfikacji. Jednak sprawny doradca klienta bez problemu zinterpretuje wytyczne i w razie potrzeby zada pytania uściślające, np. dopyta o kolor dodatków. Jest to kwestia doświadczenia. Tego typu pytań istniejący wirtualni asystenci nie są w stanie obsłużyć.

W przypadku AVA to doświadczenie zostaje w pewnym sensie wygenerowane, na podstawie opisu, cech produktów i rozmów treningowych, charakterystycznych dla danego sklepu. Jest to jeden z głównych celów projektu.

Czyli w końcu - po kilku konwersacjach o garderobie na wesele - AVA będzie w stanie coś doradzić?

Zależy nam oczywiście, aby taki asystent był wytrenowany w „wystarczającym” stopniu w jak najkrótszym czasie, ale sam proces nauki, nie kończy się nigdy. Gdy asystent zrozumie, czym są weselne buty, koszula czy sukienka, nic nie stoi na drodze dalszego wykorzystywania wiedzy.

Na przykład, jeśli opis produktu przedstawiony przez klienta odpowiada „weselnemu”, asystent może na etapie doprecyzowania i rekomendowania zapytać, czy nie szukamy właśnie garderoby na wesele. Jest to możliwe dzięki przedstawieniu produktów i ich cech w wielowymiarowej przestrzeni wektorowej, o której mówiliśmy wcześniej.

Jeśli klient potwierdzi, że wybiera się na wesele, to otwiera to pole do inteligentnych rekomendacji. Jeśli zaprzeczy, to też będzie cenna informacja. Zupełnie jak w przypadku fizycznych sklepów i rozmów z ludźmi.

 class="wp-image-1257274"

No właśnie, biologiczni asystenci. Gdzie w tym wszystkim człowiek? Czy po wdrożeniu będzie jeszcze w ogóle potrzebny?

W centrum i wbrew pozorom w dalszym ciągu bardzo potrzebny. Zmienia się tylko jego zakres obowiązków, bo w przypadku najtrudniejszych, najbardziej skomplikowanych zapytań, AVA będzie posiłkowała się jego wiedzą i doświadczeniem. Koncepcja ta nazywana jest Human in the Loop i zakłada monitorowanie pracy asystenta przez wyznaczonych pracowników BOK. Dodatkowo, jak wspomnieliśmy wcześniej - proces przygotowania asystenta jest zautomatyzowany, jednak nadal pozostaje kilka rzeczy do zrobienia manualnie.

Sztuczna inteligencja ma tylko rozszerzać jego umiejętności i możliwości pracowników. Może zabrzmi to trochę cliché, ale to człowiek jest najważniejszy. Tym podejściem kierujemy się również przy wyborze członków zespołu projektowego AVA. Kierownikiem prac badawczo-rozwojowych jest profesor Grzegorz J Nalepa, prezes Polskiego Stowarzyszenia Sztucznej Inteligencji. Współpracujemy też ściśle z Arkiem Flinikiem - CTO w firmie Lekta, zajmującej się dostarczaniem głosowych asystentów dla największych polskich firm. Ostatecznie to przecież od ich pracy zależy później skuteczność naszego asystenta. 

Skoro o ludziach w naszym projekcie mowa: wciąż rozwijamy zespół, więc jeśli naszą rozmowę czytają specjaliści machine learning, deep learning, przetwarzania mowy naturalnej, to jak najbardziej mogą potraktować moje słowa jako zaproszenie do kontaktu. Myślę, że praca w tym gronie, jest okazją samą w sobie (śmiech).

REKLAMA

Dzięki za rozmowę.

Również dziękuję!

REKLAMA
Najnowsze
REKLAMA
REKLAMA
REKLAMA