Everything You Wanted to Know About Building a Chatbot or VoiceBot

Zubair Talib
3 min readApr 20, 2021

…But were afraid to ask.

Image Credit: Nounproject

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.

Definitions

Rasa, the open source company for building bots, has a great glossary that describes such terms. Here are a few important ones:

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)

This blog by Cobus Greyling does a nice job of describing multiple approaches complete with detailed examples.

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.

Here are two nice blogs here and here on how to build a no-code bot using IBM Watson. Here is also news about Amazon Alexa enabling brands to build their own voice assistants.

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

There are a number of solutions here — but two strong solutions are the open source packages BotPress and Rasa.

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.

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:

This article is part of a series on conversational AI and includes contributions from Leonardo Cordoba. Please check out the start of the series here.

The next article will describe the future of real-world chatbots including natural language understanding (NLU) challenges and open problems in conversational AI.

--

--