Fact-O-Meter
Fake News? Look at Pinocchio's nose!
Video
https://www.youtube.com/watch?v=Ljxojs-r_yU
Description
Fake News are spreading on Social Media & Newspages and are a danger for democracies (e.g. election influence), societies (e.g. hate speech) and even our health (e.g. wrong treatments for Covid19). Even if people do not want to spread fake news, it is often hard to detect what is real or fake nowadays - and mostly it is hard to get a second opinion. How great would it be, if we could tell, if we read facts or fakes/lies - like you could tell, when you look at Pinocchio's Nose… oh wait! There is Fact-O-Meter! --> The introduced Browser-Extension with the Pinocchio-Pin shows the users the likelihood, that the article is based on facts (short nose/green) or on fake news (long nose/red sign) in real time based on a neural network. It checks fact and information on Social Media and News Networks - as a Browser-Addon with the possibility to get further trustworthy source advises - so we go even further than just detecting Fake news, what makes our solution in the field of Browser extensions and its scalability unique.
Technologies used
The neural network is build with python and uses the Tensorflow library. The library is well documented and there are plenty of examples and good tutorials all around the internet. We trained the network with a Kaggle-Dataset. To be compliant with the (Swiss) GDPR we had to set up a reverse proxy with apache2 to encrypt the traffic via SSL (The webserver of python does not support SSL encryption).
Accomplishments
We are proud that we brought this idea so far that it can be directly implemented, with a small team of 3 people in this short timeframe Happy that we brought so many components in one overall solution together (possibility to detect fake news, offer additional source ideas for a second opinion and even think about a “ask an expert”-button on a future stage. Current pilots can be rolled out to 85 % of all desktop users and 75 % of all mobile users within some weeks. A first version on Chrome browser is already working.
Obstacles
The neural network was quite slow initially and each request had an average response time from 5 seconds. Properly initializing the network and tweaking a few optimizations gave us a really performant server and reduced the response time to milliseconds. At the moment we are not finally satisfied with the accuracy of the neural network (also if it is clearly distinguish if some information is clearly fake-news - we just have to train the final threshold. More training and/or another model is neccessary for the release.
Learnings
We learned how to make Chrome Extensions (we never did that bevore) and did research for how to adapt it into other browsers so we can get Fact-O-Meter running for 85 % of all desktop and more than 75 % of all mobile users. How to build a functioning prototype in python We've learned a lot about neural networks and how big the online community is that shares network models and various datasets.
Next steps
First, we want to develop fully functional extensions for all common browsers, because the prototype is only available as a Chrome extension. Next, we want to tune our neural network model so it's at least 95% accurate. After that, a continuous automatic online learning mechanism would be beneficial to guarantee good accuracy also for the latest topics. And as a final step, we want to port the system to the mobile platform. An ultimate goal would be the direct implementation of our service into the browsers by the company itself.
Gallery
Sources
- https://github.com/csaq5507/fake_o_meter
- https://drive.google.com/file/d/107scqS6OHoizS6jBGMyutjj6xoR_QQFg/view
- https://drive.google.com/file/d/1MzMo5CHtWPb2oKmAcdvm0vQnA3lCWEOq/view
- https://www.kaggle.com/c/fake-news/overviewd
- https://drive.google.com/drive/folders/1k3wsfXHZCh3AVxjcTbi9xTNH8BccgcNa?usp=sharing