In last few years, we have all witnessed the explosion of media channels in multichannel contact centers. Besides the good old voice channel, customers can now communicate via email, chat, twitter, SMS, and social media channels. Nowadays an enormous explosion of various mobile messengers such as WhatsApp, Snapchat, WeChat, Line, Viber has happened. No doubt we should expect and be prepared for new emerging channels in the nearest future. The problem of seamless embedding channels into contact centers becomes extremely urgent.
To cope with this channel explosion, to seamlessly integrate channels into contact centers, and effectively use them in customer service, the concept of Omnichannel was proposed in the industry. In short, the Omnichannel contact center could be defined as a contact center organized so that it delivers personalized and consistent customer experience across multiple channels and devices.
Among other principles, the Omnichannel concept assumes that processing customers’ interactions via different media channels should be organized using common applications and tools. In this article, we will discuss unified processing of text in text-based channels or such channels that bear textual information in their interactions.
In comparison to voice channels, text-based channels have a unique advantage – machine accessible content. In other words, each text-based interaction includes a text message. For example, with an email interaction, we could extract a subject and a body of the email. This content could be successfully analyzed for managing the interaction in different ways.
The interaction may have text information that would be sufficient to complete the processing of the interaction. For example, if an email contains a question which includes enough detail, we theoretically could find an appropriate response in our knowledge base.
If, however, the information contained in the email is insufficient for complete processing, we could extract as much useful information as possible from the textual part and use it in interaction processing.
What is Text Analytics?
Text analytics usually refers to a set of technologies aimed at processing and extracting useful information from unstructured text and generating actionable insights.
Text analytics uses algorithmic approaches and natural language processing (NLP) based on statistical, linguistic and machine learning (ML) methods. All these techniques belong to artificial intelligence (AI), a substantial and popular field of computer science and advanced software engineering.
Concepts of natural language processing and machine learning have been around for decades. But in recent years they have experienced enormous progress, breaking out from academic laboratories and becoming practical tools for software engineers and developers.
Over the last few years, the text analytics market has experienced substantial growth. According to Allied Market Research the global text analytics market in 2014 was worth about US$2 billion and is expected to reach US$6.5 billion by 2020.
How to Use Text Analytics in Contact Centers
Using sentiment analysis for interaction prioritization.
It seems that sentiment analysis is the most popular application in the area of NLP. Sentiment analysis is a method used to extract, identify, or otherwise characterize the sentiment content of a text unit. Typically, a sentiment is measured in two or three values: positive, negative, and possibly neutral.
In a contact center, a sentiment analysis could be used for prioritization of customer interaction. The more negative the sentiment, the more serious the problem is, the unhappier the customer is, and therefore the faster we should react. It is very important for media channels with a large number of interactions, such as social media, where we have to determine the most important ones. For example, it makes sense to analyze Twitter messages to determine the ones with negative sentiments in order to undertake relevant actions in a timely manner.
Using text classification for self-service and routing
Another text analytic[DD1] application, text classification, is a central part of NLP. Text classification is the task of choosing the correct class label for a given input. The set of class labels is defined in advance and could be of differing nature. For example, if we have three class labels: MOVIE, SPORT, and SCIENCE we could define a topic of analyzing the message and route it to a corresponding agent group. By the way, if we chose class labels to be POSITIVE or NEGATIVE we could also implement a sentiment analysis task.
We could use a set of categories as class labels and use them for solving the problem of text categorization. For example, let us consider email self-service or email automatic processing with the aid of standard responses.
Standard responses are a set of predefined responses or texts containing answers created for frequently asked questions. We define a set of class labels as a set of standard responses. When a new inbound email arrives at the system its text body is classified to belong to a certain class label associated with a standard response. This response is assigned to inbound email and returned to the customer. To use this scheme in production mode we definitely need to have a classification method with very high precision. We could also send the inbound email and the proposed response to a QA agent for approval and possible correction.
Text categorization could be used for the routing of an interaction to an appropriate agent. Normally, to participate in an interaction, a routing agent is associated with a skill. A skill indicates that the agent is capable of dealing with a specific task. For example, an agent may have language skills such as “English” and “Spanish”, indicating that the agent can speak English and Spanish. An agent may have business skills such as “Help Desk” and “Customer Service” confirming that the agent can handle problems related to helping desk and customer service issues. Routing of an interaction involves determining the most appropriate agent based on his/her skills.
Information extraction to help agents
Normally text in text-based interactions is an unstructured text written by customers using natural language. It would be ideal to automatically extract useful information from interactions to facilitate the process of interaction handling.
Contemporary NLP techniques allow for the extraction of varying data from the text such as named entities, themes, topics, relationships, customer intentions, language detection, etc. So which of them could be used to assist agents? Clearly, that depends on the nature of the business. Indeed if your business relates to geographic aspects such as airline ticket reservation, then extraction of named entities would be of great help.
Using machine learning: one person’s heaven is another person’s hell
We stressed above that to analyze text we should use NLP in conjunction with machine learning. The goal of machine learning is to teach computer software to carry out tasks in the right way by providing several examples.
The major problem here is that these examples should be business specific. Indeed some text could be considered as having positive sentiment for some businesses and negative sentiment for others. In order for the sentiment analyzer to distinguish between these cases, we should train for this instance in the first and second business by using separate sets of examples.
The following Figure 1 illustrates the use of machine learning in text classification[DD2] :
Figure 1: Machine learning in text classification
The scheme comprises three stages of text classification with machine learning capabilities. In the first stage of basic training (a) we train the classifier model with the aid of a training set – a set of text samples with assigned labels. The set may contain dozens or hundreds of samples – the more samples we use the higher the precision of classification we will get. When the classifier model is trained it starts the prediction stage (b) where the classifier receives text messages from customers. As a result, the classifier determines a label for each incoming text message. We may insert a feedback loop into the system (c) with an agent who will check results of the classification. He/she could approve or correct the results and continue training the classifier model in real time during the production regime. As a result, the classification process will be continuously improved with business-specific aspects.
Implementation approach: text analytics as a microservice
How could text analytics functionalities be integrated into existing contact center infrastructure? The answer is obvious – it depends on your contact center architecture. However, we could suggest some useful approaches based on general consideration.
Many contact centers use workflow techniques to specify the processing of customer interactions. Normally, the processing defines a sequence of operations with interactions such as collection of data from the customer, routing to an appropriate agent, handling by the agent, etc. Text processing could be implemented as one of such operation that takes textual information and returns processed results (e.g. positive or negative sentiment). This information could be used for future processing in dialog management, routing, and agent handling.
Text analytics algorithms could be implemented and used as a microservice, a popular de facto architectural style to create complex systems. According to this style, an application is created as a suite of small services, each being developed independently using different technologies. Indeed text analytics services are ideal candidates for microservices as they are small enough, simple in usage and created with the use of specific technologies.
Moreover, text analytics services could be used directly from providers who offer cloud API for text analytics services. We at Bright Pattern have evaluated some text analytics APIs such as Semantria, AlchamyAPI, IBM Watson and found them suitable to be used in text analytics.
There are a lot of books devoted to natural language processing and machine learning. We could recommend the book entitled “Natural Language Processing with Python – Analyzing Text with the Natural Language Toolkit” written by Steven Bird, Ewan Klein, and Edward Loper.
Information about microservices could be gleaned from an article “Microservices” by James Lewis and Martin Fowler.
[DD1]You talk about text analytics but I sense this should just be ‘text analysis’
[DD2]In Figure 1 below, all single words and the first word in each phrase should start with a capital letter
N. Anisimov. Text Analytics in Omnichannel Contact Centers (download pdf)