What Is Sentiment Analysis?
Sentiment analysis is a Natural Language Processing (NLP) technology that detects emotion such as likes and dislikes in text by analyzing the language used.
Why Do Companies and Organizations Need Sentiment Analysis?
The explosion of Social Media data has meant that businesses and other organizations now have an unparalleled new source of information on how people feel about them – their brands, the quality of their products or services, which features customers like the most or the least, etc. Previously, organizations could resort to surveys or other tools for assessing public opinion. Now they can access the unfiltered opinions themselves and on a much larger scale.
The unprecedented amounts of data have presented a new challenge, though. There’s so much of it that automated processes are required to get on top of it. It’s far beyond the ability of humans to handle it by themselves. A text analytics technology called sentiment analysis has been developed to address this problem.
Early Versions of Sentiment Analysis
First-generation sentiment analysis products relied on emotion-carrying terms in a social media post or other sources to assess the overall sentiment of a given text: positive words like “fantastic” or negative ones like “awful” would cause a first-generation sentence- or document-level sentiment analysis system to classify a sentence or post as positive or negative. Some systems would add a multiplier factor if, for example, a word like “really” occurred before “fantastic” or “awful.” In a crude way, sentiment analysis could begin to quantify the strength of the sentiment.
Users of sentiment analysis soon recognized that this approach was inadequate. It did not connect the sentiment to the actual entity that the sentiment was about. It could only categorize the entire post (or any text). If a post said, for instance, “I like my new iPhone a lot, but I really don’t like the high price,” there was no way that document-level sentiment analysis could distinguish the two opposing sentiments about different aspects of the product in the post, one sentiment for the iPhone as a whole (“like … a lot”) and a second for the iPhone price (“really don’t like”). Clearly, however, Apple and any other business would like to get down to this level of granularity to really get a handle on how the customer population is feeling about their products or services. With that level of detail, a company can make decisions on what to improve.
Entity-Based Sentiment Analysis
Understanding a post like the one about the iPhone requires more sophisticated NLP capabilities called entity-based sentiment analysis. First of all, entity-based sentiment analysis recognizes any types of entities mentioned that may be the object of a sentiment, such as people, companies, products, and brands, and understands what kind of entity it is: Apple is a company, iPhone is a product. (Apple in particular is tricky since the word has two common meanings: one as a company, the other as a fruit (well, a false fruit some people would say).
Next, the sentiments expressed about the entities are recognized through an NLP-based text analysis of the context. Examples of explicit positive sentiment around entities include:
“I would recommend Bank of America”
“Go eat Domino’s Pizza. It’s improved a lot.”
In the first example, for instance, sentiment analysis knows that “Bank of America” is the object of “recommend,” and thus the sentiment expressed is about that entity. Furthermore, when a sentiment is recognized in this way for an entity, entity-based sentiment analysis would also assign the sentiment to a specific sentiment ontology type. In the two cases above, the sentiment ontology type could be RECOMMEND. This step is critical to aggregating information over large numbers of sentiments because natural language has many, many ways of expressing the same sentiment (instead of “I would recommend,” it could be “I would endorse” or many other expressions). Assigning a sentiment to a sentiment ontology type solves this problem by allowing the classification and aggregation of similar sentiments expressed differently.
Aspect-Based Sentiment Analysis
There’s an even more sophisticated level of sentiment analysis, and that is aspect-based sentiment analysis. Here the sentiment is not just about an entity or a product but provides a finer-grained analysis of different aspects of entities, as mentioned above with the Apple example. To give an example: in a hotel review, the aspects of a hotel that someone staying there might comment on would include service, staff, cleanliness, location, noise, etc. For instance, in the following hotel review, aspect-based sentiment analysis would recognize the sentiments about the helpful and friendly staff, the spotless rooms, the disliked location, and the noisy tourist bars:
“I liked our stay at the Hotel Infante. Location couldn’t be better, the staff was unfailingly helpful and friendly, the room was spotless. The only thing I didn’t like was that that the nearby tourist bars were too loud. I would probably stay there again, though.”
SENTIMENT TYPE: LIKE
PREDICATE: liked
OBJECT: Hotel Infante
ASPECT: stay
SENTIMENT TYPE: LIKE
PREDICATE: couldn’t be better
OBJECT: Hotel Infante
ASPECT: location
SENTIMENT TYPE: LIKE
PREDICATE: helpful
PREDICATE: friendly
OBJECT: Hotel Infante
ASPECT: staff
SENTIMENT TYPE: LIKE
PREDICATE: spotless
OBJECT: Hotel Infante
ASPECT: room
SENTIMENT TYPE: DISLIKE
PREDICATE: too loud
OBJECT: Hotel Infante
ASPECT: nearby tourist bars
Summary
With a technology like sentiment analysis, companies and organizations can get a clear and granular idea of what very large numbers of people are saying about their products or services as well as other aspects of their business. Sentiment analysis helps companies in many areas such a customer service, brand reputation management, brand promotion, market research, and competitive intelligence.



