Sentiment Analysis of Amazon Reviews
Analyze sentiment in Amazon product reviews using VADER and TextBlob, visualize score distributions, and identify most positive and negative reviews.
What this AI workflow does
This AI Data Analyst workflow loads a sample of the Amazon Fine Food Reviews dataset from a URL and summarizes dataset shape and star rating distribution. It generates VADER sentiment scores for each review and adds them as new columns for analysis. It visualizes sentiment score distributions and their relationship to star ratings, then extracts the most positive and most negative review excerpts with scores.
Who this example is for
This is for analysts and data scientists who want a reproducible notebook pattern for sentiment scoring and basic validation against existing labels like star ratings. It is also useful for NLP learners comparing lexicon-based sentiment methods and reviewing edge cases by inspecting extreme examples.
Expected analysis outcomes
These are the results the AI workflow is expected to generate.
- Dataset shape and star rating histogram
- VADER sentiment scores appended as new columns
- Histogram of compound sentiment scores
- Scatter plot comparing sentiment scores to star ratings
- Three most positive and three most negative review excerpts with sentiment scores
Tools and libraries used
Main Python packages and tooling used to run this AI data analysis task.
- pandas
- nltk
- vaderSentiment
- textblob
- matplotlib
- seaborn
Prompt sequence
This is the exact list of prompts used in this workflow. The same prompt sequence is sent to each model so outputs and scores can be compared fairly.
- 1load the reviews dataset https://raw.githubusercontent.com/pplonski/datasets-for-start/refs/heads/master/amazon-fine-food-reviews/amazon_fine_food_reviews_10k.csv and show shape and rating distribution
- 2compute sentiment scores using VADER for each review
- 3plot sentiment score distribution and compare with star ratings
- 4show the 3 most positive and 3 most negative reviews
Model Comparison
We compared several LLM models on the same analysis task. The table below shows their scores side by side. You can also open each model run to check the full conversation and notebook results.
| Model Source | Score | Task | Execution | Output | Reasoning | Reliability | Run |
|---|---|---|---|---|---|---|---|
| gemma4:31b | 10/10 | 2/2 | 2/2 | 3/3 | 2/2 | 1/1 | Open gemma4:31b conversation |
| gpt-oss:120b | 10/10 | 2/2 | 2/2 | 3/3 | 2/2 | 1/1 | Open gpt-oss:120b conversation |
| qwen3-coder-next | 9/10 | 2/2 | 2/2 | 3/3 | 1/2 | 1/1 | Open qwen3-coder-next conversation |
| glm-5.1 | 8/10 | 2/2 | 2/2 | 3/3 | 1/2 | 0/1 | Open glm-5.1 conversation |
| gpt-5.4 | 8/10 | 1/2 | 2/2 | 2/3 | 2/2 | 1/1 | Open gpt-5.4 conversation |
| qwen3.5:397b | 4/10 | 1/2 | 1/2 | 1/3 | 1/2 | 0/1 | Open qwen3.5:397b conversation |
How scoring works
Each run is graded on five dimensions:
- Task Completion (0-2): how fully the workflow answered the requested analysis task and completed required steps.
- Execution Correctness (0-2): whether generated code is correct, consistent, and likely runnable without major fixes.
- Output Quality (0-3): how well tables, charts, and results match the expected analytical outcomes.
- Reasoning Quality (0-2): clarity and correctness of interpretation, explanation, and conclusions.
- Reliability (0-1): robustness of the run, including low hallucination risk and stable behavior.
The final score is the sum of these dimensions, so total score = 0-10. Higher values indicate more complete, correct, and reliable notebook results for this workflow.
AI Analysis with glm-5.1
This run uses AI with a step-by-step list of prompts to perform the analysis task Sentiment Analysis of Amazon Reviews. Below, you can review the full conversation generated with glm-5.1. After the conversation, we show detailed score cards for this run.
Score cards for glm-5.1 for Sentiment Analysis of Amazon Reviews
Total score: 8/10
Task Completion: 2/2
ExcellentThe workflow loads the dataset, shows shape and rating counts, computes VADER sentiment scores, plots sentiment distribution vs. star ratings, and identifies the 3 most positive and 3 most negative reviews.
Execution Correctness: 2/2
ExcellentThe code shown is syntactically coherent and the outputs indicate it ran successfully, including the dataframe shape, sentiment column, plot, and top/bottom review tables.
Output Quality: 3/3
ExcellentAll expected outcomes are present and semantically correct: shape and rating distribution, sentiment scores added, visualization, and six review excerpts with scores. The outputs match the task requirements well.
Reasoning Quality: 1/2
Needs workThe explanations are mostly correct, but there is some overreach and inconsistency in the narrative, including references to VADER behavior and claims about outputs without direct evidence from the visible notebook content.
Reliability: 0/1
Needs workThe workflow is somewhat fragile because the displayed code uses `display("=== ... ===", top_pos)` rather than a cleaner structured output, and the assistant narrative includes unsupported claims about what the chart shows.
Try MLJAR Studio
Run the same type of AI-powered data analysis on your own datasets with conversational notebooks in MLJAR Studio.
Explore More AI Analysis Examples
Discover additional workflows across categories. Each example includes prompts, conversation outputs, and model-level scoring so you can compare approaches and results.