ANLP: Should I Take This Course?

Do I need to take ANLP in order to take NLU+?

Yes. This course is a required pre-requisite for NLU+ in semester 2. Really, we mean it. The only exception to this is if you have previously taken an NLP course that covers the same material, including both linguistics and algorithms (which is very rare), and you receive permission. Please see the list of topics on the course materials page and if you are really convinced you know it all, speak to the instructor.

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 NLU+, 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 some basic concepts and methods in machine learning as they relate to NLP. Most of these concepts are not state of the art methods in and of themselves. However, most of them illustrate first principles that will help you understand state of the art methods that you will encounter in NLU+, and as such, represent critical foundations for the state of the art. Students who want a more thorough background in machine learning should register for one 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.

You should plan to work through the mathematics tutorials linked below during the first two weeks 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 fundamental concepts in linguistics, and does not assume any previous linguistics background. Linguistic concepts are mainly 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.

License
All rights reserved The University of Edinburgh