Inspiration In the age of personalized searches and algorithmic recommendation, the filter bubble is increasingly becoming a social…
Inspiration
In the age of personalized searches and algorithmic recommendation, the filter bubble is increasingly becoming a social and political problem. The term filter bubble, coined by Internet activist Eli Pariser, refers to a state of intellectual isolation as a result of a recommendation algorithm selectively guesses what content a user would like to see based on information about the user, such as location, past click-behavior and search history. In consequence, users become separated from information that disagrees with their viewpoints, effectively isolating them in their own cultural or ideological bubbles(To learn more about filter bubble, please refer to this link).
“Contrasting views also deserve to be recommended in such cases”. With this idea, we designed this clustering and recommendation system with completely different recommendation principles. In contrast to traditional recommendation algorithm which regards entertaining and engaging users as the first principle, Bubble Terminator would help users understand the position he/she stands in the big picture of a problem/topic and brings users a brand new perspective, aiming to encourage having deeper awareness of a problem and exchange of different ideologies.
What it does
Real-time analysis of a text input (twitters) about its political biases (could be extended to more dimensions in the future) and reflect the prediction result.
Display warning when a political bias is detected in the current twitter page
(To be developed) Real-time analysis on a Twitter user’s political leaning.
(To be developed) Recommend contrasting views of a topic to users.
How we built it
There are two parts to this project:
CHROME EXTENSION
The chrome extension is written in Javascript, using libraries such as React and Ant Design. We use content script to read and make changes to a twitter page.
BACKEND SERVER
This is where prediction of political leaning happens. Using Keras with Theano backend, we built a recurrent neural network that takes a tweet (or more generally a string) as input, then outputting a number between 0 and 1 indicating the political leaning of it. The 5-layer neural network, base on a paper by researchers from Lithium Technologies, is a LSTM with dropout. We use flask, a light-weight python web framework, to handle requests from the extension. The server is hosted on a AWS EC2 instance.
Challenges we ran into
First, of course, is to get the machine learning model up and running. Generally, we find that the model tent to predict sentences as a Democrat.
Second, is to build the extension. No one from our team had experience building a chrome extension from scratch before the hackathon, so we had done a lot of exploration and experiments in the past 24 hours. Also, chrome imposes strict checks on network requests that its extensions make: they must be over HTTPS and with a trusted host. It took us some time to figure out how to make a self-signed SSL certificate work in chrome. Because of this restriction, it’s impossible for us to upload our extension to Chrome Web Store as we don’t own an SSL certificate endorsed by a trusted third party.
Accomplishments that we're proud of
Building a chrome extension
Building a machine learning model and have it working.
Making an attempt to solve an important social problem; )
What we learned
Building a chrome extension with React
How to build a machine learning model with Keras
SSL certification request
What's next for BubbleTerminator
Introduce other classifiers, such as leaning liberal/conservative
Give recommendation of contents outside of the current filter bubble when biased information is detected.
Latest reviews
- (2018-10-14) Qiu Haohao: Great tool, well made!
- (2018-10-14) A H: Awesome tool, simple, elegant and powerful!
- (2018-10-14) Mingyu Liu: This is awesome!!!
Statistics
Installs
15
history
Category
Rating
5.0 (3 votes)
Last update / version
2018-10-14 / 1.0.0
Listing languages
en