Blog

Developer
Concepts
Use Cases
Product
Spotlight

Using aspect-based sentiment analysis for voice and video conversation with Symbl.ai

Aspect-based sentiment analysis takes opinion mining to a more sophisticated level, enabling you to categorize data by feature (aspect) and then identify the attributable opinion (sentiment). It automates tedious tasks, works in real time, is easy to scale, and unbiased for a truly customer-centric experience.

Aspect-based sentiment analysis vs. sentiment analysis

Sentiment analysis, also called opinion mining, is a means of interpreting and classifying sentiments to distinguish between positive, negative, and neutral opinions.

Aspect-based sentiment analysis (also known as aspect-level sentiment analysis, feature-based sentiment analysis, and aspect sentiment analysis) is a more advanced technique, taking sentiment analysis to another level. This type of analysis allows you to categorize data by aspect/feature and identify the sentiment to be attributed.

“Aspect” means the attributes or components of a service or product. For example, aspects might be: battery life, sound quality, size, or price. And the “sentiments”, which refer to the opinions (positive, negative, or neutral), could be: poor, unreliable, excellent, or well designed.

Sentiment: positive, negative, or neutral opinion about a certain aspect/feature.

Aspect: the feature, category, or topic under discussion.

With voice aspect-based sentiment analysis, essentially, you break up the data into discrete units in order to analyze it. You’re not only concerned with the words used (as transcribed and with analysis undertaken in real time), but also the tone of the words which you can use to gain a more sophisticated understanding of sentiment.

Here’s an example of how you would link sentiments and aspects:

  1. Extract aspects/features from customer reviews
  2. Classify those aspects
  3. Assign scores (this is called a polarity score) to opinion words, like “excellent” or “disappointing”
  4. Opinion words are associated with an aspect, and the score for the opinion word is then linked to that aspect.

With Symbl.ai’s aspect-based sentiment analysis APIs you can create opinions about speakers through an examination of the response data on an API endpoint either asynchronously or in real-time. You can do this with textual data (written reviews, for example) or audio data such as voice and video conversations. Sentiment analysis allows you to attribute positive and negative sentiment polarity scores with less human effort.

Are sentiments and emotions the same thing, and what is sentiment polarity?

Sentiments are completely different from emotions. Emotions are complex psychological states. The expression or description of emotion is unlikely to be understood by technology, let alone captured, as it is beyond the scope of simple binary.

The difference between sentiment and emotion in terms of their complexity.

Sentiments relate to the polarity of a word or phrase. If a statement has a positive polarity, then it may be perceived by a machine as an indication of or inclination toward, for example, customer satisfaction. Similarly, if a word or phrase has a negative polarity, then a machine may perceive this to indicate that a customer is dissatisfied. An inclination or disinclination towards customer satisfaction is an opinion from a customer, and this demonstrates how polarity is like a gauge with a needle that can move from one side to the other.

The distinction between positive and negative polarity is not novel. You can substitute “customer satisfaction” or “customer dissatisfaction” with “patient satisfaction” or “patient dissatisfaction”. You don’t need to try to figure out what a person’s emotion is if he or she says “the care is really great” or “the care is really bad” because the sentiments provide the basis for a straightforward opinion about the patient’s satisfaction.

What is the value of aspect-based sentiment analysis?

Aspect-based sentiment analysis can be useful in areas such as customer feedback, product reviews, analyzing public opinion, market research, monitoring reputation, and understanding customer experiences.

Here’s why aspect-based sentiment analysis is so valuable:

  • You can automate tedious sorting and analysis of customer data and processes, such as customer support tasks, while at the same time, gain valuable insights.
  • The scalability leads to saved time and money, enabling businesses to focus on more important tasks.
  • It can perform real-time analysis which really maximizes customer satisfaction as issues, such as a glitch in an app, can be instantly identified and resolved quickly.
  • An element of objectivity will be achieved (which can be lacking in humans) because your centralized aspect analysis model will always apply the same criteria without influence from personal experiences, thoughts, and beliefs.
  • You can gain a deeper understanding of customer needs and expectations to create better customer experiences.

Aspect-based sentiment analysis of voice and video conversion is fully programmable. So, for example, if you use Symbl.ai’s API and you want to run sentiment analysis on the messages rather than the conversation, then you can program your application to do exactly that. You could also run sentiment analysis only on the individual speakers, or even run it on both the messages and the speakers.

Let’s consider a couple of use cases that illustrate the value of aspect-based sentiment analysis:

  • You can build this capability into your contact center call support. When a customer calls in to ask about an issue with, say, their mobile carrier service, the aspect-based sentiment analysis will pull the sentiments in real time on each of the messages from the conversation. Then it can figure out if the customer is happy or unhappy. The same is true in a sales call scenario, allowing you to better understand customer perception.
  • You can also process unstructured medical data with aspect-based sentiment analysis, for example, to extract insights from clinical documents, such as doctors’ notes, electronic health records, and patient intake forms. But you can also extract insights in real time from audio or video recordings of doctor-patient consultations to recognize, classify, and determine relationships between particular medical factors such as diagnosis, symptoms, and medication.

How to build aspect-based sentiment analysis into voice and video applications

Using Symbl.ai’s Conversation API for Messages you can enable sentiment analysis to operate over each message in the conversation. All you need to do is pass sentiment=true as a query parameter to the API with the following endpoint:

https://api.symbl.ai/v1/conversations/${conversationId}/messages?sentiment=true

You can access sentiment analysis with Symbl.ai’s APIs without the work of creating an application in JavaScript, Python, or a programming language. Instead, you can simply cURL the endpoint on data from an existing conversation with a Symbl.ai conversation Id. Here is a sample cURL command:

curl --location --request GET 
'https://api.symbl.ai/v1/conversations/${conversationId}/messages?sentiment=true' \\
--header 'x-api-key:'

After making a call to the API endpoint, you receive an example of the code showing a polarity score of the sentiment identified for a particular aspect:

"sentiment": {
                "polarity": {
                    "score": 0.6
                },
                 "suggested": "positive"
               },

If you would like to create an app to access real-time sentiment analysis, then Symbl.ai’s WebSocket is a great way to leverage the best technology for audio or video streaming for conversation intelligence.

In addition to sentiment analysis, you can add access to additional types of speaker data in real time such as:

  1. Speaker Ratio — Speakers’ talk vs. listen ratio and the amount of time spent in each state.
  2. Talk Time — Duration of the entire conversation.
  3. Silence — Duration of silences during the conversation.
  4. Pace — Words per minute spoken in the conversation.
  5. Overlap — The amount of time when more than one person is speaking at the same time.

Explore all the possibilities that the Symbl.ai Platform and its Conversation API offers to learn more about what you can do with its sentiment analysis capabilities.

Additional reading: