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
    • Summarisation 10 lessons
    • Sentiment, Opinion and Text Mining 9 lessons
    • Multilingual and Indic NLP 12 lessons
    • Messy Real-World Text 10 lessons
      • Overview
      • Building a spell checker
      • Fuzzy matching names and addresses
      • Normalising numbers, dates and currency
      • Cleaning social media text
      • Fixing OCR errors
      • Punctuating a speech transcript
      • Finding and masking personal data in text
      • Augmenting text data
      • When users write 'f r e e m0ney' to dodge your filter
      • Labelling data with an LLM and a human reviewer
    • 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. Messy Real-World Text

💬 Language and NLP · Section 054

🧵 Messy Real-World Text

Real user text is misspelled, half in Hindi, full of emoji and pasted out of a scanner. Here is how to survive it.

Every lesson in this section is written by Pranay Mahendrakar.

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

Start with “Building a spell checker”

Lessons in order

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

  1. 01 Building a spell checker
  2. 02 Fuzzy matching names and addresses
  3. 03 Normalising numbers, dates and currency
  4. 04 Cleaning social media text
  5. 05 Fixing OCR errors
  6. 06 Punctuating a speech transcript
  7. 07 Finding and masking personal data in text
  8. 08 Augmenting text data
  9. 09 When users write 'f r e e m0ney' to dodge your filter
  10. 10 Labelling data with an LLM and a human reviewer
Previous Multilingual and Indic NLP Next Evaluating Text Systems

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.