Vivek Gupta

Vivek Gupta Personal Blog

How Not to Create Dumb Chatbot

By vivek | October 7, 2017 | 0 Comment



I had to write this tutorial. I have seen many developers going rogue over chatbot and creating dumb chatbot without proper chatbot design or flow and making them dumb chatbots. They only focus on use case. That’s it. So if you are only enabling the use case, then you are simply creating an app. Just without buttons and text box. So what is the use of it? Well this article is all about how not to create dumb chatbots. Being in chatbots, AI and ML for two years and half (Not much experience but I do carry experience of enterprise level development) here are the top five common mistakes which developers generally make while making the chatbot.


Not Thinking Enough

Sounds idiotic but it’s true. New developers are caged within the use case. You will say that the chatbot should do what it was intended to do at first place. Fine but what about the fail overs? Situations where it has to handle the user. This is what makes a dumb chatbot. Apart from giving prefixed responses, the chatbot should have an aura. By aura I mean that it shouldn’t be too humanly neither should it be too robotic. You have to think how user might be using your chatbot. For ex: Lets consider chatbot for a Pharmacy store. The User can not only enquire for medicine, but it may ask for address, phone number, timing etc.

So the other part of the job is not in the use case. But it definitely has to be taken into planning and thinking as it is increasing sales and productivity of the Pharmacy Owner.

Limited Fixed Responses

It might not sound like an issue, but is really irritating as a user. The bank which I use recently launched its own chatbot. I started playing with it. It was not even able to process the information. Like I asked about if I can get account statement, and the bot replied – “Sorry for having trouble. I don’t know that.”. Second time I asked “Can I get a soda?” and I got the same response. I don’t say that you have to create multiple fail over responses for multiple situations. Analyzing the situation and writing responses is not a big development. I can be done easily for few use cases.

No Work on Utterances

At the initial level, while developing we mostly take the common utterances and when the chatbot is almost finished, developers usually forget to refine utterances. Yes, it is true. For ex : I asked my banking chatbot “Give me account details”, it failed to answer, then I tried “I want my account details” and it responded asking me for further details. So when you are done with the user flow, it is really important to work on the utterances. Refine them.Don’t use too much and don’t use too little. Try to think from the User’s point. Try to think what they might ask or what exact sentence they might use.a

Non Functional UI

This is what irritates me the most. Developers would mostly focus on the “User Interface”, “Colors”, “icons”, “typography” etc. We need to understand that people are not familiar with your chatbot. Let’s say for ex : You created a chatbot for Supermarket. I download it and start to chat with it. How do I know what to type. You will answer that, you will create a “training video” or some sliders showing how to use bot. But let me tell you, once you see the sliders, users won’t go again. Users are lazy. So instead of creating videos etc, suggest user in the chat in the place holder. As soon as user starts typing, suggest placeholder on the chat window. It will help to user to learn fast. And you will see a good change in learning curve in a positive way.

Too much Libraries and responses

Yes, even that is a huge problem. Libraries like AIML provide a hell lot of responses for chatbot. It is good too. But using entire library is nuts. Offcourse we want to include general responses. Like good evening, thank you etc. But not everything. The more libraries and responses you use for chatbot, the more it gets farther away from actually understanding user. Make iterations about what the chatbot is about and related general response. For ex : I will not ask my banking chatbot to go on a date with me. Though we can add some funny responses, but banking is a serious domain. And users pretty much just want to do what they are there to do.

That’s it folks ! These were my takes on chatbot development at initial level. I hope you enjoyed this tutorial Do share the article if you liked it. Feel free to add anything in the comment section.

Also Watch

Deep Learning Based Tensorflow Chatbot with Google Home

My Social Links

Facebook :
Twitter :

Subscribe to my youtube channels for tutorials on IoT, AI, Analytics, ML and Electronics.


Leave a Reply

Your email address will not be published. Required fields are marked *