OK Drupal - powering chatbots with Drupal
Share:
Conversational UIs are the next digital frontier.
And as always, Drupal is right there on the frontier, helping you leverage your existing content and data to power more than just web-pages.
Want to see it action - click 'Start chatting' and chat to our Drupal site.
by
lee.rowlands
/ 18 September 2017
So what's going on here?
We're using the Chatbot API module in conjunction with the API AI webook module to respond to intents. We're using API.ai for the natural language parsing and machine learning. And we're using the new Chatbot API entities sub module to push our Drupal entities to API.ai so it is able to identify Drupal entities in its language parsing.
A handful of custom Chatbot API intent plugin to wire up the webhook responses and that's it - as we create content, users and terms on our site - our chatbot automatically knows how to surface them. As we monitor the converstions in the API.ai training area, we can expand on our synonyms and suggestions to increase our matching rates.
So let's consider our team member Eric Goodwin. If I ask the chatbot about Eric, at first it doesn't recognise my question.
Eric isn't recognized as an entity
So I edit Eric's user account and add some synonyms
Adding synonyms to Eric's account
And then after running cron - I can see these show up in API.ai
Synonyms now available in API.ai
So I then ask the bot again 'Who is eric?'
Screenshot showing the default response
But again, nothing shows up. Now I recognise the response 'Sorry, can you say that again' as what our JavaScript shows if the response is empty. But just to be sure - I check the API.ai console to see that it parsed Eric as a staff member.
Intent is matched as Bio and Eric is identified as staff member
So I can see that the Bio Intent was matched and that Eric was correctly identifed as the Staff entity. So why was the response empty? Because I need to complete Eric's bio in his user account. So let's add some text (apologies Eric you can refine this later).
Adding a biography
Now I ask the bot again (note I've not reloaded or anything, this is all in real time).
A working response!
And just like that, the bot can answer questions about Eric.
What's next?
Well API.ai provides integrations with Google Assistant and Facebook messenger, so we plan to roll out those too. In our early testing we can use this to power an Actions on Google app with the flick of a switch in API.ai. Our next step is to expand on the intents to provide rich content tailored to those platforms instead of just plain-text that is required for chatbot and voice responses.
Credits
Thanks go to @gambry for the Chatbot API module and for being open to the feature addition to allow Drupal to push entities to the remote services.
And credit to the amazing Rikki Bochow for building the JavaScript and front-end components to incorporate this into our site so seamlessly.
Further Reading
Tagged
Chatbots, Conversational UI, Drupal 8
Posted by
lee.rowlands
Senior Drupal Developer
Dated 18 September 2017
Add new comment