Machine-learning powered fake news detector with a user-oriented web interface that includes both a concrete judgment on the article, detailed and rigorous summary, and a crowdsourced poll for users to vote on whether or not they agree on the application's judgment.
We created a multi-layered algorithm which uses machine learning, sentiment analysis, and other facets of natural language processing to holistically evaluate news articles for bias and falsehoods. We created a weighted percentage based on the results of:
- Judgement of the intentions the text based on the results of a natural language processing-powered linear support vector machine (a machine learning algorithm) trained on thousands of real and fake articles acquired via a web crawler
- Response of polarity and subjectivity-based sentiment analysis of the article headline and text
- Judgement of a naive Bayesian classifier (a machine learning algorithm) regarding the extent to which the headline aims to sway the reader
- Grammar analysis of article text
- Cross-Referencing an established database of questionable, problematic, and trustworthy top-level domains and secondary domains.
In the future, we would love host this project on the internet completely such that users can access it online directly. From there, we could explore options such as browser and social media extensions. It would also be an exciting data science project to incorporate the crowdsourced poll results in the algorithm results.
We are NewsBlind, a team of engineers from Olin College of Engineering. Our product is a web app that takes URLs inputted by the user and determines whether the article in question contains false, biased, and/or questionable information.
Our interconnectedness on the web and the lightning speed at which data is shared creates an environment that makes it very easy for falsehoods and misinformation to spread. Easy access to accurate information on the internet is crucial to the continued success of advancing technology and the success of the human race as a whole. While it is of the utmost importance to minimize the pertinence of fake news, we firmly believe that outright censorship of information is wrong. Our product is aimed at informing viewers about the accuracy of the media they consume, but ultimately leaves the decision up to them whether they wish to view and/or share the article or not.
How to Install
All of the dependencies for this application exist in the requirements.txt file in this particular directory. To install them, you'll first need python 2.7. Then, if you don't have pip, install pip:
sudo apt-get install python-pip
Then, you can install the requirements with
pip install -r requirements.txt
How to Run
To run this program, clone this repository. To interface with the application, you will need to start the Flask server and open up the HTML pages in your favorite Then, navigate to the top directory and run
cd layers python detect_prod.py
Then, open up the index.html page located in the /web directory. You can do this from the graphic file structure user interface, or you can use terminal. From terminal, navigate again to the top of the project and run
cd web [browser] index.html
From there, the application should work like a usual web page.