Competitive Intelligence functionality: Sentiment Analysis

You have launched a new product onto the market, and of course you want to know how your customers feel about it. Are they happy about it? Disappointed? Or maybe you want to know how your customers (and other people) feel about your company in general? It is difficult to find reliable answers to these sorts of questions. Companies spend thousands on market research reports, only to obtain information from about a year old. What if you want to know how your customers feel now, at this very moment? The answer is sentiment analysis.

In the previous two posts, ‘What is a proper Competitive Intelligence tool?’ part I and part II, we discussed basic functionality of a CI tool. From this post on, we’ll be discussing more specialized (and more advanced) functionality – starting with sentiment analysis – that can certainly be a valuable asset to your competitive intelligence program. It’s all about extracting the subjective value from any – mostly unstructured – data source. Let’s first see what the definition of unstructured data is, before we move on to methodology behind the scenes when it comes to sentiment analysis.

Structured data is data that is available as a certain field in a database. It is data from which the attributes, data type, et cetera is known. This structured data is easy to process by applications. Unstructured data on the other hand is mostly textual data found in Word documents, web pages, emails but also movies and pictures. Applications have a lot more trouble processing this kind of data, because the data needs interpretation and hence the context of the data is relevant.

The latter certainly applies to sentiment analysis as well. If you want to automate it, your tool needs to ‘understand’ the unstructured piece of data in great detail. Let me illustrate this by explaining the basics of sentiment analysis in a simplified example.

If you’d search for the word “Google”, the following results (among others) could come up:

  • “Google search works very nice!” –> Qualifier: “nice” –> positive message
  • “Google is a useless tool!” –> Qualifier: “useless” –> negative message

In tools performing sentiment analysis, it is very likely that the sentences are being parsed. This means that a sentence is cut into grammatical pieces to find out what the structure of the sentence is. An example of this is shown in the picture, where the system breaks down the sentence in the various grammatical parts. This way, the system ‘understands’ the sentence so it can apply the qualifiers to the proper objects. If one of the results would be: “Apple beats Google [at …]”, it goes without saying that understanding the sentence is key to determine whether this is good or bad news for Google.

While above sentences are very simplistic and relatively easy to classify, this is much harder for ironic or sarcastic sentences for instance. Some say that this kind of analysis will never be possible, because the human component is missing and the complexity of the human language is too great (not to mention the human errors that may appear). Others say that it will be possible in the future, because techniques keep evolving and the Natural Language Processing (NLP) techniques will become better and better. Experts seem to agree however that at this point in time the results of sentiment analysis on ironic or sarcastic sentences are not very accurate or reliable. Most of the time these sentences are being classified as ‘neutral’, and need to be reclassified by hand.

Despite the difficulties in obtaining and analyzing unstructured data, it can be amazingly valuable. For instance, most reviews of products appear in an unstructured shape. When you want to know how your buyers feel about your product, this is valuable information to have. You can of course search all those review sites and monitor them daily by hand, but this sure is a time consuming task (not to mention very boring). Automated sentiment analysis offers a solution for this, even if you take into account that some phrases might be hard to analyze. As long as the majority is properly examined, it will provide you with highly useable insights.

Many (mainly large) companies already monitor the sentiment in relation to their products. We recently learned that UPC for example has a whole department with the sole task of monitoring the way people ‘talk’ about the company and their products. They monitor web pages, fora, blogs, social media and many other places where people may talk about them. They investigate if the customers are satisfied about their services. If for instance (incorrect or irrelevant) rumors are spread, UPC can launch a press release to rectify the rumor in an official statement. If people complain about the price level compared to other suppliers, UPC can consider lowering their prices. There are countless ways to put the gained insights to action.

Lastly we would like to show you a very basic example (and clearly non-professional; it is a graduate school project from Stanford University). This tool attempts to apply sentiment analysis on Twitter messages. Just type a word and it will give you (a selection of) the Twitter messages about the subject, classified by sentiment (positive, negative, neutral). You will see that, independent of the keyword you use, there will be wrong results (positive messages classified as negative and the other way around), but it gives you an idea about how sentiment analysis works.

