Begin januari 2021 heeft SAS nieuwe software vrijgegeven in aanvulling op de huidige analyse toolbox. De SAS Conversation Designer maakt het mogelijk om een chatbot te bouwen, die toegang heeft tot data uit zowel eigen tabellen, API’s en modellen. Reden genoeg voor ons om ons als SAS Partner eens goed te verdiepen in de mogelijkheden van deze nieuwe software.
SAS Conversation Designer
In maart werd de SAS Hackathon 2021 georganiseerd. Als titelverdedigers hebben wij onszelf verdiept in de nieuwe SAS Conversation Designer. Met deze software kan een chatbot gebouwd worden, om de eindgebruiker te informeren op basis van data uit datasystemen, maar ook door input data te analyseren. In onze eerdere projecten in samenwerking met IOM en ELVA was naar voren gekomen dat kamp managers niet altijd snel worden ingelicht over de situatie in en rond hun kamp. Daarbij komt dat zij weinig tijd hebben om nieuwe software te leren en dat ze voor internet vaak moeten vertrouwen op een 2G verbinding. Al deze aspecten meenemend, leek de keuze voor een chatbot een logische, mits de gebruikersinterface geen nieuwe tooling met zich meebracht. Daarom hebben wij gekeken naar het implementeren van een SAS chatbot in de wijdverspreide communicatie-app Telegram.
Natural Language Processing
In dit project waren twee aspecten belangrijk. Ten eerste moest de chatbot relevante informatie van het kamp en de omgeving kunnen ontsluiten. Ten tweede was een connectie tussen de SAS chatbot en Telegram noodzakelijk om dit in een gebruiksvriendelijke tool met laag internetverbruik te kunnen aanleveren aan de kamp manager.
Om te zorgen voor relevante context, hebben we verschillende databronnen gebruikt: de informatie van IOM zelf over de situatie in kampen en ACLED conflict data hebben we in SAS tabellen geladen. Daarnaast hebben we data met betrekking tot weersvoorspelling en overstromingskans via API’s gekoppeld aan het model. Door het model een aantal ‘intents’ mee te geven waar naar gevraagd kan worden, kan het model door middel van Natural Language Processing (NLP) een link leggen tussen een vraag van een gebruiker en welke ‘intent’ hiermee gemoeid gaat. Zo hoeft de chatbot en conversation flow niet helemaal voorgeprogrammeerd te worden, maar schakelt de chatbot op basis van opgepikte ‘intents’ (intenties) dynamisch van het ene onderwerp naar het andere.
Chatbot connector
De koppeling tussen SAS en Telegram is gebouwd in Python. Door zowel een SAS connector als Telegram connector te maken, hebben we een flexibele setup gecreëerd waarin de Telegram connector makkelijk vervangen kan worden door bijvoorbeeld een Discord of WhatsApp connector. Ook zorgen we binnen deze connector voor een autorisatiestap, waardoor alleen geautoriseerde kamp managers bij de data kunnen. Bovendien kunnen ze alleen bij data die betrekking heeft op hun kamp.