ANLP: Should I Take This Course?
Do I need to take ANLP in order to take ATNLP?
In almost all cases, yes. This course is a required pre-requisite for ATNLP in semester 2, and you will not be able to follow ATNLP if you don't have the knowledge and skills covered here. ANLP is a rigorous MSc-level course, and even if you have practical experience using NLP models or have taken informal courses (such as Coursera), these rarely provide sufficient background to enter straight into ATNLP.
If you have previously taken a University course on NLP that you believe covers the same material as ANLP, including aspects of linguistics and ethical issues as well as technical topics (which is rare), and you want permission to skip ANLP, please first check the list of topics on the course materials page and if you are really convinced you know it all, email the instructor. Include a link to the syllabus or course web page of the course you took, showing what topics were covered, and also mention if you have any additional NLP experience.
Relationship to other Informatics courses
This course is a core course for students who intend to specialise in NLP, and it is a required prerequisite for the Semester 2 course ATNLP, and for most MSc students who wish to do an MSc thesis on NLP. It covers (among other things) aspects of language processing related to the syntax and meaning of sentences; that is, where the structure and order of words matters.
This course also covers important concepts and methods in machine learning as they relate to NLP. These include both more traditional and recent approaches. While this course does not focus on cutting-edge methods, it does provide principles and critical foundations that will help you understand cutting-edge methods that you will encounter in ATNLP. Students who want a more thorough background in machine learning should register for one or more of the machine learning courses.
There is an alternative text processing course that can be taken without prerequisites: Text Technologies for Data Science. TTDS is a Level 11 course that runs from semester 1 through semester 2. It covers different aspects of text processing, mainly those that do not require dealing with the structure of sentences and word order. It focuses more on information retrieval and other web-based technologies, and includes less linguistic content. You may register for both TTDS and ANLP.
Required background for ANLP and how to prepare
This course assumes somewhat less previous programming and/or mathematics knowledge than many other Semester 1 MSc courses in Informatics (in particular: Text Technologies and the machine learning courses). However, that does not mean it is an easy course. It covers a lot of material rapidly, and nearly all students will find parts of the course challenging, whether it is the mathematics, programming, or linguistics and writing.
Mathematics
ANLP assumes you are willing to engage with mathematical concepts and notation. Previous knowledge of probability theory is helpful but not required. However, if you do not have this background already, you will need to devote extra effort to learning it. In addition, we expect you to be able to understand and manipulate vectors and matrices.
You should plan to work through the mathematics tutorials linked below by no later than the second week of class, and start now if you can! Once courses start you will only get busier. Even if you're not sure of taking this course, this background will be useful in many other Informatics courses too!
Programming
Labs and assignments use the Python programming language. We assume you either already know how to program, or are concurrently taking the course on Computer Programming for Speech and Language Processing.
If you are already fluent in one or more programming languages, but not in Python, probably the best way to pick up what you need to know is by going through the official Python tutorial, linked below. Again, start sooner rather than later, as you'll only get busier.
Linguistics and English
This course introduces relevant concepts in linguistics, and does not assume any previous linguistics background. Linguistic concepts are often introduced using examples from English, and students are expected to be able to explain both linguistic and technical concepts clearly in writing. Therefore, good English skills are necessary to do well in this course.