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.

The course covers state-of-the-art deep learning architectures for three types of NLP applications: categorization, structured prediction, and text generation. Each module consists of video lectures, interactive sessions, and programming assignments. The final part of the course is a project where students apply their learning to their own field of research.

Course Type:

  • AS track: elective
  • AI track: elective
  • Joint Curriculum: advanced

Time: Given even years, Spring

Teachers: Marco Kuhlmann (LiU), Richard Johansson (CTH)

Examiner: Elin Anna Topp (LU)

The participants are assumed to have a background in mathematics corresponding to the contents of the WASP-course “Mathematics for Machine Learning”. The course requires solid programming experience in a high-level language; the programming assignments will use Python. Students are expected to be comfortable with modern deep learning techniques and frameworks, for instance as taught by the WASP course Deep Learning and GANs. No previous knowledge of NLP is required.

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, the student should be able to

  • explain and analyse 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 the student’s own field of research

The course content is presented in three modules:

  • Introduction to deep learning and NLP. Word and document representations for NLP. Introduction to language models. Categorization tasks.
  • Generation tasks in NLP, such as machine translation and text summarization. Generation algorithms. Modern language models, in-context learning and instruction tuning.
  • Structured prediction tasks in NLP, such as sequence labelling and syntactic parsing.

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

3 programming assignments, 1 self-defined project