Verdieping

Hey Google, hoe bouw ik een succesvolle voice-toepassing?

0

Waar moet je beginnen als je snel en goed aan de slag wil met voice? Hoe zorg je ervoor dat je spraakgestuurde assistent de gebruiker tijdens de gehele user journey goed bedient? Ik deel in dit artikel een aantal algemene tips, zodat ook jij vol vertrouwen aan de slag kunt gaan met je eigen use case voor spraak.

Niet zo lang geleden was ik aanwezig op een inspiratie-avond over spraak, georganiseerd door het platform voor klantgericht ondernemen (PvKO). Ik verwachtte een avond vol bejubelde succes-scenario’s, scherpe best practices en belerende gotcha’s. Een avond waarin ik als creative technologist weer met nieuwe ideeën en ervaringen naar huis zou gaan.

Uiteindelijk bleek het topic voice over de gehele avond slechts summier aangestipt te worden. Zo leerde ik dat bij de customer-service van RTL het komende jaar zelfs niks voice-related op de agenda staat: “Wij doen voorlopig niks met voice.” Full stop. Ik bleef dan ook een beetje verbouwereerd achter. En vooral met een heleboel vragen. Hoe kan dit? Wachten we misschien eerst de concurrentie af? Of zijn we vooral bang om te mislukken in een nieuw kanaal? Of hebben we gewoon niet de visie ervoor? Wie het weet mag het zeggen.

Die vragen zal ook ik dus niet zomaar kunnen beantwoorden helaas. Alhoewel Google al een uitgebreide gids heeft gepubliceerd met best-practices over dit onderwerp, kan de hoeveelheid aan informatie nogal intimiderend zijn. Vooral als je snel en goed wil beginnen. Ik deel daarom graag een aantal algemene tips, zodat ook jij vol vertrouwen aan de slag kunt gaan met je eigen voice-toepassing.

First things first

Kijkend naar de huidige toepassingen voor zogenaamde smart speakers, mogen we inderdaad concluderen dat we er nog niet veel spannends mee doen.

Voorlopig lijken we onze Echo’s, Assistants, Siri’s en Cortana’s met name in te zetten voor het geven van banale commando’s: “Wanneer is Napoleon geboren?”, “Speel mijn party-lijst af op Spotify” of “Doe de lampen in de keuken uit”. In bovenstaande lijst laten we pas op de een-na-laatste plek, met een magere 11%, onze spraakassistent daadwerkelijk een transactie uitvoeren. Paperclips bestellen misschien, laagdrempelig in ieder geval.

We zijn schijnbaar dus nog niet op het tipping point waarop we de nieuwe mogelijkheden die voice met zich meebrengt volledig omarmen. Gezien de volwassenheid hiervan is dat misschien ook helemaal niet zo gek. Wie herinnert zich namelijk nog de interviews uit 1999 waarin mensen wordt gevraagd of ze een mobiele telefoon hebben? Bijna hilarisch overigens om de heersende opvattingen van destijds nog eens terug te kijken.

Tips voor spraakgestuurde assistenten

Fast forward 20 jaar en het niet bezitten van een smartphone wordt bijna onmogelijk geacht. Bovendien zijn de mobiele toepassingen legio en eindeloos. Hopelijk zeggen we hetzelfde binnen afzienbare tijd over onze nieuwe spraakgestuurde assistenten! Kom dus maar snel door met die tips hoor ik je bijna zeggen. Here we go.

1. Hou je informatie centraal

Hoogst waarschijnlijk gebruik je momenteel al een (conversational) platform om je chatbot, virtuele assistent of kennisbank te bedienen. Het laatste wat je wil, is om voor een nieuw kanaal een apart platform te gaan gebruiken. En gelukkig hoeft dat ook niet. Want een beetje enterprise-ready platform staat je toe volledig context-afhankelijke conversaties te bouwen.

