Praten met robots dankzij Google

Door Lucas Seuren

De afgelopen decennia heb ik regelmatig claims gezien dat computers spoedig probleemloos kunnen communiceren met mensen, en dat we het niet eens meer door zullen hebben als we met een AI praten. Maar tot op heden waren dialoogsystemen absoluut niet in staat om de Turingtest te doorstaan; we maken nog altijd eenvoudig onderscheid tussen een menselijke gesprekspartner en een AI. Maar het lijkt er nu op dat Google toch een flinke sprong voorwaarts heeft gemaakt met Duplex.

Wie luistert naar de voorbeeldopnamen die Google heeft gedeeld kan niet anders dan onder de indruk zijn van de effectiviteit waarmee Duplex gesprekken kan voeren en afspraken kan maken. Duplex weet wat hij of zij—ik ga voor sekse maar af op de gebruikte stem—moet zeggen, wanneer hij of zij het moet zeggen, en hoe hij of zij het moet zeggen. Natuurlijk, wie met een kritisch oor luistert merkt dat we nog altijd met een AI te maken hebben, maar Duplex brengt ons op een punt dat die kennis irrelevant is. We kunnen normaal praten met Duplex; we hoeven niet meer moeilijk te doen om ervoor te zorgen dat de computer ons kan verstaan zoals met bijvoorbeeld Siri of Alexa nog vaak het geval is.

Leren door te luisteren

Het idee achter Duplex is verrassend eenvoudig—als we natuurlijk de waanzinnig complexe technologie die nodig is buiten beschouwing laten. De technici laten Duplex naar een enorme database van telefoongesprekken luisteren, zodat het kan leren hoe mensen normaal met elkaar praten. Het leert daarbij dus hoe te handelen, doordat het hoort hoe mensen in normale situaties handelen. Vervolgens wordt het getraind in specifieke genres, zoals het maken van een reservering, waarna Duplex zelfstandig contact kan opnemen met een restaurant of kapper. Duplex heeft dan genoeg kennis om te snappen wat er verwacht wordt.

Het resultaat is, zoals in onderstaande opnamen te horen is, waanzinnig. Duplex weet op de juiste momenten de juiste dingen te zeggen, waardoor de medewerker gewoon normaal kan blijven praten. Met andere woorden, de medewerker lijkt niet door te hebben dat hij of zij met een AI praat. En het resultaat is een afspraak of de benodigde informatie.

Duplex maakt restaurantreservering

Duplex maakt afspraak bij kapper

De kunde van Duplex zit hem deels in kleine dingen, zoals Google zelf ook al opmerkt. Duplex gebruikt wat Google speech disfluencies noemt zoals uh en mhm—ik zou dit betekenisvolle interjecties noemen, maar daar kom ik zo op terug—en gooit er zelfs een interjectie zoals oh in als blijkt dat een reservering niet kan en hij alle benodigde informatie heeft. Dat zijn precies de bijdragen die een AI normaal nooit zou leveren, omdat het geen woorden zijn; ze worden vaak niet gezien als onderdeel van ons lexicon en onze grammatica en AI’s krijgen ze dus niet aangeleerd. Ze leveren dus een enorme bijdrage aan een gevoel van realisme.

Subtiele verschillen

Kan Duplex de Turingtest dan feilloos doorstaan? Daar zet ik momenteel nog mijn vraagtekens bij. De data die Google laat horen zijn natuurlijk de succesverhalen; het is niet duidelijk hoe vaak het nog misgaat. Bovendien is op een aantal punten nog wel te merken dat je Duplex aan de telefoon hebt.

Zo zijn de stiltes soms opmerkelijk lang. Google geeft aan dat de gemiddelde stilte tussen twee beurten inmiddels maar 100ms is, wat precies is wat je in het dagelijks leven zou verwachten. Sterker nog, het is eigenlijk te snel! Want in het Engels is de gemiddelde tijd tussen twee beuren ruim 200ms. Maar als we corrigeren voor het onderscheid tussen gewenste en ongewenste reacties ligt de grens bij 50ms. En daar ligt de crux. Duplex maakt dat onderscheid niet. Google snapt weliswaar dat mensen gevoelig zijn voor latency, maar koppelt dat aan grammaticale complexiteit. Dus stiltes moeten kort zijn na een korte zin, en lang na een lange zin. Maar zo werkt interactie niet. En wie luistert naar de voorbeeldjes zal merken dat de stiltes soms onnodig lang zijn.

