VAD. Kultura osobista voicebota.

Porównując odkrycia technologiczne dostępne 12 lat temu, kiedy na poważnie zainteresowałem się sztuczną inteligencją, z dzisiejszymi, zauważa się ogromny postęp. W 2008 roku ilość narzędzi i gotowych modeli pozwalających na szybkie zaadaptowanie machine learning w docelowej aplikacji można było policzyć na palcach jednej ręki. Dziś nawet bym nie próbował ich wszystkich wymienić.

Nie będę ukrywał, że to bogactwo “gotowców” mnie bardzo cieszy. Sprawia to, że od pomysłu do realizacji i pierwszego MVP dzielą nas często tylko tygodnie. Co pozwala szybko przetestować i zwalidować koncept przed angażowaniem większych zasobów w projekt.

W projekcie EvoBot musieliśmy zmierzyć się z wieloma nowymi technologiami: telekomunikacja i protokół SIP, kodeki dźwięku, NLP, NLG, analiza tekstu (tokenizacja, lematyzacja). O ile bardzo sprawnie przeszliśmy fazę od pomysłu do wykonania pierwszego telefonu, gdzie nasz bot wypowiedział pierwszą sentencję (generowaną syntezatorem mowy). Wykorzystując istniejące modele. O tyle wychwycenie momentu, kiedy bot powinien skończyć słuchać, było już nie lada wyzwaniem. Albo bot zaczął odpowiadać za wcześnie (nie słysząc wszystkiego co wypowiedział rozmówca, tym samym tracąc część wypowiedzi rozmówcy), albo za późno (co sprawiało wrażenie jakby bot się zaciął).

Jak nauczyć bota przestrzegania norm społecznych?

Skupiając się na zamianie dźwięku na tekst i odwrotnie nie zdawaliśmy sobie sprawy z tego jak ważne i trudne zadanie nas czeka. Nasz bot był technicznie uzdolniony, ale był odbierany jako niekulturalny, wręcz nieużyteczny. Zaledwie po kilku dniach od wykonania pierwszej rozmowy przez EvoBota, naszym głównym celem było nauczenie go kultury. Wszak w realnym Świecie, normą społeczną jest to, że jak jedna strona mówi, to druga słucha. Nasz bot miał z tym problemy.

To czego potrzebowaliśmy to inteligentny VAD – Voice Activity Detection. Termin znaliśmy, ale VAD to nie tylko badanie amplitudy dźwięku. Cisza okazała się nie być ciszą. A głos okazał się być szumem, wiatrem lub tykającym w aucie kierunkowskazem.

Potrzebowaliśmy modelu, który będzie potrafił rozróżnić szum z tła od rzeczywistej wypowiedzi. Z pomocą przyszła nam, jak zawsze zresztą, nauka. Literatura w temacie VAD okazała się być wyczerpująca (Sohn et. al, sciencedirect). Potrzebowaliśmy tylko danych, w naszym przypadku nagrań. I tak zaczęliśmy zbierać dźwięki. Robiliśmy testy w samochodzie (przy różnej prędkości, z otwartymi szybami, w różnych samochodach), na dworcach, w warszawskim metrze. Używaliśmy różnych telefonów, słuchawki i zestawu głośnomówiącego, prowadziliśmy rozmowy przy niedzielnym obiedzie, w samotności i w barze. Dzwoniliśmy do znajomych pracujących w skupiskach ludzi czy na call center.

Wyposażeni w wiedzę teoretyczną oraz dane rozpoczęliśmy prace nad modelem VAD i jego ustawieniem. Generowanie i testowanie stało się naszym dniem powszednim ale i tym razem, sztuczna inteligencja kolejny raz przysłużyła się naszemu voicebotowi. Nauczyła go kultury.

Późniejsze testy, i wdrożenia pokazały, że problemy zniknęły. Nasz bot już wie kiedy ma mówić, a kiedy słuchać. Dodatkowo VAD sprawił, że bot zaczął szybciej odpowiadać. A rozmówcy i klienci twierdzą czasami, że wręcz ich pogania w rozmowie.

Voicebot musi wiedzieć kiedy ma słuchać a kiedy mówić

Ta lekcja pokazała nam, że inteligencję i skuteczność bota mierzy się nie tylko ilością rozpoznawanych intencji czy sposobem prowadzenia rozmowy. Często ułamek sekundy sprawia, że rozmówca myśli, że bot się zawiesił. Co w konsekwencji sprawia, że rozmówca się rozłącza. Dlatego inteligencja bota i User Experience zależy również od tego jak szybko bot reaguje, czy słucha w trakcie tego jak sam mówi.

Proszę sobie wyobrazić, że bot ma do wypowiedzenia długą sentencję i nie słucha, że ktoś chce mu przerwać. Porzucenie rozmowy murowane.

Chcesz porozmawiać z naszym botem? Wypróbuj demo voicebota wyborczego.