Welcome to the Course#

Welcome to the Practical NLP with Python course! This course is perfect for people looking for an overview of the state-of-the-art of practical NLP and what you can do with few lines of code. It’s mainly meant for beginner-to-intermediate technical people.

The course is as much interactive as possible to better internalize the concepts:

  • There are practice lessons showing how to implement real-world applications.

  • Most of the lessons have code exercises to be done on Colab.

  • You’ll find interactive visualizations of data and algorithms, like the following:

  • You’ll find quizzes in each lesson, like the following:

What are word embeddings?

  1. A type of word representation with numerical vectors that allows words with similar meanings to have a similar representation.

  2. A vectorized representation of words obtained with one-hot encoding

  3. A type of word representation with sparse word vectors that allows words with similar meanings to have a similar representation.

The course is entirely text-based and you can follow the lessons whenever you want.

What You’ll Learn About#

  • What is NLP, its recent successes and challenges.

  • How to tackle advanced NLP problems with pre-trained models.

  • How to use the Hugging Face libraries.

  • How transformers and Large Language Models took NLP to the next level.

  • The complete workflow from idea to production of an NLP project.

Practical Projects#

You’ll work on several projects like:

  • Building a knowledge graph from online articles.

  • Computing the sentiment of social media posts toward a company.

  • A semantic search engine over documents.

  • A classifier that assigns tags to articles.

  • Semantic search over images via natural language queries.

  • Text summarization of news articles.

  • Automatic extraction of keywords from documents.

  • A recommender system for blog articles.

  • … and others.

All the projects focus more on the data science aspect and less on machine learning system design (i.e. how to operationalize the models taking scale, performance, and other aspects into account). These other aspects will be covered in a “NLP System Design” future course.

Prior Knowledge Required#

  • Programming with Python.

  • Basic knowledge of machine learning.

  • Jupyter notebook and Google Colab.

Basically Colab is a hosted Jupyter notebook service that requires no setup to use, allows anybody to write and execute arbitrary Python code through the browser, and is especially well suited to machine learning, data analysis and education. If you don’t know it, read these FAQs.

People Involved in the Course#

The course is made by Fabio Chiusano. Fabio is a data scientist active in the Italian startup ecosystem, advising about Artificial Intelligence topics. He also manages NLPlanet, a niche community about Natural Language Processing whose goal is to connect NLP enthusiasts and provide high-quality learning content.

The quality of the course is guaranteed and reinforced by the work of proofreaders, including Tinsae Wondimu Techanea, Andrea Battistello, and Dan Robinson.

Is the Course Free?#

Yes, the course is entirely free for everybody.

Ready to Learn About NLP?#

When you’re ready, jump to the AI and ML Refresher lesson.