BSc Computer Science and Mathematics / Course details

Year of entry: 2022

Course unit details:
Natural Language Processing

Unit code COMP34711
Credit rating 10
Unit level Level 3
Teaching period(s) Semester 1
Offered by Department of Computer Science
Available as a free choice unit? No


This course unit will cover the key linguistic and algorithmic foundations of natural language processing. It will explore the main challenges in representing, searching and retrieving written documents, representing word semantics, and processing and identifying patterns in speech. It will consider both rule-based methods and machine/deep learning methods, and introduce key applications such as text information retrieval, text classification, word sense disambiguation, speech synthesis and speech recognition.


Enabling computers to process data in 'natural language' (the kind of language that people use to communicate with one another) is becoming more and more important. It allows both people to communicate with computers, and the computers to access the enormous amount of material that is stored as natural language text on the web or in document repositories. This course unit provides an introduction to the area of natural language processing as one of the key areas of artificial intelligence. It aims to introduce essential components and key applications of natural language processing, and explain the major challenges in processing large-scale, real-world natural language both in its written and spoken forms.

Learning outcomes

  • Discuss the major challenges in processing large-scale, real-world natural language data.
  • Explain how the essential components of NLP systems are built, assessed and modified, including basic lexical and semantic processing approaches.
  • Explain and apply basic statistical approaches, machine/deep learning techniques in building NLP systems.
  • Discuss and suggest solutions for key NLP tasks and applications, including document indexing, search and classification, word sense disambiguation, speech synthesis and recognition.
  • Design and implement NLP systems, identify, use and implement suitable rule-based, machine/deep learning techniques for solving key NLP tasks and applications.
  • Identify and explain the issues involved in deploying and evaluating NLP systems.


  • Introduction to NLP
  • Simple Language Models
  • Information Retrieval
  • Lexical Processing
  • Word Semantics I: Word Sense Disambiguation
  • Word Semantics II: Distributional Semantics
  • Speech Synthesis
  • Speech Recognition
  • Deep Learning for NLP
  • Ethical Considerations for NLP

Teaching and learning methods

Weekly workshops/lectures/tutorials with structured input and exploratory activities. These will be organised as a blend of brief presentations, hands-on individual and group activities, discussions of provided materials and tasks. Coursework will provide design, implement and analysis tasks with real-world data.

Bi-weekly laboratories will be hands-on drop-in sessions for trying out new systems or techniques (with set tasks, known answers). These will be also used for preparation for course work, surgeries to provide feedback on coursework, and as an opportunity to ask questions about the set tasks with more open ended/specific discussions and feedback.

Assessment methods

Method Weight
Written exam 50%
Written assignment (inc essay) 50%

Feedback methods

There will be both face-to-face feedback provided in workshops and tutorial and lab sessions, and written feedback provided through Blackboard discussion forum.

Study hours

Scheduled activity hours
Lectures 22
Practical classes & workshops 10
Independent study hours
Independent study 68

Teaching staff

Staff member Role
Tingting Mu Unit coordinator

Return to course details