Creating the Chatbot of Your Dreams

Mitu Singh
TOTVSLabs
Published in
5 min readApr 10, 2017
Well, hello there…

If you have interacted via chat or Instant Messaging (IM) on the internet, most likely you have interacted with a chatbot whether you realized it or not. It might have greeted you with a simple message while waiting for a live agent to take over the conversation. Or it might have tried to understand your needs based on your recent browsing behavior and offer you solutions. For example, you may have received a music suggestion based on the preferences expressed during previous interactions.

Chatbots can make helpful suggestions

Chatbots are one of the most exciting technologies that have come up in the past few years. Have you wondered, however, what are chatbots in the first place? At the highest level, chatbots are nothing but automated programs that respond to a query — most often in a regular language such as English. It is assumed that one of the parties in the interaction is a human.

There are many types of chatbots, and they can be deployed for virtually any application that requires some form of interaction. Some are written for a very simple purpose such as providing initial greetings. Some can be very complex — such as putting together a movie recommendation or purchase recommendation based on previous interactions.

Assuming that you want to create a chatbot for a commercial application, you may first want to narrow down the business problem you are trying to solve. Is it going to be a customer service bot? Are you trying to respond to the webpage visitor by providing greetings immediately to let them know that their request is queued? Or are you trying to handle most routine queries via chatbot to perhaps provide a quick response and lower the cost at the same time? Some bots can be extremely useful in handling use cases that have privacy concerns — such as managing credit card transactions or delivering HIPPA compliant health care information.

Create a chatbot after answering some important questions about your business

Once you know what business problem you are trying to solve, it is time to start thinking about creating a chatbot. First, however, you will need to solve a few problems:

· How will people interact with the chatbot? — text only, voice only or both?

· How will the response be provided? — text only or voice? with or without visual? Or some combination thereof?

· What range of topics will it handle? — will it provide a rule based response or try to understand questions and respond accordingly?

· Will it be possible to personalize the bot?

Depending upon how you answer the questions above, chatbot implementation can range from being very simple to very complex. For example, text based interaction implementation is relatively simple by order of magnitude when compared to video or even voice implementation. If you choose voice, do you want the interaction to sound like a natural human voice or a static robotic voice? Each has its own set of applications and usefulness.

Whereas most common forms of chatbots interact using text, technology is evolving rapidly and now chatbots are able to carry on a conversation with surprisingly realistic voices. Video based interactions are also breaking onto the scene. For example, a new technology allows users choose a face and give it a name to have your very own, personalized bot!.

The decision making engine is the heart of every chatbot. There are two major classes of technologies that form responses:

· Rule based engines — basically a collection of rules and interactions must conform to relatively specific syntax and topics. This technology has been around for quite some time. It basically includes a huge database of possible questions and the answers. The query is matched to the most likely questions and the associated answer is sent back as a response. Its obvious limitation is that it can’t discern the intent and the context.

· Machine learning based — These engines use the latest AI technologies to handle flexible language and syntax as the input and interpret the question. It uses machine learning and Natural Language Processing (NLP) to understand the query and generate a response. Machine learning requires extensive training and is extremely costly to build.

Rule based engines are easy to put together but the interaction experience could be a bit limited. Machine learning based bots can be very exciting but equally difficult to put together.

Now that you are excited about chatbots and are ready to build one, you probably want to know where to start.

There are many platforms that enable you to start writing chatbots quickly. They come in various shapes and sizes. Some are backed up by technology giants such as Microsoft (Bot Platform) and Facebook (Bots for Messenger). Others are upcoming providers such as ChatScript, Pandorabots, Rebot.me and Imperson. Platforms from Microsoft and Facebook obviously provide the stability and the assurance that they will be around for some time. But they may not be at the cutting edge. Providers like ChatScript, for example, provides much more exciting technology which has won the Loebner Prize four times. Each year, the Loebner Prize is delivered to the most human — like computer. Robot.me, on the other hand, focuses on providing tools for a quick start to writing simple bots. There are many other choices available that might fit your needs better.

Whatever your choice is, go ahead take the first step to writing the chatbot that you always wanted!

References:

https://www.technologyreview.com/s/603895/customer-service-chatbots-are-about-to-become-frighteningly-realistic/

http://www.techworld.com/picture-gallery/apps/seven-platforms-for-developers-build-chatbots-3639106/

http://www.loebner.net/Prizef/loebner-prize.html

--

--