nl en

Natural Language Processing


Admission requirements

The course is open to students with interest in applying modern AI methods to the analysis of language. Some exposure to Python, computational linguistics and statistics is preferred, but not required.


In this course, students will learn to apply deep learning methods to the analysis of natural language. We will discuss vectorized representations of texts (using a.o. word2vec and the recent BERT models), and we will apply neural networks to a variety of practical problems, including sentiment analysis, topic labeling, authorship attribution and question answering. The course consists of 12 lectures and practica. In the lectures, we will discuss the formal background of deep learning-based natural language processing, and recent relevant literature. In the practica, students will use an online environment (Google Colab) in which they can run their experiments. The practica begin with a short introduction to Python, limited to the fragment necessary to run the experiments (using the Keras deep learning library).

Course objectives

This course will teach students the fundamentals of deep learning methods for natural language processing (NLP), and will instill practical skills for implementing basis deep learning-based NLP systems. We will stay away from the intense mathematics of deep learning (although some of it will be discussed where necessary). After successful completion of the course, students are able to convert text into vectorized representations, and are able to apply deep learning-based algorithms to these representations. They will be able to understand from a functional perspective current literature on deep learning-based NLP.


You will find the timetables for all courses and degree programmes of Leiden University in the tool MyTimetable (login). Any teaching activities that you have sucessfully registered for in MyStudymap will automatically be displayed in MyTimetable. Any timetables that you add manually, will be saved and automatically displayed the next time you sign in.

MyTimetable allows you to integrate your timetable with your calendar apps such as Outlook, Google Calendar, Apple Calendar and other calendar apps on your smartphone. Any timetable changes will be automatically synced with your calendar. If you wish, you can also receive an email notification of the change. You can turn notifications on in ‘Settings’ (after login).

For more information, watch the video or go the the 'help-page' in MyTimetable. Pleas note: Joint Degree students Leiden/Delft have to merge their two different timetables into one. This video explains how to do this.

Mode of instruction

Lectures (12 * 2 hours; the first hour will be on bacjkground; the second hour on implementation).

Assessment method

Oral group presentation and written exam with open questions.

Students will be evaluated through (1) a written exam (2) a joint presentation of a practical group assignment consisting of an implementation of an NLP topic (here, quality of solutions is not important; just a clear experimental narrative). Topics for the group assignment are voluntary, and will be chosen around 2/3 of the course, so that students can get timely assistance.

The final grade will consist of an unweighted average of the scores for the written exam and the practicum.

The resit for the written exam will consist of an alternative partial written exam readdressing the topics of the failed questions. The resit for the group assignment will consist of a reprisal of the group presentation.

Reading list

Stephan Raaijmakers: Deep learning for Natural Language Processing. Manning, 2020. Apply to teacher for eventually student discount.
Literature (papers), to be distributed at the onset of the course.


From the academic year 2022-2023 on every student has to register for courses with the new enrollment tool MyStudymap. There are two registration periods per year: registration for the fall semester opens in July and registration for the spring semester opens in December. Please see this page for more information.

Please note that it is compulsory to both preregister and confirm your participation for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course. Confirming your exam participation is possible until ten days before the exam.
Extensive FAQ on MyStudymap can be found here.


Not applicable.


How and when an exam review will take place will be disclosed together with the publication of the exam results at the latest. If a student requests a review within 30 days after publication of the exam results, an exam review will have to be organized.