Achtergrond
Een paar weken geleden was ik aanwezig op een seminar over “AI in het klantcontact”. Leek me een boeiend iets waar we bij Telecats ook erg mee bezig zijn: hoe de mogelijkheden van AI (=machine learning, DNN, SVG of wat de buzz-woorden ook zijn, op een zinvolle manier in te zetten.
Een van de problemen die hier kunnen opspelen is dat “voor een hamer lijkt alles een spijker”. AI heeft zeker zijn goede kanten maar het is onzin om het overal te gaan inzetten.
Wat is AI?
Er zijn talloze definities van wat AI nu precies is, maar twee aansprekende definities vind ik:
- De mogelijkheid van een computer om “intelligent menselijk gedrag te imiteren”
- “Het vermogen van een apparaat om taken uit te voeren die gewoonlijk geassocieerd worden met intelligente wezens. Intelligente wezens zijn wezens die zich kunnen aanpassen aan veranderende omstandigheden.”
Nu is het in principe mogelijk om software te schrijven die bepaalde taken op een bijna menselijke manier uitvoert. Denk aan een raam dat dicht gaat als het hard gaat waaien of regenen, aan remsystemen die ingrijpen vlak voordat de auto gaat slippen.
Voor mensen van zeg 50 jaar geleden zou dit een soort magie zijn geweest, maar voor ons is het gewoon een stel regels en wat “sensorische informatie” die op een slimme manier worden gecombineerd. We weten hoe we de windsnelheid kunnen meten en een simpele “als-dan” is dan voldoende om bv het raam via een commando aan een klein elektrisch motortje, dicht te doen.
Voor mij is AI pas intelligent als de regels niet door mensen zijn bedacht en vervolgens geprogrammeerd, maar wanneer de software uit “ruwe data” leert om onze menselijke beslissingen na te doen.
Stagiaire
Zie het als een stagiaire die blanco binnenkomt. Door goed op te letten kan die na verloop van tijd gewoon meedraaien. Hij/zij past zijn eigen gedrag steeds verder aan, aan de gepercipieerde regels totdat ie niet meer te onderscheiden is van de overige werknemers. En soms gaat dat fout, zoals iedereen wel eens heeft meegemaakt. Op de zaak tutoyeert iedereen elkaar en binnenlopende klanten, maar nou net niet de 70-jarige oprichter/eigenaar van het bedrijf die op zaterdagmiddag binnenloopt. Maar de stagiaire heeft die man nog nooit gezien en als die dan plot binnenkomt, dan is het “hoi, zin in koffie”?
Moderne AI-software is ongeveer zoals deze stagiaire: hij leert snel van alle aangedragen voorbeelden, maar kan niet omgaan met afwijkende dwz. ongeziene omstandigheden. De vraag is dan hoe zowel AI als de stagiaire gaan reageren op zo’n nieuwe situatie. Wordt de beslissing geïnternaliseerd dat een eigenaar/oprichter niet getutoyeerd mag worden, dat mensen/mannen van boven de 70 niet getutoyeerd mogen worden of dat dat geldt voor klanten die op zaterdagmiddag binnenlopen?
Mannen, vrouwen en taal
Dit lijkt vreemd maar er zijn voldoende voorbeelden waaruit dit soort gedrag duidelijk wordt. Een nicht van een goede Italiaanse vriendin is getrouwd met een Arabier en woonde de eerste jaren van haar huwelijk in Saudi-Arabië. Om de 2 kinderen zoveel mogelijk talenkennis bij te brengen, spraken ze Arabisch met de vader en Italiaans met de moeder. Door de wat striktere sekse-scheiding aldaar, zagen de kinderen thuis altijd Italiaanse vriendinnen van moeder en Arabische vrienden van vader. Toen de oudste 5 jaar werd, was er een verjaardagspartijtje waarop ook Italiaanssprekende mannen aanwezig waren: dit tot stomme verbazing van de kinderen die maar niet wilde geloven dat mannen Italiaans konden spreken. Ze hadden zelf de link gelegd: “if man then Arabisch else-if vrouw then Italiaans”.
AI in het klantcontact I
Maar terug naar de bijeenkomst over “AI in het klantcontact”. Tussen een boeiend verhaal van een Delftse hoogleraar over AI en een interview met een “hemelse data-scientist” (beiden “vrouw” om de in het verleden aangeleerde vooroordelen maar eens te ontkrachten) kwamen verschillende sprekers aan het woord die het allemaal over chatbots hadden: “hoe nuttig AI en die bots wel niet waren in het klantcontact”. Helemaal juist maar wat hier volstrekt duidelijk werd, was het door elkaar halen van techniek (AI) en methode (Chabot). Ja, chatbots kunnen door AI gestuurd worden, maar een chabot is niet hetzelfde als AI. En voor zover ik weet zijn er maar een paar chatbot-bedrijven in Nederland die echt gebruik maken van AI. Zo werd het publiek gevraagd hoeveel AI-toepassingen er volgens hen in Nederland gebruikt worden. Het antwoord was: meer dan 1500 verschillende chatbot-toepassingen!
Ook uit de presentatie van de verschillende chatbotaanbieders bleek dat eigenlijk niemand echte AI (zoals hierboven gedefinieerd) toepaste. Allemaal werken ze met een vorm van eenvoudige NLP waarbij woordlijsten gebruikt worden om een gestelde vraag te linken aan een (mogelijk) antwoord. Niets mis mee, maar echte AI is het niet.
AI in chatbots
Hoe zou AI wel in chatbots gebruikt kunnen worden? De meest voor de hand liggende manier is om vragen eerst (semantisch) te vereenvoudigen door typo’s te corrigeren en verschillende woorden die allemaal hetzelfde betekenen naar een kernwoord te herschrijven: (rijwiel, fiets, ijzeren ros, etc.) -> fiets en (lopen, gelopen, liep) -> lopen. Vervolgens moeten domein experts de vragen labelen/classificeren/beantwoorden. In de praktijk houdt dit in dat eerst grote hoeveelheden vragen en bijbehorende antwoorden van de medewerkers verzameld moeten worden. Vervolgens worden de vragen geschoond en samen met het bijbehorend antwoord gebruikt voor het trainen en testen van de AI-engine.
Causaliteit en Correlatie
Wellicht is dit voldoende maar het kan zijn dat het antwoord gecorreleerd is met andere parameters zoals tijd, datum, meteorologische omstandigheden, historie van de klant en meer. Als al deze gegevens beschikbaar zijn, dan kunnen ze meegenomen worden in de training. Wellicht komt daar niets uit maar misschien ook wel omdat er onvoorziene correlaties zijn tussen bv het weer (het gaat hard regenen) en de gestelde vragen en dito antwoorden.
Het verschil tussen causaliteit en correlatie is het volgende:
- Causaliteit: A veroorzaakt B
- Correlatie: A en B treden gelijktijdig op
Een mooi voorbeeld is het volgende onderzoek: “Mensen die hun ontbijt overslaan hebben meer kans om later te dik te worden” zoals uit onderstaande filmpje blijkt.
Maar, het maakt niet altijd uit of het correlatie is of causaliteit, tenzij je natuurlijk wilt weten waarom iets gebeurt. Als beide fenomenen dikwijls gelijktijdig voorkomen, kan het optreden van de een, een indicatie zijn dat het andere ook gaat optreden.
IBM Watson
IBM en de gemeente München een experiment gedaan waarin ze hebben uitgezocht of voorspeld kan worden wanneer waar in de stad politie, brandweer en ambulances klaar moesten staan om de aanrijdtijd bij incidenten, zo klein mogelijk te krijgen. Normaal gesproken kijkt men naar een soort gemiddelde en beslist dan dat de brandweer het best op kruispunt A kan staan en de ziekenauto op parkeerplaats B. Maar iedereen weet ook wel dat dat een gemiddelde is en dat het dus niet optimaal is. Maar hoe bepaal je die optimale situatie dan?
Sinds een paar jaar heeft IBM een IoT-Watson lab in München alwaar de sensorische IoT-data gecombineerd wordt met de Watson AI-technologie. De gemeente zag het belang hiervan snel in en huurde een etage in deze toren. Samen hebbenDe gemeente had enorm veel gegevens van de afgelopen jaren van incidenten in de stad (incl. tijd, datum, locatie), van de verkeersdrukte in de wijken en, met hulp van een meteorologisch bureau, het toen heersende weertype. Al deze gegevens werden gebruikt om het systeem te trainen met als gevolg dat de gemeente nu veel beter weet waar, wanneer, bij welk weertype en bij welke verkeersdrukte de verschillende hulpdiensten paraat moeten zijn om de aanrijdtijd zo laag mogelijk te krijgen. Of het een causaliteit (veel verkeer en regen dan is de kans groot op een ongeval op kruispunt X) is wellicht interessant voor de stadsplanners, maar voor de hulpdiensten is het minder relevant: die moeten op de beste plekken klaar staan.
Metadata
Als vuistregel kan men stellen dat het altijd verstandig is om eerst zoveel mogelijk data en metadata (data over de data) te verzamelen; ook (meta-)data waarvan vooraf niet duidelijk is of die zinvol kan zijn. Weggooien kan altijd nog en wellicht helpen de verschillende data om de engine sneller en beter te trainen.
Flexibele chatbots
Door de juiste metadata mee te nemen in de training kan een chatbot zich aanpassen aan bijvoorbeeld tijd, datum en meer. Hierdoor kan het gebeuren dat er op maandagochtend meestal een ander antwoord wordt gegeven dan bv vrijdagmiddag. Dit is natuurlijk niet wenselijk als het een duidelijke vraag is (hoe laat zijn jullie open) maar wel als het om een ambigue vraag gaat waarop meerdere antwoorden mogelijk zijn. Als het juiste antwoord op maandagochtend meestal anders is dan op vrijdagmiddag, dan is het zinvol om de dag en tijd waarop de vraag gesteld is, mee te nemen in het te geven antwoord.
Chatbots en de veranderende wereld
Echter, de wereld verandert constant. Iedereen wereld van de contact centers weet dat zowel de gestelde vragen als de bijbehorende antwoorden onderhevig zijn aan veranderingen. En dat geldt ook voor het woordgebruik. Een “vet feest” betekende 20-jaar geleden echt iets anders dan nu! Een goede chatbot moet hier mee om kunnen gaan en dus moet er de mogelijkheid zijn om zich aan de gewijzigde omstandigheden aan te passen. Dit kan door constant door te gaan met het verzamelen van vragen en antwoorden en die weer aan te bieden voor verdere training. Het enige dat dan nog gedaan moet worden is het inbouwen van een “vergeetfunctie” die nieuwe data een hogere score geeft en oude data juist een lagere. Wordt er bijvoorbeeld een nieuw product gelanceerd, dan zal de chatbot in eerste instantie niet weten wat er met een vraag over dat product gedaan moet worden. Door de medewerkers de vragen die niet door de chatbot heenkomen te laten beantwoorden en de vraag en het antwoord ’s avonds aan het systeem terug te voeren opdat er bijgetraind kan worden, zal de bot steeds beter de vragen over een nieuw product kunnen beantwoorden. Omgekeerd, als een product niet langer gevoerd wordt, dan mag men veranderstellen dat het aantal vragen erover zal afnemen en dus mogen de vragen erover langzaam vergeten worden. Natuurlijk kun je argumenteren dat het niet verkeerd is om alle oude kennis ook paraat te hebben, maar het beantwoorden van de vragen is een statistisch proces en dus wordt de kans op fouten groter als er meer antwoorden mogelijk zijn.
AI in het klantcontact II
De interessante middag eindigde met een interview met een data-scientist van KPN. In een nagesprek tijdens de borrel gaf ze aan dat het dikwijls erg lastig is om de boodschap met alle mitsen-en-maaren duidelijk te maken aan de opdrachtgevers. Correlatie versus Causaliteit en statistiek is en blijft voor veel mensen een lastig iets, vertelde ze. En dikwijls hoort men precies wat men wil horen (“Oh, dus we moeten voortaan…..”). Ook het verschijnsel “zelflerende software” leidt vaak tot onbegrip: “het is toch zelflerend dus het wordt toch vanzelf steeds beter?”.
Afsluitend kunnen we stellen dat het een boeiende bijeenkomst was en dat het goed is wanneer zoveel mensen de moeite nemen om naar een bijeenkomst over AI te komen. Jammer was dat zowel de inleidster, de gespreksleider als de sprekers namens de bedrijven chatbots en AI door elkaar haalden. Deels zal dat onkunde zijn, deels wil men o zo graag meeliften op het buzzword Artificial Intelligence om op die manier de eigen software te promoten. Begrijpelijk maar toch……. Bij veel bezoekers die ik tijdens de pauzes sprak, was dit toch blijven hangen: AI is het gebruik van chatbots.