Enthusiastic about Machine Learning, I wanted to explore NLP as it is a domain of Machine Learning where I have very limited experience. I wanted to perform sentiment classification and see what insights I could gain by applying it to the topic of COVID which is a recent and trending topic.
What it does
The app can dynamically webscrape tweets and apply sentiment classification based on user input and display a bar chart containing the percentage of each sentiment. The extracted tweets are webscraped on the fly, hence the data shown is in real-time.
How we built it
Part 1: Built a sentiment classifier using scikit-learn and NLP. Used Amazon app review dataset, with a sample size of ~50k Part 2: Performed webscraping using twint to dynamically classify tweets based on user input. Used streamlit to deploy the classifier into an app, with matplotlib to display data visualisation of the results.
Challenges we ran into
An initial difficulty was the start where I had to consider an appopriate topic which was rich in data yet had plenty of rooms for performing data analysis . Another challenge was to become familiar with multiple libraries within one day as I had no prior experience with streamlit and twint.
Accomplishments that we're proud of
I'm most proud of finishing such a project within a single day on my own after teammates dropped out last minute. As a student who has very limited NLP experience and has never heard of streamlit and twint, there were plenty of things to learn. Working alone was tough and I'm proud of finishing the project within the time frame.
What we learned
I learned to become familiar with twint, streamlit and NLP processes. I learned to work independently and to use persistence, determination and patience to follow my initial plans and complete the project.
What's next for Dynamic Sentiment Classifier for Twitter
The app can have additional functionalities, such as data visualisation options, webscraping from various social media platforms, and perform sentiment analysis into more classes. The user interface can also be improved.