Assignments will be posted on this page. Please note that to receive the starter code and submit the assignments, you will need to access the private course repository at https://github.com/snlp2019/snlp2019, which you will gain access after completing the first assignment If you cannot access the above URL (and if you are a student of this course) after the first week of the semester, please contact the instructor.
Assignments
- Assignment 0: introduction, warm up
- Assignment 1: corpus collection
- Assignment 2: classifying languages into language families
- Assignment 3: getting started with neural networks
- Assignment 4: clustering vowels
- Assignment 5: German compound splitting with RNNs
- Assignment 6: Sequence-to-sequence networks
- Assignment 7: Text classification
Assignment policy
Assignments constitute 60% of the grade you will receive from this course (40% comes from your exam score). There will be 7 graded assignments, of which, 6 assignments (with best scores) will count toward your final grade. Assignments can be done in pairs. However, the same pair can only work together on a single assignment.
Tutorials
Lab session 01: Intro to data processing
The goal of the first lab session is to introduce the tools which you can use for basic data processing in Python. We will use Jupyter notebooks, which allow you to work in a browser, mixing code and description. The tasks which will be presented during the class are not obligatory and won’t be graded but they will help you a lot during this course and after it.
By the end of the session you will be able to:
- work with numerical values in Python;
- store data in data frames;
- apply exploratory data analysis;
- visualize your data;
- use basic classifiers.
Please, be sure to have installed on your machine:
- Python 3.7;
- Jupyter (for working with Jupyter notebooks);
- Numpy (for dealing with numerical values);
- pandas (for using data frames);
- seaborn and matplotlib (for visualization of data);
- scikit-learn (for machine learning).
Everything should be installed before the lab session. If you have any problems with installation, please, send a message (subject = “SNLP: Lab session 01”) to Maxim as soon as possible.
Intro to scikit-learn
Intro to Python
There won’t be a separate session with a detailed introduction to Python basics. If you have little or no experience in Python, you could check a free Python course from Kaggle. It has a great combination of useful theoretical materials and practical tasks. It should be enough to get used to Python.
If you already have some experience with Python but would like to have some notes at hand to use for reference, Natalie generously shared a Python cheat sheet with everyone in the course.
If you still have some questions, do not hesitate to contact Maxim (subject = “SNLP: Python intro”). You will get as much help as you need. Don’t worry about it!