Skip to content

Day 04 — Part 2: NLP Basics

Text is the most abundant data type in the world. Product reviews, support tickets, social media posts, medical notes — all of it is text, and almost none of it comes pre-labelled, pre-structured, or pre-cleaned. This session covers the full pipeline from raw string to trained classifier, and gives you the intuition for when to reach for classical methods versus a transformer.

Session Overview

Difficulty: Intermediate Reading time: ~2.5 hours | Exercises: ~1.5 hours Prerequisites: Python string operations and regex · Pandas text handling · Classification algorithms (logistic regression) · Scikit-learn Pipeline

Learning Objectives

By the end of this session you will be able to:

  • Explain why language understanding is fundamentally hard for machines
  • Build a text preprocessing pipeline that removes noise without destroying signal
  • Convert raw text into numeric feature matrices using Bag of Words and TF-IDF
  • Train and evaluate a sentiment classifier using scikit-learn pipelines
  • Describe the transformer architecture at an intuition level and use HuggingFace's pipeline() in five lines
  • Make an informed choice between TF-IDF + classical ML and a fine-tuned transformer

Schedule

# Topic File Estimated Time
1 NLP Overview 01-nlp-overview.md 20 min
2 Text Preprocessing 02-text-preprocessing.md 25 min
3 Bag of Words and TF-IDF 03-bow-tfidf.md 30 min
4 Sentiment Classification 04-sentiment-classification.md 35 min
5 Transformers Overview 05-transformers-overview.md 25 min
6 Exercises 06-exercises.md 45 min

Total reading + coding time: ~3 hours

Difficulty: Intermediate — assumes you are comfortable with scikit-learn's fit/transform pattern and pandas DataFrames.

Prerequisites: Feature Engineering (Day 03), scikit-learn classification basics (Day 02 Part 2)

Tip

Work through the code examples yourself. Copy each block, run it, then break it deliberately — change a parameter, swap a method, feed it different text. That is how preprocessing intuition is built.

Start: NLP Overview →