Recently I have been learning about conversational interfaces a.k.a. chatbots. I will share my ideas on what is important for a chatbot’s quality, but let’s first address what a chatbot actually is.
A robot you can chat with. A robot trying to behave like a human. It should not be confused with the chatbox many websites show in the right lower corner that normally connects you to an actual human.
The robot is programmed to provide answers to questions, and optionally performing other tasks in that process. So you can feed anything to the bot, but it will only give you useful output if it recognizes your intention.
The chatbot should be clear about it’s possibilities. For a user it can be frustrating if the chatbot does not understand their intention. Especially when that happens often. It will be really helpful if the chatbot is clear about it’s superpowers early on. For example by conveying that in the opening question:
Hello my name is weatherbot. I can provide weather reports for any location.
It should be clear to the user instantly that they are dealing with a chatbot instead of a human. And the chatbot should always be able to answer the million dollar question: “What can you do?”. If applicable, for example in the case of support bots, it should be easy to get in touch a human if the user wants to. “I want to talk to someone”.
The chatbot should recognize the user’s intention quickly. Chatbots are programmed with to do certain things. Those things are called intents and they need to be programmed. That is called training.
An intent for providing weather reports can be trained to recognize that intention by feeding it a few variants of the same question. Like: “what is the weather in Amsterdam”, “give me the weather”, “what weather is it in San Francisco”, etc..
Litterally asking one of those questions makes it easy for the chatbot to know what your intention is, because it can find an exact match of your input and so figure out that is is your intention to get a weather report. But what if you don’t literally ask one of those questions? If the user is asking a question the chatbot should be able to answer but it doesn’t recognize the intention within 1 or 2 attempts, the user experience will not be good.
With help of machine learning, the chatbot can still recognize the input and discover the intention because it looks a lot like the other questions it is trained with. Because it is hideous to train the chatbot with thousands of possible questions, this machine learning aspect is of key importance.
We are about to start a pilot project with one of our major clients. For this we will probably use DialogFlow, a Google platform for conversational interactions. The aim will be to let the chatbot answer frequently asked questions at the support desk so the customer gets their desired answer faster, and the support desk will have more time to answer complex questions. This way the chatbot adds value for both the organization and the users.
We’re looking for 1 or 2 other pilots, so reach out if your organization is interested!