Natural Language Processing¶
A Notebook-Based Introduction¶
Version 0.1 — a living, ever-evolving edition
This is an early release (v0.1) of a living resource that grows and evolves alongside the field. Chapters, structure, and content are continually expanded and updated — see the Roadmap.
An open educational resource for learning modern NLP by reading, running, and modifying real code — from tokenization and word vectors to transformers, fine-tuning, and LLM agents. Every chapter is an interactive Jupyter notebook you can run in your browser.
Start reading Read the Preface
Open & free
This book was developed with support from the OU Alternative Textbook Grant 2025–2026 and is released under a CC BY-NC-SA 4.0 license — free to use, share, and adapt for non-commercial purposes.
Why this book¶
- Code-first. You don't just read about NLP — you run it, break it, and rebuild it.
- Zero setup. One click opens any chapter in Google Colab; no install required.
- Self-paced. Designed for independent study as well as classroom use.
- Modern. Covers the path from classical methods to transformers, LLM fine-tuning, and agents.
Start here¶
- Read the Preface — what this book is and how to use it.
- Open the Table of Contents and begin with Chapter 1.
- Check the Roadmap to see what's coming.
For CS-5293 students¶
This book is the textbook for CS-5293 Natural Language Processing at the University of Oklahoma. Course logistics:
- Lectures: Tue/Thu, 1:30 PM – 2:45 PM · Location: Sarkeys Energy Center A0236
- Instructor: Prof. Jie Cao · Email: jie.cao@ou.edu
- Discussion: Canvas + Discord
Course pages: Syllabus · Schedule · Assignments · Final Project · Resources