Henk-Jan en Martijn gaan voor een whitelabel chatbot voor alle merken

Hoe zorg je ervoor dat je tijdens het ontwikkelen van software niet steeds het wiel uitvindt? Achmea lukt dit bij de ontwikkeling van chatbots. Op basis van 1 whitelabel framework kunnen alle merken op maat bediend worden. En voortdurend uitgebreid en verbeterd. Twee softwareontwikkelaars van Achmea vertellen hoe de grootste verzekeraar van Nederland dat aanpakt.

Even voorstellen...

Henk-Jan van Hasselaar en Martijn Kamstra zijn echte developers

Dat doen ze bij het team dat zich bezighoudt met de ontwikkeling van generieke software. Het grote voordeel daarvan is dat je maar 1 keer een basisproduct hoeft te ontwikkelen. Vervolgens kan deze basis volledig uitgewerkt worden volgens de wensen van de merken die Achmea heeft zoals Centraal Beheer en Interpolis.  

Kennismanagement & Artificial Intelligence (KAI)

In dit artikel vertellen Henk-Jan en Martijn over een heel spannend project: het gebruik van Artificial Intelligence. “Henk-Jan en ik werken op dezelfde afdeling: KAI. Dat staat voor Kennismanagement & Artificial Intelligence. Het is een aparte club binnen het team Generieke Software Services,” verduidelijkt Martijn. “Ik doe dat vanuit de vestiging in Tilburg, Henk-Jan vanuit de vestiging in Apeldoorn. In principe is dit 1 afdeling maar dan op 2 verschillende locaties. Op dit moment werken we vooral aan een generieke chatbotoplossing: een whitelabel chatbot dus. Ik help nu het team van Centraal Beheer hoe ze deze chatbot kunnen toepassen, Henk-Jan doet dat voor Interpolis.”

Technisch complex en een fantastische uitdaging

De verzekeraar gebruikt al langer chatbots. “De eerste intelligente chatbot waar Achmea mee begonnen is, was voor Zilveren Kruis. Dat was nog voordat ik hier werkte,” vervolgt Henk-Jan. “Diechatbot heette Zoë, gebaseerd op IBM Watson technologie. Nadeel hiervan is echter de vendor lockin. Uitbreiding van de software zelf (bijvoorbeeld een nieuwe functionaliteit) kan vrij kostbaar zijn. Omdat Achmea meer dan 20 merken heeft, lag de keuze voor een generieke bot voor de hand. Een die door meerdere labels gebruikt kan worden. En waarvoor je de meer specifieke zaken voor een merk vrij eenvoudig kunt inrichten. Daarbij wilde Achmea niet afhankelijk zijn van 1 externe leverancier. Vandaar dat we zelf, in house, een whitelabel chatbot hebben ontwikkeld. Zoiets is technisch complex en een fantastische uitdaging!”

Generieke framework

Henk-Jan en Martijn werken vooral aan het generieke framework achter de whitelabel chatbot. Martijn: “De rol van de externe Natural Language Processing (NLP)-engine hebben we bewust beperkt tot het herkennen van intents en entiteiten. De conversatie zelf wordt dus niet gemodelleerd zoals dat bij Zoë wel voor een deel gebeurt. Op dit moment gebruiken we daarvoor Microsoft Language Understanding Intelligent Service (LUIS). Intents en entiteiten zijn de bouwstenen van natuurlijk taalbegrip op basis van de context. Een intent kun je omschrijven als het doel van een klant die de chatbot gebruikt. Stel dat hij het gesprek begint met te vertellen dat hij schade aan zijn auto heeft. Dan probeer je geautomatiseerd te achterhalen wat zijn bedoeling (het intent) is. In dit geval heeft hij een vraag over schade. Maar je wilt ook weten waar die schade betrekking op heeft (de entiteit). In dit geval is dat de auto. Intents en entiteiten gaan dus over wat een klant zegt en wat hij ermee wil bereiken.”

Knowledge graph database

“Op basis daarvan kun je dan een conversatie moduleren,” legt Henk-Jan uit. “Dat is waar de merken van Achmea die de chatbots toepassen, aan werken. Daar zit een team van NLP-specialisten die de herkenning en de structuur van conversaties verbeteren. Bijvoorbeeld: welke vragen moeten er gesteld worden om een antwoord te geven op een herkend intent? Daarbij maken ze gebruik van een knowledge-graph. Die is een afspiegeling van een netwerk van condities in de echte wereld. Ook de relatie tussen deze entiteiten wordt hierin opgeslagen. De database slaat dit op in een graph structuur: vandaar de term knowledge-graph.”

