How to analyze sentiment of Help Scout Support Tickets & Chats with generative AI

Sentiment Analysis
Help Scout

As a customer support team, it’s important to quickly address your customers’ concerns. Standard measurements such as CSAT scores and resolution times can provide some insight into how well the team is meeting customer needs. However, to go a level deeper an identify deeper trends and make improvements, you need to directly evaluate your teams customer communications. In this post, we’ll show you how to use generative AI to automatically perform sentiment analysis on Help Scout support tickets and chats.

What is Sentiment Analysis?

Sentiment analysis is a natural language processing (NLP) technique that involves using machine learning algorithms to automatically identify and extract the emotions or opinions expressed in a given piece of text.

The algorithms are trained on a labeled dataset of text samples, where each sample is labeled with its corresponding sentiment (positive, negative, or neutral). The model learns to recognize patterns and features in the text that are associated with different emotions, and uses these patterns to predict the sentiment of new, unseen text.

Sentiment analysis has many applications, such as customer feedback analysis, social media monitoring, and market research. It's a powerful tool for organizations that want to understand how people feel about their products or services, or to track public opinion on different issues. It can help automate tasks and extract valuable insights from large amounts of text data.

Example Use Cases

Some use cases for performing sentiment analysis Help Scout support tickets and chats include:

  • Automatically detect and classify agent sentiment and tone
  • Automatically detect and classify customer sentiment
  • Quickly identify opportunities for coaching and feedback for agents
  • Assess root causes of poor customer experience and low CSAT scores
  • Improve customer satisfaction and experience

Teams that might find these use cases helpful include: customer support, customer success, product, marketing, and operations.

Accessing your Data and confirming your sentiment scale

You first need to identify the data that you want to work with. Here, we are looking at Help Scout support tickets and chats. You can extract this data using the Help Scout API, export it in CSV format, query a list of tickets from your data warehouse or BI tool, or copy and paste with an example ticket.

For more information on the Help Scout API see here: https://developer.helpscout.com/

Next, you need to confirm the sentiment scale you will use for assessing customer sentiment. Typically - sentiment is measured on a scale of -1 (most negative) to 1 (most positive). You also may assign sentiment ratings.

Here is an example of a sentiment rating scale:

  • Very Positive
  • Positive
  • Neutral
  • Negative
  • Very Negative

Once you have your data and sentiment scale, you can use generative AI to automatically assess the sentiment of your Help Scout support tickets and chats. This will help you improve the quality and consistency of your customer support. This can help you both reduce churn and improve the efficiency of your support team.

Using AirOps to perform Keyword Identification

With AirOps, you can easily extract relevant keywords and phrases from your text-based data using the Keyword Identifier data app. Here's how:

  1. Select "Keyword Identifier" from the Data Apps page. The input required for Keyword Identifier is the "text_field" which is the input text data.

  2. Decide where you want the analysis to be performed and stored. The Keyword Identifier data app can be easily used in the AirOps Data App page and via API, but in this example, the analysis will be performed in Snowflake through an external function called AIROPS_KEYWORD_IDENTIFIER.

    Here is an example SQL query:

    SELECT
    AIROPS_KEYWORD_IDENTIFIER(text_field) as result
    FROM
    your_table
  3. Execute the keyword extraction analysis by running the SQL query. The output will contain an array of keywords and phrases extracted from the input text data.

    Example Input:

    "Hello, I am having trouble with my account. I cannot seem to log in and I have tried resetting my password multiple times."

    Example Output:

    "keywords": ["trouble", "account", "log in", "resetting", "password", "multiple times"],"summary": "A customer is having trouble logging into their account and has tried resetting their password multiple times."

Using AirOps to perform Sentiment Analysis

With AirOps, you can easily perform sentiment analysis on any text data such as reviews, support tickets, or sales calls using Sentiment Analyzer. Here’s how:

  1. Select "Sentiment Analyzer" from the Data Apps page. The only input for Sentiment Analyzer is some text to analyze.

  2. Decide where you want the analysis to be performed and stored. The Sentiment Analyzer data app can be easily used in the AirOps Data App page and via API, but in this example, the analysis will be performed in Snowflake through an external function called AIROPS_SENTIMENT_ANALYZER.

    Here is an example SQL query:

    SELECT
    AIROPS_SENTIMENT_ANALYZER(text_field) as result
    FROM
    your_table
  3. Execute the sentiment analysis by running the SQL query. The output will contain a sentiment score and sentiment summary, as well as a list of positive and negative keywords extracted from the input text data.

    Input:

    "I'm sorry to say that I had a terrible experience with your product. The customer service was unresponsive and the product didn't work as advertised."

    Output:

    "positive_keywords": [],"negative_keywords": ["terrible experience", "customer service", "unresponsive", "product", "didn't work", "advertised"],"score": -0.8,"sentiment": "Very Negative"

Using AirOps to perform Text Classification

With AirOps, you can easily perform classification using generative AI. Here’s how:

  1. Select "Text Classifier'' from the Data Apps page. Below are the possible inputs for Text Classifier.text_field: The input text data.categories (optional): Categories can be specified as a comma-separated list. Leave empty for automatic determination.multi_category: Set to “true” if the text can belong to multiple categories, or “false” if it can only belong to one category.

  2. Decide where you want the analysis to be performed and stored. The Text Classifier data app can be easily used in the AirOps Data App page and via API, but in this example, the analysis will be performed in Snowflake through an external function called AIROPS_CLASSIFIER.

    Here is an example SQL query:

    SELECT
    AIROPS_CLASSIFIER(text_field, categories, multi_category) as result
    FROM
    your_table
  3. Execute the classification analysis by running the SQL query. The output will contain a list of keywords extracted from the input text data that are relevant to the identified categories and a list of categories that the input text data belongs to based on the provided categories or automatic determination.

Want to build your own LLM Apps with AirOps👇👇