Natural Language Processing

Information on the Natural Language Processing specialist area.

What will I learn from this specialist area?

Language technology (including both speech and text processing) plays an increasingly important role in everyday computer applications. Examples include machine translation, speech recognition, search and question-answering systems, sentiment analysis of text. Developing such systems requires understanding the properties of linguistic data as well as the computational methods used to process it.

The Natural Language Processing specialist area aims to provide students with the linguistic and computational knowledge and skills needed for entry into PhD programmes or employment focussed on research or development of language technology.

Video introduction to the specialism (.mp4) (Note: this video is from a few years ago, so some details may have changed.)

How can I best prepare for the specialist courses?


If you haven't programmed in Python before, we recommend you start to learn it before you arrive. Find an online (or local college) tutorial at your level. The Computer Programming for Speech and Language Processing starts from scratch, but learning to program well takes time: starting early will help you


Depending on the courses you choose, the level of required mathematical knowledge can vary widely. Nevertheless, the most common refrain we hear from students is "I wish I had spent more time preparing for the maths I would need."

At a minimum, to prepare for the core semester 1 courses you should go through the material on Sharon Goldwater's maths preparation page, which covers important basics including probability theory.

Other courses may require additional knowledge (especially of linear algebra); if you click on the course link below you should see these requirements listed in the "other requirements" box of the course descriptor.

Other preparation

We also recommend you buy the textbook used for some core Semester 1 courses: Speech and Language Processing, 2nd Edition, by Jurafsky and Martin. Any reading you do from this text before you arrive will help you get started.

What courses should I take?

Students registered in this Specialist Area are recommended to select at least fifty credit points from the courses listed below, including the core courses. We recommend you include a machine learning course amongst your selections if you have the appropriate mathematical background to do so.

The notes below provide a rough guide to the background required for each course, but please click through to check the "other requirements" in the descriptor of each course to be sure it is suitable for you.  


Semester 1 Semester 2
Core Courses (see notes below)

Accelerated Natural Language Processing (20 credits)

Computer Programming for Speech and Language Processing

Speech Processing


Optional Courses (see notes below)

Introductory Applied Machine Learning (20 credits, level 10)

Machine Learning and Pattern Recognition (20 credits)

Text Technologies for Data Science (20 credits)

Automatic Speech Recognition

Machine Translation

Natural Language Understanding

Topics in Natural Language Processing

Machine Learning Practical (20 credits, full year)

Optional External Courses (see notes below)


Language Production

Univariate Statistics and Methodology using R

Discourse Comprehension

Multivariate Statistics and Methodology using R

Sentence Comprehension

Speech Synthesis


Notes on core courses

  • Accelerated Natural Language Processing is core for all students.
  • Computer Programming for Speech and Language Processing should be taken rather than another programming course, to fulfill the programming requirement (unless exempted by your Personal Tutor).
  • Speech Processing is core for students wishing to study both speech and text processing.

These courses assume little to no previous programming experience, and should be suitable for anyone admitted to the programme. However, you will find them much easier with a bit of preparation -- see "Preparation advice" above.

Notes on optional Informatics courses

The Semester 1 optional courses all assume previous programming experience and more mathematical background than the core courses. If you have the appropriate background, it is recommended to include IAML or MLP in your course choices for this specialist area. MLPR is only suitable for students with especially strong mathematical background. You may wish to consult the Machine Learning specialist area page for more information about machine learning courses.

The Semester 2 optional courses are all designed to be suitable for students who have taken the core courses in semester 1.

Notes on optional external courses

Register as early as possible for external courses. They can have limited numbers, earlier deadlines than Informatics, and course materials on Learn are only available after registering.

The external courses are taken from degrees in Language Sciences and Psychology and cover topics in statistics, speech processing, and psycholinguistics. Other courses in those departments may also be relevant. Some of these courses only run for half of the Semester (a single "teaching block").

These courses generally require little to no previous programming experience, but may assume previous background in linguistics or psychology.

Related links

Informatics sortable course list

Informatics course timetable