Human in the Loop For Enterprise Chatbots
In the world of chatbots “human in the loop” means the ability of human agents to monitor and manually take charge of a chatbot.
If a chatbot fails to understand what is said to it the breakdown in the conversation can very quickly become frustrating to the customer. To avoid this frustration happening a human needs to intervene and take over the conversation as soon as the breakdown happens.
There are many issues to consider when implementing human in the loop. Here we explore some of them.
The most obvious use case for human in the loop is customer service. Every business needs to employ front line staff or human agents to answer questions. Many of the questions are simple and repetitive and therefore could easily be answered by bots, thereby reducing the need for expensive human agents.
The first thing to mention is that the natural language processing engines that the bots are built on can return the level of confidence they have that they can answer the question at hand. A very high level of confidence means that they are almost certain that they can answer the question correctly. A low level of confidence means that there is a low probability that they will answer the question correctly.
It’s these confidence levels that are used to determine whether a conversation is escalated to a human or not.
There are a number of ways that bots can be handled in the conversation.
The business can have the customer connect with a human agent. The customer can then direct their query towards a human agent but if the question is simple the bot can answer directly. If the bot has a reasonably high confidence of answering the question correctly but not an extremely high confidence then it can prompt the human agent with canned answers that they can use. By using these canned answers, the human agent is not only able to answer much faster than typing out the replies, but they also train the bot for future conversations.
In the above case it’s probably best for the human and bot to appear as separate participants in the conversation as this if the least confusing scenario for the customer.
It is generally accepted that it is not good practice to have the bot answer on behalf of the human agent as it usually quite easy for the end customer to detect when they are speaking to a bot and this will undermine their confidence in the human agent and the process.
The customer can also be connected with a bot at first. In this case the customer is made aware that they are talking to a bot and therefore should expect more limited capabilities. Again the human can be added to the conversation if necessary as a separate user in the chat.
It is less harmful to the customer experience if the human takes over the bot (without being revealed as a separate person) because this will make the bot perform better than expected to the end customer (from an understanding point of view). There are actually many cases of bots being presented to the public as AI driven but actually having a human workforce as the back end. There are however issues with doing this for human in the loop.
The first issue is timing. Human response times are much slower than bot response times so if the conversation is escalated to a human the time to respond might suddenly increase materially and this can affect the customer experience.
There is also a subtle issue with privacy that arises in the case that the information is sensitive and a human takes over from the bot either directly or as a separate participant in the case.
In some cases a customer might feel more willing to share personal information with a bot (that is a non-judgemental application) than with a human. If the human suddenly appears in the chat and has access to the chat history this may be seen as a breach of privacy.
A very easy and clear way of managing human in the loop is to give the customer an explicit choice as to whether they want to engage with the human or not. This option to speak to a human could be available to the customer at all times. They could for example type the word “help” at any time to immediately engage a human agent.
Along the same lines, after the bot answers each question it could ask the customer if they wanted to speak to a human for more clarification.
Clearly in both of these cases it’s important that the human has access to the previous chat history so that they can pick up where the bot left off.
What might be even better is if the customer could initiate a call from the chat if necessary, either over VOIP or by phone with the human agent.
Bots in the support processes are effectively improving the capabilities of the human agents by answering simple questions and providing them with canned answers for more complex questions.
We can go further however.
Bots could provide more relevant information to the human agents engaged in the conversation as well as additional tools to those monitoring the conversations.
Bots can provide context on the customer and previous interactions, and they can provide information on related products and cross sell opportunities to the human agents.
We also believe that bots can enable the communication between human agents and customers to be transformed beyond just text and voice.
Graphical elements can be exchanged including widgets that allow the customer to make a purchase or try different alternatives. For example, an insurance customer may be inquiring about a quote. The human agent could give them a calculation widget over the chat that could help them to input different parameters and try different options for their insurance.
It’s also possible that the chat conversation will take place simultaneously with a voice conversation to further augment the service that is being provided.
It’s also possible that the chatbot will not only help the human agent on the business side, but it could help the customer by giving the customer relevant information as they proceed with the conversation with the human agent or bot.
Here we have discussed the most obvious use case for human in the loop which is the text driven customer service use case. If human in the loop becomes a common use case in this area it’s possible that it will become more widely used for more general use cases.
For example, a customer might be using a chatbot for hotels that provides a hotel booking functionality. It’s possible that if they are having issues, they will directly engage the human agent as part of the chatbot and the human agent will help them in the chat (perhaps for a micro payment). The human agent could be part of the business or a third party.
This is very different to the scenario now where if you have an issue with an application you need to phone customer support and describe what has happened. They cannot see any history of your operations which makes it more difficult for them to help you.
There are many interesting issues with implementing human in the loop right now. There are also many possibilities as to how this feature of bots could evolve. It will be interesting to see what happens.