Updated in May 2025.
This course now features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. Unlock the power of natural language processing (NLP) with machine learning techniques using Python in this hands-on, application-focused course. You'll gain practical skills in text classification, sentiment analysis, summarization, and topic modeling—all essential tools in the NLP toolkit. By the end of the course, you'll not only understand key algorithms but also be able to implement them confidently in Python. The course begins with setup instructions and success tips to ensure a smooth learning experience. You'll dive into spam detection using Naive Bayes, addressing real-world problems like class imbalance and model evaluation with ROC, AUC, and F1 Score metrics. With guided exercises and code demonstrations, you'll learn to build functional spam filters. Next, you'll explore sentiment analysis through logistic regression, mastering both binary and multiclass classification. Then, you’ll move into text summarization—starting with vector-based approaches and progressing to advanced techniques like TextRank. Both beginner and advanced methods are covered, ensuring an inclusive learning path. Finally, you'll delve into topic modeling and latent semantic analysis (LSA), implementing algorithms like LDA and NMF in Python. The course is ideal for aspiring data scientists, software engineers, and analysts with basic Python knowledge who want to specialize in NLP. The level is intermediate, and some prior experience in machine learning will help but it is not mandatory.