On SAP Learning Hub, we have recently implemented the first social bot at SAP to support our users in learning communities.
The idea for the social bot was born when I attended Online Educa in Dec. 2017 and met with Tarek R. Besold, PhD in Cognitive Science at the University of London. He told me about the research of Ashok K. Goel with IBM Watson and his own research on artificial intelligence. My first thought: It would be great to have such a social bot to support our SAP users and to answer their questions in our learning communities on SAP Learning Hub. But can we build such a bot with our own SAP technology? Yes, we can with the new SAP Jam bot interfaces, SAP Cloud Platform and SAP Leonardo!
How we built the bot
SAP Learning Hub is SAP’s cloud learning platform for partners and customers with more than half a million users. SAP Learning Hub provides a full digital learning experience and enables customers and partners to develop and expand their SAP skills for the latest SAP innovations with thousands of e-learning courses, videos and e-books for all SAP related topics.
In addition, SAP Learning Hub features more than 100 learning communities with more than 170,000 users where learners can ask their questions and get guidance from experienced trainers and moderators. Those learning communities are based on SAP Jam. Thus, we had to integrate the social bot in SAP Jam. We used the new SAP Jam bot interfaces, which can integrate with any web application available on the public internet. For the bot to fully interact with SAP Jam, the bot application only needs to be able to call its OData REST API, and it must be able to send webhook calls to a web/HTTP interface for the bot. If you want to know more about the Jam bot integration, read the blog by Rob Horne Bots have arrived at SAP Jam.
The bot application itself has been developed and deployed on SAP Cloud Platform using a simple intent matching algorithm based on keyword vectors.
How we trained the bot
For training the bot, we extracted all questions asked by users in our learning communities so far. We identified frequently asked questions, defined intents and optimized the model for the given sample of questions. For identifying intents, we used the following three criteria:
- Frequently asked
- Distinct keywords
- Easy to answer
The final accuracy for the model was greater than 99% while we tried to avoid false positive errors (intent match although there is no intent)
How does the bot “learn”
Our bot learns by tracking user interactions, e.g. when the bot provides and answer and the user marks the answer as best answer the information is used to optimize the model. After three month more than 25% of our users have choosen the bot answers as best answer.
How do our users benefit
Every day, our trainers and moderators are answering hundreds of user questions in our learning communities – but this takes some time and user have to wait up to several hours for their answer. Our social bot answers all questions immediately and in 80% of all cases, the answer is already sufficient. When necessary, our trainers or other user can add further information or comments to the bot answer.
In the future, we will enhance the bot with further SAP Leonardo services for machine learning and text analysis to make the bot even smarter.