NLP_Sentiment_Analysis

Sentiment Analysis, as the name suggests, it means to find the view or emotion behind a situation. Sentiment analysis (also known as opinion mining or emotion AI) is the use of natural language processing, text analysis, computational linguistics, and biometrics to systematically identify, extract, quantify, and study affective states and subjective information.

We, humans, communicate with each other in a variety of languages, and any language is just a mediator or a way in which we try to express ourselves. And, whatever we say has a sentiment associated with it. It might be positive or negative or it might be neutral as well. Suppose, there is a fast-food chain company and they sell a variety of different food items like burger, pizza, sandwiches, milkshakes etc. They have created a website to sell their food and now the customers can order any food item from this website and they can provide their review as well, like whether they liked the food or hate it. Review 1: I love this cheese sandwich, it’s so delicious. Review 2: This chicken burger has a very bad taste. Review 3: I ordered this pizza today. So, as we can see that out of these above 3 reviews, The first review is definitely a positive one and it signifies that the customer was really happy with the sandwich. The second review is negative, and hence the company needs to look into their burger department. And, the third one doesn’t signify whether that customer is happy or not, and hence we can consider this as a neutral statement. By looking at the above reviews, the company now concludes, that it needs to focus more on the production and promotion of their sandwiches as well as improve the quality of their burgers if they want to increase their overall sales. But, now a problem arises, that there will be hundreds and thousands of user reviews for their products and after a point of time it will become nearly impossible to scan through each user review and come to a conclusion. Neither can they just come up with a conclusion by taking just 100 reviews or so, because maybe the first 100-200 customers were having similar taste and liked the sandwiches, but over time when the no. of reviews increases, there might be a situation where the positive reviews are overtaken by more no. of negative reviews. Therefore, this is where the Sentiment Analysis Model comes into play, which takes in a huge corpus of data having user reviews and finds a pattern and comes up with a conclusion based on real evidence rather than assumptions made on a small sample of data. (We will explore the working of a basic Sentiment Analysis model later in this article.)

We can even break these principal sentiments(positive and negative) into smaller sub sentiments such as “Happy”, “Love”, ”Surprise”, “Sad”, “Fear”, “Angry” etc. as per the needs or business requirement. Real-World Example –

  1. There was a time when the social media services like Facebook, used to just have two emotions associated with each post, i.e You can like a post or you can leave the post without any reaction and that basically signifies that you didn’t like it.
  2. But, over time these reactions to post have changed and grew into more granular sentiments which we see as of now, such as "like", "love", "sad", "angry" etc.

And, because of this upgrade, when the company promotes their products on Facebook, they receive reviews that are more specific. And because of that, they now have more granular control on how to handle their consumers, i.e. they can target the customers who are just “sad” in a different way as compared to customers who are “angry”, and come up with a business plan accordingly, because nowadays, just doing the bare minimum is not enough.

Now, as we said we will be creating a Sentiment Analysis Model, but it’s easier said than done. As we humans communicate with each other in a way that we call Natural Language and it’s easy for us to interpret but it’s much more complicated and messy if we really look into it. Because, there are billions of people and they have their style of communicating, i.e. a lot of tiny variations are added to the language, a lot of sentiments are attached to it which is easy for us to interpret but it becomes a challenge for the machines.

This is why we need some process that makes the computers understand the Natural Language as we humans do, and this is what we call Natural Language Processing(NLP). And, as we know Sentiment Analysis is a sub-field of NLP and with the help of machine learning techniques, it tries to identify and extract the insights.