Inspiration
We were inspired to design a technical solution to tackle the issue of political echo chambers. Political echo chambers form form when individuals with one political opinion tend to get their news and communicate exclusively or almost exclusively with like-minded sources. This can amplify polarization between groups with difference ideologies because people aren't exposed to opposing opinions.
What it does
Our web app takes in a URL to an online new article, parses the source, and analyzes the text of the article to output a predicted political bias (from liberal to conservative).
How we built it
We used an algorithm similar to what chat bots use to determine the meaning of a sentence and extended it to categorize the sentences in the input article with respect to their political bias. We programmed in Python, using anaconda for package management, and github for version control and to facilitate collaboration.
Challenges we ran into
Challenges that we ran into included:
- slow internet and a finnicky server, slowing down testing --> optimized the server and limit testing to specific machines
- the ambiguity of the problem --> found resources online presenting examples of biased articles and used that information to train our algorithm
- integration of our front-end and back-end --> we should have focused on front-end integration sooner in the process, although we were able to pull something together in the last few hours by applying knowledge from previous projects
Accomplishments that we're proud of
Our outputs are consistently close to what we expect and we're able to display them in an easy to understand final format. I.e. it works!
What we learned
All of us were working with new technologies or concepts at some point during the weekend. For example, some of us picked up Python and Machine Learning for the first time for this project. Aside from developing our hard skills with new technologies, we also practiced formal team dynamics by using a scrum approach to organize ourselves.
What's next for Echo Bachman
The structure of our algorithm leaves room for improvement because of how it is trained by example data that we feed in. By more carefully curating our sources and increasing the complexity of how the algorithm handles the training and testing data we know that we could improve the accuracy and consistency of our outputs. We also recognize that we're currently labeling these article along a simplified political spectrum, so a next step would be to expand the political categories that we're considering.
Built With
- anaconda
- github
- machine-learning
- python

Log in or sign up for Devpost to join the conversation.