Chatbot niveau’s
Chatbots, ook gekend onder de noemer Chatterbot, Chatterbox, Talkbot of gewoon Bot. Het zijn systemen die volledig geautomatiseerd gesprekken voeren met gebruikers in menselijke taal door middel van spraakopdrachten of tekst chats. Chatbots worden ingezet in verschillende sectoren en voor verschillende scenario’s. Daarbovenop werken ze cross-platform, dit wil zeggen dat ze ingezet kunnen worden in verschillende chat applicaties en werken op alle toestellen dat deze chat apps ondersteunen.
Meestal reageren chatbots op voorgeprogrammeerde vragen of zinnen met een voorgedefinieerd antwoord, meer complexe chatbots worden aangedreven door artificiële intelligentie. Om een duidelijk onderscheid te maken tussen de verschillende systemen die de chatbots aandrijven definieerden we 3 niveaus of levels, elk met een extra laag complexiteit.
1. Rule based chatbot
Op dit eerste niveau definiëren we de rule based chatbot. Chatbots die op dit niveau functioneren ondersteunen de user flow in een gesloten loop die de gebruiker kan doorlopen, maar waarvan hij niet mag afwijken. Aan de basis ligt een systeem gebaseerd op voorgedefinieerde regels (als … dan …). De volledige conversationele flow die de gebruiker doorloopt kan worden voorgesteld in een boomstructuur, is zeer lineair en wordt vooral gebruikt bij ‘single purpose’ doeleinden. De chatbot kan worden ingezet in het geval dat er een duidelijk doel is gedefinieerd dat de chatbot moet behalen, we kunnen ook spreken van een goal oriented of transaction oriented chatbot.
Rule based chatbots kunnen helpen bij het behalen van specifieke doelstellingen.
Aangezien de gebruiker niet mag afwijken van de vastgelegde flow wordt de gebruiker begeleidt tijdens de conversatie met de chatbot met behulp van buttons of tekst. Het grote voordeel van rule based chatbots is dat ontwikkelaars volledige controle hebben over de richting van het gesprek waardoor de gebruikers door een pad geleid kunnen worden om zo een bepaald doel te bereiken. De chatbot zal nooit zelf antwoorden genereren of interpreteren waardoor grote grammaticale fouten of andere onvoorziene fouten volledig vermeden kunnen worden. Een nadeel van dit soort chatbots is dat ze vaak geen contextuele informatie kunnen opslaan waardoor de conversatie niet natuurlijk aanvoelt en dat gebruikers zich vrij gelimiteerd kunnen voelen tijdens de interactie met de chatbot.
2. Conversationele chatbot
Op het tweede niveau definiëren we de conversationele chatbot, deze chatbots worden vaak aangedreven door AI (Artificiële Intelligentie). Dit laat gebruikers toe om normale gesprekken te voeren met de chatbot die zeer natuurlijk aanvoelen en minimaal begrensd zijn. De chatbots die werden uitgerust met AI leren geleidelijk aan meer bij met behulp van machine learning technieken. Het voordeel van conversationele chatbots is dat ze zowel taal kunnen interpreteren als contextuele informatie kunnen opslaan en interpreteren dankzij NLP (Natural Language Processing) technieken, de NLP-technologie is van kritiek belang bij de werking van de conversational chatbots.
Conversational chatbots laten gebruikers toe snel en gemakkelijk een conversatie te starten met een bedrijf.
Een voorbeeld van een primitieve conversational chatbot is ELIZA, ontwikkeld in 1966. ELIZA maak gebruik van pattern matching technieken die het programma toelaten om antwoorden te formuleren op bepaalde zinnen. ELIZA was de eerste chatbot die voor een begrensde Turing Test slaagde. Een conversatie met een chatbot, zoals ELIZA, die gebruik maakt van pattern matching is met andere woorden maar zo slim als de gedefinieerde woorden die beschikbaar zijn in de database.
Conversationele chatbots waarnaar nu research wordt gedaan maken altijd gebruik van Machine Learning (ML) technieken om de restricties van vroegere modellen tegen te gaan. Natuurlijk zijn er enkele factoren die de performantie van chatbots en het niveau van automatisatie sterk kunnen beïnvloeden. Zo is het voorlopig vaak nog zo dat conversaties moeten overgenomen worden door mensen. De systemen zijn dus nog niet volledig geautomatiseerd. Dit menselijke contact kan wel gezien worden als een meerwaarde en kan gebruikers meer gewaardeerd doen voelen, het is dus belangrijk om een goede afweging te maken tussen welke processen geautomatiseerd kunnen worden en welke niet.
- Een factor die het moeilijker kan maken om conversaties te automatiseren is de lengte van de conversatie. Bij lange conversaties, waar er verschillende vragen en antwoorden worden uitgewisseld die elkaar opvolgen moet er vaak bijgehouden worden wat er werd gezegd tijdens de conversatie. De context van de conversatie is in dit geval dus belangrijk.
- Een tweede factor die de automatisatie van een conversatie sterk kan impliceren is het feit dat de conversatie begrensd of onbegrensd is binnen een bepaald domein. Bij een begrensde conversatie is de input vrij gelimiteerd en focust het systeem zich op het zo efficiënt mogelijk behalen van een vrij specifiek doel. Enkele mooie voorbeelden van een begrensde conversationele chatbot zijn een shopping assistent of een customer support bot. Een chatbot die ontwikkeld wordt om onbegrensde conversaties mee te voeren zal logischerwijs veel complexer zijn omdat er geen welgedefinieerd doel is. Er zijn een oneindig aantal thema’s voor conversatie.
Er zijn enkele veelvoorkomende uitdagingen bij het creëren van conversationele chatbots, waaronder de meeste actief worden onderzocht, de uitdagingen zijn:
- Het interpreteren van context. Om zinnige antwoorden te genereren moeten systemen zowel linguïstische context als fysieke context interpreteren. Bij lange dialogen is het belangrijk dat chatbots bijhouden wat er is gezegd en welke informatie er werd uitgewisseld tussen beide partijen, dit is de linguïstische context van de conversatie. Maar vaak moet ook rekening gehouden worden met zaken zoals datum/tijd, locatie en andere informatie over de gebruiker, dit is de fysieke context.
- Het representeren van een identiteit. Het systeem moet ook consistente antwoorden geven op semantisch vergelijkbare vragen. De menselijke taal is zeer complex en zinnen die hetzelfde betekenen kunnen vaak verschillende schrijfwijzen hebben, het is belangrijk dat het systeem consistent blijft in zulke omstandigheden, chatbots die verschillende antwoorden genereren op semantisch vergelijkbare vragen zullen het zeer moeilijk hebben om vertrouwen op te bouwen met gebruikers. Dit is een bestaand probleem omdat chatbots vaak getraind worden met veel uiteenlopende data van verschillende gebruikers tijdens het ML-proces.
- Het evalueren van de chatbot. De beste manier om de performantie van een conversationele chatbot te meten is door te testen of de chatbot zijn doel behaald tijdens specifieke conversaties. Hier kan echter veel tijd in kruipen omdat voorlopig elke mogelijke conversatie getest en geëvalueerd moet worden door een mens. Soms zijn er ook geen gedefinieerde doelen voor de chatbot, als deze onbegrensd is binnen een bepaald domein.
- Diversiteit van antwoorden. Een veelvoorkomend probleem is dat systemen die gebruik maken van ML-technieken vaak dezelfde generieke antwoorden genereren die juist zijn in vele gevallen, maar geen duidelijke intentie hebben en niets bijdragen tot de conversatie.
3. Virtual agent
Op het derde niveau, en meteen ook het hoogste niveau definiëren we de virtual agent. Virtuele agenten leren op grote schaal, kunnen redeneren en communiceren op natuurlijke wijze met mensen. In tegenstelling tot de chatbots op lagere niveau’s zijn deze virtuele agenten niet enkel reactief, maar zijn ze ook proactief. Dit wil zeggen dat de chatbots op dit niveau de gebruikers kunnen contacteren als zei inschatten dat de nood van de gebruiker het hoogste is in plaats van te wachten op input van de gebruikers. Deze virtuele agenten zullen vooral nuttig zijn in een wereld waar the IoT (the Internet of Things) volledig tot stand is gekomen. Deze chatbots worden aangedreven door een volledige architectuur bestaande uit verschillende AI-subsystemen die onderling samenwerken. De achterliggende architectuur bij virtuele agenten wordt ook wel cognitieve artificiële intelligentie genoemd. (Cognitief –> betrekking hebbend op de mentale processen zoals waarneming, geheugen, oordeel en redenering, in tegenstelling tot emotionele en wilskrachtige processen).
Virtuele agenten zijn verschrikkelijk intelligent en kunnen niet alleen menselijke taal interpreteren en begrijpen met behulp van NLP (natural language processing), maar kunnen ook intelligente conclusies trekken uit vragen en antwoorden die mensen hen geven en kunnen in hun redenering zelfs rekening houden met data dat betrekking heeft op een bepaalde groep, een individu of de omgeving.
We kunnen concluderen dat virtuele agenten cognitief artificieel intelligent zijn, ze kunnen redeneren en tot inzichten komen op een hoger niveau en dit op een wijze dat vaak analoog is aan het cognitieve vermogen van een mens. Virtuele agenten kunnen handelen op basis van symbolische en conceptuele informatie in plaats van pure data, met als doel tot high-level beslissingen te komen in complexe situaties.
Use cases
- Virtuele agenten kunnen gebruikers notificeren wanneer ze een elektronisch apparaat vergaten uit te schakelen en zelf stappen ondernemen om dit probleem voor de gebruiker op te lossen.
- Een elektronisch apparaat stopt met werken (bijvoorbeeld boiler, diepvriezer, frigo). Aangezien deze apparaten geconnecteerd zullen zijn zal de virtual agent dit direct oppikken en proactief een notificatie versturen, bovendien kan de chatbot zelf een afspraak met een technieker maken om jouw probleem op te lossen of zelfs een volledig nieuw apparaat aanbieden wanneer de nood voor de gebruiker het grootste is.
Virtuele agenten kunnen producten of diensten aanbieden aan de consument op het moment dat zijn nood het grootst is.
Dergelijke functionaliteit zal betekenen dat consumenten niet meer zelf op zoek zullen gaan naar een oplossing voor hun probleem, maar een oplossing aangeboden zullen krijgen op het moment dat ze een product of dienst nodig hebben. Dit geeft ongelofelijk veel macht aan de partij die deze virtuele agenten aanbiedt aangezien zij controleren wat de consumenten te zien zullen krijgen. Dit is onder andere waarom tech giants zoals Google, Amazon, Apple, Facebook, etc zoveel interesse tonen in de ontwikkeling van chatbots. Er wordt verwacht dat de partij die als eerste een volledig functionele virtuele agent aanbied een monopolie zal creëren en gebruikers deze direct zullen gebruiken. Penetratie van andere virtuele agenten zeer moeilijk zal zijn aangezien gebruikers alle nodige functionaliteiten al aangeboden krijgen door hun vertrouwde agent, kijk maar naar Google en hun search engine.