Most of us have interacted with a chatbot before, it might be to reschedule your flight, enquire about your phone bill or simply chatting with a chatbot for fun. How many of these chatbots have fulfilled your needs within the first 4 messages? Or made you happy by performing what you expected the bot to do?
This made us wonder if there is a formula to build a useful and lovable chatbot? The short answer: no. However, there is a framework that you can follow to ensure that your chatbot is equipped to handle what it’s made for.
Why is there no formula? To me, a good chatbot is one that is able to fulfil your needs in the shortest time possible. To be able to fulfil your needs, the chatbot needs to be able to understand your intent. Intents are unpredictable, there are many ways to express intent in many different contexts.
For example the questions “ Why is my phone bill so expensive this month?”, “Can you show me my phone bill for this month?” and “ I have not received my phone bill “ all share the same intent. Which is to send the users a copy of their phone bill (most phone bills contain a breakdown of the charges).
Most of the time, you would interact with a chatbot in a Question and Answer format. Within the first few interactions, you would have already formed your opinion about whether the bot is serving its purpose or not.
Part 1 of the Framework: Personality and Purpose
The purpose of a chatbot should be the first thing to be established before embarking on the journey to build it. Everything else will be built around the purpose of the chatbot. Limit the function of the chatbot to reach 2 main goals. It is tempting to create a bot that can do everything to maximise its output. However, that is not the best strategy forward, build low priority functions later when the core functions are established.
Chatbots with personalities are often more memorable than those without. The persona of your chatbot can be derived based on the nature of your company or simply any character you like. For example, a chatbot can take on the persona of an athlete if the company sells sports drinks, or a hotel chatbot can take on the persona of a butler.
Part 2 of the Framework: Nonlinear Navigation
“Sorry, I don’t understand. Could you please rephrase that?” is a chatbot user’s worst nightmare. Most chatbots follow a linear flow that is command-based and inflexible, which usually triggers the aforementioned fallback. BotDistrikt uses a combination of natural language, context, and memory to allow for flexible understanding of questions users may ask. This way, chatbots built on BotDistrikt are almost human - they identify user intents and provide the appropriate answer even if it is not following the current conversation topic.
Part 3 of the Framework: Integration & Modularity
BotDistrikt chatbots can be deployed on multiple messaging channels like Facebook Messenger and Telegram, voice channels like the Google Assistant and Alexa, and can use multiple AI engines like Dialogflow, Wit.ai, and IBM Watson. There are multiple tools in the market that can be utilized to make a chatbot smarter, more efficient and more useful. With integration modules, customers have the possibility to integrate with the tools of their choice to create smarter, goal-focused, and more accessible chatbots.
Therefore, we can conclude that although there is no perfect formula to build the perfect chatbot, there are definitely a few bases we need to cover to build a great one. The foundation lies in developing a chatbot’s personality, purpose, flexible conversation flow, and modularity. When this is complete, further developments must be entirely data-driven. Creators will need to observe and monitor how users talk to their chatbot, what they’re looking for, and whether they’re getting value out of it.
Please let us know if you’re pondering on building your next chatbot project, we would love to hear your thoughts at firstname.lastname@example.org.