Opinions Decoded: Why Sentiment Analysis is Important

Jess McCuan's photo
Cover Image for Opinions Decoded: Why Sentiment Analysis is Important

If branding decisions came with a map, sentiment analysis would be something of a compass. Sentiment analysis gives you important signals about how customers and viewers feel about your products.

Let’s say you’re running a YouTube channel with hundreds of videos that generate comments. Or a marketing operation that’s analyzing customer surveys to understand feedback about several products. Analyzing the sentiment in customer feedback —whether that’s positive, neutral, or negative—offers an instant understanding of your core audience’s attitudes and opinions.

Leveraging AI for swift responses

When a person comments on something online, especially if it’s negative, it’s also important to respond to it quickly. Doing so can have a ripple effect and positively impact your brand in a number of ways.

But how? Content creators and managers know that manually responding to potentially thousands of comments is neither practical nor feasible.

In this blog, we’ll show you how to use artificial intelligence to create a system for analyzing sentiment in customer feedback using MindsDB.

What is sentiment analysis?

Sentiment analysis is a technique used to evaluate and determine the emotional tone, attitude, or sentiment expressed within text data, such as comments, reviews, or social media posts.

Its overarching purpose is to identify whether the text conveys positive, negative, or neutral sentiments, and to what degree. Leveraging sentiment analysis can provide content creators with treasure troves of insights that reveal exactly what their audience thinks about them and their content.

Why user engagement matters

User engagement is crucial to amplifying the value of, for example, a YouTube channel. It creates a reciprocal relationship that encourages users to involve themselves more fervently with your brand.

Interactions like this are contagious. When a user does this, another will take note and gravitate to your brand. Over time, this will compound and your audience will grow at an exponential rate.

How to use MindsDB for sentiment analysis

What is MindsDB?

MindsDB is an AI automation platform that connects any source of data with any AI/ML framework, automating how real-time data flows between them. It’s a unique tool that can help you to build AI-powered features and applications quickly and easily. With MindsDB, you can:

  • Connect to any data source: MindsDB seamlessly integrates with over 130 data sources, encompassing relational and non-relational databases, data warehouses, applications, and streaming data sources.

  • Deploy any AI/ML model: MindsDB offers support for a wide range of AI/ML models, including pre-trained models from popular frameworks like OpenAI, Hugging Face, or Anthropic, as well as having the flexibility to deploy custom models created with any ML framework.

  • Automate AI workflows: MindsDB can automate the complete AI workflow, encompassing tasks from data preparation to model training and deployment, all the way to inference and continuous monitoring.

  • Provide real-time predictions: MindsDB enables real-time predictions generated by AI models, even for streaming data sources, ensuring timely and actionable insights.

  • Build AI-powered features and applications: MindsDB simplifies the development of AI-powered features and applications, ranging from recommendation engines and fraud detection systems to predictive maintenance systems, making AI integration accessible and efficient.

Companies of all sizes across different industries are using MindsDB to build a variety of AI-powered applications, all driven by machine learning. These include:

  • Recommendation engines for e-commerce websites and streaming services

  • Fraud detection systems for banks and financial institutions

  • Predictive maintenance systems for manufacturing and transportation companies

  • Chatbots and customer service assistants

  • Real-time analytics dashboards for businesses of all sizes

For content creators, MindsDB can simplify sentiment analysis on a channel like YouTube by incorporating natural language understanding.

What happens here is that MindsDB will integrate comments data from YouTube without you having to undergo the complex data synchronization process. There are fewer hoops to jump through and less complexity to navigate, making sentiment analysis on YouTube quicker and more accessible for content creators.

Step-by-Step in MindsDB: Analyzing Sentiment on YouTube

First, let’s connect your YouTube account to MindsDB.

Follow this instruction, which guides you on how to generate the YouTube API Token required to connect your YouTube account to MindsDB in a read-only mode. Note that in this use case, we fetch the comments data from YouTube without inserting any data into YouTube, therefore, the read-only mode is sufficient.