Whitelabel inrichten naar eigen wensen

Martijn: “Met behulp van de graph bepalen we welke vragen wij de klant moeten stellen om tot een antwoord te komen voor het intent van de klant. Het gaat hierbij om het herkende intent. Het vullen van de graph-database is nou typisch iets waar de verschillende merken zoals Centraal Beheer en Interpolis mee bezig zijn. Op die manier richten zij de whitelabel chatbot steeds meer en beter in naar hun eigen wensen. Ook alle voorwaarden in de verzekeringspapieren modelleren zij in het graph-model. Tijdens een sessie met een klant gaat een chatbot al deze voorwaarden af om zo tot een goed antwoord te komen. En natuurlijk zit er ook een FAQ in met vragen zoals: ‘Hoe kan ik een verzekering afsluiten? Wat valt wel of niet onder de dekking?’ Wij als collega’s van het KAI-team helpen ze als ergens niet uitkomen. Dat is ook onze rol: de terugkoppeling van wensen. Op die manier kunnen de merken de whitelabel chatbot steeds meer, en beter, naar hun eigen wensen inrichten.”

Informatie uit de backoffice

“Om informatie te vinden over bijvoorbeeld je inboedel en autoverzekering, moeten er 3 verschillende systemen geraadpleegd worden. Daar hebben we een manier voor moeten bedenken om dat allemaal te configureren. Dat je niet telkens het wiel uitvindt en alles opnieuw zit te programmeren. We hebben een configuratie gemaakt die vertelt welke endpoints er zijn en hoe je de resultaten uit API-calls kunt omzetten naar entiteiten in je sessie. Uiteindelijk zijn er heel veel verschillende datastromen die je kunt gebruiken. Er is heel wat informatie te destilleren uit een gesprek. Alleen al de URL waarvan de klant op dat moment aan het chatten is. Als hij op de schadepagina zit, kun je daar ook al kennis uit trekken: hé, hij heeft op dit moment iets met schade. Hoe vertaal je dat soort metadata naar intents binnen onze graph? Dit is typisch informatie die we als een soort fallback optie hanteren. Als uit de vraag van de klant niet direct duidelijk is wat hij wil bereiken kan zo’n URL erin helpen om een meer gerichte vraag te kunnen stellen. Technisch staat het inmiddels allemaal wel. Het project is de status 1.0 voorbij maar we zullen steeds meer API’s moeten aansluiten. Dat zal de komende jaren dan ook veel blijven gebeuren,” aldus Henk-Jan.

Security en privacy

“Er zitten veel meer schakels in de keten dan alleen de chatbot die we in Python ontwikkelen,” vult Martijn aan. “Met een aantal van die schakels regelen we een deel van de beveiliging. Maar ook zaken als: Welke informatie mag opgeslagen worden? Die keten werkt als volgt. De frontend laat informatie via een webproxy of API Gateway terechtkomen bij Genesys. Dat is een omnichannel customer experience & contact center solution waar alle vormen van klantcontact binnenkomen. Maar wij sturen bijvoorbeeld ook vragen naar Microsoft. Die route hebben we natuurlijk voorzien van een gateway. Dat is zeker nodig, omdat klanten de chatbot kunnen gebruiken, terwijl ze zijn ingelogd bij hun verzekeraar. Dan wordt de data van die klant in de conversatie gebruikt. De tot personen herleidbare informatie zal echter nooit naar externe services zoals LUIS verstuurd worden. De chatbot kan ook anoniem gebruikt worden, zonder in te loggen, maar dan kan de bot alleen algemene vragen beantwoorden. ” Op de laatste vraag, hoe het is om aan zo’n project te werken, antwoorden Martijn en Henk-Jan: “Wanneer je dat allemaal ziet, hoe we met die chatbot klanten beter kunnen helpen, met de volledige keten van Achmea daarachter, dan is dat heel, heel erg… vet!”

Luister onze podcast over onze whitelabel chatbot

Anke wandelt met Senior AI Engineer Henk-Jan. Hij werkt bij Achmea aan een whitelabel chatbot en experimenteert daarbij met AI en Virtual Humans. Praten we straks online nog wel met echte mensen als we bijvoorbeeld contact opnemen met Klantenservice? En zo niet, is dat erg? Waar het hart van vol is, stroomt de mond van over. Luister in deze aflevering naar het enthousiaste relaas en de toekomstvisie van Henk-Jan.

Jouw droombaan
in je inbox

Stel een job alert in met jouw persoonlijke instellingen. Zodra er een nieuwe relevante vacature is, dan sturen we je een e-mail!