Can you imagine what you can do with it when it is professionally built? Autonomy, a very mature enterprise search engine, offers such a sentiment analysis module. We’ve seen it in action, and immediately fell in love with it. There are countless ways to apply these insights to your company. Despite the statement we mentioned above – about experts questioning the accuracy of the analysis at this moment, especially when it comes to sarcasm and other ambiguities – Autonomy promises the following about the platform regarding sentiment analysis (in their product overview document):

“[…] has no problem understanding slang, industry-specific words, sarcasm or variants in spelling and can also adapt to the dynamic nature of language.”

Regardless whether or not they can currently pull this off (despite of what the experts say), from what we have seen they are surely not far away from achieving this. And no, we do not have Autonomy shares.

Summarizing, we believe that sentiment analysis is a very powerful piece of functionality. Despite the fact that it might not be flawless and one hundred percent accurate (yet), the insights gained are still very valuable (and instantly delivered, unlike any market research reports). However, no matter how exciting and interesting the insights may be, don’t forget that it isn’t only the data that matters; acting on it makes the difference!

Twitter Sentiment
What is a proper competitive intelligence tool? (part I)
What is a proper competitive intelligence tool? (part II)

Share and Enjoy:
  • Google Bookmarks
  • LinkedIn
  • Technorati
  • Twitter
Comments: 12 Comments

12 Responses to “Competitive Intelligence functionality: Sentiment Analysis”

  1. Patrice says:


    What is highly recommended with automatic sentiment analysis is the ability for the analyst to choose an homogeneous group of sources as well as the possibility to select which words or expressions will be considered positive or negative. With these kind of features you can start playing with the tool and fine tune it to compare your strategy with a human one.


  2. [...] Dit blogartikel was vermeld op Twitter door Jeroen van Luik, patricedigi. patricedigi heeft gezegd: RT @JeroenvanLuik: New Post: "Competitive Intelligence Functionality: Sentiment Analysis" [...]

  3. Jeroen van Luik says:

    Hi Patrice,

    Thanks for your comment. I agree with you that human action is helpful to train the system and fine tune it. However, the tool should take care of the majority of the analysis. If it’s fully trained, still I’d recommend a human editor to perform checks on the analysis occasionally. A homogeneous group of sources indeed reduces the need for that.


  4. [...] Dit blogartikel was vermeld op Twitter door Jeroen van Luik, patricedigi en Jeroen Blankendaal, Dink Intelligence. Dink Intelligence heeft gezegd: RT @JeroenvanLuik: New Post: "Competitive Intelligence Functionality: Sentiment Analysis" [...]

  5. Social comments and analytics for this post…

    This post was mentioned on Twitter by JeroenvanLuik: New Post: “Competitive Intelligence Functionality: Sentiment Analysis”

  6. Very good tip the “Twitter Sentiment”.
    Best regards, Alessandro

  7. Hi Jeroen,

    by the way….could you suggest more tools as the one you have been including in this post. I think that Sentiment Analysis is a very interesting topic for CI.

    Best Regards

  8. Anne van den Brink says:

    Hi Alessandro,
    I think you’ll like this post: in which free and paid sentiment analysis tools are briefly discussed. Although the focus in this post is on brand analysis, I hope we’ve shown you that sentiment analysis has more potential!
    Regards, Anne

  9. Raúl Baños says:

    Hi Anne,

    Thanks for your last web resource. I found so interesting both Sentiment Analysis posts. It’s curious the way CI and the lately high relevant online reputation management are sometimes mixed. Maybe we could consider the last one a good tool for CI purposes as a part of the process itself.

    What do you think about it?



  10. Anne van den Brink says:

    Hi Raul,
    Thanks for your comment.
    There is not yet a CI tool on the market (that we know of) that integrates Sentiment Analysis in CI the way we would like to see.
    Nonetheless, there are some very good CI tools on the market that support the whole intelligence cycle. I do believe that Sentiment Analysis will be part of those tools in the future, because it should indeed be part of the CI-process.
    Regards, Anne

  11. Anne,
    Thank you for the link. The only problem with those tools is that they work in English. Do you know if there are some that are able to translate or works in Multilanguage? I think this is a real challenger.