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

Course coordinator: Ekaterina Shutova

Lab coordinator: Sandro Pezzelle

Teaching assistants:

Course registration

If you would like to register for this course, please email the student administrator Liza Lambert. Liza will let you know whether you are eligible to register and help with the registration.


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.

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.