Tinder is one of the most popular dating applications. It connects people having similar interests. To check whether Tinder helps people find partners, we can analyze the sentiments of people about Tinder. There are a lot of reviews on the Google Play Store about Tinder. We can use that data to analyze the sentiments of Tinder users. So if you want to learn how to analyze Tinder reviews, this article is for you. In this article, I will take you through the task of Tinder reviews sentiment analysis using Python.
Tinder Reviews Sentiment Analysis using Python
The dataset I am using for the task of Tinder reviews sentiment analysis is downloaded from Kaggle. It was collected from Tinder reviews on the Google Play store. Now let’s import the necessary Python libraries and the dataset to begin this task:
import pandas as pd import matplotlib.pyplot as plt from nltk.sentiment.vader import SentimentIntensityAnalyzer from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator import nltk import re from nltk.corpus import stopwords import string data = pd.read_csv("tinder_google_play_reviews.csv") print(data.head())
reviewId userName \ 0 gp:AOqpTOF5m-nY12XsKXO0IG-ZQtyvmjwKEp43ILLrhBS... Kreg Smith 1 gp:AOqpTOFMaTJ6Mj-6hrp6ZI9gU5fzeVZQA9LugbFe1xR... R.W. 2 gp:AOqpTOGtOLC4xZzUlNT8t1ykvQHfOuhW7oJ0MScukLj... Benjo cantor 3 gp:AOqpTOGcid22sko0XyvhV1kSpbdKUzx5QlSIi5L1Ovc... Chris Plata 4 gp:AOqpTOGzA20eNWEOUM8edTHGQfd6OU7Qy48JpUcBT-x... Dave Midas userImage \ 0 https://play-lh.googleusercontent.com/a/AATXAJ... 1 https://play-lh.googleusercontent.com/a-/AOh14... 2 https://play-lh.googleusercontent.com/a/AATXAJ... 3 https://play-lh.googleusercontent.com/a/AATXAJ... 4 https://play-lh.googleusercontent.com/a-/AOh14... content score thumbsUpCount \ 0 Got banned for life don't know why they won't ... 1 0 1 I don't know why I was banned .. But I m not a... 1 0 2 All gays even if your straight🤦🤦🤦 1 0 3 You have to pay so much to even be seen on thi... 1 0 4 I do not understand how so many people use thi... 2 0 reviewCreatedVersion at replyContent repliedAt 0 13.6.1 2022-05-21 04:10:44 NaN NaN 1 NaN 2022-05-21 04:08:24 NaN NaN 2 13.6.1 2022-05-21 04:00:10 NaN NaN 3 NaN 2022-05-21 03:47:58 NaN NaN 4 13.6.1 2022-05-21 03:47:51 NaN NaN
On the first impressions of this dataset, I can see some null values in some columns. To analyze the Tinder reviews, we only need the content column. So let’s create a new dataset with the content column and move further:
data = data[["content"]]
Now let’s see if we have null values in the content column:
data.isnull().sum()
The content column also contains null values, let’s remove the null values and move on:
data = data.dropna()
Now let’s prepare this data for the task of sentiment analysis. Here we have to clean the text in the content column:
nltk.download('stopwords') stemmer = nltk.SnowballStemmer("english") stopword=set(stopwords.words('english')) def clean(text): text = str(text).lower() text = re.sub('\[.*?\]', '', text) text = re.sub('https?://\S+|www\.\S+', '', text) text = re.sub('<.*?>+', '', text) text = re.sub('[%s]' % re.escape(string.punctuation), '', text) text = re.sub('\n', '', text) text = re.sub('\w*\d\w*', '', text) text = [word for word in text.split(' ') if word not in stopword] text=" ".join(text) text = [stemmer.stem(word) for word in text.split(' ')] text=" ".join(text) return text data["content"] = data["content"].apply(clean)
Now let’s have a look at the kind of words people use in the reviews of Tinder:
text = " ".join(i for i in data.content) stopwords = set(STOPWORDS) wordcloud = WordCloud(stopwords=stopwords, background_color="white").generate(text) plt.figure( figsize=(15,10)) plt.imshow(wordcloud, interpolation='bilinear') plt.axis("off") plt.show()

Now I will add three more columns in this dataset as Positive, Negative, and Neutral by calculating the sentiment scores of the reviews:
nltk.download('vader_lexicon') sentiments = SentimentIntensityAnalyzer() data["Positive"] = [sentiments.polarity_scores(i)["pos"] for i in data["content"]] data["Negative"] = [sentiments.polarity_scores(i)["neg"] for i in data["content"]] data["Neutral"] = [sentiments.polarity_scores(i)["neu"] for i in data["content"]] data = data[["content", "Positive", "Negative", "Neutral"]] print(data.head())
content Positive Negative \ 0 got ban life dont know wont tell help way read... 0.231 0.225 1 dont know ban allow use tinder henceforth did... 0.371 0.108 2 gay even straight🤦🤦🤦 0.000 0.000 3 pay much even seen app girl ever talk back bet... 0.229 0.128 4 understand mani peopl use app im mean ugli ive... 0.000 0.225 Neutral 0 0.544 1 0.521 2 1.000 3 0.642 4 0.775
Now let’s have a look at the kind of words people use in the positive reviews of Tinder:
positive =' '.join([i for i in data['content'][data['Positive'] > data["Negative"]]]) stopwords = set(STOPWORDS) wordcloud = WordCloud(stopwords=stopwords, background_color="white").generate(positive) plt.figure( figsize=(15,10)) plt.imshow(wordcloud, interpolation='bilinear') plt.axis("off") plt.show()

Now let’s have a look at the kind of words people use in the negative reviews of Tinder:
negative =' '.join([i for i in data['content'][data['Negative'] > data["Positive"]]]) stopwords = set(STOPWORDS) wordcloud = WordCloud(stopwords=stopwords, background_color="white").generate(negative) plt.figure( figsize=(15,10)) plt.imshow(wordcloud, interpolation='bilinear') plt.axis("off") plt.show()

Let’s have a look at the overall sentiment score of the users of Tinder:
x = sum(data["Positive"]) y = sum(data["Negative"]) z = sum(data["Neutral"]) def sentiment_score(a, b, c): if (a>b) and (a>c): print("Positive 😊 ") elif (b>a) and (b>c): print("Negative 😠") else: print("Neutral 🙂 ") sentiment_score(x, y, z)
Neutral 🙂
So most of the users write reviews neutrally. Let’s have a look at the total of all the sentiment scores:
print("Positive: ", x) print("Negative: ", y) print("Neutral: ", z)
Positive: 158277.42200002735 Negative: 59438.14199999961 Neutral: 314250.34899997106
As you can see, the positive is much more than the negative, we can say that most users are happy with Tinder.
Summary
So this is how you can perform the task of Tinder reviews sentiment analysis using Python. Tinder is one of the most popular dating applications. It connects people having similar interests. I hope you liked this article on Tinder reviews sentiment analysis. Feel free to ask valuable questions in the comments section below.