
TL;DR
- Sentiment means how someone feels about something. Aspect-based sentiment analysis (ABSA) reads a review or comment and works out how the writer feels about each thing they mention, instead of giving the whole text one score. “The battery is great but the screen scratches” becomes positive for the battery and negative for the screen.
- That shows a team exactly which part of a product people like or dislike. To teach a computer to do this, you need example reviews in which people have marked each thing mentioned and the feeling toward it.
Key Takeaways
- It scores each part, not the whole text. One review can praise one thing and criticise another, and ABSA keeps both visible.
- It does two jobs. First it finds what the text talks about, then it decides how the writer feels about each thing.
- Teaching a computer this needs specially marked examples. A star rating does not say which part of a product earned it, and the two best-known free collections, of restaurant and laptop reviews, hold only about 3,000 marked sentences each.
- The value shows up in totals. One complaint is an anecdote; however, the same complaint across hundreds of reviews is a trend.
ABSA (aspect-based sentiment analysis) is the part of natural language processing, often called ABSA NLP, that answers a narrower question than “is this review positive?” This article covers the types of ABSA, a worked example, how teams use its output on user feedback, and what training an ABSA model involves.
We do not build ABSA models at Eigenform. We evaluate model output, and the central idea of ABSA, scoring each part instead of the whole, is also how we grade, which is why its evaluation questions are familiar to us.
What Is Aspect-Based Sentiment Analysis (ABSA)?
ABSA (aspect-based sentiment analysis) is an NLP task that identifies the aspects a text discusses and classifies sentiment toward each aspect separately, instead of assigning one sentiment to the whole text. A review can be positive about battery life and negative about the screen, and ABSA records both.
A short aspect based sentiment analysis example shows the difference. Take the review: “Battery life is excellent, but the screen scratches easily and support never answered my email.”
| Aspect term | Aspect category | Opinion | Sentiment |
|---|---|---|---|
| battery life | battery | excellent | positive |
| screen | display | scratches easily | negative |
| support | customer support | never answered | negative |
In short, sentiment analysis vs aspect based sentiment analysis comes down to granularity. Standard sentiment analysis would label this review once, probably as mixed or negative, and the label would not say which part of the product earned it.
A score with no breakdown has the same limit in model grading: in an LLM judge that cannot invent a score, every answer is graded component by component, because a bare 8 does not show which requirement was missed.
Types of Aspect-Based Sentiment Analysis
The standard ABSA tasks were set out in SemEval-2014 Task 4, which defined four subtasks on restaurant and laptop reviews: aspect term extraction, aspect term polarity, aspect category detection and aspect category polarity. They map onto four types of work.
Aspect extraction (explicit vs. implicit aspects)
Aspect extraction finds what is being discussed. Explicit aspects appear by name in the text, such as “battery life” above. Implicit aspects are not: “it dies by lunchtime” is about the battery without using the word. A model can extract explicit terms as spans of text, while implicit ones usually need handling at the category level, which is harder.
Aspect-category sentiment classification
Here the aspects come from a predefined set of categories, such as price, food or service, and the model classifies sentiment toward each. For example, a sentence can express a category without naming any term: “too expensive” is about price. Labels are typically positive, negative and neutral, and SemEval also used a conflict label for mixed sentiment on one category.
Aspect-term sentiment classification
Here the aspect term is given, and the model classifies sentiment toward that specific term. In the example above, the model receives the term “screen” and returns negative. The same sentence can hold several terms with opposite labels, which is why a model must condition on the term and not on the sentence alone.
End-to-end and joint ABSA models
Joint models extract aspects and classify sentiment in one pass, so errors in the first step do not silently reach the second. Compound tasks extend this: triplets pair an aspect, an opinion and a sentiment, and quadruples add the aspect category. The table above is a set of triplets.
User Feedback Integration: Aspect-Based Sentiment Analysis Use Cases
User feedback integration aspect-based sentiment analysis pipelines work the same way regardless of source. Text arrives from product reviews, support tickets, app-store feedback or survey responses.
The pipeline cleans and deduplicates it, ABSA labels each aspect and sentiment, and the team aggregates the output by aspect, time, product version or customer segment.
The aggregate is the point. One negative comment about delivery is an anecdote; delivery sentiment falling over three releases is a decision input. Typical uses:
- Product decisions. Rank aspects by negative share and volume, so the backlog reflects what users complain about and not just what they mention most.
- Support routing. Tag tickets by aspect, so a billing complaint and a login complaint reach different teams.
- Release tracking. Compare aspect sentiment before and after a change, to see whether a fix landed.
- Survey analysis. Turn free-text answers into aspect-level scores that sit alongside the closed questions.
In user feedback integration, aspect-based sentiment analysis has one hazard: small volumes. A trend built on a few dozen mentions per aspect can reflect noise, so each aspect needs enough volume before its movement is read as a change.
How to Train an ABSA Model
Training an ABSA model means choosing data, an approach and an evaluation that fit the two sub-tasks. This section stays at the level of requirements.
Data requirements: aspect-labeled vs. generic sentiment datasets
A generic sentiment dataset has one label per review. An ABSA dataset needs more: the aspect terms marked in the text, their categories if the task uses categories, and a sentiment label for each. Nobody can convert a star-rating dataset into one, because the rating says nothing about which aspect earned it.
Public benchmarks exist, mainly the SemEval restaurant and laptop review sets, and their training portions are small, about 3,000 sentences each. As a result, for a specific domain you will usually label your own. That makes the annotation guidelines the most consequential document in the project.
They must settle what counts as an aspect: SemEval’s guidelines, for example, do not tag a reference to the restaurant as a whole as an aspect term. Ground truth data for AI is only as reliable as the rules behind it.
So test the guidelines on examples with known labels before scaling up, as in testing the rubric before testing the model.
Model approaches: rule-based, traditional ML, fine-tuned transformer models
- Rule-based. Sentiment lexicons plus syntactic patterns that link opinion words to aspect terms. Transparent and needing no training data, but brittle on informal text and unfamiliar phrasing.
- Traditional machine learning. Classifiers such as SVMs or sequence taggers over hand-built features. SVM-based systems were common among SemEval-2014 entrants. They need labeled data and feature work.
- Fine-tuned transformers. A pre-trained model fine-tuned on aspect-labeled data. One standard formulation turns classification into a sentence-pair problem, pairing the review with a constructed sentence about the aspect, as in Sun et al.’s BERT approach. This is the usual choice when labeled data is available.
- LLM prompting. A general language model asked to return aspects and sentiments in a fixed structure. It needs no training, but you should check its outputs for consistency, using the same LLM-as-a-judge discipline as any model-graded output.
Evaluation: aspect-extraction and sentiment-classification accuracy
First, score the two sub-tasks separately. Aspect extraction is usually scored by precision, recall and F1 on the extracted spans. Sentiment classification is usually scored by accuracy given the correct aspect, plus macro-F1, since the classes are unbalanced: in SemEval’s laptop test data, positive aspect terms outnumber negative ones by nearly three to one, and conflict labels are rare. A single end-to-end number hides which step is failing.
Scoring an ABSA model raises the same evaluation-design questions as any other, which AI model evaluation covers in general: the metric should match the task, and the test set should be big enough for the comparison.
On our 50-question benchmark sets, the smallest gap we can detect is 0.27 to 0.45 points out of 10 depending on the set. An ABSA test set has a resolution too, and it should be measured and not assumed.
Common training pitfalls: implicit aspects, sarcasm, domain transfer
- Implicit aspects. Models trained on explicit terms miss “it dies by lunchtime”. Include implicit examples in training and score them separately.
- Sarcasm. “Great, another update that breaks login” contains a positive word and a negative sentiment. Lexicon-based and shallow models misread it; it needs enough labeled examples of the pattern.
- Domain transfer. A model trained on restaurant reviews does not carry over to laptops, because both the aspects and the opinion words differ. Our own benchmark shows the effect on rankings: one model scored lowest of its group on one question set (7.34) and highest on another (8.46), and a 0.35-point gap was real on one set and within noise on another. This is a form of data shift, and model drift in AI covers how performance moves when the inputs change.
FAQs
How is aspect based sentiment analysis different from topic modeling?
Topic modeling discovers themes across a set of documents without labels, and it says nothing about sentiment. Aspect-based sentiment analysis works at the sentence level, finds named aspects, and classifies how the writer feels about each. The two combine well: topic modeling can suggest which aspect categories to define.
Does ABSA work in languages other than English?
Yes, but each language needs its own labeled data or a multilingual model. SemEval-2016 included reviews in several languages, and multilingual pre-trained models can transfer across them. Accuracy usually drops for languages with little labeled data, so test on your target language and not just English.
How do you choose aspect categories?
Start from the decisions the output will inform, then check against real feedback. Keep the set small enough that annotators agree on it, include an “other” category, and avoid overlapping categories. Reviewing a sample of unlabeled feedback often shows aspects you had not planned for before annotation begins.
Is ABSA the same as emotion detection?
No. ABSA classifies polarity, usually positive, negative or neutral, toward each aspect. Emotion detection classifies feelings such as anger, joy or surprise, usually for a whole text. They can be combined, for example by labeling the emotion expressed toward each aspect, but they are separate tasks with separate datasets.
How much labeled data does an ABSA model need?
It depends on the approach. Rule-based systems need none, fine-tuning a pre-trained transformer typically needs a few thousand labeled sentences for a domain, and an LLM with examples in the prompt needs far fewer. Whatever the approach, you need a separate labeled test set to measure how well the model works.


