Today’s media is fraught with bias more than ever. Misdirection and misinformation are everywhere, and it's hard to tell whether the article you’re reading is manipulating you or not. But Just News utilizes a smart web framework to provide you with an just, unbiased news experience.
What it does
Given a URL to a reputable news source, Just News gathers a group of similar articles on the Internet from the most reputable news sites of different political perspectives. Then it displays up to five representative articles for you to consider. The idea is that this kind of material will help you gain a clearer picture of events taking place by giving you multiple perspectives.
Using an SVM machine learning model, we can also predict the political standing of a news outlet not already within our system, and grow more accurate with each article saved onto the database.
How we built it
We created a Flask webapp to handle the processing and analysis of data. Utilizing the open-source Python module newspaper, we were able to extract the key terms of any article and search for recent articles with similar keywords, compare them to a JSON of credible news sources. We could then display the general information of each article on our website. Most of the machine learning was done in R and the front end is HTML/CSS.
Challenges we ran into
One challenge was coming up with an effective way to find enough news sources while simultaneously maintaining a specific level of relevance and credibility took a while.
Many of the big news outlets didn’t allow the use of embedding their websites with iframes, so we had to come up with an elegant solution to display the article info.
It was very difficult trying to create a dataset with which we could train our ML model.
Also, 75% of our team were attending our first hackathon and hadn’t worked in these circumstances before.
Accomplishments we’re proud of We were able to get our machine learning working, which was a huge task that a lot of time was dedicated to. We also were able to do quite advanced stuff with Python. Also, figuring out how to display our articles in an effective way.
What we learned
We learned how to run a website with a Python backend, how to analyze data in R, and how to scrape the web for articles.
We would come up with ways to increase the precision of our machine learning algorithm as well as add more functionality to the backend so that we could display more information on the webapp. Also we would like to expand our capacity to search deeper for more relevant articles. Moreover, it would be interesting to visualize some of the data we collect.