This post is part of a series that explores the use of human assisted virtual agents, and how machine learning and artificial intelligence are being applied to ultimately improve the customer experience.
Customer support automation is an important playing field for today’s Artificial Intelligence and Machine Learning systems. This no longer means primarily call centre automation, but rather users expect and use a mix of channels, including web and chat. And all of these can be automated. Some may ultimately wonder if a human or an automated customer service agent is better, but from where we sit – it’s not an “either, or.” Instead human and automated service agents might actually cooperate to get things done for the customer and ultimately offer a better experience. In other words, a human-assisted virtual agent (HAVA).
Before we look at two different ways of doing that, we first need to understand what the actual tasks are that we are trying to solve. And that starts with the fact that customers will have different problems to solve; these are called “intents.” There may be hundreds of them and they will range in complexity. The simple ones are requests for information (“Do you have details on product X,” “how do I switch feature Y on”?), which can be solved by finding the right answer in a database of documents available to both the human agent and the automated agent. The more challenging ones will involve access to multiple backend databases and involve doing transactions on customer data (“please change my payment scheme from monthly to quarterly”). In the scenarios, we are looking at we may have automated some of the intents, but not all (yet).
In our first scenario, there is a chat going on between customer and agent. The virtual customer service agent sits behind the agent but follows the conversations, and for intents where she can generate the answers she will do and suggest these to the human agent (for example, by quickly populating the agent’s screen). That way the agent can be much more efficient, and only has to focus on the more challenging aspects. Also, she can check if the suggested answer is correct, which provides good feedback to our HAVA for getting better at her task (and we’ll come back to that below).
In the second scenario, it is actually the virtual agent who performs the chat conversation with the customer. Where she is confident she can answer the request, she will do so right away. But for intents not covered by her knowledge base or if in doubt if she has the right answer, she can involve a human agent in the background. Note that it will still be our virtual agent who gives the answer back to the customer, and this highlights an advantage of this model: the customer will experience an apparently perfect system from day one, even if she is still in her learning phase. And as she gets better she’ll just have to ask for help less and less, but the customer experience will stay the same. And of course, the “getting better” is the other interesting point here.
The virtual agent uses machine learning to get better at things, but most machine learning techniques work in so-called “supervised“ mode. That is, not only do you need data to learn on (lots and lots of data actually) but it also has to be hand labelled with the right answer. If you want to train a Neural Net to recognise faces, you need pictures with faces labelled with the correct name, for doing speech recognition we use thousands of hours of labelled or “annotated”, as we call it, speech. The nice thing in our two scenarios here is that we get data suitable for supervised learning for free: the virtual agent has access not only to the customer requests but also to the correct answers as an agent provides them.
So, by creating a useful virtual assistant tool that can be refined by the customer service agent, we’ve solved several typical problems associated with virtual assistants: 1) We’ve reduced negative user experiences since we have a human to step in when the virtual assistant invariably makes errors. 2) Customer service agents are correcting the virtual assistant while doing their typical work: they do not have to be re-assigned to label lots of data to create the virtual assistant, instead, they are just answering user questions. Finally, as the customer service agent is answering questions, they are also creating labelled training data that is exactly in the format that sophisticated deep learning techniques require, which will lead to a virtual assistant that performs closer and closer to state-of-the-art.
In Part two of this blog series, we will have a closer look at two specific tasks in this context and how we solve them with machine learning techniques using this data.