What is Entity-Based Sentiment Analysis?

September 19, 2019 | Sentiment Analysis, Social Media 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 way beyond the ability of humans to handle it by themselves.

A text analytics technology called Sentiment Analysis has been developed to address this problem. First-generation Sentiment Analysis products utilized certain terms in a tweet or other source to assess the overall sentiment of a given text: positive words like “fantastic” or negative ones like “awful” would cause a first-generation document-based Sentiment Analysis system to classify the tweet as positive or negative. Some systems would add a multiplier factor if, for example, a word like “really” occurred before the “fantastic” or “awful.” In a crude way, SA 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 particular products (or really anything) mentioned in the text. It could only categorize the entire tweet (or any text). If a tweet said something like “I like my new iPhone a lot, but I really don’t like the high price,” there was no way that document-based Sentiment Analysis could identify the presence of two sentiments in the tweet, one for the iPhone as a whole (“like … a lot”) and a second for Apple’s pricing (“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 and how to improve it.

Understanding a tweet like the one about the iPhone requires more sophisticated natural language processing (NLP) capabilities called entity-based Sentiment Analysis. First of all, entity-based Sentiment Analysis recognizes any types of entities mentioned that attract sentiment, such as people, places, organizations, brands, and products, 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 a syntactic and semantic analysis of the context. Examples of explicit positive sentiment around entities include:

  • RECOMMEND
    • “I would recommend Bank of America”
    • “Go eat Domino’s Pizza. It’s improved a lot.”

In the first tweet, for example, 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 a grouping of the same sentiments expressed differently.

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 also had to do with the location – it was too close to the central city district and noisy tourist bars weren’t very far away. I would probably stay there again, though.”

With a technology like Sentiment Analysis, companies 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. It’s critical that companies and other organizations adopt it, as in addition to using it to support improvements in their product or service, it will also help them in a broader way in many areas such a reputation management, brand promotion, market research, and competitive intelligence.