Measuring customer satisfaction can be challenging. Creating surveys can be inefficient as many customers just do not fill them out.
This is a problem especially for call centers which are company hubs for customer communication.
Using text or video/audio conversations is essential to providing a great service. But what would make it even better is the ability to analyze whether customers were satisfied with given assistance, how long did it take to help them or what was the topic.
Having a solution that can provide this information would be very helpful to assess the effectiveness of the center and identify the most common issues.
There are many ways and tools which help us achieve this goal. For instance, we can use surveys. Sometimes customers are asked about their satisfaction with the service over the phone. Unfortunately, many of them don’t want to take part in these calls.
If, as a company, we have a call center unit, we would probably like to improve communication with our customers.
Analyzing the recorded audio, video or chat history, as well as the average time of the conversation, can help us assess how well we’re doing. We could also measure what are the most popular topics of conversations to see which issues are being addressed most frequently.
Before we move on to the Azure services which can help analyze conversations, let’s discuss the available formats.
There are many channels through which customers can contact us. They can write a text message via chat, call using voice only, or they can also enable a camera.
For each of these formats, we need to use the right service available in the Azure cloud. Let’s see what options we have.
When building a solution to analyze conversations, we can imagine that building our own algorithms or Machine Learning models can be difficult and generate cost.
This is where the Azure AI platform can help by providing ready-to-use services. They allow developers to build intelligent applications without having direct AI or data science skills or knowledge.
There are many different Cognitive Services available. Here, we will focus on the ones that can help analyze text, audio or video files to extract information about conversation topics and customer satisfaction.
With Text Analytics APIs we can get insights such as sentiment, entities, and key phrases from unstructured text. In this case, we can use a chat conversation with customers as an example.
Analyzing text content can be quite easy but what about audio or video files? How to get conversation details from a recorded file, how to extract relevant insights?
This is where Azure Video Indexer can help. With this service, we can detect faces, identify positive, negative and neutral sentiments, and extract topics that were discussed.
Together with my team at Predica, we created a Proof of Concept (PoC) for one of our customers to verify whether we will be able to get any useful insights from recorded conversations in a call center unit.
The challenge was related to different file formats. We had text, audio and video files. The volume of data was quite large and the size of each file was different.
We wanted to automate the solution so once a conversation is finished by a consultant, it is automatically saved, and analysis is then triggered to get near real-time insights.
Let’s talk about the role the cloud plays in building a call center conversation analyzer.
Microsoft Azure gives us several useful services that can make the solution work smoothly and effectively. Here are the examples of services that we used to create it.
Azure Computer Vision API offers OCR scanning, which makes it much easier to extract text from PDF files. It is worth noting that Computer Vision API can also be used to detect objects in images or detect faces.
Text Analytics API provides natural language processing over raw text for sentiment analysis, key phrase extraction, and language detection. We also used it to provide sentiment information – e.g. whether the customer was happy during the conversation or angry.
With Azure Video Indexer we were able to extract conversation topics and measure sentiment.
Azure Durable Functions were used to orchestrate the whole solution. We wanted to make sure that once there is a new file (PDF, audio or video), the analysis will be triggered.
Of course, based on the file format, we wanted to use a different service in the Azure cloud (either Text Analytics or Video Indexer). Here, Azure Functions helped a lot.
We were able to also reduce the cost because we used a consumption plan where we pay only when functions are running.
We needed a store to keep the analysis results. We decided to go with Azure Cosmos DB as a non-relational database where we can keep data as JSON documents. It also enables us to modify or extend the structure of the documents with additional attributes.
We decided to use Azure Blob Storage to store text, audio and video files. There is a small cost, and we can also easily integrate Azure Functions to be triggered automatically once a new file is uploaded.
Solutions which handle large volumes of data require good monitoring. Azure Application Insights allow us to analyze and detect anomalies in our application, so we can quickly react to and fix any issues.
To easily view the results, we prepared a Power BI dashboard to display all collected data and gathered insights. It is very helpful because we are able to see the most popular topics or see the overall customer happiness.
The diagram below presents a solution we created that allows uploading PDF files with conversation history or audio/video files of the recorded conversation.
With our solution, our client can evaluate the call center communications at scale, to easily review the effectiveness of provided assistance.
They get an indication of how satisfied their customers are, and can get deeper insights by topic. This makes it easy to see which areas are the most problematic and where they should direct more efforts.
Thanks to the cloud, we could relatively quickly and easily create a solution that provides practical, actionable insights. If you’d like to see what we can do for you, just let us know what you need!
Getting an exact asset location can help organizations determine their plan of action, prepare for the delivery to arriv...
One of the biggest challenges related to building applications is security. The key problems involve authenticating user...