Skip to main content
Learn AI Create the Future — with Pranay
  • Learn
  • Paths
  • Projects
  • Practice
  • Glossary
  • Errors
  • LeetCode
  • Main site

Main site →
Select language

Translation is unavailable right now. Your browser’s own “Translate page” usually works.

Machine translation by Google

Topics

  • 🧱 Foundations 2 sections
  • 🤖 Machine Learning 11 sections
  • 📊 Statistics and Experiments 4 sections
  • 🧭 Doing the Work 9 sections
  • 🧠 Deep Learning 11 sections
  • 🧰 Libraries and Frameworks 4 sections
  • 💬 Language and NLP 15 sections
    • Natural Language Processing 8 lessons
    • Text Preprocessing 9 lessons
    • Classical NLP That Still Works 7 lessons
    • The Embedding Family 10 lessons
    • The BERT Family 10 lessons
    • Sequence Labelling and Structure 10 lessons
    • Topic Modelling and Text Clustering 9 lessons
    • Semantic Search and Reranking 11 lessons
    • Chunking and Long Documents 8 lessons
    • Question Answering 10 lessons
      • Overview
      • Extractive question answering
      • Teaching a model to say 'not in the document'
      • Multi-hop questions
      • Answering questions about tables
      • Handling 'what about last year?'
      • Matching a user question to an existing FAQ
      • Checking that an answer really came from the source
      • When two documents disagree
      • Diagnosing a wrong answer
      • What SQuAD and Natural Questions actually test
    • Summarisation 10 lessons
    • Sentiment, Opinion and Text Mining 9 lessons
    • Multilingual and Indic NLP 12 lessons
    • Messy Real-World Text 10 lessons
    • Evaluating Text Systems 7 lessons
  • 👁️ Computer Vision 13 sections
  • 🎙️ Speech, Forecasting and Recommenders 3 sections
  • ✨ Generative AI and LLMs 4 sections
  • 🔬 Inside a Transformer 11 sections
  • ⚙️ Production and MLOps 16 sections
  • 🌍 AI in the Real World 12 sections
  • ⚖️ Safety, Ethics and Law 2 sections

See all topics

  1. Home
  2. Learn
  3. Question Answering

💬 Language and NLP · Section 050

❓ Question Answering

Systems that hand back the answer instead of a list of links — and the many ways they get it wrong.

Every lesson in this section is written by Pranay Mahendrakar.

10 of 10 lessons published · Three reading levels on every lesson

Start with “Extractive question answering”

Lessons in order

Work top to bottom. Each lesson assumes the one above it.

  1. 01 Extractive question answering
  2. 02 Teaching a model to say 'not in the document'
  3. 03 Multi-hop questions
  4. 04 Answering questions about tables
  5. 05 Handling 'what about last year?'
  6. 06 Matching a user question to an existing FAQ
  7. 07 Checking that an answer really came from the source
  8. 08 When two documents disagree
  9. 09 Diagnosing a wrong answer
  10. 10 What SQuAD and Natural Questions actually test
Previous Chunking and Long Documents Next Summarisation

Learn AI

Learn Artificial Intelligence the easy way.

Learn. Build. Ask. Share.

Free forever. No sign-up, no ads, no tracking.

Learn

  • All topics
  • Learning paths
  • Projects
  • Practice playground
  • AI glossary
  • Error database
  • LeetCode solutions

Start here

  • Python for AI
  • Mathematics for AI
  • Machine Learning
  • Classic Algorithms in Depth
  • Linear Models and Regularisation
  • Ensembles and Gradient Boosting

This site

  • Search
  • New lessons feed
  • Sitemap
  • About Pranay Mahendrakar
  • pranaymahendrakar.com

© 2026 Pranay Mahendrakar. Written for people who are starting from zero.

10 new lessons every day. If something here is wrong or confusing, that is worth fixing — say so.