Deep Learning for Natural Language Processing

This is the website for the WASP course “Deep Learning for Natural Language Processing”, taught by Marco Kuhlmann (Linköping University) and Richard Johansson (Chalmers University of Technology).

Learning outcomes

Natural Language Processing (NLP) develops methods for making human language accessible to computers. The goal of this course is to provide students with a theoretical understanding of and practical experience with the advanced algorithms that power modern NLP. The course focuses on methods based on deep neural networks.

On completion of the course, you will be able to

  • explain and analyze state-of-the-art deep learning architectures for NLP
  • implement such architectures and apply them to practical problems
  • design and carry out evaluations of deep learning architectures for NLP
  • use current approaches to NLP in your own field of research

Course literature

Much of the content of the course is not described in a book, so we will mostly give pointers to research papers and survey articles when needed. If you prefer textbook-style introductions, you can have a look

Jacob Eisenstein, Natural Language Processing. MIT Press, 2019. Pre-print version


The course uses a flipped classroom format where the central concepts and methods are presented in pre-recorded video lectures. The physical meetings will focus on discussions of the important points in the recorded material, practical exercises, and reflections.

The teaching is divided into three two-day meetings, each of which covers one module:

  • Meeting 1: 11–12 April (Linköping)
  • Meeting 2: 16–17 May (Gothenburg)
  • Meeting 3: 3–4 June (Linköping)

Each meeting will start with a lunch at 12:00 and end at 15:00 on the second day.


The course consists of three thematic modules and a final project. The content of each module consists of

  • video lectures introducing the important topics
  • pointers to literature, some of which is fundamental and some optional
  • a set of programming exercises
  • a set of discussion tasks
  • an assignment where you implement a model

Detailed information about the modules is available on the module pages, which you can find in the menu at the top of this page.


In the project, you apply your learning in the course to your own field of research.