In the modern technological landscape , proliferation of misinformation, fake news and social bubbles is a rampant problem with severe and unforgiving consequences in the real world. Fake news with respect to the recent elections and the ongoing pandemic have resulted in loss of life as well. . We attempt to tackle this problem by using advancements in deep learning, specifically natural language processing techniques to detect presence of fake news in news articles on the web. Now more than ever we need to seek out alternate sources on disputed claims and prevent deviants from manipulating people’s perceptions of real facts, events, and statements. For claims that are likely to be false, we try to display alternative takes on the same topic in an attempt to create an informed population.

What it does

RealityCheck is a Chrome extension that allows users to detect the presence of fake news in the News Articles that they read. Users can select the articles they read and then click on the extension to analyze whether it is true or not. If it is detected that the news is probably fake (>50% probability of it being fake), then the extension automatically suggests relevant articles to the article being searched by the user from reputed sources.

How we built it

RealityCheck has a Chrome extension as a frontend that was built with Javascript, CSS and uses Bootstrap. The backend is an application server that has been built with Flask and has been deployed to Google Cloud Platform and runs on Cloud Run. The classification of fake news is done with a BERT based model trained on the dataset provided by Hacklytics organizers. Selection of news articles on detection of Fake News is done by using this API.

Challenges we ran into

  • Automating CI/CD pipelines with Google Cloud Build (figuring out the required parameters for the cloudbuild.yaml file).
  • Training the FakeNews classifier (trying out various hyperparameters)
  • Figuring out how best to visualize the output to users with the Chrome Extension

Accomplishments that we're proud of

  • Developing and training a deep neural network based on state of the art techniques (BERT) for NLP classification problems.
  • Deploying the trained model backed by an application server built with Flask to GCP
  • Automating deployment with cloud based tools (Cloud Build, Cloud Run)
  • Developing a quick and easy to use frontend in the form of a Chrome Extension to help realize the capabilities of powerful deep learning models.
  • Aggregating additional sources of information when fake news is detected.

What we learned

  • Building state of the art NLP classifiers with pretrained BERT tokenizers
  • Building Chrome extensions
  • Deployment of PyTorch models in application servers built with Flask
  • Dockerizing Flask application and deploying to Google-Cloud-Platform
  • Using Google Cloud Build to automate Git pushes to deployment to Google Cloud Run

What's next for Fake News

RealityCheck can be extended in the following ways

  • Performing web scraping over a wide range of news articles on the web to have more variety of news articles to serve users on detection of fake news.
  • Building mobile applications (Android, iOS) to ensure more users are reached.
Share this project: