Sentiment Analysis of Customer Product Reviews
Posted Monday, June 6, 2022
Sentiment analysis can be performed on customer product reviews, open survey responses, and other types of feedback. It can reveal the main topics and show the primary emotion (negative or positive) for every review and for all of them at once.
Sentiment analysis can be used to better understand the main topics for a certain group of people: be it your customers, takeholders in a project, or participants of a conference. It can be used to improve products and to study the weak and the strong sides of competition.
While there are many approaches to sentiment analysis, most tools simply provide the "positive" or the "negative" tag for every review and a list of top keywords. In this article, we will show how you can achieve a much higher level of precision and obtain actionable insight using a combination of visual text network analysis and the latest machine learning tools (such as the BERT AI model). Our methodology, available in InfraNodus, offers in-depth contextual information about your data and shows not only the top keywords, but also the relations between them. As a result, it is possible to discover the nuance and also the structural gaps in your data.
What Can Sentiment Analysis Be Used For?
Sentiment analysis can help better understand the customers' needs and to study the strong and weak points of a product or competition. Here are some interesting questions it can answer:
1. What is the sentiment of the customers about the product based on the product reviews?
2. What are the main topics that tend to come up, and how are they connected?
3. What are the differences between the various star ratings? What are the topics that tend to come up in the negative reviews versus the positive ones? What are the main influencing factors? Product? Customer service? Price?
4. What are the gaps in the product or the service that could be resolved in order to move from 3 stars to 5 stars?
Sentiment Analysis: Step-By-Step Guide
Here is a step-by-step tutorial on performing customer review analysis using InfraNodus:
Step 1: Gather product reviews. You might want to use an online form, a web scraper, or the built-in Amazon Import app in InfraNodus to get the data for any product you're interested in.
You can also copy and paste or import them from any source, such as Trustpilot, App Store, or your own internal database. Save the exported reviews as a text file or a spreadsheet (CSV file) with a designated column for the reviews and another column for any parameter to use as a filter (e.g. the star rating or the product name).
Step 2: Visualize the product reviews as a graph. The words that tend to be used in the same context will have the same color and be closer to each other. The more influential terms are shown bigger on the graph.
Step 3: Use the Analytics Panel to detect the main topical clusters and the connections between them. For example, you might observe that the word "territory" is often used with the words "natural" and "land" (these will be long to the same cluster and have the same color on the graph).
Step 4: Use the Filter Function to see only the high-rating reviews (e.g. 4 and 5) and compare them to the low-rating reviews (e.g., 1 and 2). Notice which topics in the Analytics panel are more important for the both types of reviews. This will provide some very interesting insights about the customers' sentiment: what kind of stuff they don't like and what they enjoy about the product.
You can follow the process above in our Case Study on customer product review analysis.
The video below presents a basic sentiment analysis workflow you can use to analyze open survey questions. Copy and paste the customer feedback responses and visualize them as a graph. InfraNodus will demonstrate the main patterns that tend to emerge and the main topical clusters. You can build two graphs: one for the positive feedback, the other one for the suggestions, so you can compare what already works and what could be improved.
1. Gather the Product Reviews
In order to gather the reviews, you can run an open ended survey using the tools such as Google Forms or Typeform. The results will be saved as a spreadsheet where every row contains the answers of the customer and the columns can be used for categorizing the data (e.g. questions, location, review score, etc.)
It is also possible to import existing reviews and run sentiment analysis on them. InfraNodus has a built-in Amazon product review import tool, which makes it possible to import the reviews for any product from any Amazon site.
Alternatively, it is also possible to get the data from some external sources, such as Trustpilot or App Store. In that case, you will need to use an external tool to get the reviews you need or a web scraping tool. A web scraping tool will simply "scrape" the website you choose and export the text snippets you choose. You will usually need to provide its html class name, so the scraper knows which text to take.
If you don't know which web scraping tool to use, you can try scrapy.org (free, suitable for small and medium projects) or scraperapi.com (paid, suitable for bigger projects, extra features to avoid blocks) if you have some programming knowledge. Alternatively, dataminer.io and Octoparse offer code-less web scraping templates.
2. Visualize the Data
Once you have the reviews, you can import them into a tool of your choice (e.g. InfraNodus) as plain text and visualize them as a graph. We recommend that you save them as a spreadsheet (CSV file) however, so you can provide additional information for every review (e.g. location, product, question, etc)
You can then use the internal machine learning algorithm based on the BERT AI model to detect the sentiment for every review and for all of them at once. Note, that by default InfraNodus uses a faster AFINN dictionary-based model, which identifies the sentiment based on the words used in a review. A more advanced machine learning algorithm will be more precise and slower, but it works for English, Dutch, French, German, Italian, and Spanish languages.
Once you visualize them as a graph, you will see the topical clusters: the concepts that tend to appear in the same context (shown with the same color and closer to each other on the graph). The more influential terms will be bigger. This graph visualization can be used to get a quick overview of the sentiment and the terms used to describe a product.
If your product reviews or survey responses had an additional parameter, such as the location or review score, you can also filter the graph by that parameter in order to see the difference between them.
3. Sentiment Analysis with a Context
Sentiment analysis can go much further than getting a simple "positive" or "negative" tag. It is also possible to extract the top topical clusters used in multiple reviews: words that tend to cooccur together in the same context. This provides a much better undertanding of what the "positive" or "negative" sentiment is about. For example, you might find out that your customers often mention the "price" and the "quality" of your product in the same context. While the word "bad" is associated with the "customer support" experience.
Text network analysis can be very useful for extracting this additional relational information about your product reviews data. It can visualize and analyze the relational patterns present within your texts.
To complete your sentiment analysis workflow, you should be able to get the following insights:
- • The top topical clusters (recurring patterns and ideas)
- • The most influential terms (top keywords)
- • Sentiment analysis (positive vs. negative reviews and their relative share)
- • Structural gaps — which clusters are not connected (useful for new product ideas)
- • Relations — e.g. the word "X" top related words are "Y" and "Z"
Another useful approach is to select some of the more obvious nodes on the graph and to remove them. This way you will see the sentiment, topics and words that may be not very visible on the surface, but play an important role in the discourse. Remove a few words and reiterate the analysis above.
4. Compare Positive vs Negative Reviews
Sentiment analysis can be performed in multiple ways, which can be separated into two categories: dictionary-based models (e.g. AFINN) and AI-based machine learning models (e.g. BERT AI). The dictionary-based models will give every word contained in a text a positive (1) / negative (-1) / neutral (0) score. If the whole review has a score above 0 it is marked as "positive". If the score is less than 0, then the statement is negative. Obviously, dictionary-based approaches are not very precise and require custom dictionaries. Machine learning models for sentiment analysis are much more precise. They use pre-trained AI models to guess the most likely sentiment for a text statement. This provides a much higher level of precision and can be used for multiple languages.
It can be very interesting to compare the positive and the negative sentiment in order to understand what are the different terms used in each of those contexts. This can provide some very interesting insight on the strong / weak sides of a product and reveal the terms and the concepts used with the positive and with the negative connotation.
This approach can be useful not only for studying your own products but also the competition. For instance, you might learn that your competitor's product has numeous negative reviews that mention its build quality. You can then market superior build quality of your own product.
In order to do that, filter the reviews by positive / negative only and check the topical clusters and the top keywords shown for each category.
Try It Yourself
Learn more about contextual sentiment analysis and try this approach yourself using InfraNodus and your own data:
Sign Up Log In
Custom Sentiment Analysis
Contact us if you are interested in a particular use case or if you would like us to analyze your customer review data or open survey responses for you.
Contact Us