The tone of Valorant Champion Tour

Teja Tammali
INST414: Data Science Techniques
3 min readFeb 11, 2022

It is no surprise that Valorant Champion Tour (VCT) is one of the most entertaining and looking-forward events within the gaming scene. During an exciting tournament, fans cheer on their favorite teams, such as Sentinels and 100 Thieves, to display the victory to thousands to millions of viewers. Of course, just like other sports events, fans have various opinions and thoughts, from positive to negative reasons. To analyze this for VCT, I created a Twitter Sentiment Analysis. Due to the millions of users on Twitter, it can be challenging to interpret what everyone is saying about a particular topic. A non-obvious insight I would like to extract from the Twitter API is if the percentage of the tones of tweets regarding VCT can be beneficial to better production. The tones consist of positive, negative, and neutral tweets users of Twitter have made. By knowing the overall tone of tweets, tournament organizers can allow VCT to develop and change based on the community’s needs. The data itself lives on Twitter due to the API pulling tweets regarding the relevant user search query. The information is appropriate since it is the pure source of determining the tone and answer of the tweets’ tone.

The following libraries were used for this project:

#libraries
import re
import tweepy
from tweepy import OAuthHandler
from textblob import TextBlob
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import matplotlib.pyplot as plt

To make this possible, I used libraries that include tweepy, oAuthHandler, textblob, NumPy, pandas, and matplotlib. Specifically, tweepy and textblob are used to promote Twitter sentiment. Tweepy is used to access the Twitter API, while textblob is simplified to process textual data.

While conducting the relevant query search of “VCT,” the following was found:

Positive tweets percentage: 18.19%
Negative tweets percentage: 10.91%
Neutral tweets percentage: 70.91%

From this data, we can conclude that there are rarely negative tweets regarding VCT. Most of the tweets result in a neutral tone, which could mean it can keep growing at the organization’s current state. Of course, this could all change. The results may constantly change depending on what occurs in the scene, for example, if production is laggy and not creating a friendly user environment.

While creating this project, I experienced many bugs and issues that made it difficult to move forward and fix the problems. One major bug I encountered was that I couldn’t return positive, neutral, or negative notes from the tweet sentiment. To fix that, I had to read into the documentation of the textblob library. I wasn’t too familiar with textblob, so this was a more intricate code to implement into the project. Eventually, I found that I had to set the sentiment polarity to > 0 for positive, == 0 for neutral, and return negative if it wasn’t both of those. Specially, I did this by creating a function looking like this:

def get_tweet_sentiment(self, tweet):

# create TextBlob object of passed tweet text
analysis = TextBlob(self.clean_tweet(tweet))

# set sentiment
if analysis.sentiment.polarity > 0:
return ‘positive’

elif analysis.sentiment.polarity == 0:
return ‘neutral’

else:
return ‘negative’

Cleaning the tweet data was one of the more straightforward aspects of this project. In essence, I created a function by removing links special characters using simple regex statements. The function looked like this:

def clean_tweet(self, tweet):

return ‘ ‘.join(re.sub(“(@[A-Za-z0–9]+)|([⁰-9A-Za-z \t])|(\w+:\/\/\S+)”, “ “, tweet).split())

Overall the results of the tweets were reasonable but sometimes inaccurate. From what I have seen, the limitations include the API misreading the tweets as negative, when sometimes they are neutral or even positive. Moving into the future, I hope to make the feedback of the tone of tweets more accurate to display more precise results.

--

--