This is the page of the course Natural Language Processing 1 offered at the University of Amsterdam

Course coordinator: Ekaterina Shutova

Lab coordinator: Mario Giulianelli

Senior teaching assistant: Christos Athanasiadis

Teaching assistants:

Course registration

The course registration is now closed.


This course introduces the fundamental techniques for a range of tasks in natural language processing (NLP), with a particular focus on statistical approaches. We will consider tasks that involve hierarchical structure (e.g., syntactic trees) and/or hidden structure (e.g., in semantic tasks), using supervised and some unsupervised statistical learning algorithms. The course aims to explain the potential and the main limitations of these techniques, as well as discussing them in the wider context of current research issues in NLP and its real-world applications.

The lectures will cover the following topics:

An important component of the course is a hands-on practical, in which the students will have the opportunity to implement a number of language processing methods and perform experiments on a real-world task: sentiment analysis of movie reviews. The hands-on-practical consists of two parts and will be completed in teams of two. You can find the link to the team registration form on the Canvas home page of this course.

Jurafsky, D. & Martin, J. (2008). Speech and language processing. 2nd edition. Prentice Hall.

The third edition of the book is currently in preparation and some of the chapters are already available online. I will be referring to these online chapters throughout the course.