Chatbots have become mainstream recently. Today, the majority of stores and services have chatbots. Among these the simplest is what Facebook provides. We can easily put together our own chatbot without any programming skill. This type of chatbot has the advantage that it is easy to set up, however it isn’t flexible. By flexibility we mean tolerance against typos and misspells as well as handling synonyms.
They are tools that are imitating human communication by using different kinds of artificial intelligence(AI) methods. In this post we are dividing bot types into two categories: to the simpler, rule-based chatbots and the more advanced ones utilising different kinds of AI technologies. Rule-based bots don’t require much effort and anyone can create one within days. However, to make a good bot, it is essential to take into consideration the aspects we will discuss throughout this post. Chatbots that are using NLP (natural language processing) and other AI methods are more flexible in the given task, but if we want to modify the bot’s scope of tasks then we will need a large amount of labelled data in order to prepare it for the new task. In this post we are focusing on designing a rule-based chatbot.
Steps we need to take before designing a bot
Even if rule-based bots are simple, they can serve us well if we know when and how to use them.
Before we start, it is important to have:
- A purpose in mind our users want to achieve by the help of our chatbot
- The range of actions our bot can execute
- Knowledge about the weaknesses of this type of chatbot (such as conversation scenarios with multiple branches
- The list of the chatbot’s questions and the possible replies to them
What are the weaknesses of a rule-based chatbot?
- Intolerant. It is unable to handle misspellings, abbreviations or jargons, unless it is previously added to its synonym dictionary
- Unable to interpret humour
- Has no memory, thus, it cannot remember pieces of information it could leverage at a later point of the conversation. In the example below we can see, how can the bot’s lack of memory make the conversation failing:
- Unable to learn. For this reason, even if the user types in her answer one more time it won’t help our bot in giving a smarter answer. This problem can be solved by Janis, a tool that can be integrated into Slack. It can help our bot to improve by monitoring conversations and also by direct teaching. If the chatbot is failing Janis can send an alert that human intervention is necessary. In this way, the user won’t stuck in the process
In the example below, we can discover two mistakes: the first is that the bot is not using the readily available data (such as geo-location) and the second is that the bot’s question does not help the user understand what kind of information the bot is missing.
In which cases can a rule-based bot make a difference?
If your users have to use a system with complex IA (information architecture, the menu and additional content structure of your site) these kind of chatbots are great because there is only a linear flow, no multiple options, no unknown variables. Conversational and visual design can also be combined depending on the context, so each time a button makes more sense than a conversational interface, we can show a button in the chat window.
If you have repetitive tasks where all of your questions are predefined and the input is also limited, since in this case, you free your employees from boring and monotonous tasks, such as opening a bank account or an other kind of banking activity. These tasks are quite common in the field of financial services. As one of the main profiles of our UX design agency is fintech, we know well in which scenarios a bot can be utilized and where other interface solutions are more advantageous.
A great example of this use case is a bot for an event with which it is easy to see schedules, find venues and other specific areas as well as to search for presentations by topic.
Chatbots in financial services
BankBot by K2 Bank
BankBot was created to help in the three most frequently executed tasks users want to do when visiting a bank’s site: check their balance and their transaction history and make simple transactions. For these scenarios, a rule-based chatbot is the perfect tool, since the actions are not complicated, however it is usually hard to find the information you are looking for within the bank’s complex menu structure.
Lemonade is a mobile application for insurances. It makes simple insurance scenarios fast and effective. Lemonade is giving you instant feedback by showing immediately what you typed in, and in many cases lets you change the input if you make any mistakes.
For example, when you’re typing in your address, Lemonade is showing it in a map, so you can check by a glance whether you have given the right address or not.
Another aspect worth considering from a UX point of view – that has been obviously considered by the creators of Lemonade – is the bot’s style. Lemonade has a polite but concise style which is suiting to its purpose. A person who’s using Lemonade’s bot service has a particular goal in mind, so the chatbot needs to be quick and thorough in terms of its replies.
The UX principles of designing conversational UI (user interface)
Apart from the technological limitations and capabilities of a chatbot and the best fitting use cases of rule-based chatbots, UX principles are another crucial aspect of designing a perfect chatbot.
UX principles essential to use when designing chatbots:
- Emphasizing at the beginning of the bot-human conversation that the human deals with a robot. This makes people a bit more forgiving and also helps in guiding you to drive a less complex conversation without elaborated language and difficult grammatical structures. In this way o chatbot actually has a chance to understand what we are trying to tell it
- Tolerating typos and ambiguity in each case that’s possible
- Allow people to interact with the bot in multiple ways (e.g. free-text input and selection of links)
- Finding just about the right time a reply appears; if it is too quick it feels very artificial, if it takes too long people feel uncertain what is happening and get frustrated
- Allow sorting and filtering to let people narrow down results
- Smart defaults for data you don’t change often such as your address or your name
- Use all the data you can access without direct input from the user, such as geolocation, time and date and adjust your conversation (and your possible answers) accordingly
- Giving a memory to your chatbot so if the user’s already shared an information with the bot, it can utilize it in the following part of the conversation
- Narrow the possible answers; for instance, don’t ask such things as “What would you like to eat?” if you only offer pizza and pasta
- Choose your tone based on the context it the bot will be used; don’t make a financial bot too chatty if it is only opening bank accounts or too serious if playfulness is appropriate in the context of usage
- Show the answer your chatbot has taken as an input so the user can double check that every detail is correct
- Giving users a chance to go back to a previous choice, if they change their minds. Don’t think in linear flows, help your users to jump to previous steps as they may want to go on a different path then what they selected first
- Be honest about not understanding something. Offer an escape hatch that leads the user to another communication channel
Additional UX solutions in chatbots
Kiehl’s Messenger chatbot: Users can interact with the chatbot either by typing text in the Send a Message text box or by selecting one of the options displayed on the screen (Send Location or Zip Code; the Main Menu option below the text-input box).
People preferred to be able to select an option (left, Domino’s chatbot) instead of having to enter lengthy text (right, Booking.com). Consider creating buttons for the most common possible inputs.
Booking.com bot: There are too many hotels that match the user query; the bot displays some of the results in a carousel (left) and lets the user know that there are over 80 results in the last carousel item (middle). Although sorting and filtering are available (right), it’s unlikely that the number of hotels will be narrowed down enough so that the user could pick the right one using the carousel (which is how Facebook Messenger bots’ display lists of results).
Links were sometimes displayed below the message box. These links were fairly discoverable: several of our users interacted with them; however, the icon next to the input box was less likely to be used.
CNN bot: Links below the message area indicated some of the main tasks in the chatbot (Top Stories, Topics, Settings).
NLP and other machine learning technologies have been continuously developing and by deploying these techniques, we could make very intelligent bots, in most use cases, simple rule-based chatbots work just fine. This is true only if we make a thorough research and planning before implementation.
Based on what we have seen as a UX agency, chatbots have a huge potential. Users can achieve their goals in a simpler, more intuitive way on a platform which they can interact with from any device. There is no need to download any application or clumsily navigate in a browser to get the job done. Chatbots are suitable for executing simple, recurring tasks where the flow is linear. Checking our bank account’s balance, sending money or executing simpler customer service tasks are such cases.
Chatbots designed based on UX principles are advantageous businesswise as well, since they are capable of complementing human labor in certain ways. In addition they can help in a better resource distribution leading to a decrease of costs.