Toch ben je misschien geneigd om de platforms te gebruiken die door de fabrikanten van spraakassistenten worden aangeboden. Google propagandeert bijvoorbeeld met name het gebruik van Dialogflow voor implementaties op hun eigen Assistant. Zeker ook begrijpelijk, je kunt er bijna niet omheen in hun online documentatie. Maar absoluut niet noodzakelijk.

Er zijn namelijk tal van vrij beschikbare technische tools om eenvoudig een connectie te realiseren met een ander platform. Zoek bijvoorbeeld maar eens op ‘Actions SDK‘. Het eerste resultaat is meteen al een pagina met uitleg over het aanmaken van ‘actions’ op de Google Assistant, zonder platform-specifieke afhankelijkheden.

Hetzelfde geldt zeker ook voor Amazon Echo (Alexa SDK) en in mindere mate voor Apple’s Siri. Uitbreiding naar een spraakgestuurd kanaal betekent dus geenszins dat je ook per se moet gaan shoppen voor een nieuw platform! En misschien is privacy of data-bescherming ook een belangrijke afweging bij je keuze voor het juiste platform.

2. Valideer je use case

Het bedenken en ontwerpen van een geldige use case is best wel een uitdaging. Doe zo weinig mogelijk aannames, maar neem je beslissingen op basis van beschikbare data. Of zorg ervoor dat je zo snel mogelijk een use case klaar hebt staan, die je kunt testen en doormeten en optimaliseren.

Geef het ontwerpproces daarom de aandacht die het verdient. Het klakkeloos herschrijven van je huidige antwoorden uit de chatbot naar spraak, werkt waarschijnlijk niet. Het is daarom ook zaak om uit te zoeken wat wél een geldige use case is en hoe je gebruiker daarop reageert.

Fail fast, fail often

Voor het ontwikkelen van use cases volg ik graag de design-thinking filosofie: al makende ontwerpen van de journey. Ik zet daar overigens ook wel eens een design sprint voor in. Dit is een geweldige kickoff van het project en zorgt meteen al voor inspiratie en energie. Daarnaast creëer je een breder draagvlak binnen de organisatie, waardoor de kans op een waardevolle journey groter wordt.

Fail fast, fail often is het uitgangspunt. De fases van bedenken, ontwerpen, testen en meten volgen elkaar in rap tempo op. Niet tevreden met de resultaten? Dan snel terug naar de tekentafel en opnieuw beginnen! Net zolang totdat je tevreden bent het ontwerp van de conversatie én de uitkomsten.

Release your inner Shakespeare

Misschien een beetje een vreemde tip, maar daardoor zeker niet minder doeltreffend! Schrijf tijdens de ontwerpfase je volledige conversatie eens uit in een script en speel deze na in toneelvorm. Gebruik daarbij het liefst twee personen die de conversatie niet hebben ontworpen. Je kunt bijvoorbeeld binnen een groep elkaars scenario’s uitwisselen en daarmee aan de slag gaan.

Dit is een uitstekende manier om te testen of een conversatie zo natuurlijk mogelijk verloopt. Als je de zinnen letterlijk naar elkaar uitspreekt in een soort van spel, voel je meteen waar een conversatie niet lekker loopt of aandacht nodig heeft. Ook kun je meteen iemands gezichtsuitdrukkingen en lichaamsbewegingen zien tijdens de conversatie. Zorg er ook voor dat je per antwoord een aantal variaties hebt die je kunt testen. Op iedere vraag steeds hetzelfde antwoord geven, maakt je assistent voorspelbaar en saai.

Maak een lo-fi prototype

Kom snel op de proppen met een prototype. Je wil immers snel de ervaringen van gebruikers weten, zonder eerst door een volledig (technisch) ontwikkeltraject te gaan. Wees dan ook creatief met de middelen die je beschikbaar hebt om een assistent te simuleren.

