Overview

What is the problem?

In times of crisis, communications systems are often overwhelmed with people trying to find basic information about testing, symptoms, community response, and other resources. When communication lines get clogged, people who need real help can't get through. Chatbots help respond to tens, even hundreds of thousands of messages a day.

How can technology help?

Whether via text, phone, websites, or communication apps, conversing with chatbots and other AI-enabled resources can play a critical role in helping communities quickly understand crucial information and free up customer service resources to focus on higher-level issues.


IBM Watson Assistant helps you build, train, and deploy conversational interactions into any application, device, or channel. Creating a chatbot using Watson Assistant can help address the issues that our users face while trying to gather accurate, relevant information. Whether you're trying to learn the latest news about COVID-19 or learn where there's testing in your area, a chatbot can play a major role in helping communities quickly understand crucial information and free up customer service resources to focus on higher-level issues.

The idea

COVID-19 has citizens looking for answers about symptoms and testing sites as well as the current status of schools, transportation, and other public services. Using Watson Assistant, this Call for Code starter kit has designed a virtual assistant pre-loaded to understand and respond to common questions about COVID-19, scan COVID-19 news articles using Watson Discovery, and respond to COVID-19 statistics inquiries with data from trusted sources.


With this Watson Assistant-powered Crisis Communications starter kit, you can integrate a chatbot into your Call for Code solution in an IBM Cloud-hosted web server, using a Slack integration, or via a Node-RED dashboard.

It can:

  1. Respond by sharing consistent, accurate COVID-19 information
  2. Help citizens quickly and easily access the latest information through their channel of choice – voice, text, or collaborative tool
  3. Free valuable resources by automating answers to common COVID-19 questions
  4. Dynamically update information with the latest developments and recommendations

The challenge for you is to build out from this framework to create a more complete solution.

The architecture
    1. The user visits a website with the COVID-19 chatbot and asks a question.
    2. The Node.js web server calls Watson Assistant hosted in IBM Cloud.
    3. Watson Assistant uses natural language understanding and machine learning to extract entities and intents of the user question.
    4. The COVID-19 FAQ is sourced from trusted CDC data.
    5. Watson Assistant invokes an OpenWhisk open source-powered IBM Cloud Function.
    6. IBM Cloud Function calls Watson Discovery running in IBM Cloud.
    7. Watson Discovery scans news articles and responds with relevant articles.
    8. Watson Assistant invokes an OpenWhisk open source powered IBM Cloud Function.
    9. IBM Cloud Function calls the COVID-19 API to get statistics.
    10. Watson Assistant replies to the user inquiry.
    11. The Node.js web server displays the chat answer to the user.
    1. The user invokes a COVID-19 Slack integration chatbot app and asks a question.
    2. The Slack app calls Watson Assistant hosted in IBM Cloud.
    3. Watson Assistant uses natural language understanding and machine learning to extract entities and intents of the user question.
    4. The COVID-19 FAQ is sourced from trusted CDC data.
    5. Watson Assistant invokes an OpenWhisk open source-powered IBM Cloud Function.
    6. IBM Cloud Function calls Watson Discovery service running in IBM Cloud.
    7. Watson Discovery scans news articles and responds with relevant articles.
    8. Watson Assistant invokes an OpenWhisk open source powered IBM Cloud Function.
    9. IBM Cloud Function calls the COVID-19 API to get stats.
    10. Watson Assistant replies to the Slack app.
    11. THe Slack app displays the chat answer to the user.
    1. The user visits a voice-enabled Node-RED website with the COVID-19 chatbot and asks a question.
    2. Node-RED records the speech .wav file and calls the Watson Speech to Text Service hosted in IBM Cloud.
    3. Watson Speech to Text uses machine learning to decode the user's speech.
    4. Watson Speech to Text replies with a transcript of the COVID-19 question, and Node-RED calls Watson Assistant hosted in IBM Cloud.
    5. Watson Assistant uses natural language understanding and machine learning to extract entities and intents of the user question.
    6. External data sources are checked for COVID information.
    7. Watson Assistant invokes an OpenWhisk open source powered IBM Cloud Function.
    8. IBM Cloud Function calls Watson Discovery running in IBM Cloud.
    9. Watson Discovery scans news articles and responds with relevant articles.
    10. Watson Assistant invokes an OpenWhisk open source powered IBM Cloud Function.
    11. IBM Cloud Function calls the COVID-19 API to get stats.
    12. Watson Assistant replies to the user inquiry, and Node-RED sends the text transcript to Watson Text to Speech.
    13. Watson Text to Speech encodes the message in the user's language.
    14. Node-RED plays the chat answer .wav file to the user.
    15. The user listens to the chat answer.
Tutorials

Create a COVID crisis chatbot and connect it to data sources

Enable a Watson Assistant chatbot that integrates a webhook for Watson Discovery and COVID-19 sources

 Estimated time: 40 minutes

Integrate your COVID crisis communication chatbot with a website

Use Watson Assistant APIs to connect your chatbot to a website

 Estimated time: 30 minutes

Integrate your COVID crisis communication chatbot with Slack

Create a Watson Assistant chatbot that answers questions about COVID-19 via Slack

 Estimated time: 20 minutes

Create a voice-enabled COVID crisis chatbot connected to Node-RED

Create a voice-enabled chatbot using Node-RED and the Watson Assistant, Watson Speech to Text, and Watson Text to Speech services

 Estimated time: 30 minutes