Een tweede aspect waar Duplex nog moet oefenen is zijn inzet van die uhs en mhms. Google behandelt ze simpelweg als disfluencies, als onderbreking van de natuurlijke stroom van spraak. En soms klopt dat, maar vaak gebruiken we uh op een veel tactischere manier. We laten bijvoorbeeld zien dat we niet op een woord kunnen komen, wat iets anders is dan nadenken over wat we willen gaan zeggen. Of we gebruiken het om duidelijk te maken dat we de beurt nog niet willen overdragen. En die functies hangen samen met de plek waarop we uh zeggen.

Voorbeeld

Wie op die kleine dingen let, hoort bijvoorbeeld de vrij gekke onderstaande uitwisseling. Duplex belt een restaurant om een reservering te maken voor vier personen op de zevende. Maar ze doen niet aan reserveringen voor minder dan vijf personen; je moet gewoon langskomen. Duplex vraagt dan hoe lang de wachttijd normaal is.

Dup: How long is the wait usually to uh be seated?
Res: for when?
Tomorrow or weekday or?
Dup: For next Wednesday. Uuh the seventh.

Deze uitwisseling is vreemd om een aantal redenen. Ten eerste zit er iets van 1,2 seconde stilte tussen de vraag van de restaurantmedewerker en Duplex, wat waanzinnig lang is. Zeker aangezien Duplex probleemloos een antwoord kan geven. Het zou veel meer in de buurt van 100ms moeten liggen. Daarnaast is Duplex te specifiek: hij “begrijpt” de vraag als een vraag naar een specifieke dag en datum, maar het gaat om gemiddelde wachttijden. Logischer was geweest als Duplex had gezegd dat het om een woensdag of doordeweekse dag gaat. Ook is de intonatie wat afwijkend. Na Wednesday is Duplex hoorbaar klaar; the seventh komt er op een vrij onnatuurlijke manier achteraan. En tot slot is de plek van uh vreemd. Een normaal mens zou dit doen, als hij of zij bijvoorbeeld ter plekke moet uitvogelen welke datum dat is, maar Duplex “weet” dat al, heeft het zelfs al gezegd. De uh hoort daar dus niet.

Als je nu denkt, Lucas, je bent aan het muggenziften, dan klopt dat absoluut. Ik wil niks afdoen aan de prestatie van Google, want de gesprekken zijn erg realistisch. Ik durf niet eens te garanderen dat als ik Duplex aan de telefoon krijg om een reservering te maken, ik zou weten dat het om een AI gaat. Misschien zou ik het gesprek wat vreemd vinden, maar daar is dan ook alles mee gezegd. Voor dit soort gesprekken lijkt Duplex te volstaan, en dat extra beetje realisme hebben we niet nodig.

Alledaagse gesprekken

En daar is gelijk de laatste kanttekening. Duplex is niet in staat normale gesprekken te voeren. Dat is best te begrijpen; in gesprekken als hierboven is er een relatief beperkte set handelingen die je moet doen, en dus hoeft Duplex nog niet heel taalvaardig te zijn. Alledaagse gesprekken zijn exponentieel complexer; ze hebben vaak geen vast doel, beurt voor beurt kan het gesprek een nieuwe wending krijgen, en we vertrouwen op een enorme hoeveelheid gedeelde kennis. Stiltes van meer dan een paar honderd milliseconden zijn bovendien al vaak een probleem, laat staan 1,2 seconde. De rekenkracht die nodig is om relatief simpele gesprekken te voeren laat wel zien dat alledaagse interactie voorlopig nog een brug te ver is voor Duplex. Maar het zou me niet verbazen als over een paar jaar AI’s al onze reserveringen voor ons maken. Dan kun je niet langer als excuus opvoeren dat je vergeet de tandarts te bellen; je telefoon zal je er wel aan herinneren.