I’ve been thinking more about automated sentiment analysis, so thought I’d share a few last comments before finding another hobby horse.
I was pretty down on the tech in my last post. I had a few reasons, mainly wrapped up in the fact that I don’t think it does a good enough job to be used in professional communications analytics (which is the area in which it intersects with my day job). And while I accept that it will improve, from experience using it, and unpicking detail about the way it works, I don’t believe it won’t do a good enough job here any time soon.
Of course this isn’t the only thing sentiment analysis in social media monitoring is for – social CRM is a big part of its use too. I didn’t really focus on this last week, but perhaps should have done. Problem is, I think the use cases for analytics and social CRM are somewhat contradictory. Attempting to serve them from the same monolithic “sentiment” tech ends up diluting the value to both applications.
We Brits have many different words to describe different types of rain (see what I did there?) – perhaps we need a few more to pick out the nuances of sentiment analysis.
With this in mind, here are a few suggestions for tech developers and vendors:
- Tune sentiment analysis for social CRM. You have an unhappy customer, you want to resolve their problem. You have a happy (and vocal) customer, you want to thank and encourage them. Great – automated sentiment analysis has the potential to do a good job here. The problem is, right now it doesn’t, I suspect because it’s not tuned for the job. The issue is this: the tech is tuned for accuracy across balanced data sets (ie including an equal proportion of content that doesn’t encode sentiment), but you don’t want that – you want to know about EVERY post that could conceivably contain sentiment, and don’t want to miss a thing: a false positive is MUCH better than a false negative. If you suspect it will cause you to overlook gripe posts, you won’t rely on it, and it won’t save you any time at all. How to fix this? Tune the tech to perform against a 2 point scale – ie with sentiment, and without sentiment. This also ties into my next point…
- Publish case-appropriate metrics for sentiment accuracy. This is going to be sensitive, but hey – we like transparency don’t we? I suspect that data sets used to calculate lab test accuracy scores don’t bear much relation to a typical use case. For social CRM I’d like to know the accuracy only in relation to posts that contain sentiment (I don’t care about correctly identified neutral posts). I’d also like to understand the confidence the technology has in its sentiment score (currently set I suspect on an arbitrary filter optimised for performance in balanced data sets), which leads me to…
- Give users advanced control over filters. My experience of human vs machine coded data sets leads me to believe that automated sentiment analysis typically has a bias towards neutral, particularly for “difficult” or ambiguous content. For social CRM, I’d like to have control over confidence rating – ie to put posts for which sentiment can’t be determined with confidence into an additional category: “unknown”. I don’t want anything to slip through the net, so might set a very high confidence filter, and treat the “unknown” category as a folder for human review. This still gives an overall time saving over a less granular sentiment engine that I suspect will assign semantically-ambiguous gripe posts to the neutral category
- Make the case for sentiment analysis (if you have one…) So far so good for social CRM, but what about performance measurement / other analytics? I’ve set out my stall on this already – I don’t think sentiment analysis implementations in SMM platforms meet the needs of analysts like me, and I don’t think they will anytime soon – there is too little scope to build in context in a one-size-fits-all platform. My personal default for an analysis project would be to use human sentiment analysis for a small to mid-sized project (possibly across a sampled data set), or a custom implementation (perhaps using open source software) for a biggie. Problem is, no-one is really trying to change my mind – I perceive a real sheepishness on the part of vendors about automated sentiment analysis in SMM. Make the case to me! Which ties into…
- More transparency. It is ridiculously hard to build an understanding from vendor-published material of what automated sentiment analysis does, how it works, what it’s for, how accurate it is – even with a reasonable grounding in text analytics. Frankly, the way it’s implemented and communicated makes it feel like a beta. This isn’t good enough – vendors need to build in a clear explanation of how sentiment is calculated, they need to develop use-cases for how it can create value, and they need to publish the briefs for human coding (against which accuracy is measured) – so that users can verify and build in their own process to adjust for confidence / bias




