March 12, 2020

473 words 3 mins read



API & Webapp to answer questions about COVID-19. Using NLP (Question Answering) and trusted, curated data sources.

repo name deepset-ai/COVID-QA
repo link
language Jupyter Notebook
size (curr.) 5205 kB
stars (curr.) 98
created 2020-03-17
license Apache License 2.0


Provide trustworthy questions to COVID-19 via NLP

🤖Telegram Bot: Add it to your account via @corona_scholar_bot

:zap: Problem

  • People have many questions about COVID-19
  • Answers are scattered on different websites
  • Finding the right answers takes a lot of time
  • Trustworthiness of answers is hard to judge
  • Many answers get outdated soon

:bulb: Idea

  • Aggregate FAQs and texts from trustworthy data sources (WHO, CDC …)
  • Provide an UI where people can ask questions
  • Use NLP to match incoming questions of users with meaningful answers
  • Users can provide feedback about answers to improve the NLP model and flag outdated or wrong answers
  • Display most common queries without good answers to guide data collection and model improvements

:gear: Tech

  • Scrapers to collect data
  • Elasticsearch to store texts, FAQs, embeddings
  • NLP Models implemented via Haystack to find answers via a) detecting similar question in FAQs b) detect answers in free texts (extractive QA)
  • NodeJS / koa / eggjs middleware
  • React Frontend

Quick overview of current status

  1. Check out the demo app to get a basic idea
  2. Data: At the moment we are using scrapers to create a CSV that get’s ingested into elasticsearch
  3. Model: The NLP model to find answers is build via haystack. It’s configured and exposed via this API.
  4. Frontend/middleware: TODO

:heart: How you can help

This project is build by the community for the community. We are really appreciating every kind of support! There’s plenty of work on UX, Design, ML, Backend, Frontend, Middleware, Data collection …

We are also happy if you just report bugs, add documentation or flag useful/inappropriate answers returned by the model.

Some next TODOs we see:

Data / Backend

Machine learning / NLP / IR

  • English+German evaluation dataset & pipeline to benchmark models
  • Benchmark baseline models
  • Improve NLP models for FAQ matching (better embeddings, e.g. sentence-bert trained on Quora duplicate questions dataset)
  • Add extractive QA Models
  • Support other languages (models)
  • Tune Elasticsearch + Embedding models


  • Integrate user feedback mechanism for answers (flag as “correct”, “not matching my question”, “outdated”, “fake news”)
  • Tab to explore common queries and those with bad answers
  • Logos / icons
  • Intuitive displaying of search results
  • UX for adding/reviewing data sources by the crowd
comments powered by Disqus