Overview
Natural Language Processing (NLP) enables computers to work with human language. In this course, you will learn the key ideas behind the models and algorithms used in modern NLP and how to apply them to real-world problems. The course emphasises hands-on experience and focuses on deep learning methods, including the current generation of large language models.
Learning outcomes
On completion of the course, you should be able to:
- explain central concepts, models, and algorithms of NLP
- implement NLP algorithms and apply them to realistic problems
- evaluate NLP components and systems with appropriate methods
- identify, assess, and make use of NLP research literature
Course content
The course covers:
- State-of-the-art algorithms for the analysis and interpretation of natural language
- Relevant machine learning methods with a focus on deep neural networks
- Validation methods
- NLP applications
- NLP tools, software libraries, and data
- NLP research and development
Course format
We teach this course through video lectures, on-campus teaching sessions, tutored computer labs, and supervision in connection with a final project. We expect you to also study independently, both individually and in groups. When you plan your time for the course, you should calculate approximately
- 30 hours to watch the video lectures and complete the quizzes
- 10 hours to attend the teaching sessions
- 40 hours to prepare for, work on, and reflect on the labs
- 80 hours to plan, work on, and document the project
Course literature
Natural language processing is a fast-moving field, and there is currently no single textbook that covers the course content. As a side reading, we recommend the following work in progress:
Daniel Jurafsky and James H. Martin. Speech and Language Processing. An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition. Draft chapters in progress, January 2025.
Course evaluations
The most recent course evaluations are available below: