The problem

Overall sentiment on a review is close to useless. “3 stars” or “negative” tells a product team nothing they can act on. What they need to know is which aspect of the product the customer was reacting to — the fit, the noise, the battery, the support experience — and how the sentiment on each one is moving.

That is a harder modelling problem: a single sentence can carry opposite sentiment about two different aspects, and the aspects themselves differ by domain.

What I built

I led MVP development of an aspect-based sentiment analysis platform, offered as SaaS, doing four things:

  • Categorise data by aspect and topic — extracting what a piece of text is actually about, at a finer grain than document-level labels.
  • Attribute sentiment to individual aspects, so one review can register as positive on comfort and negative on price.
  • Detect emotion, beyond the positive/negative axis.
  • Feed voice-of-customer analytics, turning unstructured review text into a dataset a product team can query.

The models were built to target multiple domains rather than a single vertical, which meant the aspect taxonomy had to be adaptable rather than hard-coded.

The outcome

See Voice of Customer Analytics for a client engagement built on this capability.