Skip to content

srichakradhar/Antivirals-CFC2020

Repository files navigation

License Slack Website

Antivirals-CFC2020: News Disinfectant Chatbot

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.

Contents

  1. Short description
  2. Demo video
  3. The architecture
  4. Long description
  5. Project roadmap
  6. Getting started
  7. Running the tests
  8. Live demo
  9. Built with
  10. Contributing
  11. Versioning
  12. Authors
  13. License
  14. Acknowledgments

Short description

What's the problem?

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.

How can technology help?

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.

The idea

Help the people to identify fake news with a chatbot trained on automated validaiton criteria.

Demo video

Watch the video

The "Disinfectant" architecture

The "Disinfectant" architecture

  1. The user forwards or speaks a news/message to the News Disinfectant bot.
  2. Watson Speech to Text processes the audio and extracts the text (only when voice is used).
  3. NodeRed sends the text to IBM Watson Assistant.
  4. 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.
  5. 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.
  6. IBM Watson Assistant shows the findings about the news to the user.

Long description

More detail is available here

Project roadmap

Roadmap

Getting started

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.

Prerequisites

Install NodeJS and NPM and NodeRed.

sudo apt-get install nodejs
sudo npm install -g --unsafe-perm node-red

For detailed installation instrucitons, check:

Installing

Install node modules and run NodeRed server

npm install
npm start
Server running at http://127.0.0.1:8000/

Running the tests

Explain how to run the automated tests for this system

Break down into end to end tests

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

And coding style tests

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

Live demo

You can find a running system to test at callforcode.mybluemix.net

Built with

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the Apache 2 License - see the LICENSE file for details

Acknowledgments

About

Antivirals Call for Code 2020 - Fight Fake News

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published