Het gaat uiteindelijk namelijk om het snel vergaren van de feedback van je eindgebruiker. Voor spraak zijn er een aantal mogelijkheden om een assistent na te doen. Je kunt bijvoorbeeld alle antwoorden laten oplezen door iemand die de assistent naspeelt. Of alle antwoorden opnemen op een voice-recorder en deze handmatig afspelen op basis van een script.

Make, break & repeat

Ben je tevreden met de resultaten, zet dan een minimal viable product op. Gebruik A/B-tests om de effecten per variant te meten. Ben scherp op de metrics. Zorg ook zeker dat je daar voldoende inzicht in hebt.

Wat zeggen de gebruikers bijvoorbeeld tegen je assistent? En hoe reageer je daar dan op? Is er bijvoorbeeld een bepaald punt binnen de dialoog waar gebruikers afhaken? Dan is dat een trigger om de de dialoog aan te passen en wellicht wat te herschrijven. Of sla er nog eens de #3-tips op na om te checken of de dialoog-sturing geoptimaliseerd kan worden.

ABC: Always Be Capturing

Leg alles vast: de processen, de user-labs, uitkomsten en resultaten. Alles. Wederom geldt: lo-fi is prima. Iedereen heeft tegenwoordig een prima camera op zijn of haar telefoon om filmpjes en foto’s te maken. Laat die dan ook gebruiken door iemand die het proces stuurt.

Dit kan bijvoorbeeld een product owner zijn of de host van de design sprint of workshop. Zorg wel dat één iemand zich bezighoudt met het verzamelen van beeldmateriaal. Het is namelijk heel verhelderend om op het einde van een sprint nog eens terug te kunnen kijken. Wat hadden we ook alweer afgesproken? Wat zijn de resultaten? Hoe gingen we dat ook alweer doen? Met name bij de vertaling van proof-of-concept naar minimal viable product is dit super waardevolle informatie.

3. Stuur de dialoog

Gebruik alle mogelijkheden die je tot je beschikking hebt zo optimaal mogelijk om de gebruiker door de volledige journey te begeleiden. Vergelijkbaar met het opzetten van de hulprails bij een bowlingbaan die de bal naar z’n doel brengt, moeten we er ook voor zorgen dat de dialoog niet van zijn baan afwijkt.

Vanuit verwachtingen

Enerzijds is het belangrijk dat je de juiste verwachtingen schept. Wat kan de assistent doen voor je? Hoe lang duurt dat ongeveer? Wat is je vervolgstap? Door daar al meteen duidelijkheid over te scheppen, zal de gebruiker eerder geneigd zijn de ervaring met spraak als positief te ervaren. Een mismatch tussen ervaring en verwachting zal daarentegen resulteren in een gefrustreerde gebruiker.

Assistent: Wil je meteen een account aanmaken zodat je voortaan sneller kunt bestellen? Dit duurt doorgaans maar 1 minuut.

Gebruik daarnaast principes uit de psychologie, zoals het zogenaamde cooperative principle. Onderzoek toont namelijk aan dat mensen geneigd zijn om onbewust richtlijnen te volgen uit dit model. Deze richtlijnen zijn omschreven in de maxim of quality, maxim of quantity, maxim of relevance en maxim of manner.

Met andere woorden: we verwachten van een spraakassistent de juiste hoeveelheid kwalitatieve informatie te ontvangen die altijd relevant is en in de juiste stijl. Door je te houden aan dit principe zal een dialoog efficiënter zijn en natuurlijker aanvoelen.

Vanuit je platform

Anderzijds gaat het sturen van de dialoog over het herkennen van de intentie van de gebruiker. Vaak ben je daarbij overgeleverd aan de kwaliteit van de speech-to-text mogelijkheden van de assistent. Die levert namelijk de input waarop je gaat herkennen in je platform.

