A New Free and Open Course about Practical NLP with Python

A text-based and open course with projects, quizzes, and code exercises

Fabio Chiusano
NLPlanet
4 min readDec 7, 2022

--

Image from https://www.nlplanet.org

Hello, NLP enthusiasts!

The previous months have been full of developments for NLPlanet. For those who don’t know about it, NLPlanet is a niche community about Natural Language Processing whose goal is to connect NLP enthusiasts and provide high-quality learning content. Basically, NLPlanet is made of a Medium publication with ~100 blog posts about NLP, a LinkedIn page that posts the latest news, and a Discord server with 500+ NLP enthusiasts.

Here is the latest news:

  • NLPlanet has now a website. It contains several organized tutorials, courses, and links to our social channels. Give it a look!
  • The first chapter of the course Practical NLP with Python (text-based, open, and free for everybody) is out. New lessons will be published weekly. The course is for people looking for an overview of the state-of-the-art of practical NLP and what you can do with a few lines of code. It’s mainly meant for beginner-to-intermediate technical people.
  • You can find ~100 NLPlanet blog posts organized by category on the website. They are all written more or less in the last year, so you should find up-to-date concepts.
  • In our Discord server, there’s now a new section “courses” created for people who want to study together the materials of open courses that can be found on the web. As of now, there’s a channel #applied-nlp-berkeley for the Applied NLP course from Berkeley and the #practical-nlp-nlplanet channel for the new Practical NLP with Python course from NLPlanet. If you would like a specific channel for another open course that you are taking, let us know.
  • There’s a support page for people who like what we are doing and would like to help. It basically asks to spread the word about NLPlanet, help other people on Discord, and make small donations on our Patreon to cover the costs. If you would like to help/collaborate with NLPlanet in other ways, let us know.

Let’s talk more about the course.

The Practical NLP with Python Course

You can find the course here. The course (text-based, open, and free for everybody) is perfect for people looking for an overview of the state-of-the-art of practical NLP and what you can do with a few lines of code. It’s mainly meant for beginner-to-intermediate technical people.

An extract of the “Practical NLP with Python” course. Image from https://www.nlplanet.org/course-practical-nlp/index.html.

The course is as 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.
  • You’ll find quizzes in each lesson.
Examples of quizzes from the course. Image from https://www.nlplanet.org/course-practical-nlp/01-intro-to-nlp/11-text-as-vectors-embeddings.html.

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

What You’ll Learn About

The following list is not exhaustive, but the main topics are:

  • 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 an “NLP System Design” future course.

Prior Knowledge Required

It is better for you to have the following skills before taking the course:

  • 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.

Who’s the Teacher

The course is made by me, Fabio Chiusano. I’m a data scientist active in the Italian startup ecosystem, advising about Artificial Intelligence topics. I’m currently the person who manages NLPlanet.

Conclusion

If you are interested in the course, give it a look here, I hope it can be useful to you. It’s free and open to everybody, and no registration is required. New lessons will be added weekly, and you can take the course together with other people by joining the NLPlanet Discord server.

--

--

Fabio Chiusano
NLPlanet

Freelance data scientist — Top Medium writer in Artificial Intelligence