Computer Laboratory

Course pages 2016–17

Natural Language Processing

Principal lecturer: Dr Ekaterina Shutova
Taken by: Part II
Past exam questions

No. of lectures: 12
Suggested hours of supervisions: 3
Prerequisite courses: Mathematical Methods for Computer Science, Logic and Proof, and Artificial Intelligence I


This course introduces the fundamental techniques of natural language processing. It aims to explain the potential and the main limitations of these techniques. Some current research issues are introduced and some current and potential applications discussed and evaluated.


The order of delivery of the lectures is provisional.

  • Introduction. Brief history of NLP research, current applications, components of NLP systems.

  • Finite-state techniques. Inflectional and derivational morphology, finite-state automata in NLP, finite-state transducers.

  • Prediction and part-of-speech tagging. Corpora, simple N-grams, word prediction, stochastic tagging, evaluating system performance.

  • Context-free grammars and parsing. Generative grammar, context-free grammars, parsing with context-free grammars, weights and probabilities. Limitations of context-free grammars. Dependencies.

  • Lexical semantics. Semantic relations, WordNet, word senses, word sense disambiguation.

  • Distributional semantics 1. Representing lexical meaning with distributions. Similarity metrics.

  • Distributional semantics 2. Generalisation and clustering. Selectional preference induction. Multimodal semantics.

  • Compositional semantics. Compositional semantics with FOPL and lambda calculus. Compositional distributional semantics. Inference and entailment.

  • Discourse processing. Anaphora resolution, discourse relations.

  • Language generation and regeneration. Components of a generation system. Summarisation.

  • Applications. Examples of practical applications of NLP techniques.

  • Recent trends in NLP research. Recent trends in NLP research.


At the end of the course students should

  • be able to discuss the current and likely future performance of several NLP applications;

  • be able to describe briefly a fundamental technique for processing language for several subtasks, such as morphological processing, parsing, word sense disambiguation etc.;

  • understand how these techniques draw on and relate to other areas of computer science.

Recommended reading

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

For background reading, one of:
Pinker, S. (1994). The language instinct. Penguin.
Matthews, P. (2003). Linguistics: a very short introduction. OUP.

Although the NLP lectures don’t assume any exposure to linguistics, the course will be easier to follow if students have some understanding of basic linguistic concepts.

For reference purposes:
The Internet Grammar of English,