Antivirals Call for Code 2020 - Fight Fake News
Fake news can have dangerous consequesnces, if left unchecked and can be made believed by large groups of people. There are a few anti-social elements which encourage this idea. Our aim is to fight the news with a highly available IBM Watson chatbot service.
- Short description
- Demo video
- The architecture
- Long description
- Project roadmap
- Getting started
- Running the tests
- Live demo
- Built with
- Contributing
- Versioning
- Authors
- License
- Acknowledgments
Communicating the correct news is the key during a pandemic situation. Even though there a are a few aspects to identify fake news from the genuine, a lot of people lack the knowledge to distinguish fake news from the real news. So they believe in the fake news and it gets spread very fast with the current communication technology.
A chatbot with the knowledge of distinguishing fake news from the real news can be of great help if added as a sanity check before sharing a uncertain message/news.
Help the people to identify fake news with a chatbot trained on automated validaiton criteria.
- The user forwards or speaks a news/message to the News Disinfectant bot.
- Watson Speech to Text processes the audio and extracts the text (only when voice is used).
- NodeRed sends the text to IBM Watson Assistant.
- IBM Watson Assistant receives text from either forwarded message or NodeRed and sends the text to IBM functions action when it cannot match any existing intent.
- The action calls different external APIs Covid19 API, Twitter search API, Fake News Detector API and IBM Discovery to gather more information, runs the validation algorithm and sends the response back to IBM Watson.
- IBM Watson Assistant shows the findings about the news to the user.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Install NodeJS and NPM and NodeRed.
sudo apt-get install nodejs
sudo npm install -g --unsafe-perm node-red
For detailed installation instrucitons, check:
- NodeJS and NPM: https://linuxize.com/post/how-to-install-node-js-on-ubuntu-18.04/
- NodeRed: https://nodered.org/docs/getting-started/local
Install node modules and run NodeRed server
npm install
npm start
Server running at http://127.0.0.1:8000/
Explain how to run the automated tests for this system
Explain what these tests test and why, if you were using something like mocha
for instnance
npm install mocha --save-dev
vi test/test.js
./node_modules/mocha/bin/mocha
Explain what these tests test and why, if you chose eslint
for example
npm install eslint --save-dev
npx eslint --init
npx eslint sample-file.js
You can find a running system to test at callforcode.mybluemix.net
- IBM Watson Assistant - The Chatbot service from IBM
- IBM Speech to Text - To enable speech input.
- IBM Text to Speech - To enable voice interface.
- IBM Cloud Functions - The compute platform for handing logic
- IBM Discovery - Powerful analytics engine used to collect cognitive enrichments and insights from news.
- Apache Open Whisk - A polyglot functions-as-a-service (FaaS) programming platform
- Node Red - The flow based low code programming editor for connecting cloud services.
- Twitter - Social media platform to collect news and posts
- Fake News Detector API - to identify common fake news.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Srichakradhar Reddy Nagireddy - Initial work - Srichakradhar
- Vamsipriya Chava - Initial work - Vamsipriya
See also the list of contributors who participated in this project.
This project is licensed under the Apache 2 License - see the LICENSE file for details