In mijn ervaring is de kwaliteit voor met name de Assistant, erg goed te noemen. Daar zal het dus niet aan liggen. Google weet zelfs dat een vraag over Boer Zoekt Vrouw daadwerkelijk gaat over het tv-programma en niet letterlijk over een landbouwer die een contact-advertentie wil plaatsen op e-harmony. Of om in technische termen te blijven: de te onderscheiden entity is ‘serie’ in plaats van ‘persoon of personen’.

Hoe je antwoordt, hangt vervolgens af van de kwaliteit van je platform en de opzet en inrichting daarvan. Mocht je de mogelijkheid hebben om een volledige dialoog te bouwen, maak daar dan zeker gebruik van. Daarmee houd je de gebruiker binnen de context en relevantie van het huidige onderwerp. Vaak is dit namelijk de succesfactor die je conversatie natuurlijk laat verlopen.

Anticipeer in elk geval altijd op een natuurlijke conversatie en de mogelijkheden die deze biedt. Bekijk bijvoorbeeld onderstaand scenario.

Assistent: Ok Maarten, ik heb twee accomodaties voor je gevonden in La Rochelle. De ene is een camping, de ander een hotel. Welke wil je graag?

Een gebruiker zegt bijvoorbeeld “ik wil een camping” of “doe maar hotel”, maar kan ook zeggen “ja die eerste”, “die tweede lijkt me wel wat” of “die laatste”. Maar ook “Kun je dat nog eens herhalen” of “allebei niet”. Scenario’s waar je rekening mee moet houden bij het ontwerpen van een succesvolle conversatie.

Vanuit de hardware

Anticipeer ten slotte op de mogelijkheden die de hardware je biedt. Draait je assistent op een smart speaker of phone met touchscreen, maak daar dan gebruik van. Pas daar ook zeker je dialoog op aan:

Assistent: Kijk eens naar een aantal mogelijkheden die ik voor je heb geselecteerd.

Of geef bijvoorbeeld een aantal quick replies die de gebruiker kan aantikken om vooruit te gaan in een dialoog, zonder die per se expliciet te benoemen. Toon afbeeldingen van producten waaruit een gebruiker kan kiezen. Of laat simpelweg de antwoorden van de assistent zien op het scherm. Hoe dan ook: benut de volledige capaciteiten van je hardware om de user journey te ondersteunen.

Geef je assistent een identiteit

Beschouw de assistent als een echte medewerker van je organisatie. Vraag jezelf af hoe iemand in dezelfde situatie aan de telefoon of via live chat zou reageren. Pas je eventueel bestaande richtlijnen en styleguides consequent ook toe op je assistent. Hanteer dezelfde tone-of-voice en wees consistent in de antwoorden die je geeft over al je kanalen.

Maak je assistent bijvoorbeeld niet opeens heel grappig, terwijl de rest van je communicatie serieuzer van aard is. Het geven van een identiteit aan een assistent helpt je om deze echt tot leven te brengen. Vanuit een identiteit zul je makkelijker in staat zijn goeie dialogen te schrijven voor ieder scenario. Daarnaast maakt een identiteit je assistent meer likable en betrouwbaar.

Maak een persona

Het opzetten van een persona biedt hierbij de juiste houvast. De persona is echter uitdrukkelijk niet bedoeld om de gebruiker te laten geloven dat er een mens achter de knoppen zit. Denk bij het maken van een persona na over de eigenschappen die je het mee wil geven. Bijvoorbeeld behulpzaam, tech-savvy of grappig. Bedenk daarna een aantal bijpassende karakters die deze eigenschappen bezitten. Dit kunnen bijvoorbeeld bestaande beroepen zijn, maar mogen ook verzonnen karakters zijn.

Aangezien je een persona voor voice maakt, moet je ook nadenken over hoe je een stem kunt vormgeven. Vaak biedt een spraakassistent helaas maar een beperkt aantal standaard stemmen aan waaruit je kunt kiezen. Mocht je besluiten om hiervoor te gaan, bedenk dan dat je de stem niet als onderscheidend kenmerk voor je merk kunt gebruiken.

