Determine user sentiment on Twitter with this algorithm

Introduced by Arnav Vaid, Adithya Iyengar, Rohan Phadte, Suhas Rao, and Yash Sanghrajka

As a team, we noticed there was a key problem that companies and individuals face when looking at sentiment. While there are a variety of different sentiment analyzers already, it is hard to create individualized models for sentiment on a topic on social media. Thus, we aimed to solve this issue, acting not on overall sentiment, but on a person’s favorability toward a certain topic.

Our team designed an algorithm to predict consumer sentiment towards any topic given known training data through Twitter profiles. The final product allows the user to choose three flexible yet powerful inputs: topic, sentiment, and output type. For the topic, the user is able to enter whatever keywords they desire, and these keywords will be used to identify relevant tweets. The sentiment input allows the user to specify whether they desire twitter users with a particular sentiment (positive/negative/neutral) towards the chosen topic or whether they want to observe any possible sentiment. The final option for output type allows the user to pick between either a model or a user list. A model is pre-trained for a specific topic and allows the user to query any Twitter handle they desire and receive a sentiment score for the user towards that topic. A user list collects a random sample of Twitter users and applies the model to give the application user a set of Twitter users and their associated sentiments towards a topic.

There are a large variety of different tools that we used for this project. We needed to find a way to be able to obtain the data we needed from Twitter. For this we used the Twitter API with a Python Wrapper to collect the data. In order to build our actual model, we used Keras and Tensorflow. Lastly, we needed to come up with an interactive and easy-to-use way to present our data. For this, we used ReactJS.

The reasons why we did this project are because companies are always looking to make the best use of user data to market more aggressively. Knowing what people are looking for is key in maximizing profits and minimizing losses in order to maximize opportunity. Consumer
sentiment is always fluctuating and it is important to get a holistic idea of where everyone stands on products, topics, and issues.