Klantcontact

Zo ga je om met mis- en onbegrip bij chatbots [onderzoek]

0

Bij spraakgestuurde chatbots gebeurt het nog vaak dat de chatbot een vraag of opdracht niet of verkeerd begrijpt. Wat is dan de beste manier om dit te fiksen? Het liefste zou je als ontwerper willen dat gebruikers de bot corrigeren tijdens het gesprek, maar in de praktijk gebeurt dat niet zo vaak.

In haar scriptie als onderdeel van de bachelor opleiding AI aan de VU, begeleid door dr. Florian Kunneman (UU), deed Benthe van der Werf onderzoek naar hoe je het beste kunt omgaan met mis- en onbegrip van chatbots. Het onderzoek laat zien hoe gebruikers reageren op foute antwoorden van de bot. Helpen ze de bot om de fout te ‘repareren’ tijdens het gesprek, stoppen ze met chatten, of doen ze iets anders? En hoe moet je als ontwerper vervolgens die fouten fiksen? Waar kun je het beste beginnen?

De onderzoeker manipuleerde hiervoor een speciaal ontworpen recepten-bot in het geven van verkeerde kookinstructies, in twee verschillende situaties. Vervolgens liet ze 13 testpersonen praten met deze kook-assistent, die ik in dit artikel afwisselend chatbot, bot en agent noem.

In dit artikel lees je over de uitkomsten en legt Florian uit wat je het beste kunt doen om mis- en onbegrip bij je chatbots te repareren.

Over het Smooth Operators-project

Florian Kunneman maakt deel uit van het Smooth Operators-project, een door NWO-gefinancierd project waarin conversationele chatbots worden ontwikkeld, geëvalueerd en getest in real life klantenservice-omgevingen.

Een multidisciplinair team van wetenschappers werkt in het project nauw samen met private partners uit het bedrijfsleven. Zo worden er conversationele chatbots ontwikkeld die fungeren als een persoonlijke en coöperatieve samenwerkingspartner voor klanten en medewerkers.

Benthe en Florian gingen op zoek naar antwoorden op de volgende vragen: proberen gebruikers het misbegrip van de kook-assistent te corrigeren? En zo ja, hoe proberen ze deze fouten dan te verbeteren?

In het onderzoek wordt dit repair genoemd: een handeling door gesprekspartners met als doel om on- of misbegrip te herstellen. Wat je daarbij kunt onderzoeken: wie initieert, wie lost het op, is het snel opgelost, of duurt het te lang? Of, wordt het helemaal niet opgelost? De inzichten die dit oplevert, kunnen developers weer gebruiken om het conversationele systeem beter te maken in het toepassen van repair met de menselijker gesprekspartner.

Onbegrip en misbegrip bij chatbots

Ook even wat uitleg over on- en misbegrip bij chatbots: onbegrip betekent dat de agent geen chocola kan maken van de vraag: ik begrijp niet wat je bedoelt. Misbegrip betekent dat de agent denkt de vraag te begrijpen, maar dat de ’intent’ toch verkeerd wordt begrepen, en de bot als gevolg daarvan een fout antwoord geeft. Bijvoorbeeld dat je een recept met vlees geïnstrueerd krijgt, terwijl je om een vegetarisch recept had gevraagd.

Mismatch op 4 niveaus

Volgens Florian komt onbegrip in de praktijk het meeste voor. De mismatch kan daarnaast plaatsvinden op maar liefst vier niveaus: het conversatie-niveau, het intentie-niveau, het signaalniveau en channelniveau (Bohus & Rudnicky, 2005). Bij een fout op conversatie-niveau moet je denken aan een vraag die buiten het domein van de agent ligt, bijvoorbeeld als een gebruiker in het experiment met de kookassistent een vraag over het weer zou stellen. Maar ook een vraag over voedselallergieën zou lastig worden voor de kookassistent: de vraag valt wel binnen het domein, maar niet binnen de functionaliteit.

Een mismatch op intentie-niveau betekent dat de bot niet goed begrijpt wat de gebruiker wil, doordat de formulering niet goed aansluit bij wat de bot kent. Een ander woord of andere zinsbouw kan dan helpen.

Bij het signaalniveau kan het misgaan wanneer de agent specifieke informatie verkeerd hoort. Meestal is er dan iets mis met het audiosignaal, of met de akoestiek. En het laatste niveau gaat vaak over een technische mismatch: wanneer er iets gebeurt tijdens de audio-invoer, en er daardoor maar delen van de input doorkomen bij de agent (Bohus & Rudnicky, 2005).

‘Vlees en vega, pasta en paté’

Terug naar het onderzoek

Wanneer uit een antwoord van de bot blijkt dat deze je niet of verkeerd begrepen heeft, kun je daar op verschillende manieren op reageren. Bij onbegrip kun je de vraag anders stellen of tips geven, zodat de bot een ander antwoord kan formuleren. Bij misbegrip zal je de assistent echter eerst duidelijk moeten maken dat deze iets niet goed begrepen heeft.

Woorden verwarren

In het geval van de recepten-bot lieten de onderzoekers de bot vooral woorden verwarren met dezelfde klanken: bijvoorbeeld vlees en vega of pasta en paté.

Deelnemers aan het onderzoek kregen opdrachten in vier rondes. Daarnaast mochten ze ook vrijere gesprekken met de bot voeren. De bot van de VU was speciaal voor het onderzoek gemaakt, met hulp van componenten uit Google Dialog Flow. Voor het herkennen van de spraak en begrijpen van de intentie, gekoppeld aan een eigen programmeertaal voor het organiseren van het gesprek.

Florian: ‘We gaven de bot vooraf kennis mee over de mogelijke structuur van de conversatie, in de vorm van conversatiepatronen. Voorbeelden van zo’n patroon zijn ‘vraag – antwoord – acceptatie’ en ‘instructie – verhelderingsvraag – toelichting – acceptatie’. Met deze kennis kan de bot steeds inschatten wat de beste volgende uiting is, met oog op het gesprek tot dan toe en de doelen in de conversatie. Hiervoor hebben we geput uit het onderzoek over Conversation Analysis (Moore, IBM). Wij zagen dat als een goede toepassing voor dit onderzoek.’

Daarnaast had de recepten-bot een visuele component, een schermpje vergelijkbaar met Google Nest. Ieder stadium in het gesprek werd zo ondersteund met tekst en plaatjes. Tijdens het kiezen van een recept werden bijvoorbeeld plaatjes getoond van de uitkomsten, en tijdens de instructies konden de stappen in tekst, spraak en eventueel beeld geïnstrueerd worden.

‘Wanneer mensen geen hoge verwachtingen hebben van de chatbot, willen ze ook geen tijd steken in het repareren van misbegrip.’

De belangrijkste bevinding uit het onderzoek: mensen zijn niet meteen geneigd om de bot een handje te helpen als de antwoorden verkeerd of niet worden begrepen. Waar mensen elkaar corrigeren, gebeurt dat veel minder bij een bot. Concreet ging bij de recepten-bot de helft van de personen niet over op repair. Florian: ‘De verklaring is dat wanneer mensen geen hoge verwachtingen hebben van de chatbot, ze ook geen tijd willen steken in het repareren van misbegrip waar ze naar verwachting toch niet gaan uitkomen met de assistent.’

Functionaliteiten optimaal benutten

Hoe zorg je dat mensen wel uitproberen wat het systeem allemaal kan als ze praten met een bot, om zo de functionaliteiten optimaal te benutten?

Florian: ‘Als de bot ook maar een beetje dom overkomt, dan gebeurt dat niet. Want een conversatie kan een vermoeiende exercitie zijn als het systeem je niet begrijpt. Dat kost energie. Er moet toch iets van een vertrouwensband ontstaan, voordat je meer durft te zeggen.’

‘Een bot zou exploratief gedrag wel kunnen aanmoedigen. De agent kan bijvoorbeeld dingen zeggen om dit te ondersteunen. Denk aan: ‘bedoel je dit?’ Of, meer to the point, op hoger niveau: ‘Ik zie dat je een vraag hebt over… wat wil je doen en is dat de beste manier?’

‘Het heeft geen zin om al te beginnen met fouten herstellen op een hoger niveau, als de basis nog niet op orde is’ 

Maar wat betekent dit voor ontwerpers van chatbots?

Volgens Florian is het belangrijk om veel bij gebruikers te testen hoe goed het begrip bij de chatbot is, om zo tot een robuustere gesprekspartner te komen. Dit zal dan weer zorgen dat gebruikers meer durven uit te proberen in hun uitingen naar de chatbot. En bij het doorontwikkelen is een duidelijk hiërarchisch perspectief op de kwaliteit van de agent van belang, waarbij je eerst op het laagste niveau start, met fouten in spraak.

Vervolgens kijk je naar intent. Florian: ‘Verbeter iets, toets het, verbeter weer. Het heeft geen zin om al te beginnen met fouten herstellen op een hoger niveau, als de basis nog niet op orde is. In onderzoek aan de Vrije Universiteit, met Merle Reimann, Catharine Oertel en Koen Hindriks, hebben we de waarde van deze hiërarchische aanpak onderzocht, wederom met een kook-assistent als casus.’

Verbeteringen

Wanneer je start bij het begin, bij verbeteringen in spraak, zul je ook verbeteringen zien op een hoger niveau. Bijvoorbeeld op het niveau van intent?

Florian: ‘Dat was ook onze hypothese. Omdat we het in stappen onderzochten, en verbeteringen doorvoerden op basis van gesprekken van de agent met een handvol proefpersonen, zagen we ook een duidelijke verbetering. De correlatie tussen basis en verbeteringen bleek goed.’

Wanneer een bedrijf een bot met (te) veel intents zomaar live gooit, loop je dus risico. Florian: ‘Het is daarbij interessant om exploratief gedrag door de gebruiker meer aan te moedigen, waarbij het positief afstraalt op chatbots als deze met een verrassende reactie komen. Bijvoorbeeld dat de gebruiker verrast wordt door het feit dat een chatbot meer kan dan gedacht. Denk aan de NS-bot die een abonnement kan afsluiten voor de gebruiker: ‘verrassing!’

Welke repairtechniek is het beste?

Florian: ‘Dat hangt af van de context. Maar daar willen we wel naartoe, dat we hier richtlijnen voor geven. Bij menselijke repair is er een gradatie van moeite om een ander te helpen. Mensen kunnen goed inschatten welke moeite ze moeten nemen, maar agents hebben dat inzicht nog niet. Het is al een verbetering als de agent laat blijken dat hij een sleutelwoord herkent in de vraag van de gebruiker, in plaats van het algemene ‘ik begrijp het niet’. De bot moet vooral moeite en onzekerheid wegnemen.’

Zijn de uitkomsten eigenlijk verrassend?

Florian: ‘Niet echt, maar wel waar we op hoopten. De effecten waren niet gigantisch maar we zagen wel een rode draad. Dus ja, het werkt een beetje, maar ik verwacht meer van de volgende studie. Dan hebben we opgeschaald met een crowdsourcing platform en doen er ook mensen uit verschillende landen mee. We zagen in dit onderzoek ook misverstanden met betrekking tot accenten in taalgebruik, dus ik hoop dat we op dat punt meer duidelijkheid krijgen.’

Inzet van generatieve AI

Laatste vraag: dit onderzoek werd gedaan met een ’traditionele’ bot. Hoe zit het met een conversatie waar generatieve AI wordt ingezet?

Florian: ‘Een systeem als ChatGPT doet indrukwekkende dingen, maar je hebt er weinig invloed op. Als er een misverstand ontstaat, verloopt de repair dan wel goed? Er moet meer onderzoek naar komen, dat zeker. Daarbij is het belangrijk om niet alleen naar ChatGPT te kijken, maar ook naar alternatieven waarvan we steeds meer zien. Want ChatGPT is niet feilloos. Een ideaal systeem zou gebouwd zijn op een ChatGPT-achtig model, maar met een controlerende laag waarin de uiting van het grote taalmodel gewogen kan worden en zo nodig vervangen door iets passenders. ‘