On social media platforms, we are constantly bombarded with misleading and biased information. This can lead to panic or lies going viral.
What it does
Biasly is a chrome extension that detects partisan bias and classifies it as left or right leaning on twitter, then alerts the user of the bias to remind them to think about what they are reading.
How we built it
Biasly's classification model is built with Google Cloud Platform's AutoML and Natural Language Processing. We used open data from Kaggle's political social media dataset and from current US senators that are active on Twitter. To get the data, the extension makes an API call to our NodeJS server, which gets the prediction from Google Cloud and sends back the results. The extension then interprets the results and outlines biased articles in red or blue depending on their political leaning.
Challenges we ran into
Google Cloud's Prediction API is very difficult to access. In the end, we used an exec statement on the NodeJS server to use curl to get the prediction.
Accomplishments that we're proud of
We are very proud of our high political leaning classification precision relative to the small amount of data used. With more time to train and collect tweets in the future, we believe we could increase our accuracy to human-level predictions.
As developers, we are also proud of our logo design. We were not experienced in graphical design, and we think the app came out clean
What we learned
We learned how to use Google's AutoML and Virtual Machines to train models and reach them through an API. It was also the first Chrome extension any of us had built, and while it was much more difficult than we had anticipated, it was a lot of fun.
What's next for Biasly
As with any classification algorithm, we think with more time and more data Biasly could be improved significantly. While our accuracy is good, 10,000 rows of data can be limiting in computational linguistics. We are also interested in trying our own models outside of AutoML such as newer iterations of LSTM and Linguistically Informed CNNs. We also see potential in more semantic features being used, such as Situational Entities.