I had a pleasure to teach conversation design course at Lviv Data Science Summer School this month. We’ve discussed architectural approaches, covered semantic funnels and goal-oriented conversations.
While preparing to the course, I was searching for a comprehensive list of resources that I can give to my students as a reference. Unfortunately I didn’t find one I’d be happy about. The field is changing quite rapidly and it is difficult to find something holistic and up-to-date. So I assembled a list of resources that could be useful for those already familiar with the main concepts of chatbot design, but looking for the right tool. After I published the list of resources in the school’s slack channel, one of the students inspired me to share it with the broader audience. So here you go: platforms, dialog engines, design tools, connectors, intent recognition, and conversation analytics tools.
There are multiple articles introducing chatbots as a concept, including the main architectural principles behind. I’m not going to talk about them, but a simple diagram might help.
Dialog Engine processes the bot logic and helps to define the general flow of the conversation.
NLP Engine helps to understand the intent (what the user is trying to say or to do) and to extract entities (useful pieces of information) from the textual inputs.
Channel Connector integrates the chatbot’s backend to the chatbot’s frontend that could be either a website or existing messaging platforms such as Messenger, Skype, Slack, Alexa, Teams, etc.
Chatbot Frameworks (integration, NLP, dialogs)
Chatbot frameworks allow creation of the complex conversational systems and their integration to other software and services.
|Framework/URL||Dialog engine||NLP engine||Channel Connector||Analytics|
|Google Dialogflow||Flows||Intents (ex API.ai)||Integrations||Analytics|
|Microsoft Bot Framework||Bot Builder||LUIS||Bot Channels||Bot analytics|
|Amazon Lex||Lex Bot||Lex NLP||Lex Channels|
|IBM Watson Assistant||Watson SDK + Skill Builder||Watson NLP||Watson Integrations||Analytics dashboard|
|Facebook Messenger Platform||Messenger Platform||Default + Customized NLP (ex. Wit.ai)||Messaging Insights API|
|SAP Conversational AI (ex. Recast.AI)||Bot Builder||Bot Training||Bot Connector||Bot Analytics|
No-code chatbot platforms (CaaS)
These are the Conversation as a Service (CaaS) platforms that allow creation of the chatbots with minimal to zero-knowledge of coding.
Prototyping services will help you to design your conversational system before investing heavily into the development process.
https://whimsical.com/ – UML, mockups
https://www.draw.io/ – UML
Website chatbot widgets
Bots for landing pages
https://www.hubspot.com/products/crm/chatbot-builder – for websites (ex motion.ai)
These are mostly dialog engines or extensions built on top of the Frameworks we discussed above.
https://home.pandorabots.com/home.html – AIML bot engine (rule-based)
http://chatscript.sourceforge.net/ – Bot engine (rule-based), last update 2013
https://botkit.ai/getstarted.html – Microsoft Bot Framework compatible, wrapper dialog engine
https://bot.viseo.io/ – Microsoft Bot Framework compatible, wrapper dialog engine
https://botman.io/ – PHP based platform
https://rasa.com/docs/getting-started/ – NLU + Core dialog engine
https://octaneai.com/ – Customer-centric bots
https://www.gupshup.io/ – Messaging campaigns, engagement
https://kore.ai/ – NLU + Core dialog engine
Connectors will help you to bring your chatbot to messaging channels, were the users are.
https://www.pullstring.com/ – focus on voice
Improvement of the bot and churn analysis.
For those of you who want to explore my slides for the course on fundamentals of chatbot design.