Conversation design

Spraakassistenten worden meer en meer naar voor geschoven als nieuwe vorm van interactie met computersystemen. Siri, Alexa en Google Assistant strijden om de plaats van geprefereerde virtuele assistent. Ze duiken op in allerlei toestellen: in smartphones, smart speakers, tot zelfs in de auto. Naast Engels en Frans wordt ook het Nederlands meer en meer ondersteund.

Als organisatie kan je zelf toepassingen toevoegen aan die spraakassistenten. Amazon spreekt van skills; Google noemt dit actions. Om conversaties met dergelijke spraaktoepassingen zo vlot mogelijk te laten verlopen, schenken we best de nodige aandacht aan een aantal principes voor het ontwerp ervan (conversation design).

Errors

De manier waarop een spraaktoepassing omgaat met fouten bepaalt in sterke mate de gebruikerservaring. Een fout die niet of slecht opgevangen wordt kan ervoor zorgen dat de gebruiker de toepassing snel de rug toekeert. Dit zijn de drie soorten errors die we best opvangen in de conversatie:

Geen match

In bepaalde gevallen begrijpt de toepassing het antwoord van de gebruiker niet, of kan het dat niet correct interpreteren in de context van de conversatie. Dat kan voorvallen als de gebruiker niet volledig of duidelijk antwoordt, niet spreekt tegen de toepassing (maar even iets bespreekt met een andere persoon), of radicaal van onderwerp verandert. Het kan ook voorvallen dat er een fout gebeurd is bij het omzetten van de spraak-input van de gebruiker naar een tekstuele vorm. De gebruiker kan ook een relevant antwoord geven dat niet begrepen wordt door de toepassing. Een voorbeeld:

Gebruiker: “Ik wil tickets kopen”

Toepassing: “Ok, voor hoeveel personen?”

Gebruiker: “Voor mij en de kinderen.”

Toepassing : “Sorry, voor hoeveel personen?”

Om dit op te vangen vraagt de toepassing best nogmaals kort en to the point de nodige input. Loopt het dan weer verkeerd, dan kan de vraag nogmaals gesteld worden met iets meer detail, of eventueel een voorbeeld van een passend antwoord. Lukt het dan nog niet, dan wordt de conversatie best afgesloten om verdere frustratie te vermijden.

Geen input

Soms weet de gebruiker niet goed wat hij moet zeggen, is hij afgeleid of spreekt hij vóór de microfoon openstaat of wacht hij te lang en is de microfoon alweer afgesloten door de virtuele assistent. In die gevallen is er geen input van de gebruiker en moet de toepassing passend reageren. Dat kan door de vraag opnieuw te stellen, eventueel met meer details, een voorbeeld of het expliciet opsommen van de mogelijkheden. Ook hier sluiten we de conversatie best af na twee extra pogingen.

Gebruiker: “Ik wil een aangifte indienen.”

Toepassing: “Ok, wat is het KBO-nummer?”

Gebruiker: <zoekt het KBO-nummer ergens op>

Toepassing: “Wat is het KBO-nummer van de werkgever?”

Systeemfouten

Systeemfouten kunnen voorkomen als een back-end systeem waar de toepassing gebruik van maakt niet beschikbaar is, of een foutmelding teruggeeft.

Toepassing: “Akkoord om deze aangifte in te dienen?”

Gebruiker: “Ja”

Toepassing: “Door een technisch probleem kan ik de aangifte momenteel niet indienen. Wil je dat ik binnen een paar minuten opnieuw probeer?”

In het ontwerp van de conversatie moeten we dus rekening houden met alle mogelijke fouten die zich kunnen voordoen bij elk systeem waar de toepassing op steunt, er duidelijk over communiceren en eventueel een alternatief aanbieden.

Context

Wat een gebruiker zegt, hangt soms af van de context. Dat betekent dat de spraaktoepassing deze context moet bijhouden en er rekening mee moet houden tijdens het verloop van de conversatie zodat wat de gebruiker zegt correct begrepen wordt. Een voorbeeld:

Gebruiker: “Is mijn RVA-kantoor vandaag open?”

Toepassing: “Nee, het kantoor in Hasselt is vandaag gesloten.”

Gebruiker: “En morgen?”

Toepassing: “Morgen is het RVA-kantoor in Hasselt open van 8u30 tot 17u.”

Gebruiker: “En mijn RSZ-kantoor?”

Toepassing: “Het RSZ-kantoor in Hasselt is morgen open van 8u tot 16u30.”

Door rekening te houden met de context kan je de conversatie vlotter laten verlopen en vermijd je dat de gebruiker gefrustreerd geraakt. Het is belangrijk om alle relevante informatie die een gebruiker meegeeft bij te houden zodat de toepassing het begrijpt wanneer de gebruiker er verder in de conversatie naar verwijst. In het voorbeeld hierboven houdt de toepassing bij over welk type kantoor het gaat en over welke datum. Kennis over de lokatie van de gebruiker is vereist om de link te leggen met het desbetreffende lokale kantoor.

Suggesties

In een klassieke grafische gebruikersinterface is het meestal duidelijk welke functionaliteit een toepassing biedt; de gebruiker kan dat afleiden uit de menu’s, invoervelden en knoppen. Bij een spraakinterface is dat minder evident en kan de gebruiker het gevoel hebben dat hij maar moet raden wat hij kan doen. Daarom is het nuttig dat de spraaktoepassing suggesties doet om de gebruiker te helpen bij het beantwoorden van vragen en om bepaalde functionaliteiten te ontdekken.

Gebruiker: “Ik wil een dimona aangifte doen.”

Toepassing: “Ok, wat is de startdatum? Je kan bijvoorbeeld zeggen “4 juni” of “vandaag”.”

De gesproken suggesties kunnen aangevuld worden met suggestie-knoppen op het scherm. Dit biedt de mogelijk om te antwoorden met een druk op de knop en geeft aan welk soort antwoord de toepassing verwacht.

Suggestie-knoppen

Tot slot

Zo zie je maar dat computers van nature uit niet zo handig zijn in het voeren van conversaties. We moeten een aantal zaken zelf expliciet opvangen in de spraaktoepassing zodat de gebruiker zich op een natuurlijke manier kan uitdrukken en een zinvol antwoord terugkrijgt.

Een goed ontworpen conversationele interface kan een grote meerwaarde betekenen op vlak van gebruiksgemak. Want hoe meer een interface gebruik maakt van menselijke conversaties, hoe minder gebruikers moeten leren omgaan met de interface.

Dit is een ingezonden bijdrage van Bert Vanhalst, IT consultant bij Smals Research.  Dit artikel werd geschreven in eigen naam en neemt geen standpunt in namens Smals.

Leave a Reply

Your email address will not be published. Required fields are marked *