Academic Handbook Course Descriptors and Programme Specifications
LDSCI7226 Natural Language Processing with Deep Learning Course Descriptor
Course code | LDSCI7226 | Discipline | Data Science |
UK Credit | 15 | US Credit | N/A |
FHEQ level | 7 | Date approved | June 2023 |
Core attributes | N/A | ||
Pre-requisites | None | ||
Co-requisites | None |
Course Summary
Deep Learning has evolved as the leading artificial intelligence paradigm over the past decade providing us with the ability to learn complex functions from raw data at unprecedented accuracy and scale. Deep Learning has been applied to problems in object recognition, speech recognition, speech synthesis, forecasting, scientific computing, control, and many more.
This course has a particular focus on modern Deep Learning algorithms and sustainable development, it covers fundamentals of Natural Language Processing (NLP), word embedding models, recommender systems, expressivity, optimisation and generalisation, unsupervised deep learning and generative models, etc.
The course will be taught in the Python programming language and, in particular, the PyTorch machine learning framework.
Course Aims
The aims of this course are to:
- Systematically understand the fundamental concepts of Natural Language Processing (NLP) and Deep Learning.
- Consistently produce working programs that solve data analysis tasks, reason about them and/or improve their performance using techniques learned in the course.
Learning Outcomes
On successful completion of the course, students will be able to:
Knowledge and Understanding
K1d | Systematically understand fundamental and contextual concepts in NLP and Deep Learning such as word embeddings, and generative models for data analysis. |
K2d | Master practical methods, libraries and techniques to implement Deep Learning models for developing modern data applications. |
K3d | Critically evaluate the technical, social and management issues of building and deploying NLP and Deep Learning applications. |
K4d | Critically review key developments in a particular problem area and analyse the capabilities and limitations of proposed techniques and solutions. |
Subject Specific Skills
S1d | Critically assess a problem, recognise the type of Deep Learning algorithm suitable for solving that problem, and develop a solution. |
S3d | Design and develop original software of varying levels of complexity that solves (part of) a practical NLP problem. |
S4d | Be a sophisticated machine learning engineer, familiar with best practices and modern machine learning toolkits used in industry for implementing models that process the data. |
Transferable and Professional Skills
T1d | Participate in the design and implementation of model architectures to solve problems with Deep Learning algorithms. |
T2d | Consistently display an excellent level of technical proficiency in written English and command of scholarly terminology, so as to be able to deal with complex issues in a sophisticated and systematic way. |
T2d | Critically review and analyse key developments in Deep Learning, both in terms of algorithms and software libraries. |
T3d | Demonstrate initiative in working independently, effectively, and to deadlines. |
T4d | Communicate with rigorous arguments about how machines learn to solve data problems to both technical and non-technical audiences. |
Teaching and Learning
This course has a dedicated Virtual Learning Environment (VLE) page with a syllabus and range of additional resources (e.g. readings, question prompts, tasks, assignment briefs, discussion boards) to orientate and engage you in your studies.
The scheduled teaching and learning activities for this course are:
Lectures/Labs: Typically one lecture and one lab session per week:
- Version 1: All sessions in the same sized group, or
- Version 2: most of the sessions in larger groups; some of the sessions in smaller groups
Faculty hold regular ‘office hours’, which are opportunities for students to drop in or sign up to explore ideas, raise questions, or seek targeted guidance or feedback, individually or in small groups.
Students are to attend and participate in all the scheduled teaching and learning activities for this course and to manage their directed learning and independent study.
Indicative total learning hours for this course: 150
Employability Skills
- Communication skills
- Mathematical skills
- Programming skills
Assessment
Formative
Students will be formatively assessed during the course by means of set assignments. These do not count towards the end of year results but will provide students with developmental feedback. Set assignments will also amplify problem-solving skills and develop software components that form part of the coding assignments.
Summative
The assessment will consist of two written coding assignments, which the student will have to do according to the set guidelines for coding.
AE: | Assessment Activity | Weighting (%) | Online submission | Coding | Length |
1 | Coding assignment | 50 | Yes | Yes | Code and up to 2000-word explanation |
2 | Coding assignment | 50 | Yes | Yes | Code and up to 2000-word explanation |
The coding assignments will be assessed in accordance with the assessment aims set out in the Programme Specification.
Feedback
Students will receive formal feedback in a variety of ways: written (including via email correspondence); oral (on an ad hoc basis) and indirectly through discussion during group tutorials. Students will also attend the formal meeting, Collections, in which they will receive constructive and developmental feedback on their performance.
Feedback is provided on summative written assignments which will be handed back to the students.
Indicative Reading
Note: Comprehensive and current reading lists for courses are produced annually in the Course Syllabus or other documentation provided to students; the indicative reading list provided below is used as part of the approval/modification process only.
Books
- Steven Bird, Ewan Klein, and Edward Loper. 2020. Natural Language Processing with Python. Online at www.nltk.org/book/
- Deep Learning for Natural Language Processing: Applications of Deep Neural Networks to Machine Learning Tasks by Pearson Learn IT
- Deep Learning with Python by Francois Chollet
- Aston Zhang, Zachary C. Lipton, Mu Li and Alexander J. Smola. 2020. Dive into Deep Learning. Online at https://d2l.ai
Journals
- Tomas Mikolov, Kai Chen, Greg Corrado and Jeffrey Dean. 2013. Efficient Estimation of Word Representations in Vector Space. arXiv:1301.3781v3 [cs.CL]
- Jacob Devlin, Ming-Wei Chang, Kenton Lee and Kristina Toutanova. 2019. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805v2 [cs.CL]
- Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser and Illia Polosukhin. Attention Is All You Need. arXiv:1706.03762v5 [cs.CL]
Electronic Resources
- The Unreasonable Effectiveness of Recurrent Neural Networks, by Andrej Karpathy. Last accessed: October 2020
- Attention and Augmented Recurrent Neural Networks, by Chris Olah and Shan Carter. Last accessed: October 2020
- The Illustrated Transformer, by Jay Alammar. Last accessed: October 2020
Indicative Topics
Students will study the following topics:
- Introduction to Natural Language Processing
- Word embeddings (e.g. the Skip-Gram, work2vec, ELMo and BERT models)
- Pretraining word embeddings
- Recommender systems
- Recurrent Neural Networks
- Expressivity, Optimization and Generalization
- Imbalanced classification and metric learning
- Unsupervised deep learning and generative models
Title: LDSCI7226 Natural Language Processing with Deep Learning Course Descriptor
Approved by: Academic Board Location: Academic Handbook/Programme specifications and Handbooks/ Postgraduate Programme Specifications |
|||||
Version number | Date approved | Date published | Owner | Proposed next review date | Modification (As per AQF4) & category number |
1.0 | June 2023 | June 2023 | Alexandros Koliousis | April 2028 |