Hoe werkt een Voice Bot?
Google Assistant, Siri of Amazon Alexa. Zo maar voorbeelden van voice bots die je in het dagelijks leven wellicht wel eens gebruikt. Een voice bot is de laatste jaren steeds meer in beeld gekomen, ze worden steeds slimmer en kunnen steeds meer dingen. Maar wat speelt er eigenlijk aan de achterkant van de computerstem? Wat is een voice bot nou precies en hoe werkt het? “Hey Siri, kun jij mij uitleggen hoe een voice bot werkt?”
Wat is een voice bot?
Een voice bot is een computergestuurd programma die de spraak van mensen kan begrijpen en aan de hand van de ingegeven input kan reageren op een mens. De bot wordt gestuurd door artificial intelligence en machine learning en wordt door de jaren heen steeds vaker gebruikt in plaats van het IVR (Interactive Voice Response) systeem. Waar een IVR je in een belmenu kan begeleiden naar de juiste medewerker voor jouw probleem, gaat de voice bot het gesprek met je aan, probeert hij jouw probleem te begrijpen en kan hij, wanneer hij het probleem begrijpt, de juiste informatie geven zodat jij uiteindelijk geholpen bent. Er zijn verschillende soorten voice bots:
1. Tekst gebaseerd
Deze voice bots zijn bijvoorbeeld in je telefoon te vinden. Wanneer je: “hi Siri” of: “OK Google” roept naar je telefoon en vraagt: “bel mijn broer”, herkent hij de taal en zet hij hetgeen wat je vraagt om in tekst. De tekst zie je in je beeld, deze kan hij vervolgens begrijpen door hier steekwoorden uit te halen en uiteindelijk voert hij de taak die je vroeg uit en bel je binnen no time je broer zonder dat je ook maar iets met je handen op je telefoon uitgevoerd hebt.
Afbeelding 1: Siri (bron:unsplash.com)
2. Voice gebaseerd
72% van de mensen die een voice gebaseerde speaker heeft geeft aan dat praten met deze speaker onderdeel is van hun dagelijkse ritueel
Naast de tekst gebaseerde assistants heb je ook voice gebaseerde bots. In plaats van de tekst die je in beeld ziet, vind het gehele gesprek tussen de bot en jou als persoon via spraak plaats. Een voorbeeld hiervan is Google Home. Je roept hem op met: “OK Google”, begint tegen hem te praten en hij reageert vervolgens met stem terug. Je ziet geen tekst, maar hebt wel een gesprek met Google Assistant.
Afbeelding 2: Google Home (bron:developers.google.com)
Met DialogFlow (onderdeel van Google) kun je als bedrijf een ‘eigen Google Assistant’ maken, een van de bedrijven die dit heeft gedaan is Albert Heijn. Vanuit Google Assistant roep je Albert Heijn op door ‘praat met Albert Heijn’ te roepen en vervolgens kun je verschillende dingen aan Albert Heijn vragen.
Video 1: Gebruik van Albert Heijn voice bot
Waarom een voice bot?
Een voice bot kan vragen van klanten beantwoorden zonder dat er een medewerker aan te pas komt. Deze ‘extra medewerker’ werkt 24/7, heeft geen vakantie nodig en kan meerdere klanten tegelijk helpen. Klinkt ideaal toch?
Tevens speel je met een voice bot perfect in op de toekomst. Experts verwachten dat de opmars van voice gestuurde apparaten voorlopig niet zal stoppen. Google, Apple en Amazon blijven ontwikkelen, maar door middel van machine learning leren bots zelf ook. Met de huidige opmars zal dit betekenen dat we aankomende jaren steeds meer gebruik gaan maken van voice bots. Wanneer je nu begint met ontwikkelen, ben je jouw concurrenten in de ‘voice-gestuurde toekomst’ voor.
De techniek achter een voice bot
De gehele techniek van een voice bot is gebaseerd op artificial intelligence en machine learning, een onderdeel van AI. Onderstaande dialoog is een voorbeeld van hoe een voice bot in praktijk in zijn werk gaat, uiteraard wordt dit normaal gesproken maar om het visueel weer te geven is het uitgeschreven:
Afbeelding 3: Gesprek tussen een voice bot en persoon
Alhoewel de gele spraakballonnen gesproken worden, spelen er zich veel meer dingen in het gesprek af. De voice bot is zo getraind dat hij begint met de ingestelde openingszin. Door middel van ‘text to speech’ technologie leest de bot als het ware de tekst voor en hoort de persoon vervolgens de stem van de bot. In dit geval wilde de persoon even melden dat zijn pinpas is gestolen. Het ingesproken bericht wat de persoon inspreekt wordt vervolgens herkend door middel van ASR (Automatic Speech Recognition) en wordt omgezet naar tekst. Nu de voice bot tekst heeft, komt NLP (Natural Language Processing) in beeld. De bot herkent ‘pinpas gestolen’ in de tekst en weet vervolgens welk antwoord hij moet geven. Hoe hij weet welk antwoord hij moet geven, leg ik verder in de blog uit.
Nu hoor ik je denken, wat als ik ‘mijn betaalpas’ of ‘mijn portemonnee’ had gebruikt? Hier komt NLP van kracht. NLP zorgt ervoor dat de bot zodanig getraind is dat hij zowel pinpas, betaalpas als portemonnee kan herkennen. Omdat een pinpas na diefstal zo snel mogelijk geblokkeerd moet worden, is de bot zo getraind om het ingestelde antwoord door middel van text-to-speech weer voor te lezen.
Er zijn dus verschillende technieken die gebruikt worden omtrent een voice bot. AI en machine learning maken het mogelijk om de bot te trainen en het ‘menselijk maken’ van de bot. ASR zorgt ervoor de stem van persoon herkend wordt en omgezet wordt naar tekst. NLP herkent de tekst en text-to-speech maakt het mogelijk om tekst om te vormen naar spraak. Al deze technieken worden in een split seconde ingezet. Door middel van AI en machine learning blijft de bot zich ontwikkelen zodat het steeds beter mensen kan begrijpen en op zoveel mogelijk vragen antwoord kan geven. Door gebruik te maken van een bot platform als bijvoorbeeld Chatlayer is het maken en blijven ontwikkelen van een bot dankzij deze technieken zelfs in meerdere talen en voor meerdere platformen (Google Assistant, FB Messenger, WhatsApp, Alexa, e.d.) steeds eenvoudiger.
Het design
Het design van de voice bot is allesbepalend of hij goed functioneert of niet. Net als een medewerker is het belangrijk dat de bot een ‘waarmee kan ik je van dienst zijn?’ interface heeft. Wanneer je de voice bot als ‘extra medewerker’ gebruikt is het belangrijk dat de bot hetzelfde uitstraalt als een medewerker van je bedrijf en ook dezelfde jargon gebruikt. Uiteindelijk wil je jouw klanten door de bot op dezelfde manier behandeld worden als door een echte medewerker.
Niet alleen je design aan de voorkant is belangrijk, vooral het design aan de achterkant is belangrijk. Hierboven vertelde ik je al hoe een bot in de praktijk in z’n werk gaat, hoe een bot begint met een openingstekst, hoe een bot meerdere synoniemen herkent en hoe een bot weet welk antwoord hij moet geven wanneer hij een tekst herkent. Om dit goed te laten verlopen is het belangrijk dat de structuur van de bot goed ingericht is.
Afbeelding 4: Structuur voice bot
Zie een voice bot als het ware als een belmenu waarin je gekoppeld wordt aan een medewerker. De openingstekst is de tekst “Hallo en welkom bij ‘Bank Voice’, voor vragen over bankinformatie toets 1, etc.”, en het antwoord is de medewerker die je uiteindelijk aan de lijn krijgt. In plaats van het keuzemenu begint de voice bot met de openingstekst “Hoi ik ben de voice bot van Bank Voice, waarmee kan ik je van dienst zijn?”, vraagt/zegt de gebruiker iets en wordt hij door de voice bot als het ware door het menu begeleid naar het juiste antwoord.
Alles aan de achterkant van de voice bot wordt geregeld aan de hand van ‘intents’ en ‘expressions’. Een intent is een specifieke actie die de bot kan uitvoeren en wat NLP kan herkennen, dit zijn de vragen en antwoorden die de bot gebruikt en herkent maar ook bijvoorbeeld de openingsgroet of afsluitgroet. De expressions zijn de mogelijkheden voor de intent. Neem het voorbeeld waar een persoon liet weten dat zijn pinpas gestolen was: Een expression kan zijn: “Mijn pinpas is gestolen” of: “Mijn betaalpas is door een dief gestolen” of zelfs: “Vanmiddag is mijn portemonnee gestolen.” Uit de expressions herkent de bot de dikgedrukte woorden.
De interface begint dus met een welkom intent, dan kan aan de hand van de vraag de volgende intent bepaald worden. In het geval van de persoon waarvan zijn pinpas gestolen is kom je dus bij de ‘pinpas gestolen’ intent. Door zo veel mogelijk expressions toe te voegen train je de bot zo goed mogelijk en werkt de NLP op zijn best. Het antwoord wat de bot geeft kun je afsluiten met de vraag: “kan ik nog meer voor je betekenen?” Op deze vraag kun je wederom twee intents toevoegen, ‘ja graag’ en ‘nee bedankt’. Bij ‘ja graag’ kun je wederom vragen: “waarmee kan ik je van dienst zijn?” en bij ‘nee bedankt’ sluit je het gesprek af: “oke, dan wens ik je nog een fijne dag verder”. Ook is het belangrijk dat er een ‘fallback intent’ is, mocht de bot iets niet kunnen herkennen dan loopt de bot niet vast maar dan kan er een antwoord als “dat kan ik helaas niet begrijpen, zou je het willen herhalen?” gegeven worden om het gesprek tussen de bot en persoon gaande te houden.
Om een structuur te bouwen is het makkelijk om met 1 onderdeel van je bedrijf te beginnen en later uit te bouwen. Een structuur uitdenken voor je bot is lastig en heeft veel tijd nodig. Iets wat voor een medewerker vanzelfsprekend is bij het indelen van de structuur kan voor een gebruiker totaal onduidelijk zijn waardoor hij niet het antwoord krijgt wat hij wil. Wanneer het eerste onderdeel succesvol is geïmplementeerd kun je de bot gaan uitbouwen en meerdere onderdelen gaan toevoegen.
Ik hoop dat je ondertussen een goed beeld hebt gekregen over wat een voice bot is en hoe deze aan de achterkant precies werkt.
“Hi Siri, bedankt voor de informatie!”
“Hi lezer, geen probleem en nog een fijne dag toegewenst!”