Chatbotshavebecome 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. Chatbot typesThey are tools that are imitating human communication by using different kinds ofartificial intelligence(AI) methods. In this post we are dividing bot types into two categories: to thesimpler, rule-based chatbotsand 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 aremore 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 arefocusing on designing a rule-based chatbot. Steps we need to take before designing a botEven if rule-based bots are simple, they can serve us well if we knowwhen and how to use them.Before we start, it is important to have:
  • A purpose in mind ourusers want to achieveby the help of ourchatbot
  • Therange of actionsour bot can execute
  • Knowledge about theweaknessesof 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
Don’t ask back without giving some guidance on how to try to form your sentence next time.
 
  • 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:
Sure is not saving the location mentioned by the user to a variable as well as not using data that is indirectly accessible about the user (here: location)
 
  • 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 asystem with complex IA(information architecture, the menu and additional content structure of your site) these kind ofchatbots are greatbecause there isonly 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 haverepetitive taskswhere all of your questions arepredefinedand theinput is also limited, since in this case, you free your employees from boring and monotonous tasks, such asopening a bank accountor another kind of banking activity.These tasksare quitecommonin the field offinancial services. As one of the main profiles of our UX design agency isfintech,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 eventwith 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 servicesBankBot by K2 BankBankBotwas created to help in thethree most frequently executed tasksusers want to do when visiting a bank’s site: check their balance and their transaction history and make simple transactions. For these scenarios, arule-basedchatbot is the perfect tool, since the actions are not complicated, however it is usuallyhardtofindtheinformationyou are looking forwithin 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 bequickandthoroughin 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 principlesare another crucial aspect of designing aperfect chatbot.UX principles essential to use when designing chatbots:
  1. Emphasizingat the beginning of the bot-human conversation thatthe human deals with a robot. This makespeoplea bitmore forgivingand also helps in guidingyou to drive a less complex conversationwithout elaborated language and difficult grammatical structures. In this way ochatbotactuallyhas a chance to understandwhat we aretrying to tellit
  2. Tolerating typosandambiguityin each case that’s possible
  3. Allow people tointeractwith thebotin multiple ways(e.g. free-text inputandselection of links)
  4. Finding just about the right time a reply appears; if it istoo quick it feels very artificial, if it takestoo long peoplefeel uncertain what is happening andget frustrated
  5. Allowsortingandfilteringto let peoplenarrow downresults
  6. Smart defaultsfor data you don’t change often such as your address or your name
  7. Useall thedatayoucanaccess without direct inputfrom the user, such as geolocation, time and date and adjust your conversation (and your possible answers) accordingly
  8. Givingamemoryto your chatbot so if the user’s already shared an information with the bot, it canutilizeit in thefollowing part of the conversation
  9. Narrowthe possibleanswers; for instance,don’t ask such things as “What would you like to eat?” if you only offer pizza and pasta
  10. Choose your tonebased 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
  11. Show the answer your chatbot has taken as an input so theuser can double check that every detail is correct
  12. Givingusers achance 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
  13. Be honest about not understanding something. Offer an escape hatch that leads the user to another communication channel
 
Chatbot: “Sure” is not giving any other option when it is stuck understanding its chat partner
 
This is what happens when a chatbot is not letting us back to a previous step, so we cannot go on a different path
 Additional UX solutions in chatbotsKiehl’s Messenger chatbot: Users can interact with the chatbot either bytyping text in the Send a Message text boxor byselecting one of the options displayed on the screen(Send Location or Zip Code; the Main Menu option below the text-input box).
It is good to give multiple input options to the user. The screenshot also shows the main menu at the bottom which is one way of letting the user return to a previous step of the conversation.
 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.
It is always a good idea giving smart defaults to users so they don’t have to type in a lengthy text but instead, just tapping on the desired option.
 Booking.com bot:There are too many hotels that match the user query; the bot displays some of the results in acarousel(left) and lets the user know that there are over 80 results in the last carousel item (middle). Althoughsorting and filteringare 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). 
Carousel is a good option if you have a limited number of results to show, however, if you have many, it is also good to let users narrow them down.
 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).
CNN’s chatbot is setting expectations in the beginning by showing some of the main actions we can make with it
 Summary
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.

About the authors

Anna Regeni thumbnail
Anna Regeni
Junior UX researcher

undefined