COMPGI19 - Statistical Natural Language Processing

This database contains 2016-17 versions of the syllabuses. For current versions please see here.

CodeCOMPGI19 (also taught as COMPM083)
Taught BySebastian Riedel (100%)
AimsThe course introduced the basics of statistical natural language processing (NLP) including both linguistics concepts such as morphology and syntax and machine learning techniques relevant for NLP.
Learning Outcomes

Students successfully completing the module should understand:

  • relevant linguistic concepts
  • relevant ML techniques, in particular structured prediction
  • what makes NLP challenging (and exciting)
  • how to write programs that process language
  • how to rigorously formulate NLP tasks as learning and inference tasks, and address the computational challenges involved.


NLP is domain-centred fields, as opposed to technique centred fields such as ML, and as such there is no "theory of NLP" which can be taught in a cumulative technique-centred way. Instead this course will focus on one or two NLP end-to-end "pipelines" (such as Machine Translation and Machine Reading). Through these applications the participants will learn about language itself, relevant linguistic concepts, and Machine Learning techniques. For the latter an emphasis will be on structured prediction, a branch of ML that is particularly relevant to NLP.

Topics will include (but are not restricted to) machine translation, sequence tagging, constituent and dependency parsing, information extraction, semantics. 

The course has a strong applied character, with coursework to be programmed, and lab classes to teach students to write software that processes language.

Indicative contents:

  • Introduction
  • Machine Translation 1
  • Machine Translation 2
  • Document Classification and Clustering
  • Tagging
  • Syntactic Parsing 1
  • Syntactic Parsing 2
  • Coreference
  • Information Extraction
  • Semantic Parsing

Mode of Instruction

Lectures and lab classes, with occasional guest lectures by leading researchers in NLP.

Coursework problems will focus on basic components in an NLP pipeline, such as a document classifier, part-of-speech tagger and syntactic parser.


The course has the following assessment component:

  • Coursework (100%)

Individual projects related to particular foundations, steps and techniques in the NLP pipeline. There will be 2-3 assignments, consisting of software to be written and presented, and a write-up.

To pass this module students must:

  • Obtain an overall pass mark of 50% for all sections combined


Daniel Jurafsky and James H. Martin (2008) Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition. 2nd Edition. Prentice Hall.