Why generic sentiment is not enough
The original promise of sentiment analysis — a single positive-or-negative score per message — has aged badly. A negative review that complains about delivery is operationally different from one that complains about quality, and both are different from a complaint about pricing. Lumped together as a polarity score, all three are invisible. Aspect-based sentiment dissolves the lump: each message is decomposed into the aspects discussed and the sentiment expressed about each, so that the resulting analytics align with the way the business is actually organised.
We treat aspect schemas as living artefacts. The categories that matter at launch — service, price, quality, delivery — quickly need to be supplemented with finer ones as the data reveals patterns the original schema cannot express. Our deployments include explicit processes for evolving the aspect taxonomy without invalidating historical reporting, so that the analytics remain comparable across time.
Alongside aspects we track intent (complaint, query, compliment, suggestion, churn signal), emotion where it is operationally useful, and explicit named entities (products, locations, competitors). The combination turns a stream of text into a structured event log that other systems can subscribe to.
- Aspect detection and aspect-level sentiment
- Intent classification (churn, complaint, query)
- Named entity recognition for products and brands
- Sarcasm-aware classification for review channels
- Multilingual scoring with language-aware models
- Explanation snippets for analyst trust


