Visit our wiki at http://wiki.sinfronteras.ws/view/Supervised_Machine_Learning_for_Fake_News_Detection to know more about this project.
Try the Fake News Detector Web App at http://fakenewsdetector.sinfronteras.ws
In this project, we have created a Supervised Machine Learning Model for Fake News Detection based on three different algorithms:
- Naive Bayes
- Support Vector Machine
- Gradient Boosting (XGBoost)
This repository contains a R Library we have created to package the Machine Learning Models built. This package contains essentially three functions: modelNB(), modelSVM() and modelXGBoost(). These functions take a news article as argument and, using the Models created, return the authenticity tag («fake (1)» or «reliable (0)»):
- modelNB(): Based on the the Naive Bayes Model.
- modelSVM(): Based on the Support Vector Machine Model.
- modelXGBoost(): Based on the Extreme Gradient Boosting Model.
Along with this repository, the other final result of this project is:
- http://fakenewsdetector.sinfronteras.ws: This is the link to a Web Application that has been created to easily interact with the Machine Learning Models created. It allows us to determine if a News Article is Fake or Reliable by entering the text into an input field. The input text will be processed by the Machine Learning Models at the back-end and the result will be sent back to the client. This Web App was created using Shiny, an R package that can be used to build interactive web apps straight from R.
The accuracy of the model:
- The Machine Learning Model created (using the Gradient Boosting algorithm) was able to determine the reliability of News Articles with an accuracy of 78.86% we show the accuracy we got for all the models created.
What we call Fake News in this project:
- Deliberately distorted information that secretly leaked into the communication process in order to deceive and manipulate (Vladmir Bitman).
- Therefore, our Machine Learning Models are only able to detect this kind of disinformation: Fake News Articles that were deliberately created in order to deceive and manipulate