Sentiment Analysis Microsoft Azure

How Technology Can Help You Better Understand Your Customers

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.

Key points:

  • How to improve contact with customers based on the analysis of recorded audio, video or chat history?
  • How to conduct sentiment analysis with Microsoft Azure?
  • Which Azure cloud services can be used to analyze text, audio and video files?
  • How to measure the most popular topics during call center conversations?

How can we measure customer sentiment?

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.

Which Azure cloud services can help with content analysis?

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.

Azure Cognitive Services

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.

Text Analytics

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.

Video Indexer

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.

Azure Video Indexer features

Azure Video Indexer features (image source)

Let’s put them into practice!

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.

meauring sentiment analysis in Microsoft Azure: results dashboard

Sentiment analysis results dashboard (click to view full-size)

The services we used for performing sentiment analysis in Microsoft Azure

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 Cognitive Services – Computer Vision API

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.

Azure Cognitive Services – Text Analytics API

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.

Azure Video Indexer

With Azure Video Indexer we were able to extract conversation topics and measure sentiment.

Azure Durable Functions

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.

Azure Cosmos DB

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.

Azure Storage Account

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.

Azure Application Insights

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.

Power BI

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.

measuring sentiment analysis in Microsoft Azure: solution architecture

Solution architecture for measuring sentiment analysis (click to view full-size)

Want more expert content? Leave your email address to get our industry insights every two weeks! Sign me up

Summary

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!

Key takeaways:

  1. With Azure Computer Vision API, it is possible to apply OCR scanning.
  2. Azure cloud offers many different services called Cognitive Services that can be used to analyze text, audio and video files.
  3. With Azure Video Indexer we can extract insights from audio and video files like topics, sentiment and recognized people.
  4. Azure Durable Functions can help orchestrate solutions where different services have to be called and the final result must be stored in the database.