NATURAL LANGUAGE PROCESSING - 2023/4
Module code: COMM061
Module Overview
This module will demonstrate some of the latest advances in Natural Language Processing and get student up to speed with current research. It will provide the necessary skills to enable students build models for solving a range of problems, such as document classification, translation and conversation agents. The students will learn how to build NLP pipelines for preparing training data and choosing appropriate algorithms and techniques to build such models. Although traditional linguistic methods will be mentioned, special emphasis will be put on the state-of-the-art Deep Learning algorithms and Transfer Learning methods for building efficient Machine Learning based NLP solutions.
Module provider
Computer Science and Electronic Eng
Module Leader
KANOJIA Diptesh (CS & EE)
Number of Credits: 15
ECTS Credits: 7.5
Framework: FHEQ Level 7
Module cap (Maximum number of students): N/A
Overall student workload
Independent Learning Hours: 88
Lecture Hours: 22
Laboratory Hours: 20
Guided Learning: 10
Captured Content: 10
Module Availability
Semester 2
Prerequisites / Co-requisites
None
Module content
Indicative content includes:
- Introduction to NLP
- Traditional linguistic processes
- Data pre-processing and text analytics
- Neural Networks for NLP
- RNN
- LSTM/GRU
- CNN
- Coreference, question answering, and machine translation
- Syntactic and semantic processing
- Topic modelling
- Attention mechanisms and sequence embedding models
- Hardware requirements in training scalable models for language data
- Minibatching
- GPU implementation issues
- Deploying and scaling NLP models as web micro-services
- Monitoring and updating models
Assessment pattern
Assessment type | Unit of assessment | Weighting |
---|---|---|
Coursework | INDIVIDUAL ASSIGNMENT ON BUILDING AN NLP MODEL | 50 |
Coursework | GROUP ASSIGNMENT ON DEPLOYING AN NLP MODEL | 50 |
Alternative Assessment
Individual coursework covering the same learning objectives
Assessment Strategy
The assessment strategy is designed to provide students with the opportunity to demonstrate:
• ability to critically evaluate, experiment, and apply, appropriate techniques to datasets exemplifying specific characteristics in order to derive suitable and defensible results.
• ability understand the needs and build appropriate solutions for a range of NLP problems
Thus, the summative assessment for this module consists of:
• An individual coursework involving a report comprising the comparative evaluation of NLP methods when applied and adapted, with documentation of key insights derived. The coursework will be marked based on the approach and breadth of experimentation, rather than on the performance obtained. This will evaluate LOs 2, 4 & 5, and have a deadline in or near to week 8.
• A group coursework in which the students will bring together their experiments from the first coursework and will build a proof of concept that will need to demonstrate both technical understanding and good practice – submission deadline: beginning of week 11. This addresses LOs 3, 5 & 6.
• Students will be guided to work on weekly tasks through lab exercises, the solutions to which will provide for feedback on understanding and practice. Labs and feedback will then support the coursework. Individual feedback on the coursework will be given as soon as possible before the exam in order to feed forward to the exam.
Formative assessment and feedback
Students will be guided to work on weekly tasks through lab exercises, the solutions to which will provide for feedback on understanding and practice. Labs and feedback will then support the coursework. Individual feedback on the coursework will be given as soon as possible before the exam in order to feed forward to the exam.
Module aims
- • Provide an overview of the technologies and algorithms that support the development of NLP solutions.
- • Familiarise students with NLP applications and what approaches can be adopted to experiment and build such applications.
- • Demonstrate how NLP processing pipelines can be formed to perform necessary transformations for preparing data for training.
- • Bring students up to a sufficient level of development skill to be able to develop NLP models that solve specific business needs.
Learning outcomes
Attributes Developed | ||
001 | Understand the NLP process lifecycle and how to build such processes for solving specific business problems. | KPT |
002 | Visualise and analyse text datasets and understand what pre-processing is required. | CP |
003 | Build appropriate NLP transformation pipelines for preparing data for training | CKPT |
004 | Experiment, compare and select the most appropriate techniques and algorithms for training NLP models. | CKPT |
005 | Build experiment scripts using Python and produce NLP models. | KPT |
006 | Deploy NLP models as Web service inference endpoints and build client software to consume those services. | KPT |
Attributes Developed
C - Cognitive/analytical
K - Subject knowledge
T - Transferable skills
P - Professional/Practical skills
Methods of Teaching / Learning
The learning and teaching strategy is designed to:
• Develop a critical understanding of best practice in developing state of the art NLP solutions through directed learning and facilitated self-directed learning. The skills learned in this module will be transferable to other data science modules in the programme and the wider data science profession.
The learning and teaching methods include:
• Twenty-two hours of lectures with class discussion
• Twenty hours of lab classes
• Use of an online forum for facilitated discussion
Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.
Reading list
https://readinglists.surrey.ac.uk
Upon accessing the reading list, please search for the module using the module code: COMM061
Other information
Digital Capabilities
The advanced AI skills taught in this module provide students digital skills that are fundamental to solving many computer science problems today. It teaches students techniques to use computers to identify patterns in large datasets and deploy solutions that will solve these problems in a practical way. These skills are highly valued in industry.
Employability
This module provides advanced AI, and software skills that are important in solving a many real-life problems today. Students are equipped with practical problem-solving skills, theoretical skills, and mathematical and statistical skills, all of which are highly valuable to employers. Students learn to deploy their solution using industry standard tools providing practical experience as well as the theoretical underpinnings.
Global and Cultural Skills
Computer Science is a global language and the tools and languages used on this module can be used internationally. This module allows students to develop skills that will allow them to reason about and develop applications with global reach and collaborate with their peers around the world.
Resourcefulness and Resilience
This module involves practical problem-solving skills that teach a student how to reason about and solve new unseen problems through combining the theory taught with practical technologies for systems that are in everyday use. Students learn to develop and deploy a practical solution to a complex problem.
Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2023/4 academic year.