AI implementation

AI Sentiment Analysis: Definition, Examples & Tools

AI Sentiment Analysis: Definition, Examples & Tools

12 min read

Sep 18, 2024

Image of pixelated :) and :( faces
Image of pixelated :) and :( faces

Discover how businesses use AI to analyze customer feedback at scale and what are the best ways to perform sentiment analysis in 2024.

Casimir Rajnerowicz

Casimir Rajnerowicz

Product Content Writer

If you interact with customers directly, it's usually crystal clear when they are unhappy with your products or service.

Their faces turn purple? Check. They are unhappy.

They throw rotten eggs at your shop? Then, they're probably even more unhappy, and you might wish you were running a 100% online business instead.

Joking aside—

For many businesses, measuring customer emotions and sentiment isn't very straightforward, especially at scale. Occasionally, you can use a point-based system like CSAT. But satisfaction isn’t really that much of a sentiment. These methods and customer satisfaction metrics fail to capture the nuanced emotions and underlying reasons behind customer satisfaction (or dissatisfaction).

This is where AI-powered sentiment analysis becomes indispensable. Rather than having someone read through endless text, businesses can harness AI to transform data such as emails and reviews into actionable insights.

In this guide you’ll learn:

  • What sentiment analysis and its key applications are

  • How to do sentiment analysis with AI-powered tools

  • How to visualize sentiment polarity scores

Finally, you’ll find out more about the benefits of using modern AI solutions over traditional lexicon-based frameworks and polarity scores.

Generative AI tool that turns a pitch deck into structured information from unstructured input

Data extraction powered by AI

Automate data extraction

Get started today

Generative AI tool that turns a pitch deck into structured information from unstructured input

Data extraction powered by AI

Automate data extraction

Get started today

Let’s start with the key concepts and methods used in sentiment analysis.

What is sentiment analysis?

Sentiment analysis, sometimes referred to as opinion mining, is the process of detecting subjective attitudes, opinions, and feelings in text data using natural language processing (NLP), machine learning, and AI. It goes beyond just determining if a piece of writing is positive, negative or neutral. Advanced sentiment analysis can identify precise emotions like anger, sarcasm, confidence or frustration.

Screenshot of an AI sentiment analysis tool interface, analyzing a product review with a polarity score of 0.9, showing a positive sentiment with a detailed breakdown and suggestions.

NLP sentiment analysis shouldn’t be confused with AI facial expression recognition. While both are used to detect emotions, they analyze different types of data and employ different technologies. Sentiment analysis uses text and foundation models while facial recognition uses visual data, such as videos, and computer vision models capable of landmark detection.

In the context of customer data, sentiment analysis allows companies to automatically analyze customer reviews, social media mentions, support conversations and other subjective feedback at scale. This provides quantified insights into how customers authentically perceive products, services and experiences.

Infographic outlining key applications of NLP sentiment analysis, including product/service improvement, brand monitoring, customer experience, and market research.

Many companies are now using AI to monitor customer sentiment in real-time across various channels, allowing for immediate response and engagement. It's like having a bunch of digital mood trackers on standby. This technology is being integrated into chatbots and virtual assistants to enhance their ability to handle customer inquiries with empathy and effectiveness.

The rise of cloud computing and SaaS platforms has made advanced AI technologies available to businesses of all sizes without the need for extensive in-house infrastructure. You can copy and paste text fragments into your sentiment analysis tool or import data from CSV files or PDFs and export the results. Additionally, advanced solutions enable setting up automated workflows using APIs, webhooks, or platforms like Zapier to keep the data flowing smoothly. This allows you to perform real-time analysis and feed text to your AI models.

AI sentiment analysis dashboard displaying polarity and sentiment scores for various reviews, along with categorized emotional tags like appreciation, frustration, and annoyance.

Alternatively, you can use GenAI models or Python packages for natural language processing to run your own analysis locally or in environments like Google Colab. This approach allows for more control and customization of your sentiment analysis tasks but may be harder to implement and potentially costly if you want to use the newest iterations of LLMs (Large Language Models) like Claude or ChatGPT. We’ll discuss different methods in more detail in our AI sentiment analysis tutorial below.

How to do sentiment analysis with AI

The core process for AI-based sentiment analysis involves feeding sample text data into natural language processing models that can understand the subjective meaning and context behind the words. The sentiment is usually classified as positive, negative, or neutral.

Now, AI can mean many different things and it is worth noting that there is a huge difference between “AI” meaning using complex algorithms and the AI proper, powered by deep learning networks. For example, here is the RoBERTa-base sentiment detection model trained on over 120M tweets in action:

Comparison of two AI text classification results, one positive sentiment for 'Snoopy is a good boy,' and one negative sentiment for 'Snoopy is a disappointment,' with respective sentiment scores displayed.

This model uses transformer neural networks that are very good at analyzing text data. It can classify sentences and assign sentiment scores.

On the surface level, the results look very similar to scores generated by rule-based and lexicon-based solutions. However, there is a huge difference regarding what happens under the hood of different solutions.

We will discuss the meaning of different sentiment scores further in the guide, but, for now, let’s take a look at some outputs of some popular sentiment analysis tools.

Sentiment analysis examples

Table comparing sentiment analysis results from TextBlob, VADER, and Transformers models for various text inputs, with polarity and subjectivity scores, detailed sentiment breakdowns, and sentiment labels.

Notice how I love the new design of your website! Analyzed with TextBlob has a lower positive sentiment score than The product is okay, but could be better.

TextBlob calculates the overall sentiment polarity by averaging the polarity scores of individual words, like verbs and adjectives, which carry sentiment information. The overall sentence polarity is to some extent also influenced by the context or word combinations.

Sentiment analysis visualization showing word-level sentiment scores for the sentence 'I love the new design of your website,' highlighting positive scores for 'love' and 'new.'

In the lexicon that powers TextBlob sentiment analysis, words have two additional parameters: confidence and intensity. These scores can modify the strength of the sentiment, reflecting how strongly a word expresses an emotion.

While sounding quite complex and advanced, this method is still very limited. Observe how in the sequence “could be better,” the last word has been misinterpreted as an instance of positive sentiment, not as dissatisfaction.

Sentiment analysis visualization showing word-level sentiment scores for the sentence 'The product is okay but could be better,' highlighting positive scores for 'okay' and 'better.'

The evolution of sentiment analysis techniques has seen significant advancements, from traditional methods such as NLTK, TextBlob, and VADER to more sophisticated approaches using AI and transformer-based models like ChatGPT-4.

Here is an example of setting up two instances of ChatGPT that extract information from online reviews:  

If you want to replicate this setup, you can start here.

Comparison of Sentiment Detection Frameworks

In the table below you can find an overview of popular sentiment analysis techniques. 

Comparison table of sentiment analysis methods including NLTK + TextBlob, VADER, Naive Bayes, ChatGPT-4, and V7 Go, outlining their pros and cons in terms of ease of use, accuracy, and customization.

Now, let's take a closer look at each of the methods.

Traditional Methods

Some of the frameworks presented below may be less accurate than using LLMs. On the other hand, they are established sentiment analysis techniques widely used both in business and scientific research.

NLTK and TextBlob

NLTK (Natural Language Toolkit) is one of the oldest and most widely used libraries in the field of NLP. It provides tools for various text processing tasks, including tokenization, tagging, parsing, and, importantly, sentiment analysis. TextBlob, built on top of NLTK and the Pattern library, offers a simple API for common NLP operations, making sentiment analysis accessible with minimal code.

Here is an example python script that analyzes a sentence with TextBlob:

Python code snippet using TextBlob to calculate the sentiment polarity score for the sentence 'I can't believe you finished the marathon.'

As we mentioned before, TextBlob uses a lexicon-based approach for sentiment analysis, which involves assigning predefined sentiment scores to words. This method is straightforward and effective for many applications but can struggle with the nuances of human language, such as sarcasm or context-specific meanings.

Valence Aware Dictionary and sEntiment Reasoner

VADER (Valence Aware Dictionary and sEntiment Reasoner) is another popular tool for sentiment analysis, particularly suited for social media texts. It is lexicon and rule-based, designed to handle the informal and often noisy nature of social media content. VADER computes a compound score that combines the valence of individual words into a single sentiment score. It also provides detailed scores for positive, negative, and neutral sentiment components.

VADER excels in scenarios where texts are short and contain slang, abbreviations, and emoticons. Its simplicity and efficiency make it a valuable tool for real-time sentiment analysis.

Machine learning for sentiment classification: Naive Bayes

Naive Bayes is a probabilistic classifier based on Bayes' theorem, often used for text classification tasks, including sentiment analysis. It assumes that the features (words in the case of text classification) are independent of each other given the class label. Despite this 'naive' assumption, Naive Bayes classifiers perform surprisingly well in many NLP tasks.

For sentiment analysis, Naive Bayes requires a labeled dataset to train on, where texts are annotated with their respective sentiment labels (positive, negative, neutral). Once trained, the classifier can predict the sentiment of new, unseen texts. This approach allows for flexibility and customization based on the specific dataset but requires manual feature extraction and significant preprocessing.

It is worth noting that dataset labeling is more relevant to computer vision. For example, DICOM labeling can help train better AI radiology models that detect diseases and lesions. If you want to improve the performance of your AI sentiment classifier tool, it may be better to use prompt engineering techniques or RLFH.

Modern AI solutions for sentiment detection: ChatGPT & LLMs

The advent of transformer-based models has revolutionized the field of NLP, including sentiment analysis. Models like BERT (Bidirectional Encoder Representations from Transformers), GPT-3, and the latest ChatGPT-4 from OpenAI represent a significant leap in understanding human language and generating human-like responses.

ChatGPT-4 and similar models are pre-trained on vast amounts of text data and fine-tuned for specific tasks, including sentiment analysis. These large language models, known as LLMs, leverage self-attention mechanisms to capture contextual relationships between words in a sentence, allowing them to understand nuances, handle long-range dependencies, and recognize context-specific meanings.

Consider the example below:

AI sentiment analysis of a humorous Christmas sweater comment, scoring 0.7, with analysis explaining mixed positive and negative sentiment due to the affectionate use of the word 'ugly.'

The prompt for our AI tool was:

Instructions for an AI sentiment analysis tool explaining polarity scores from -1 (negative) to 1 (positive), with users prompted to provide a score, reasoning, and a final assessment.

Right off the bat the numeric score was much better than other tools:

Comparison table of sentiment analysis results from NLTK + TextBlob, VADER, and LLM (ChatGPT-4) for different phrases, showing polarity, subjectivity, and compound scores, with green and red indicators for positive and negative sentiments.

However, the real magic happens when we explicitly tell GPT to explain the reasoning behind the score and then to adjust it. In our example the revised sentiment polarity score seems even more accurate. This technique can significantly improve the quality of our analysis and detect all nuances.

A Generative AI tool that automates knowledge work like reading financial reports that are pages long

Knowledge work automation

AI for knowledge work

Get started today

A Generative AI tool that automates knowledge work like reading financial reports that are pages long

Knowledge work automation

AI for knowledge work

Get started today

Additionally, if we want to get more structured responses that are going to be easier to parse, we can limit our LLM outputs to specific multi-select options. Here is an example:

Prompt asking to select up to 7 relevant emotions detected in text, with options including emotions like admiration, anger, compassion, happiness, sadness, and satisfaction, among others, presented in colorful tags.

Now the results for these three images are based on a fixed list.

Three images showing humorous Christmas sweater comments with initial polarity scores of 0.5, 0.8, and 0.9, along with associated emotions like affection, humor, playfulness, and jealousy, depicted in colorful tags.

As you can see, with AI we can get much better results and still make the outputs controllable and easy to format.

Advantages of using LLMs for sentiment recognition:

  • Contextual understanding. Unlike traditional methods, transformer models consider the context of a word within a sentence, improving accuracy.

  • Nuanced sentiment detection. Capable of understanding sarcasm, irony, and complex emotional undertones.

  • Minimal preprocessing. Require less manual feature engineering compared to Naive Bayes or lexicon-based methods.

  • Scalability. Suitable for processing large volumes of text in real-time applications.

Now, the only downside is that the initial polarity “score” provided by LLMs, while more accurate, is not very rigid. It is not calculated in the same way as it is with rule-based sentiment detection tools. It is more of a numeric approximation that could be subjective for each request. This means that In some cases it is going to be slightly higher or lower, while with traditional lexicon-based polarity scores we get predictable and repeatable results. Very often the traditional sentiment scores are completely wrong, but they are always wrong in exactly the same way. So, keep reading to find out more about different metrics for sentiment analysis.

Measuring sentiment: polarity score vs. compound sentiment score

Two popular metrics used in sentiment analysis are the polarity score and the compound sentiment score.

Sentiment polarity score

The polarity score measures the positivity or negativity of a text, indicating the sentiment. A high positive score means positive sentiment, while a negative score indicates negative sentiment. The subjectivity score, on the other hand, measures how subjective or objective a text is. A high subjectivity score suggests the text is based on personal opinions and feelings, while a low score indicates it is more objective and factual.

In the context of TextBlob, the polarity score ranges from -1 to 1, where -1 indicates a very negative sentiment, 1 indicates a very positive sentiment, and 0 is neutral. The subjectivity score ranges from 0 to 1.

Compound sentiment score

The compound sentiment score is a more comprehensive metric, often associated with the VADER sentiment analysis tool. This score also ranges from -1 to 1 but is calculated differently.

It considers the sentiment of individual words, the intensity of these sentiments, and the context in which they appear.

VADER produces four key metrics:

  • Negative (neg): The proportion of text that is negative.

  • Neutral (neu): The proportion of text that is neutral.

  • Positive (pos): The proportion of text that is positive.

  • Compound: A normalized, weighted composite score of the text's sentiment.

There is no official set of standardized sentiment analysis metrics widely adopted in business. In most cases, businesses need to choose the right metric based on their specific needs and the type of text they analyze. For example, some companies might prioritize detecting negative sentiments to address customer complaints in a reactive manner, while others might be more interested in measuring overall satisfaction over time through positive scores.

How to visualize sentiment, emotion, and polarity scores

Visualization of sentiment analysis results is crucial for easy interpretation and actionable insights. Here are some common methods to visualize sentiment polarity scores:

1. Bar charts

Bar charts are effective for comparing the frequency of positive, negative, and neutral sentiments across different data points. For instance, you can visualize the number of positive, negative, and neutral reviews over time.

2. Word clouds

Word clouds highlight the most frequently occurring words in a dataset, with the size of each word representing its frequency. Color coding these words based on their sentiment can provide a quick visual overview of prevalent sentiments.

Word cloud and list of relevant words from sentiment analysis, with prominent emotions like annoyance, disappointment, displeasure, and appreciation, ranked by frequency and relevance.

3. Sentiment distribution charts

Pie charts or stacked bar charts can be used to show the distribution of sentiments within a dataset. This provides a clear picture of the overall sentiment landscape.

4. Time series analysis

Plotting sentiment scores over time can reveal trends and patterns. This is particularly useful for tracking changes in customer sentiment following a new product launch or a significant event.

Implementing sentiment analysis and customer sentiment monitoring in your business

To integrate sentiment analysis into your business processes, follow these steps:

Infographic outlining five steps for AI sentiment analysis in business: selecting a tool, collecting and preparing data, analyzing files, visualizing sentiment scores, and acting on insights to improve decisions and strategies.

Conclusion

AI sentiment analysis has evolved from traditional lexicon and rule-based methods to advanced transformer models. While tools like NLTK, TextBlob, and VADER provide accessible and efficient solutions for many sentiment analysis tasks, modern models like ChatGPT-4 offer superior performance by leveraging deep contextual understanding and nuanced language processing. Choosing the right method depends on the specific requirements, available resources, and desired accuracy of the sentiment analysis task at hand.

If you want to prepare a report or set up a sentiment analysis workflow powered by AI, V7 Go is a great app to start. You can use it to orchestrate LLMs and extract critical insights from text, CSVs, or even screenshots.

Also, find more about sentiment analysis in AI and other application of LLMs in business here:

Next steps

Have a use case in mind?

Let's talk

You’ll hear back in less than 24 hours

Next steps

Have a use case in mind?

Let's talk