Aims:

The module introduces the basics of statistical natural language processing (NLP) and machine learning techniques relevant for NLP.Learning outcomes:

On successful completion of the module, a student will be able to:

Understand relevant ML techniques, in particular in deep learning, what makes NLP challenging (and exciting), how to write programs that process language, and how to address the computational challenges involved.
Content:

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 deep learning prediction.

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 lectures that mix practical aspects with theory and background.

NLP Tasks:

Language Models;
	Machine Translation;
	Text Classification;
	Sequence Tagging;
	Constituency Parsing;
	Dependency Parsing;
	Information Extraction;
	Machine Comprehension.
NLP and ML methods:

Encoder/Decoder Architectures;
	Feature Engineering;
	Deep Neural Networks;
	RNNs, CNNs;
	Attention;
	Word Vectors;
	Pretraining.
Requisites:

To be eligible to select this module as an optional or elective, a student must: (1) be registered on a programme and year of study for which it is formally available; (2) have an understanding of Basic Probability Theory (e.g., Bayes Rule), Linear Algebra and Multivariate Calculus; (3) have proficiency in coding in Python; (4) have the ability to install libraries on a computer; and (5) have taken at least one introductory machine learning module, for example Supervised Learning (COMP0078) or Introduction to Machine Learning (COMP0088) (or be concurrently enrolled in such a module).