App (Linkedin) Reviews Sentiment Analysis using Python
App (Linkedin) Reviews Sentiment Analysis using Python
App Reviews Sentiment Analysis means evaluating and understanding the sentiments expressed in user reviews of mobile applications (apps). It involves using data analysis
techniques to determine whether the sentiments in these reviews are positive, negative, or neutral. If you want to learn how to analyze the sentiments of the reviews of any app, this
article is for you. In this article, I’ll take you through the task of App Reviews Sentiment Analysis using Python.
Below is the process we can follow for the task of app reviews sentiment analysis:
So, the process starts with collecting an app reviews dataset. I found an ideal dataset for this task.
Review Rating
0 Does absolutely nothing for a LinkedIn beginne... 1
1 Force close(galaxy tab) 1
2 Slow and it tries to upload your contacts with... 1
3 Add ability to customize the profile and move ... 4
4 Good app, but it's a pain that it's not possib... 4
The dataset contains two columns: Review and Rating. The Review column consists of textual reviews, and the Rating column contains corresponding numerical ratings.
In [6]: print(linkedin_data.info())
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 702 entries, 0 to 701
Data columns (total 2 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Review 702 non-null object
1 Rating 702 non-null int64
dtypes: int64(1), object(1)
memory usage: 11.1+ KB
None
Exploratory Data Analysis Now, let’s explore this data step by step. We’ll start by analyzing the distribution of ratings. It will provide insight into the overall sentiment of the reviews.
Then, we can explore further, such as analyzing the length of reviews, and possibly derive insights from the text of the reviews.
Here’s the distribution of ratings from the LinkedIn reviews dataset. As you can see, it gives a clear picture of how many reviews fall into each rating category (from 1 to 5).
Next, we’ll analyze the length of the reviews, as this can sometimes correlate with the sentiment or detail of feedback. We will first calculate the length of each review and then
visualize the data:
Let’s proceed to label the dataset using TextBlob for sentiment analysis:
def textblob_sentiment_analysis(review):
# Analyzing the sentiment of the review
sentiment = TextBlob(review).sentiment
# Classifying based on polarity
if sentiment.polarity > 0.1:
return 'Positive'
elif sentiment.polarity < -0.1:
return 'Negative'
else:
return 'Neutral'
Sentiment
0 Negative
1 Neutral
2 Negative
3 Neutral
4 Positive
The dataset now includes sentiment labels for each review, classified as Positive, Negative, or Neutral based on the polarity score calculated by TextBlob.
So, we can see although the app has low ratings, still the reviewers don’t use many negative words in the reviews for the app.
Next, we’ll explore the relationship between the sentiments and the ratings. This analysis can help us understand whether there is a correlation between the sentiment of the text and
the numerical rating. For this task, we can see how sentiments are distributed across different rating levels:
Now, let’s perform a text analysis to identify common words or themes within each sentiment category. It involves examining the most frequently occurring words in positive, negative,
and neutral reviews using a word cloud:
So, this is how you can perform Reviews Sentiment Analysis using Python.
Summary
So, App Reviews Sentiment Analysis is a valuable tool for app developers and businesses to understand user feedback, prioritize feature updates, and maintain a positive user
community. It involves using data analysis techniques to determine whether the sentiments in these reviews are positive, negative, or neutral. I hope you liked this article on App
Reviews Sentiment Analysis using Python.
In [ ]: