A Hyper Local, Crowd Sourced, Data Driven Chatbot for Covid
Overview
- Covid 19 database by John Hopkins - https://github.com/CSSEGISandData/COVID-19
- Covid 19 India dashboards - https://github.com/covid19india/covid19india-react
- Covid 19 India clusters - https://github.com/someshkar/covid19india-cluster
- WHO app - https://github.com/WorldHealthOrganization/app
- Covid 19 time series data - https://github.com/pomber/covid19
- And, many others
Approach
- some of them have to an office or public place for work
- children going to schools/parks
- people heading out for chores/outdoors
- and similar scenarios
Concept
Technology
- The first step is to gather the relevant data. This can be done in a google spreadsheet, as it allows multiple people to update the sheet at the same time. In the example here, data from Arogya Setu app is used to capture the covid positive cases and at-risk cases for a given location. A sample spreadsheet is here. This is the kind of "quantitative" data that the DISCO bot could provide.
- Often, many people have queries regarding the pandemic. An FAQ conversation model can be built that can also be integrated into the DISCO bot. A sample is provided here. This is the kind of qualitative data the DISCO bot could provide.
- Next, we need a host computer to run the bot. It could be a desktop, laptop, server, cloud or even a Raspberry Pi. This bot would download the above spreadsheet regularly and keep a local cache (for quicker responses to user queries). My copy of the DISCO bot for the local community is running on my Raspberry Pi 3 that has been idle for years.
- Lastly, the community can use Telegram chat app on a compatible device to interact with the bot. Scroll below for the demos on how to setup and use the DISCO bot.
Drivers and Goals
- Local
- Yet Global
- Community/Volunteer Driven
- Accessible
- Simple and Cheap
Local
Yet Global
Community/Volunteer Driven
- Data volunteers - Their responsibility is not just to enter/maintain the data, but to also ensure that the data is "as true" as possible. The data volunteers are kind of playing the role of citizen journalists. One of the "journalistic ethics" is to have a story/lead/data verified by at least 2 independent sources. This is the reason for the google spreadsheet to have the 2 columns - "Data Source Verified By (1): and "Data Source Verified By (2)". It is also important to ensure that the data maintained is sufficiently protected and privacy maintained. For more details, please refer Reuters Handbook.
- Technology Volunteers - Their responsibility is to setup and run the chat bot. It should take roughly 1-2 hours to set it all up from scratch. I will be happy if someone can set it up faster than that. The source code and installation instructions are available here at Github.
Accessible
Simple and Cheap
- simple to maintain the data
- simple and light weight to setup and run the chat bot
- simple and actionable insights
- simple for anyone to use the chat bot
No |
Technology |
Purpose |
Cost |
Availability |
Remarks |
1 |
Google
Spreadsheet |
Serves
as UI and database for the volunteers to enter and maintain data |
Free |
Global |
|
2 |
Python |
All the programs and
libraries for the chat bot are written using Python |
Free |
Global |
|
3 |
Chat Bot Host |
Run
the chat bot and other programs |
Raspberry Pi - 4,000
INR (approx. 50 USD) |
Global |
The chat bot created in this post runs on a Raspberry Pi 3. Alternatively, these programs can just run in any existing laptop/desktop/server that can run python 3.6.4 or above. |
Chat Bot in Action
Step 1 - Updating data in a google spreadsheet
Step 2 - Training a sample FAQ for the chat bot
Step 3 - Downloading google spreadsheet to a local file cache and running the chat bot on a Raspberry Pi
Step 4 - Testing an alpha version of the chat bot in the Telegram Web app
Step 4 - Testing current version of the chat bot in Telegram app for iPhone
How to setup your own Bot
Summary
Arogya Setu |
‘Local’ DISCO Bot |
A
health an contact tracing app maintained by the central/federal government of
India |
A
community driven app built and maintained by each local community |
Uses GPS, Data, Bluetooth |
Uses only Data |
Collects
information based on the scenario |
Doesn’t
collect any information from end user |
Provides data at a “point in time” for a location. Data available for entire country. |
Provides data at a “point in time” and trends. Data available only for a location. |
Contains
a FAQ |
Contains
FAQ |
Requires installation of the Arogya Setu App on
Android or iOS |
Requires installation of the Telegram messenger app on Desktop,
Mobile and Tablet |
No customization |
Customization
based on the needs of the community by the community volunteers themselves |
Public and health agencies collate the data and feed
into the app |
Data volunteers need to look at the Arogya Setu app and/or other sources and enter data
into a google spreadsheet for their location |
Great analysis Rajan , Good job keep it up !!!
ReplyDeleteThis is a wonderful idea. Technology of the people, by the people, for the people!
ReplyDelete