This module aims to let students develop a solid understanding of the fundamental tasks of natural language processing, practical skills of implementing natural language processing (NLP) systems and ability to analyze the limitations of popular NLP methods. The course focuses on modern methods using neural networks, and covers the basic modeling and learning algorithms required for this purpose.
A. Critically understand the fundamental tasks in NLP, including tokenization, part of speech tagging, syntactic and semantic parsing. B. Critically understand various inference methods used in NLP, such as dynamic programming and beam search. C. Analyse and compare various neural networks used in NLP, including Long Short Term Memory Network, Gated Recurrent Unit and Transformer. D. Build complex NLP systems to solve NLP problems. E. Critically analyse and evaluate NLP systems and algorithms, and make informed decisions about their suitability and effectiveness for different NLP tasks and domains.
Students will be expected to attend two hours of formal lectures as well as to participate in two hours of supervised practical (tutorial/lab) classes in a typical week in collaboration with industry partners. Students will be asked to devote eight hours of unsupervised time for reflection and consideration of lecture material and will be required to research and read widely on the subject, and where possible use their personal experiences from work placements.