To get comments for a channel, provide the channel_id value in the WHERE clause while querying the YouTube comments table.

SELECT *
FROM mindsdb_youtube.comments
WHERE channel_id="UC5_wBOLCWath6q1iTgPPD5A";

Alternatively, to get comments for a video, provide the video_id value in the WHERE clause while querying the YouTube comments table.

SELECT *
FROM mindsdb_youtube.comments
WHERE video_id = "yn3OouYjvzA";

Now let’s move on to deploying the OpenAI GPT-4 model that will analyze the sentiment of YouTube comments.

Before you can create OpenAI models in MindsDB, you should create an engine, providing an OpenAI API key as below.

CREATE ML_ENGINE openai_engine
FROM openai
USING
   api_key = "sk-xxx";

Now you can create a sentiment classifier model using this engine.

CREATE MODEL yt_sentiment_classifier
PREDICT sentiment
USING
   engine = 'openai_engine',
   model_name = 'gpt-4',
   prompt_template = 'describe the sentiment of the comments
                       strictly as "positive", "neutral", or "negative".
                       "I love this video":positive
                       "It is not a helpful content":negative
                       "{{comment}}.":';

Join the YouTube comments table with the model to analyze the sentiment of the comments.

SELECT *
FROM mindsdb_youtube.comments AS c
JOIN yt_sentiment_classifier AS m
WHERE c.channel_id="UC5_wBOLCWath6q1iTgPPD5A";

Or:

SELECT *
FROM mindsdb_youtube.comments AS c
JOIN yt_sentiment_classifier AS m
WHERE c.video_id = "yn3OouYjvzA";

Let’s get the count of positive, neutral, and negative comments for a channel.

SELECT c.channel_id,
       SUM(CASE WHEN m.sentiment = 'positive' THEN 1 ELSE 0 END) AS positive_count,
       SUM(CASE WHEN m.sentiment = 'neutral' THEN 1 ELSE 0 END) AS neutral_count,
       SUM(CASE WHEN m.sentiment = 'negative' THEN 1 ELSE 0 END) AS negative_count
FROM mindsdb_youtube.comments AS c
JOIN yt_sentiment_classifier AS m
WHERE c.channel_id="UC5_wBOLCWath6q1iTgPPD5A"
GROUP BY c.channel_id;

And, the count of positive, neutral, and negative comments for each video in a channel.

SELECT c.channel_id,
       c.video_id,
       SUM(CASE WHEN m.sentiment = 'positive' THEN 1 ELSE 0 END) AS positive_count,
       SUM(CASE WHEN m.sentiment = 'neutral' THEN 1 ELSE 0 END) AS neutral_count,
       SUM(CASE WHEN m.sentiment = 'negative' THEN 1 ELSE 0 END) AS negative_count
FROM mindsdb_youtube.comments AS c
JOIN yt_sentiment_classifier AS m
WHERE c.channel_id="UC5_wBOLCWath6q1iTgPPD5A"
GROUP BY c.channel_id, c.video_id;

Now, let’s connect MindsDB to Tableau to visualize the results.

  1. Per channel:

  1. Per channel’s videos:

Tableau offers a variety of charts and diagrams. Feel free to choose the one that fits your use case best.

There you have it. That's how you can visualize how your audience perceives your content.

Further, you can use the predicted sentiment values and create a personalized chatbot that replies to YouTube comments.

Sentiment analysis: a powerful tool

Analyzing sentiment in customer comments and reviews is crucial for businesses, as it provides insights into customer satisfaction and dissatisfaction.

It can also help identify areas for improvement. Positive sentiment highlights strengths and successful strategies, guiding companies in reinforcing positive aspects of their products or services. Conversely, negative sentiments give businesses a chance to address customer concerns promptly, enhancing customer relations and overall brand reputation.

Check us out on GitHub to see how you can contribute. Love what we’re doing? Give us a high five and star our repo.