watermelon
Unsupervised learning klantenservice no go

Je moet een chatbot niet compleet vrij laten in wat hij kan leren

Dus je hebt besloten om een chatbot in te zetten voor jouw bedrijf. Nu sta je voor een grote, fundamentele beslissing: hoe ga je jouw bot trainen? Pas je unsupervised learning toe of ga je voor supervised learning? In dit artikel leggen wij het verschil tussen deze twee methoden uit.

Wat is unsupervised learning?

Door de ontwikkelingen op het gebied van machine learning in de afgelopen jaren, wordt er veel verwacht van het zelflerend vermogen van kunstmatige intelligentie. Door steeds krachtiger computers is het voor kunstmatige intelligenties (KI’s) mogelijk om complexe problemen op te lossen waar een mens veel meer moeite mee zou hebben. Onder meer het herkennen van patronen in immense datasets, kunnen KI’s tegenwoordig beter dan mensen.

Doordat deze patroonherkenning verder gaat dan het menselijk vermogen, besluiten sommige ontwikkelaars om de computer hierin vrij te laten. “Ga maar op zoek naar de patronen in de dataset en laat maar weten wat je vindt”, zeggen ze eigenlijk. Onder meer Google, Microsoft en Amazon hebben op die manier hun eigen kunstmatige intelligenties ontwikkeld, die bijvoorbeeld afbeeldingen kunnen classificeren zonder dat hier een mens bij hoeft te helpen. Amazons Rekognition-technologie kan herkennen of er een hond op een foto staat en zelfs identificeren welk ras het is. Dit doet deze technologie zonder dat iemand heeft verteld wat een huisdier, hond of golden retriever is. Dit heeft het systeem zichzelf geleerd.

Dat is unsupervised learning. Een kunstmatige intelligentie aan de slag laten gaan met een grote dataset zonder tussenkomst van een mens, die de KI uitlegt hoe data bij elkaar passen en wat de uitkomst zou moeten zijn. Of om het voorbeeld aan te halen: niemand heeft Rekognition verteld dat er huisdieren op de afbeeldingen staan en dat daarbinnen weer verschillende diersoorten en hondenrassen bestaan. Unsupervised learning komt van pas bij grote hoeveelheden data die voor gewone mensen niet meer te verwerken is, maar het wel belangrijk is dat de data gesorteerd wordt. Of mooier gezegd: unsupervised learning focust zich puur op de ingegeven data en maakt hier zelf beslissingen..

De andere zijde van unsupervised learning is dat een kunstmatige intelligentie ook niet gestuurd wordt op een bepaalde output. Het draait puur om de input en de uiteindelijke output wordt volledig overgelaten aan de algoritmes. Wanneer Rekognition slechter geprogrammeerd was geweest, had het programma bijvoorbeeld kunnen besluiten dat de afbeeldingen op basis van bijvoorbeeld haarlengte of oogkleur moesten worden gesorteerd.

Bij unsupervised learning is het dus van levensbelang dat de ingegeven data logisch, correct en up-to-date is. In de praktijk blijkt vaak dat dit niet het geval is. Naast verouderde databases komt het ook voor dat de input niet waardevol is. Mensen zeggen bijvoorbeeld ‘pindakaas broccoli’ tegen een chatbot om het systeem uit te proberen. Nu hoeft een enkel onzinnig stukje data geen probleem te vormen voor een kunstmatige intelligentie, maar als teveel data ‘corrupt’ is, levert dit problemen op. Dit ondervond Microsoft met zijn zelflerende Twitter-chatbot Tay. Deze moest binnen 24 uur offline worden gehaald omdat de bot racistische uitspraken had opgepikt dankzij de input van vele internettrollen.

Daarnaast is er nog een ander probleem: heb je wel genoeg data om de chatbot echt goed te kunnen trainen? Stel dat je een chatbot volledig jouw klantenservice wil laten doen; je zou tienduizenden (zo niet meer) zinvolle gesprekken nodig hebben om dit ook maar enigszins goed te laten werken. In de praktijk is dit niet haalbaar voor veel bedrijven. Bovendien kan een product of service in de loop van de tijd veranderen, waardoor je niet direct genoeg nieuwe nieuwe data beschikbaar hebt. En daarom wordt vaker supervised learning toegepast.

Wat is supervised learning?

Supervised learning is een gecontroleerd leerproces. Bij supervised learning wordt (door een mens) aangestuurd op een bepaalde uitkomst, op specifieke uitkomsten. Of om een begrijpelijk voorbeeld te gebruiken: je vertelt een algoritme dat je een database met afbeeldingen hebt en dat deze moeten worden ingedeeld naar katten, honden en cavia’s. En misschien heb je zelf al wat afbeeldingen geclassificeerd om het systeem te helpen.

Nadat het algoritme zijn werk heeft gedaan, is vervolgens te zien of het leerproces goed is gegaan en het algoritme dicht bij de ‘juiste uitkomst’ is gekomen. Zijn alle katten, cavia’s en honden goed ingedeeld? Zo ja, succes! Zo nee? Tijd om het algoritme verder te verbeteren. Bij een supervised learning-proces is het dus belangrijk dat je precies weet wat de uitkomst moet zijn, nog voordat een algoritme zijn werk heeft gedaan.

Gelukkig zijn precies dit soort uitkomsten goed te definiëren, als het gaat om het automatiseren van je klantenservice door middel van chatbots. Het beantwoorden van standaardvragen door een chatbot heeft een duidelijk einddoel: je geeft het goede standaardantwoord. Supervised learning is dus uitermate geschikt om ondersteunend in te zetten. Standaardvragen en -antwoorden kunnen goed worden getraind door klantenservice medewerkers, terwijl zij zelf ingewikkelder problemen oplossen die sporadisch voorkomen.

Bovendien voorkom je met het definiëren van een gewenste uitkomst ook dat je chatbot plots de klant uitscheldt omdat de bot zelf een paar keer beledigd is op Twitter. Ook niet onbelangrijk natuurlijk!

De chatbot van Watermelon gebruikt logischerwijs supervised learning. Wil je meer weten over hoe de chatbot van Watermelon dingen leert? In dit artikel wordt de leercurve van onze chatbot uitgelegd.

Benieuwd naar onze chatbot technologie?

Gerelateerde artikelen