Everything You Wanted to Know About Building a Chatbot or VoiceBot
…But were afraid to ask.
The previous blogs in this series share what conversational AI is and where it's making an impact, what industries it's disrupting, and the ecosystem of companies and technologies involved in shaping the industry.
This article aims to share a basic high-level understanding of how data flows through a chatbot or voicebot and some definitions to help understand the terminology associated with building and operating such a bot.
Utterance — A message sent by the user or returned by the bot (e.g can I have fries with that?)
Intent — The intention of what the user is trying to accomplish (e.g. order food, ask question)
Entity — Words or phrases identified and extracted from a user utterance (e.g. business name, phone number)
Action — Some activity the bot takes in a conversation (e.g. place an order)
Dialog Response — A message used to respond to a user.
Different Ways to Build a Bot
There are essentially three different ways to build a chatbot or voicebot:
- 3rd party company to do everything (most off-the-shelf)
- No-Code Bot Builder
- Roll your own (most customizable)
Currently There Are Four Distinct Chatbot Dialog Development Approaches
Chatbot Dialog Design & Development Are Settling Into Four Main Categories
3rd Party Solution
The 3rd party solutions are either complete enterprise solutions like Haptik, Avaamo, Omilia, Aivo or industry-specific solutions like Gong in Sales or WoeBot in mental health.
In these cases, you typically work with a vendor to set up your bot and can perhaps customize through an interface or working with the vendor themselves. These are best for companies that are looking to get a more complete solution and less interested in developing or customizing themselves.
Some of these also have no-code customizations and bot-builders as well as programming interfaces for deeper integration and customization.
No-Code Bot Builder
There are a number, but big tech has some straightforward ones to use including’s Google’s DialogFlow or Microsoft’s Azure Bot Services.
The typical approach is to define intents, entities, actions, and dialog responses and then to provide training data — and then leave it to the systems to do the machine learning goodness of actually training the intents and entity recognition and associating the appropriate actions and dialog response.
These approaches can have more flexibility and more programmatic capability than the enterprise solution — but also require more investment in designing and building.
Build Your Own
BotPress is more focused on getting a bot into production quickly and easily — focused on developer friendliness and multiple integrations with facebook messenger and twilio for example.
Rasa, on the other hand, has done an amazing job innovating in the natural language processing side of chatbots working towards achieving Level 4 and Level 5 natural conversational capabilities. They have also published wonderful tutorials and educational materials.
Your Guide to Five Levels of AI Assistants in Enterprise
I wanted to give a bit more detail to the concept of five levels of AI assistants. We've been talking about it at Rasa…
If you are interested in having deep, powerful control on the actual machine learning models Rasa is a great choice — constantly innovating on the architecture side and pushing the boundaries for example working towards end-end models and getting rid of intents.
This is a nice 10 minute introduction on Rasa that gives you a sense of the high-level but also a bit on the innards:
The next article will describe the future of real-world chatbots including natural language understanding (NLU) challenges and open problems in conversational AI.