AI Methodology
AI Sentiment Analysis for Guest Feedback: How to Trust the Labels

AI sentiment analysis is only useful when you can prove how often it gets your guest comments right. Not a vendor demo dataset. Not a generic benchmark. Your own messy mix of “fine, but…”, polite British understatement, site-specific slang, and the occasional genuinely serious allegation that must never be missed.
Most operators buy a sentiment dashboard, roll it out estate-wide, then waste months in circular arguments. Marketing says the venue is “improving” because positives are up. Ops says the AI is “wrong” because it labelled a clearly unhappy comment as neutral. Both are usually right, because nobody agreed what “accurate” means for hospitality feedback, and nobody ran a basic evaluation.
This piece gives you a lightweight QA method you can run in a week: build a small labelled dataset, measure a confusion matrix, review the failure cases that matter, and monitor drift over time. You will end up with realistic expectations for survey text analytics, plus an evidence-based way to improve it.
“Accuracy” is not one number, and hospitality is the reason why
Sentiment analysis accuracy gets talked about like it is a single percentage. “The model is 92% accurate.” That figure is close to meaningless unless you know: accurate on what, compared to whose labels, and with which definition of “sentiment”.
Hospitality feedback makes this worse because guests rarely write in clean emotional buckets. They write in trade-offs. “Lovely staff, food took ages.” “Great vibe, toilets could do with attention.” If your system forces a single label, you immediately get disagreement, including between humans.
So when you evaluate AI sentiment analysis, start by stating what the labels are for. In hospitality, sentiment labels tend to be used for three different jobs:
Trend tracking: are we improving week on week?
Operational triage: which comments need action today?
Root cause analysis: what themes are driving negativity?
These require different tolerances for error. Trend tracking can cope with some noise if it is consistent. Triage cannot, because one false negative on hygiene or discrimination is not “noise”, it is risk.
The most useful definition of sentiment analysis accuracy in hospitality is not “overall correctness”. It is: how often do we misclassify the comments where misclassification hurts?
Neutral and mixed sentiment are not edge cases, they are the default
If you only use Positive, Neutral, Negative, you will fight about Neutral forever. In hospitality, Neutral usually means one of three things:
Genuinely flat: “It was fine.”
Mixed: “Food was great, service was slow.”
Polite negative: “Fine, but not worth the price.”
Those are operationally different. Mixed is often your most actionable category because it tells you what to keep and what to fix. Polite negatives are where UK brands get blindsided. Guests avoid sounding harsh, then never return.
Sarcasm is another trap. “Amazing, waited 40 minutes for mains” reads positive to a naive classifier. A human sees the eye-roll immediately. The same goes for faint praise, which is common in guest comments: “Staff were alright.” “It did the job.” That is rarely positive.
If you want sentiment labels you can trust, define them in operational terms, not emotional terms. For example:
Positive: would happily repeat, no material issues raised.
Negative: a clear problem that would reduce likelihood to return.
Mixed: at least one strong positive and at least one material negative.
Neutral: informational or low-affect, no clear signal either way.
Even if you ultimately collapse to three labels in reporting, creating a mixed category for evaluation will reveal where the model struggles and where your team disagrees.
A 200-comment test set beats 20,000 unlabelled comments
You do not need a data science team to evaluate survey text analytics. You need a small, representative test set and the discipline to label it consistently.
A simple approach that works for multi-site operators:
Pull 200 real guest comments from the last 4 to 8 weeks.
Sample across at least 5 sites if you have them.
Include different channels if you use them (post-visit surveys, QR feedback, email replies).
Include all languages you actually receive, not just English. If 15% of your comments are Spanish and Polish, your test set should reflect that.
Two hundred is not magic. It is just enough to expose patterns without turning into a research project. If you have a very large estate, go to 300 or 500. If you are a single site, 100 can still be revealing.
Label it like you mean it
The biggest failure mode in LLM evaluation for sentiment is vague labelling. If two managers cannot agree whether “It was ok, but pricey” is neutral or negative, your AI will not save you.
Do this instead:
Create a one-page labelling guide with 5 to 10 examples that match your brand voice and guest style.
Use two human labellers for at least 50 of the comments to check alignment.
When you disagree, do not average it out. Decide the rule, update the guide, and relabel.
You are not trying to discover the one true sentiment of the universe. You are setting a standard your operation can use.
The confusion matrix: the only sentiment chart that ends arguments
Once you have human labels and AI labels for the same comments, you need a confusion matrix. This is where sentiment analysis stops being vibes and becomes measurable.
A confusion matrix shows, for each true label, what the model predicted. Here is a simple 3-class example:
True \ Predicted | Positive | Neutral | Negative |
|---|---|---|---|
Positive | 62 | 11 | 2 |
Neutral | 14 | 41 | 10 |
Negative | 3 | 12 | 45 |
From this, you can calculate:
Overall accuracy: how often the label matches.
Precision for Negative: when the model says Negative, how often is it correct?
Recall for Negative: of all truly Negative comments, how many did it catch?
In hospitality, recall on Negative usually matters more than precision, because missing problems costs you. But you cannot set that rule blindly. If your AI flags half your comments as negative, your managers will ignore it.
The confusion matrix also tells you exactly what kind of wrong you are dealing with. A model that confuses Neutral and Mixed is annoying. A model that turns Negative into Neutral is dangerous.
If you only do one thing after reading this post, do the confusion matrix and read the misclassified comments out loud in your ops meeting. It changes the conversation immediately.
Review the failures that matter: hygiene, safety, discrimination, and “contact me”
Overall accuracy hides the failures that blow up your week.
When you review misclassifications, separate them into two buckets:
Brand and performance negatives: slow service, value for money, portion size, music too loud.
Critical issues: illness, injury, hygiene, harassment, discrimination, accessibility, safeguarding, explicit requests for contact.
You can tolerate some wobble in bucket one. You should be ruthless on bucket two.
This is where you need to separate sentiment from severity. A guest can write a severe issue in calm language: “Just to let you know, my child was sick afterwards.” Sentiment might read neutral. Severity is high.
So build a second label into your evaluation, even if it is crude:
Severity: Normal vs Critical
Now you can run a second confusion matrix: Critical detection. The goal is not pretty dashboards, it is not missing the comments that require immediate follow-up.
A practical rule for review sessions: pull every false negative where a human marked Critical and the AI did not. There will not be many in a 200-comment set, but you only need a few examples to see whether you have a real risk.
Multilingual sentiment analysis: test per language, not “average across the estate”
Multilingual sentiment analysis fails in quiet ways. Not because the model cannot translate, but because hospitality language is local.
Examples that commonly misfire:
Polite forms that soften negativity.
Idioms that translate badly.
Code-switching in the same comment: “Service was slow pero la comida was amazing.”
Non-native English where grammar looks “neutral” but the meaning is clearly negative.
If you operate in more than one language, do not accept a single blended accuracy figure. Break your confusion matrix down by language, even if the sample sizes are smaller. You are looking for directional truth: is the model materially worse in, say, French than English? Does it over-label Neutral because it is uncertain?
If your volumes are low in a language, you can still test effectively by intentionally sampling older comments until you have at least 30 to 50 in that language for evaluation. The goal is to avoid rolling out a system that is “great in English” and silently unreliable elsewhere.
Drift is guaranteed: menus change, pricing changes, and guest expectations move
Sentiment models do not “wear out”. Your operation changes around them.
Drift in hospitality often comes from:
A new menu or supplier change, where guests start using new descriptors.
Pricing moves, where “value” language spikes overnight.
A service style change, for example moving to app ordering, where “ignored” becomes a common phrase.
Refurbishments, seasonal staffing, new opening hours.
If you only validate once at rollout, your confidence decays. The fix is simple: treat evaluation as a routine, not a one-off.
A lightweight monitoring approach:
Every month, pull 50 recent comments, label them quickly, and re-run the confusion matrix.
Trigger an extra check when you make a major change: menu relaunch, price increase, new GM, big staffing shift.
Keep a running log of “new language” that appears, especially around value, cleanliness, and wait times.
You are not trying to chase perfect accuracy. You are trying to catch when the system stops being trustworthy.
Where this lands in the real world: dashboards, triage, and whether teams actually use it
Even a well-evaluated sentiment model will still be wrong sometimes. The question is whether it is wrong in ways your teams can live with.
If you are using sentiment for trend reporting, you can often smooth noise by reporting weekly or monthly and focusing on direction. If you are using it to drive action, you need guardrails: critical issue detection, escalation rules, and a way for managers to correct labels without turning it into a second job.
This is one reason platforms built for hospitality do better than generic tooling. In Active Insight, the practical focus is not just “label the comment”. It is picking up when a guest describes something serious, routing it as a critical issue, and giving ops teams enough context to act quickly, especially when the original wording is polite or vague.
If you take one operational principle from this: do not ask sentiment to do the job of severity. Keep them separate, measure both, and your teams will stop arguing about whether the AI is “right” and start using it to get better.
Frequently Asked Questions
What is a good sentiment analysis accuracy target for hospitality feedback?
There is no single target that matters. Set targets per use case: for trend reporting you can tolerate lower accuracy, but for triage you should prioritise high recall on negative and critical issues. The right target is the one that prevents missed serious complaints and keeps manager workload realistic.
How big should my labelled dataset be for LLM evaluation?
Two hundred comments is a strong starting point because it is large enough to expose common misclassifications but small enough to label quickly. If you operate in multiple languages, increase the sample so you have meaningful coverage per language.
Why do I need a confusion matrix instead of just “accuracy”?
A confusion matrix shows you what kind of wrong the model is. In hospitality, confusing negative as neutral is far more damaging than confusing neutral as mixed, and a single accuracy number hides that.
How do I handle mixed sentiment comments in survey text analytics?
Treat mixed as a real category during evaluation, even if you later collapse it for reporting. Mixed comments are common in hospitality and often contain the most actionable detail, so forcing them into positive or negative creates artificial disagreement.
What should I do about sarcasm and polite language like “fine, but…”?
You will not eliminate these errors entirely, even with strong models. The practical fix is to label enough real comments that include understatement and sarcasm, review the failure cases, and use severity detection to catch serious issues even when the tone is calm.
How do I monitor drift after rollout?
Re-run a small evaluation monthly, and do an extra check after major changes like price moves, menu relaunches, or service model shifts. Track whether your confusion matrix gets worse over time, especially false negatives on negative and critical categories.
Hear what your customers are not telling you
Book 15 minutes and we will show you Active Insight running on your topics, or start with a free audit of your public reviews.

Active Insight is built by Service Monitor, the UK customer experience company measuring service for hospitality, leisure, and retail operators every day. Our other services include:

