WhatsApp Talk met ons English

Hoe werkt spraakherkenning?

Spraakherkenning klinkt simpel: iemand zegt iets, een systeem begrijpt het en er gebeurt iets nuttigs. Maar achter de schermen gebeurt er behoorlijk veel. Zeker in klantenservice, waar mensen niet altijd netjes articuleren, door elkaar praten of gewoon “uhm… ja die factuur van vorige maand bedoel ik” zeggen.

Toch werkt het, en gaat het steeds beter werken.

In deze blog leggen we uit hoe spraakherkenning werkt, waarom het soms misgaat, en hoe systemen omgaan met typisch Nederlandse input zoals een postcode.

Van geluid naar betekenis (en weer terug)

Alles begint met geluid. Een klant belt en zegt: “Ik wil weten waar mijn bestelling is”. Dat wordt niet in één keer begrepen. Het systeem doorloopt grofweg vier stappen:

1. Audio → tekst
Het systeem zet het geluid om naar platte tekst. De audio wordt opgesplitst in kleine stukjes en geanalyseerd op klanken. Op basis daarvan herkent het systeem woorden en vormt het een zin.

2. Tekst → interpretatie
Die zin wordt vervolgens geanalyseerd om te bepalen wat de klant eigenlijk wil. Een taalmodel kijkt naar de context en herkent de intentie achter de woorden: Klant wil zijn/haar bestelling volgen (track & trace verzoek).

3. Interpretatie → actie
De herkende intentie wordt gekoppeld aan een actie in het systeem:
→ Track & trace informatie ophalen
→ Of doorzetten naar de juiste afdeling

4. Tekst → audio (de reactie)
Tot slot formuleert het systeem een antwoord. De uitkomst (“Je pakket wordt morgen geleverd”) wordt eerst als tekst opgebouwd en daarna omgezet naar spraak.

In minder dan een seconde vertaalt het systeem dus geluid naar begrip, begrip naar actie en weer terug naar een natuurlijk klinkend antwoord. Voor de klant voelt het als één vloeiend gesprek, terwijl er achter de schermen meerdere slimme stappen plaatsvinden.

Wat er achter de schermen gebeurt

Tot hier klinkt het nog redelijk overzichtelijk. Maar de echte complexiteit zit in de koppeling met achterliggende systemen. Want “bestelling volgen” is geen antwoord, maar een trigger. Het spraaksysteem moet vervolgens een aantal dingen doen, bijna tegelijk:

De juiste klant identificeren
Het systeem moet eerst weten wie er belt. In veel gevallen gebeurt dat automatisch via nummerherkenning: het telefoonnummer wordt gekoppeld aan een klantprofiel in het CRM. Als dat niet voldoende is, kan het systeem de beller aanvullende informatie vragen, zoals een klantnummer of postcode en huisnummer. Op basis van die gegevens wordt de juiste klant opgezocht in de achterliggende systemen.

De juiste data ophalen
Zodra de klant bekend is, moet het systeem de bijbehorende informatie ophalen. Denk aan een CRM, ordermanagementsysteem of webshopplatform waar bestellingen in staan.

De juiste informatie kiezen
Een klant heeft vaak meerdere bestellingen. Het systeem moet bepalen: over welke gaat het? Is dat de meest recente bestelling, of een specifieke bestelling als de klant die noemt? Daar zit dus ook logica achter, niet alleen data ophalen.

Vertalen naar een begrijpbaar antwoord
De ruwe data (“status: shipped, ETA: 16:00”) moet worden omgezet naar iets menselijks: “Je pakket wordt morgen geleverd tussen 14:00 en 16:00”. En dat alles gebeurt binnen een paar seconden.

Waar het vaak misgaat
In de praktijk zit het probleem zelden in de spraak zelf. Het gaat mis in de laag daarachter: systemen die niet gekoppeld zijn, data die ontbreekt of logica die niet goed is ingericht.

Daarnaast ontbreken vaak duidelijke fallbacks. Want wat gebeurt er als de benodigde informatie er simpelweg niet is? Als er nog geen leverdatum bekend is, moet het systeem ook weten wat het dan zegt. Bijvoorbeeld: “Je bestelling is onderweg, maar we hebben nog geen exacte bezorgtijd. Je ontvangt een update zodra die bekend is.”

Zonder dit soort vangnetten valt een gesprek al snel stil of krijg je een vaag of fout antwoord. Daardoor weet een voicebot technisch gezien wat de klant wil, maar kan hij het simpelweg niet goed beantwoorden.

Waarom postcodes herkenning moeilijker is dan je denkt

Een mooi voorbeeld van waar theorie en praktijk botsen: postcodes. Neem: 1234 AB

Mensen spreken dat op allerlei manieren uit: “twaalf vierendertig AB”, “één twee drie vier AB”, “12 34 Anton Bernhard” of “één twee drie vier alfa bravo”

Voor mensen is dat volkomen logisch. Voor een systeem niet. Hier gebeurt dan ook meer dan alleen spraak herkennen. Het systeem moet meerdere dingen combineren: spraakherkenning (wat wordt er gezegd?), context (dit veld verwacht een postcode) en validatie (4 cijfers + 2 letters).

Op basis daarvan kan het systeem verschillende varianten toch terugbrengen naar hetzelfde resultaat. Zo wordt: “12 34 Anton Bernhard” geïnterpreteerd als: 1234 AB.

Dit is precies het verschil tussen simpel transcriberen en écht begrijpen: niet alleen horen wat iemand zegt, maar snappen wat ermee bedoeld wordt, zelfs als het op meerdere manieren wordt uitgesproken.

Tot slot

Dit is nog maar een klein deel van het geheel. We hebben het niet eens gehad over accenten en dialecten, achtergrondgeluid of hoe mensen halverwege hun zin van gedachten veranderen. Stuk voor stuk factoren die invloed hebben op hoe goed een voicebot werkt. Dat is ook waarom het in de praktijk vaak complexer is dan het op papier lijkt.

Dat maakt ook meteen het verschil tussen een voicebot die “iets kan” en een voicebot die écht werkt voor je klanten.

Wil je weten hoe dit er in jouw situatie uitziet? Of waar het bij jullie mogelijk misgaat? Neem gerust contact met ons op, we kijken graag met je mee. Wij helpen organisaties om voicebots niet alleen slim te maken, maar vooral bruikbaar in de praktijk.