We herkennen bijvoorbeeld meteen Kruidvat als we de typische over-enthousiaste, bijna schreeuwerige stem horen. Die behoeft dan eigenlijk geen verdere introductie meer. Dat is anders als alle stemmen uit de spraakassistent op elkaar gaan lijken. Het is daarom ook belangrijk om meteen in de conversatie duidelijk te zijn met wie de gebruiker praat.

Assistent: Je spreekt met Robo, de financiële spraakassistent van de Rabo-bank. Met welke geldzaken kan ik je helpen?

De meeste spraakassistenten maken het tevens mogelijk om geluidsbestanden af te spelen. Dit betekent dat je er ook voor kunt kiezen om alle dialogen op te laten nemen door een voice-over in de bestaande stijl. Dit is echter relatief tijdsintensief en bovendien moet iedere wijziging in de dialoog opnieuw opgenomen worden. Hou dus rekening met deze nadelen voordat je besluit je persona uit te rusten met een specifieke voice-over!

Ook bestaat er nog de mogelijkheid om de default stemmen aan te passen met behulp van SSML. Dit staat voor Speech Synthesis Markup Language en is een manier om onder andere de intonatie, fonetische uitspraak, pitch, snelheid en dergelijke aan te passen. Dit biedt dus mogelijkheden om de stem snel net iets meer persoonlijkheid te geven ten opzichte van de andere standaard stemmen.

Nadat je alle kenmerken en eigenschappen op een rijtje hebt gezet, kun je een overzicht maken van je persona. Dit geldt dan als de leidraad voor het verdere ontwerp van je conversatie.

Invocation

Bij de invocation gaat het over de manier waarop een gebruiker je ‘action’ of ‘skill’ triggert. Met andere woorden: hoe wordt je zorgvuldig ontworpen dialoog nou eigenlijk aangeroepen? We maken hierbij een onderscheid tussen explicit- en implicit invocations. In een explicit invocation is het in de aanroep al duidelijk met wie of wat je wil praten:

Gebruiker: Hey Google, praat met Nationale Nederlanden

Bij een explicit invocation kun je ook gebruikmaken van een zogenaamde deeplink. Dit is feitelijk het meegeven van je intent in de invocation. Zie onderstaand voorbeeld waarbij we de ANWB vragen naar het verkeer:

Gebruiker: OK Google, vraag de ANWB naar het laatste filenieuws

De implicit invocation is daarentegen wat generieker van aard:

Gebruiker: Hey Google, koop witte sportschoenen in maat 42

In bovenstaand voorbeeld zal de spraakassistent een directory listing gebruiken om te kijken welke action of skill deze intent kan afhandelen. Het is daarom belangrijk om zoveel mogelijk alternatieven te definiëren voor het aanroepen van een intent.

Je zou dit feitelijk kunnen zien als SEO voor spraak. Onlangs was ik daarover in discussie met een online marketeer van een grote verzekeraar. Hij stelde dat SEO voor spraak niet bestaat, omdat je altijd maar één resultaat terugkrijgt bij het aanroepen van een skill. Dit is zeker waar bij explicit invocation, maar zeer discutabel bij implicit invocation. Op basis van je voorgedefinieerde intents, zal de assistent namelijk een voorstel doen van de skill die de fulfillment mag leveren van de impliciete intent.

Assistent: Het lijkt erop dat je deze bij Footlocker kunt kopen. Wil je daar nu shoppen?

Jouw bevindingen?

Hopelijk bieden de bovenstaande tips je voldoende inzicht om zelf aan de slag te gaan met een succesvolle use-case voor spraak. Ik ben benieuwd naar de inzichten die je hebt opgedaan. Dat kan zijn naar aanleiding van dit artikel of vanuit ervaringen in de praktijk met spraak. Hoe dan ook, laat me zeker weten in de comments wat je bevindingen zijn.