Welcome to COM4513/6513 Natural Language Processing. This module provides an introduction to the field of computer processing of written natural language, known as Natural Language Processing (NLP). We will cover standard theories, models and algorithms, discuss competing solutions to problems, describe example systems and applications, and highlight areas of open research.
- to give you a well-rounded feel for the problems and approaches of NLP;
- to give you an understanding of the potential areas of application of the techniques developed in NLP.
By the end of this course you should:
- be able to describe and discuss the subareas of NLP;
- be able to implement NLP algorithms and techniques;
- be able to describe and discuss the potential and limitations of NLP techniques for applications such as machine translation, text classification and language modelling.
- Students must have taken Text Processing (COM6115) in the previous semester.
- Foundations of Machine Learning. We will extensively use supervised ML algorithms throughout the course. If you have basic knowledge of ML, you will be more comfortable. Taking the Machine Learning and Adaptive Intelligence (COM4509/6509) in the previous semester is strongly recommended. You can also find a lot of online material introducing ML. For example, it would be very helpful to read Chapter 2 from the Introduction to Natural Language Processing book by Jacob Eisenstein.
- Programming in Python. All assignments will be in Python using NumPy (and PyTorch). In Lab 1 (Week 1), we will provide a primer on Python and Numpy. You will also need basic knowledge of programming, file handling, and text processing/manipulation that you’ve learned in COM4115/6115.
Lectures and Labs
- Lectures take place in the Diamond, LT 2, 11:00-13:00 every Thursday.
- Labs take place in the Diamond, Computer Room 1, 11:00-12:00 every Monday.
- Final Exam (60%)
- Two assignments (20% each)