Sentiment analysis means sorting text by the feeling behind it: positive, negative, neutral or mixed, and often by emotion (frustrated, delighted) or by topic (price, delivery, staff). You no longer need special software for small jobs. Paste a batch of reviews, survey answers or customer emails into an AI chatbot, tell it exactly which labels to use, and ask for the results as a table. For a few dozen items at a time, it’s fast and surprisingly accurate.
The catch is what you’re pasting. Customer emails, patient feedback and staff survey comments are exactly the kind of data you shouldn’t send to a cloud service casually. Here’s how to do sentiment analysis with AI, how far to trust it, and how to keep the text on your own device.
What is sentiment analysis? #
Traditionally, sentiment analysis was a machine learning task: a model trained on labeled examples would score each sentence from negative to positive. Businesses used it to track brand mentions, sort support tickets and summarize app reviews at scale.
Large language models changed who can do it. Because they understand instructions, you can describe the labels you want in plain English and get a usable result without training anything. They also handle the things older tools struggled with:
- Mixed opinions. “The food was great but we waited an hour” is positive about food, negative about service.
- Aspect-based sentiment. Scoring separate topics within one review.
- Emotion, not just polarity. Angry, disappointed, confused and anxious call for different responses.
- Reasons. An LLM can say why it chose a label, which makes checking its work easy.
How to do sentiment analysis with an AI chatbot #
- Collect the text. Copy reviews, survey answers or messages into a plain list, one item per line, each with a number.
- Remove what the task doesn’t need. Names, email addresses, order numbers and phone numbers don’t affect sentiment. Strip them, especially before using a cloud service.
- Define your labels. Decide exactly which categories you want and what each means. Vague labels give inconsistent results.
- Paste a batch with a clear prompt. Twenty to fifty short items is a good batch size (more on this below).
- Ask for a table. One row per item, so you can copy it into a spreadsheet.
- Spot-check. Read ten or twenty items yourself and compare. If the AI disagrees with you often, tighten the label definitions.
- Ask for the themes. Once items are labeled, ask for a summary of what drives the negative ones.
Prompts that work #
Basic labeling:
Label each numbered review below as Positive, Negative, Neutral or Mixed. Return a table with columns: #, Label, Main reason (under 8 words). Don’t skip any. [numbered reviews]
By topic (aspect-based):
For each review, score these topics as Positive, Negative or Not mentioned: Price, Quality, Delivery, Customer service. Return a table with one row per review.
Emotion and urgency:
For each customer message, give the main emotion (angry, frustrated, confused, satisfied, happy) and an urgency level (high, medium, low). Flag any message that mentions cancelling or a refund.
Themes with evidence:
Across all the Negative and Mixed items, list the five most common complaints, how many items mention each, and one short quote for each.
Consistency check:
Here are the labels you gave earlier. Re-read items 4, 11 and 17. Would you change any label? Explain briefly.
Asking for a reason next to each label is the most useful habit. You can scan the reasons in seconds and catch the item where “sick” meant “great.”
How accurate is AI sentiment analysis? #
For clear-cut text, very good: obvious praise and obvious complaints are rarely mislabeled. Accuracy drops with:
| Tricky case | Example | What helps |
|---|---|---|
| Sarcasm | “Oh great, another update that breaks everything” | Ask it to watch for sarcasm; spot-check |
| Mixed reviews | “Love the app, hate the ads” | Use a Mixed label or aspect-based scoring |
| Slang and domain words | “This bass is sick” | Say what the text is about in the prompt |
| Very short text | “ok” | Allow a Neutral or Unclear label |
| Other languages | Reviews in several languages | Larger models do much better |
Two settings make results more consistent. Use a low temperature, so the model picks the most likely label instead of a creative one, and keep the same prompt for every batch so labels mean the same thing throughout. Our guide to AI settings like temperature explains why.
Treat the output as a fast first pass, not a measurement. If you’re going to report “68% of customers were positive” to anyone, check a sample by hand first.
Why keep feedback data off cloud chatbots? #
Feedback data is often personal data. A batch of support emails can include customers’ names, addresses, order histories and complaints about health or money. Staff survey comments can identify the person who wrote them. Patient feedback can reveal treatment.
With a cloud chatbot, that text is stored on the provider’s servers under its privacy policy and, depending on your plan and settings, may be reviewed or used for training. Many employers restrict it for that reason; see using AI at work without leaking data for what’s usually allowed.
A model that runs on your own device avoids the problem entirely. Personal LLM runs open models like Qwen 3.5 and Gemma 4 on an iPhone or Android phone, with no account and no server. Once a model is downloaded it works in airplane mode, and the reviews or messages you paste never leave the phone. Results come back as rendered tables you can copy into a spreadsheet. For labeling work, Qwen 3.5 4B is a good default, and Qwen 3.5 9B is noticeably more reliable on sarcasm and mixed reviews if your phone has 6 GB of RAM or more. The Precise preset sets a low temperature for you.
How many items can you analyze at once? #
Every chatbot has a limit on how much text it can consider at once, called the context window, and your pasted text, the prompt and the model’s table all share it. On a phone, that window is a few thousand tokens by default, so:
- Short reviews (one or two sentences): about 20 to 40 per batch.
- Longer emails or survey answers: 5 to 10 per batch.
- If the model skips items or starts forgetting the instructions, your batch is too big.
You can raise the context size in the app’s settings on phones with more RAM. Our explainer on why AI forgets what you said covers how the window works.
Attaching a long file for document chat isn’t the right tool here. Document chat searches the file and sends only the passages that match your question to the model, which is great for “what does the contract say about refunds” and wrong for “label every row.” Paste in batches instead.
When should you use a dedicated tool instead? #
An AI chatbot is the right tool for dozens or a few hundred items, one-off projects and anything sensitive. For thousands of rows every week, automated dashboards, or results you need to be exactly repeatable, use a dedicated setup: a spreadsheet add-on, a customer feedback platform, or a sentiment model run from a script. Those give you the same scoring every time and handle volume a chat window can’t.
What about checking your own messages? #
If what you actually want is to know how your own email or text will come across before you send it, that’s tone checking rather than sentiment analysis of other people’s text. We have a separate guide: AI tone checker for messages.
Frequently asked questions #
Can ChatGPT do sentiment analysis? #
Yes. Any capable chatbot can label text by sentiment if you define the labels and ask for a table. Remove personal details first if you use a cloud service, and spot-check the results, especially for sarcasm and mixed opinions.
Is there a free sentiment analysis tool? #
The simplest free option is an AI chatbot with a clear prompt. For private data, an AI app that runs a model on your phone does the same job with nothing uploaded. For large, repeating jobs, free open-source sentiment models exist but need some technical setup.
How accurate is AI at detecting sentiment? #
Very accurate on clear praise or complaints and less reliable on sarcasm, mixed reviews, slang and very short answers. Asking for a reason next to each label and checking a sample by hand keeps errors visible.
What is aspect-based sentiment analysis? #
It scores sentiment separately for each topic mentioned in a piece of text. A restaurant review might be positive about food and negative about service. With an AI chatbot, you list the topics you care about and ask for a score for each.