Wat is een chatbot en hoe werkt het

Wat is een chatbot en hoe werkt het?

Chatbots

Wat is een chatbot?

We spreken van een chatbot wanneer een conversatie of gesprek tussen mens en machine geautomatiseerd plaats vindt. Moderne chatbots werken op basis van artificial intelligence.

Wanneer je als klant contact met een bedrijf. Dan heb je dat contact met een persoon. Dat is nu vaak nog vanzelfsprekend. Steeds vaker neemt die vansprekendheid af.

Want het antwoord op je vraag dat je vandaag via telefoon, Facebook Messenger, Whatsapp of chat widget op een bedrijfswebsite krijgt, dat zul je steeds vaker geautomatiseerd ontvangen. Technologie, algoritmes en artificial intelligence spelen hierbij een belangrijke rol.


Waarom chatbots?

Klanten verwachten steeds vaker dat bedrijven ondersteuning bieden buiten 'kantoortijden'. Tegelijkertijd stellen veel verschillende klanten bij elkaar vaak dezelfde vraag aan een organisatie.

Veel van dit soort vragen zorgen voor evenzoveel repeterende antwoorden bij service medewerkers. Dat is niet heel erg efficiënt. Tegelijkertijd proberen bedrijven om hun inkomsten- en uitgavenverhouding te optimaliseren. 

Aangezien salariskosten bij de meeste bedrijven een substantieel deel van de uitgaven vertegenwoordigdm is het niet gek dat er nagedacht wordt om technologie in te zetten om reperterende vragen en vormen van service te automatiseren.

Kortom: een chatbot is eigenlijk een gevolg van de veranderende klantverwachting en de wens van bedrijven om dezelfde of betere service te verlenen tegen lagere kosten.

Chatbots en artificial intelligence

Een chatbot en artificial intelligence (AI) worden nog wel eens door elkaar gehaald. De meest simpele vorm van een chatbot hoeft niet per se gebaseerd te zijn op artificial intelligence.

Het is wel zo dat een chatbot die geen gebruik maakt van AI als een vrij domme chatbot beschouwd kan worden. Dankzij AI is een chatbot bijvoorbeeld in staat om zelf te leren. Werk je met een chatbot zonder AI dan zul je significant meer tijd kwijt zijn met het 'trainen' van je chatbot. Om dezelfde succesratio van conversaties te bereiken heb je dus significant meer ontwikkeltijd nodig.

De basis van een chatbot 

Een chatbot is gebaseerd op drie onderdelen:

  • Begrijpen wat iemand bedoelt
  • Relevant terug praten
  • Het uitvoeren van acties

 

Begrijpen wat iemand bedoelt

Om te begrijpen wat iemand bedoelt heeft een chatbot hulp nodig. Het herkennen van wat iemand bedoelt noemen we intent recognition. Twee veelgebruikte manieren om chatbots te helpen met intent recognition zijn:

  • Keyword / string matching
  • NLP / NLU

Keyword / string matching

Keyword matching of string matching is een simpele vorm van intent recognition. Een programmeur defineert vooraf keywords of combinaties van keywords. Per gedefinieerde regel wordt bepaald (lees: geprogrammeerd of geconfigureerd) wat de chatbot moet gaan doen.

Het is doorgaans een tijdrovende klus om dit per intent goed te definiëren. Iedere volgende (potentiële) klant kan namelijk dezelfde intentie hebben maar dit op een andere manier verwoorden.

  • Kan ik een bankrekening openen?
  • Kan ik mijn bankrekening blokkeren?
  • Ik ben mijn bankpas kwijt kun ik deze nu stop zetten?
  • Mijn pas is ingeslikt kan iemand me helpen met blokkeren?
  • Kan ik de bankpas van mijn betaalrekening blokkeren
  • Hoe kan ik een bankpas voor mijn rekening aanvragen?

Bovenstaande teksten zijn maar een paar voorbeelden van varianten die voor wat betreft woordgebruik sterk op elkaar lijken maar waar tegelijkertijd verschillende intenties in verstopt zitten.

Hoe complexer de vraag, des te groter de kans is dat het complexer wordt om op basis van keyword / string matching te begrijpen wat een klant bedoelt.

Keyword of string matching is daarom wat mij betreft geen toekomstvaste oplossing. Het kan wel handig zijn om snel te starten met een chatbot wanneer je de kennis hiervoor in huis hebt en andere opties meer tijd kosten om te kunnen starten.



NLP (Natural Language Processing)

Behalve dat de term NLP het goed doet bij de bullshit bingo is het concept erachter werkelijk briljant. NLP is technologie die in staat is om op basis van 'training' te begrijpen wat iemand bedoelt. Het kan structuur leren en herkennen.

Een chatbot gebaseerd op NLP is dan ook sneller slimmer dan een chatbot gebaseerd op een keyword of string matching methode. De succesratio van NLP gebaseerde chatbots hangt wel af van trainingsteksten en van de kwaliteit van de NLP technologie.

Bekende NLP oplossingen die de Nederlandse taal ook ondersteunen zijn Google Dialogflow, IBM Watson en Nuance Recognizer. Apple's spraakassistant Siri maakt overigens gebruik van Nuance. Dat is dus niet iets dat Apple zelf ontwikkeld heeft.

NLP bestaat overigens uit twee componenten: Natural Language Understanding (NLU) en Natural Language Generation (NLG). Het bovenstaande beschrijft eigenlijk alleen NLU het begrijpen van wat iemand bedoelt. Wanneer technologie goed genoeg is om in staat te zijn om ook autoatisch een antwoord te genereren is dat wat bedoeld wordt met NLG. NLG technologie is nog niet zover als de ontwikkelingen van NLU.


Relevant terug praten

Een antwoord op een vraag geven lijkt niet zo moeilijk. Maar voor chatbots is dat lastiger dan het lijkt. Een antwoord wordt meestal pas relevant wanneer niet alleen de intent maar ook de context van de intent duidelijk is.

Een voorbeeld:

  1. Ik wil een treinkaartje voor de trein naar Houten
  2. Ik ben op zoek naar een houten trein

Met voldoende training zal een NLP gebaseerde chatbot het verschil tussen beiden prima begrijpen. Maar wat als de vervolgvraag "En wat kost dat?" is?

Binnen een organisatie met meerder producten en diensten is er niet zoiets als een algemeen antwoord op de vraag wat dat kost. Hier heb je dus context voor nodig.

Zodra de context duidelijk is kun je namelijk een relevant antwoord geven op deze vraag. Zo krijgt iedere (potentiële) klant een relevant antwoord binnen de juiste context van zijn of haar vraag.


Het uitvoeren van acties

Stel je bent Coolblue en je hebt een chatbot. Dan is het fijn dat een klant via de Coolblue-chatbot product speficieke vragen kan stellen. Het is nog fijne wanneer je hier service handelingen aan kunt koppelen zoals na het beantwoorden van de initiële vraag afhankelijk van de context bijvoorbeeld aan te bieden om het desbetreffende apparaat te kopen of in te nemen voor reparatie.

Bij iedere stap van dit voorbeeld zullen in de ideale wereld achterliggende systemen een belangrijke rol spelen.

De antwoorden op product specifieke vragen, dus wil je namelijk niet in je chatbot framework opslaan. Product specifieke antwoorden die wil je centraal opslaan zodat alle bronnen die erbij moeten kunnen er ook bij kunnen. Denk aan website, apps, het call center eventuele winkels. Denk maar een iets basaals als de prijs van een tv. Als die wijzigt wil je die niet op 10 plekken aan hoeven te passen.

Je chatbot framework daar wil je chatbot specifieke zaken in hebben. Je wilt daar dus wel je dialogen in definiëren. Maar zo lang het antwoord niet chatbot specifiek is, wil je dat antwoord daar niet in hebben. Het ophalen van een antwoord uit een achterliggend systeem of het voltooien van een actie zoals het kopen van de tv of deze aanmelden voor reparatie beschouwen we als het uitvoeren van een actie.


Zelf leren spelen met chatbots?

Wil je zelf de eerste stappen maken om een chatbot op te zetten? Dan is de workshop "Build your own chatbot within' 1 hour" echt iets voor jou.

In een groep van maximaal 10 deelnemers maak je binnen 1 uur een werkende chatbot.

Meer info over deze workshop

Valkenboskade 672, 2563 JR, Den Haag

Ik help organisaties graag met innovatieve concepten, het opzetten en opschalen van agile en digitale transformatie trajecten en het optimaliseren van bestaande digitale omgevingen zoals webshops, self-service functionaliteit en mobiele apps.

 

© Copyright 2010 - 2019 Louis Jansen Digital Consultancy

Search