With Twitter, Facebook and dozens of other social networks generating buzz about a variety of different topics and companies, there is a fast growing market for organizations to find ways manage their brands. Social media monitoring, sentiment analysis software and services provide a way for you to mine this growing mountain of data.
Surprisingly, you do not need a complex system like Hadoop to mine customer sentiment.
The basic technology employed for sentiment analysis, sometimes called opinion mining, is natural language processing, computational linguistics and text analytics. The idea is to both identify and extract subjective information from a variety of sources, including web pages, online news, internet discussion groups, online reviews, web blogs, and social media.
“Sentiment analysis attempts to determine the attitude of a speaker or a writer with respect to some topic or the overall contextual polarity of a document.” (Wikipedia)
The attitude may be the writer's judgement, their emotional state or the emotional tone that the author wished to communicate to the reader. The challenge is in determining the 'polarity' of a given comment for example.
Beyond polarity, sentiment analysis looks to classify, for example, at emotional states such as "angry," "sad," and "happy”. Typically, comments online are much more nuanced; it is not a binary 'good' versus 'bad' comment problem.
The issue is that by focusing on the key words the conversation is often missed. The context often drives the meaning behind the comment, with a grade of possible possible options or meanings. The methods employed to determine sentiment include machine learning, support vector machines, bag of words, and semantic orientation (defined below).
- Machine Learning (latent semantic analysis) – This is a branch of AI (artificial Intelligence) that is focused on creating learning algorithms that allow computers to evolve behaviors.
- Support Vector Machines – These are supervised learning algorithms that analyze data and recognize patterns. In this case used to classify words into one of two classes or categories.
- Bag of Words – This is a simplifying representation, where words are represented as an unordered collection; specifically, disregarding grammar and word order.
- Semantic Orientation – This is a more sophisticated method used to pry out user, or speaker sentiment.
The accuracy of the above methods is determined by how well it is able to determine human judgement. The range of possible answers challenges the most sophisticated natural language processing systems employed in sentiment analysis.
At the Social Analysis Symposium, Catherine Van Zyulen, Vice President of Products at Attensity, provided a list of difficult comment-analysis problems.
- False Negatives – As we would expect from the name, a false negative error is where a result indicates that a condition failed, while it actually was successful. In this case we might find words like 'Crying' and 'Crap', which suggest negativity, but when viewed in context, turn out to mean the opposite. For example, “I was crying with joy”, or “Holy crap! This is great” Clearly, in context, they mean the opposite of what was expected.
- Relative Sentiment – An example of relative sentiment would be, “I bought a new iPhone.” Great for Apple, bad for Google. Here we see that the comment only explicitly tells half the story.
- Compound Sentiment – these are relating two messages explicitly, which may be, on the face, may be confounding. For example, “I love my iPhone but hate the carrier's network.” Again, good for Apple, bad for the carrier.
- Conditional Sentiment – A conditional sentiment is one where there is a condition that must be satisfied or was satisfied. For example, “If they don't do something, I am never going to buy their product again.” Or, “I was never going to buy their product, but then they gave me a credit.” So, some action met the condition.
- Scoring Sentiment – Sometimes it is simple enough to score, as in surveys where customers are asked to rate something on a scale from -5 – +5. It is less tidy when you are trying to discern the difference between, “Like”, Really like”, versus “Love it”.
- Sentiment Modifiers – These are modifiers that, again, are more difficult to measure. For example emoticons. How do we attribute what words something like ;-) or ;-> adds or attributes to a statement.
- International Sentiment – Here the emoticons are slightly different from the ones that we have here in the US, but still have the same issues of attribution and measurement. Add to this cultural norms, like Italians being more effusive or the British being less effusive. While systems may be tuned, but are not perfect.
According to Alex Wright,
“The problem is that most sentiment analysis algorithms use simple terms to express sentiment about a product or service. However, cultural factors, linguistic nuances and differing contexts make it extremely difficult to turn a string of written text into a simple pro or con sentiment. The fact that humans often disagree on the sentiment of text illustrates how big a task it is for computers to get this right. The shorter the string of text, the harder it becomes.”
Once you have determined the sentiment of the writer, the next step is to respond to it. By tying a CRM system to the mix, ideally a human would be able to address any issues. Though, given the state of customer service today, it is often difficult to get a positive outcome when you have the customer service person right in front of you. I would not expect to see this improve the overall customer experience for some time.
What do you think? Has any company ever responded to your online comment or rant?