Sentiment Analysis in Bahasa Indonesia: How It Works
How AI labels mentions as positive, neutral or negative, why Bahasa Indonesia is challenging, and how to use the results.

Sentiment analysis is the process of assessing the tone of a text: whether the writer is positive, neutral or negative toward a topic. In PR and communications, that text can be a news story, a social media post, a comment or a review.
With thousands of mentions a day, reading them one by one is no longer possible. Sentiment analysis helps teams see the big picture quickly: whether the conversation about the organization is getting better or worse, on which channel, and where the problem is.
This guide covers how sentiment analysis works, why Bahasa Indonesia is challenging, its limits, and how to use the results in day-to-day PR work.
How does sentiment analysis work?
Modern platforms use AI models trained to understand language. Each mention is read and labeled:
- Positive: praise, support or good news. Example: "Service at the district office is really fast now."
- Neutral: information without judgment. Example: "Program registration opens on Monday."
- Negative: complaints, criticism or bad news. Example: "My order still hasn't arrived after two days."
These labels are then summarized into sentiment share per day, per channel or per topic, so trends and anomalies stand out.
From word lists to language models
Older approaches used word lists: "good" counts as positive, "bad" as negative. That is fast but easily wrong. "Not bad" is counted as negative, and "great, three hours in line" as positive. Modern language models read the whole sentence, including negation, context and word order, so they are far more accurate on everyday conversation.
Sentiment toward what?
One sentence can hold more than one attitude. "The program is great, but registration is a hassle" is positive about the program and negative about registration. That is why sentiment is most useful when read together with its topic: what is being praised, and what is being complained about.
Why is Bahasa Indonesia challenging?
Models trained mainly on English often misread Indonesian conversation. Some reasons:
- Informal language and slang. Social media is full of words like "gercep" (quick to act), "mantul" (excellent) or "zonk" (a letdown) that are not in any dictionary.
- Sarcasm. "Mantap, antre tiga jam" ("Great, three hours in line") is clearly a complaint, even though its first word is positive.
- Code-mixing. Indonesian is often mixed with English and regional languages in a single sentence.
- Local context. Places, programs and public figures known only in Indonesia.
- Free spelling. One word can be written many ways, with repeated letters, numbers in place of letters, or no spaces.
Examples that are often misread
|
Sentence |
At a glance |
What it means |
|---|---|---|
|
"Mantap, antre tiga jam" (Great, three hours in line) |
Positive |
Negative (sarcasm) |
|
"Gak nyangka secepat ini prosesnya" (Didn't expect it to be this fast) |
Negative ("gak", not) |
Positive (pleasantly surprised) |
|
"Info: jalan ditutup sampai Jumat" (Notice: road closed until Friday) |
Negative ("closed") |
Neutral (announcement) |
|
"Ya udah lah, seperti biasa" (Oh well, same as always) |
Neutral |
Negative (disappointed) |
That is why sentiment analysis for Indonesian conversation must be tuned to the Indonesian context, not simply translated from a global model.
Limits to keep in mind
AI can make mistakes, especially with ambiguous sentences or subtle sarcasm. Use sentiment to read trends and find mentions that need attention, then verify the important ones before making decisions. A few things help:
- Read the examples. When negative share rises, open a few of the top mentions to make sure the labels make sense.
- Do not chase a perfect percentage. What matters is the direction of change and its trigger, not a difference of one or two points.
- Involve analysts. Human analysts help read context a machine misses, such as local politics or new slang.
How to use sentiment results
- Watch change, not a single number. 20% negative sentiment means nothing without a baseline. A jump from 8% to 20% in a day is a signal.
- Split by channel. Sentiment in news and on social media often differs. Read both.
- Find the trigger. When negative sentiment rises, look for the topics, sources and regions driving it.
- Prioritize by influence. One negative story from a major outlet can matter more than dozens of posts from small accounts.
- Close the loop. After a clarification or a service fix, check whether sentiment improves. That is evidence of communications impact you can report to leadership.
Example: reading a spike in negative sentiment
This illustration is not a client case study. An agency's negative sentiment share rises from 9% to 24% in one day. The team breaks it down:
- By channel: almost all of the increase is on social media, while news coverage stays neutral.
- By topic: most negative mentions discuss an outage of one online service.
- By region: most complaints come from two cities.
- By influence: one local news account with a high influence score picks up the complaints.
From here the steps are clear: confirm the outage with the technical unit, announce an estimated fix time on official channels, and give that local news account accurate information. Without this breakdown, 24% only causes worry without direction.
Sentiment, topic and source: read them together
Sentiment only answers direction: positive, neutral or negative. Two negative mentions can be very different: one angry because a service stopped, one disappointed because an expectation was not met. To understand the difference, read sentiment together with two other things:
- Topic: what is being discussed, such as price, queues or service quality. Topic shows what needs fixing.
- Source and its influence: who is speaking and how far their voice carries. This shows how fast to respond.
Together, the three turn a sentiment number into a list of actions: which topic to clarify, on which channel, and to whom.
Sentiment analysis in Qola
In Qola, every mention from national news, regional news and six social networks is labeled positive, neutral or negative with Indonesian context. You can see the share per channel and per day, and every source gets an influence score from 0–10 so the team knows what to respond to first. Spikes in negative sentiment are flagged through early warning, and Qola analysts can help the team read the trigger. See also what is media monitoring.
Frequently asked questions
How accurate is automatic sentiment analysis?
For reading trends, automatic sentiment analysis is already very helpful. For a single important mention, such as a statement by a public figure or a story from a major outlet, still read and verify it yourself.
Can it recognize sarcasm?
Modern language models recognize many common sarcasm patterns, such as praise followed by a complaint. Very subtle sarcasm, or sarcasm that depends on local context, can still slip through, which is why analyst support remains useful.
Are emoji taken into account?
Emoji are often a clue to tone, especially on social media. But the same emoji can mean different things, such as laughing with joy or laughing in mockery, so they are read together with the sentence.
Why do news and social media sentiment differ?
News tends to be neutral because it is written in a journalistic style, while social media carries direct opinion. That is why rising negative sentiment on social media often shows up first, before the same issue reaches the news.
Summary
- Sentiment analysis labels every mention as positive, neutral or negative.
- Bahasa Indonesia is challenging because of informal language, sarcasm, code-mixing and free spelling.
- Read sentiment as a trend, broken down by channel, topic, region and source influence.
- Verify important mentions and involve analysts for subtle context.