The course “Advanced Natural Language Processing” is the introductory course to computational linguistics for students of the MSc Cognitive Systems. It covers a wide range of techniques for natural language processing. After completing the course successfully, students will be able to read current conference and journal publications in computational linguistics.
Structure of the course. We meet twice a week for lectures and to discuss the assignments (see the course schedule). We will assign some reading material for each lecture, and will assume that you have read this material before the lecture. This will allow us to cover more ground in the lectures, and allow you to identify questions that you’d like to ask.
Furthermore, we will hand out six assignments over the course of the semester. Assignments will mostly be small programming projects that are designed to give you a deeper understanding of the course material. We will prepare the assignments under the assumption that you will use Python and NLTK to solve them. If you want to use a different programming language, please come talk to us at the beginning of the semester.
After you turn in each assignment, we will score it, and we will then discuss your solutions in class. You should be prepared to explain your own solution to the other students. In addition, we offer a weekly tutorial session in which you can ask us questions about the current assignment or anything else pertaining to the course.
We encourage you to use the Piazza forum for this course to discuss any content or organizational questions that arise between classes. Piazza allows you to ask questions, which can then be answered collaboratively by both the instructors and the other students. We will also provide materials and make announcements via Piazza, so please be sure to sign up.
Grading. BM 1 is worth 9 credit points, which translates into 270 hours of work.
The grade for the course is determined based on a final project. Towards the end of the semester, we will ask you to propose a topic for a small final project that applies or extends the techniques from the course. Generally speaking, the workload for a final project should be similar to that of an assignment. You will then work on your project in the term break, and submit a working system together with a short paper that explains what problem your system solves and how it does this. We will grade the project on the difficulty of the task, the quality of your solution, and the clarity of the presentation.
In addition, you must successfully complete the assignments for the course. You must submit solutions to at least five of the six assignments. We will then add up your two best scores from Assignments 1-3 and your two best scores from Assignments 4-6. To pass the course, you must obtain at least 250 points (out of 400).
Prerequisites. The only mandatory requirement for attending the course is competence in programming. We further assume that every student who attends the class has a university-level background in computer science, linguistics, or mathematics, and is acquiring a similar background in the remaining fields in parallel to attending ANLP (e.g. in the FM modules of the MSc CogSys).