Skip to navigation | Skip to main content | Skip to footer

COMP34412 Natural Language Systems syllabus 2019-2020

COMP34412 materials

COMP34412 Natural Language Systems

Level 3
Credits: 10
Enrolled students: 65

Course leader: Goran Nenadic

Additional staff: view all staff

Additional requirements

  • Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.

Assessment methods

  • 80% Written exam
  • 20% Coursework
Sem 2 Lecture 1.3 Tue 15:00 - 17:00 -
Themes to which this unit belongs
  • Natural Language, Representation and Reasoning


Enabling computers to use 'natural language' (the kind of language that people use to communicate with one another) is becoming more and more important. It allows people to communicate with them without having to use strange artificial languages and awkward devices like keyboards and mice. It also allows the computer to access the enormous amount of material that is stored as natural language text on the web or in document repositories.

This course provides an introduction to the area of natural language processing (NLP), mixing theory (if you don't understand the theory of how language works you cannot possibly write programs that understand it) with practice (if you haven't written or played with tools that embody the theory, you can't get a concrete handle on what the theory means).


The course unit aims to teach the techniques required to extend the theoretical principles of NLP to applications in a number of critical areas.

  • To demonstrate how the essential components of practical NLP systems are built and modified.
  • To introduce the principal applications of NLP, including information retrieval & extraction, spoken language access to software services, and machine translation.
  • To explain the major challenges in processing large-scale, real-world natural language.
  • To give students an understanding of the issues involved in evaluating NLP systems.


·         Introduction, motivation, review of NLP principles

·         Essential steps for NLP algorithms

o   Part-of-speech tagging: probabilistic tagging, transformation-based learning

o   Parsing: chunking, shallow parsing, statistical parsing

o   Lexical semantics: lexical resources, word sense disambiguation algorithms

·         Evaluation of natural language systems

o   Metrics

o   Crowdsourcing and inter-annotator agreement

·         Information retrieval and extraction

o   Document matching

o   Named-entity recognition

o   Template-filling, free text question answering systems

o   Summarisation algorithms

·         Natural language generation

o   Surface realisation

o   Discourse planning

·         Machine translation

o   Transfer-based approaches: the MT pyramid, transfer rules

o   Statistical MT, memory-based MT

·         Introduction to spoken language systems

o   The nature of speech

o   Speech synthesis

o   Speech recognition

Teaching methods

Lectures with some practical workshops and guest lecturers

11 x 2 hours

Feedback methods

There is unassessed formative homework given to the students weekly; each lecture then starts with a 10 min feedback session where the students may review the homework from the previous week.  Assessed coursework is due in weeks 6 and 11, with feedback in weeks 7 and 12 respectively.

Study hours

  • Lectures (22 hours)

Employability skills

  • Analytical skills
  • Problem solving

Learning outcomes

Programme outcomeUnit learning outcomesAssessment
A2 A5 B1Understand how to build practical NLP systems for a number of domains.
  • Examination
  • Individual coursework
A2 B3Understand how the nature of an NLP task affects the problems in building an appropriate system.
  • Examination
  • Individual coursework
B3Be able to make an informed decision, given a previously unseen practical problem, as to which NLP techniques are likely to be worthwhile.
  • Individual coursework
  • Examination
A2 A5 B3 C4 D4Evaluate the performance of NLP systems.
  • Individual coursework
  • Examination

Reading list

Natural Language Processing with Python: analyzing text with the Natural Language ToolkitBird, Stephen and Ewan Klein and Edward Loper9780596516499O'Reilly2009
Speech and language processing: an introduction to natural language processing, computational linguistics, and speech recognition (2nd edition)Jurafsky, Daniel and James H. Martin9780135041963Pearson International2009

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.