Two minutes NLP — 19 Learning Resources for Question Answering
Use cases, articles, tutorials, surveys, and popular libraries
Hello fellow NLP enthusiasts! As soon there will be an NLPlanet Discord server for networking between NLP practitioners, I’m working on the first organization of its channels. I’m planning to add learning resources for many NLP areas, therefore this article is a step towards preparing such content. If you’re interested in the Discord server, follow NLPlanet on Medium, LinkedIn or Twitter to stay updated on its release. Enjoy! 😄
Here follows the first draft, curated by me, of the Question Answering learning resources of NLPlanet. Being a draft, this list will be improved using the feedback of the community.
This article is part 8 of a series of articles about learning resources:
- Awesome NLP — 18 High-Quality Resources for studying NLP
- Two minutes NLP — 21 Learning Resources for Text Classification
- Two minutes NLP — 20 Learning Resources for Word Embeddings
- Two minutes NLP — 20 Learning Resources for Transformers
- Two minutes NLP — 20 Learning Resources for Information Retrieval
- Two minutes NLP — 23 Learning Resources for Chatbots
- Two minutes NLP — 18 Learning Resources for Language Models
What is Question Answering
Question Answering (QA) models are able to retrieve the answer to a question from a given text. This is useful for searching for an answer in a document. Depending on the model used, the answer can be directly extracted from text or generated from scratch.
Question Answering applications and use cases
- Automate the response to frequently asked questions by using a knowledge base (e.g. documents).
- Smart assistants employed in customer support or for enterprise FAQ bots.
- Augment search engines results.
- Automatic quiz generation, along with automatic question generation.
Articles and tutorials
- What is Question Answering?: Question answering task variants and inference with pre-trained models from the transformers library.
- Question Answering course: A step-by-step guide to fine-tuning a model for question answering with the transformers library.
- Two minutes NLP — Quick intro to Question Answering: Taxonomy of question answering, sample code with the transformers library, and datasets.
- Two minutes NLP — Quick Intro to Knowledge Base Question Answering: Approaches to question answering leveraging a knowledge base.
- Open Domain Question Answering Series — (Part 1: Introduction to Machine Reading Comprehension): An introduction to open-domain question answering.
- Unsupervised Question Answering: How to train a model to answer questions when you have no annotated data.
- Question Answering Benchmarks: Benchmarks and best models for question answering.
- Question Answering on SQUAD [Colab]: Finetune DistilBERT on question answering on SQUAD, using the transformers library.
- Intro to Haystack: What are haystack pipelines.
- Two minutes NLP — Quick Introduction to Haystack: Haystack use cases for question answering, Haystack pipelines, and sample code.
- Utilizing existing FAQs for Question Answering: A guide to building a question answering model over your FAQs with haystack.
- Financial Question Answering with Jina and BERT — Part 1: An introduction to core jina concepts and how to build a production-ready financial QA system.
Surveys
- Question Answering Survey: Directions, Challenges, Datasets, Evaluation Matrices: Research directions of the QA field are analyzed based on the type of question, answer type, source of evidence-answer, and modeling approach. This is followed by open challenges like automatic question generation, similarity detection, and low resource availability for a language. In the end, a survey of available datasets and evaluation measures is presented.
- A Survey on Complex Question Answering over Knowledge Base: Recent Advances and Challenges: This paper introduces the recent advances in complex QA, often leveraging knowledge bases.
Popular libraries
- transformers: Transformers provides thousands of pre-trained models to perform tasks on different modalities such as text, vision, and audio.
- haystack: Haystack is an end-to-end framework that enables you to build powerful and production-ready pipelines for different search use cases. Whether you want to perform Question Answering or semantic document search, you can use the state-of-the-art NLP models in Haystack to provide unique search experiences and allow your users to query in natural language.
- jina: Jina is a neural search framework that empowers anyone to build SOTA and scalable neural search applications in minutes.
- ParlAI: ParlAI is a python framework for sharing, training, and testing dialogue models, from open-domain chitchat, to task-oriented dialogue, to visual question answering.
Video
- Stanford CS224N: NLP with Deep Learning | Winter 2019 | Lecture 10 — Question Answering: Deep learning for question answering.
Conclusion
If you know any other good resources for learning about Question Answering in particular, please let me know so that I can share them with the community.