As you probably might have noticed on numerous websites, chat has found its way to customer interaction, and is here to stay. What you might not know yet, is the fact that the person you as a customer are communicating with is in quite some cases artificial, a so called chatbot. These chatbots can be designed to handle all sorts of customer questions. In this blog I will describe how these chatbots work.
In a recent innovation case at one of our customers we built a chatbot using the Kore.ai platform and integrated the chatbot in a SAP Hybris Commerce webshop and a mobile app. The goal was to reduce the amount of phone calls that come in at the service desk every day by automating relatively simple questions that are asked frequently and can be answered easily by looking up information in the back-end system based on information that can be retrieved from the customer by asking a couple of questions.
For this case, we implemented the following functionality in the chatbot:
- Getting the status of an order of the customer
- Getting product information (in this case, what cartridge do I need for my printer?)
How does it work?
To start off, you have to identify which questions you want answered by the chatbot. Let’s take our first subject as an example: getting order information.
Of course there are a lot of different utterances a customer can use to ask for order information. A couple examples are:
- Do you have the status of my order?
- When will my order be delivered?
- Was my order successfully processed?
To answer the customers question, the chatbot needs information from the customer to get the information from the system. In case of order information, the chatbot ideally needs the order number or at least the customer number. The order number and/or customer number can be defined as so called entities. In the chatflow, a step can be defined to prompt the user for an entity. For example: ‘Can you enter your order number?’. Based on the response of the customer, the chatbot is smart enough to either identify a number in the response of the customer (i.e. ‘yes my order number is 100234’) or to see that the customer did not respond with a number (i.e. ‘no I don’t know my order number’). Depending on the outcome, information about the order can be either immediately retrieved from the back-end system using a service call, or the chatbot has to ask for the customer number. If the customer does have a customer number available, the chatbot can look up all open orders in the system and list them to help the customer identifying the correct order. Once the correct order is identified, the chatbot again can look up the information from the back-end system and show information about the order to the customer.
The finished flow looks like this:
Testing, training and analyzing
Using sample conversations, the chatbot can be tested and trained to recognize user utterances, intents and entities. The Kore.AI platform uses machine learning to get better over time. The platform also has a monitoring section where chat history can be analyzed. Based on the monitoring, you can tweak the chatbot to have a better performance over time. Using these tools the chatbot will evolve and will perform better and better over time.
Of course a chatbot can be very well designed but it cannot answer every question. When the chatbot is not able to answer the question, an agent transfer can be done. The chat can be transferred to a live chat system where that chat can be picked up by an actual support employee. Using this feature, your customers will not be lead in a dead end.
Take a look at the video below to see the chatbot in action.