Menu

CSE 40657/60657
Homework

There will be five homework assignments due throughout the semester. The recommended language for implementing them is Python 3. Examples, skeleton code, and solutions will use Python 3.5; however, if you prefer to use something else, you are free to.

You probably have Python installed already; if you haven't switched to Python 3 yet, now's the time!

  1. If you need to install Python, the simplest way to get it is probably Miniconda.
  2. If you want to keep packages for this course separated from your system-wide packages, create a virtualenv:
    virtualenv nlp
    source nlp/bin/activate      # sh/ksh/bash/zsh
    #source nlp/bin/activate.csh # csh/tcsh
    
  3. If you need a refresher on Python, see the tutorial. Or if you're used to Python 2, here is a list of differences.

Assignments

The following are subject to change.

HW1

Use a language model to predict the next character that the user will type. Try it with the provided graphical keyboard whose keys grow and shrink according to their probabilities.

HW2

Extend your character predictor to automatically correct spelling errors.

HW3

Implement a syntactic parser and use it to turn normal English into Yoda English.

HW4

Detect named entities in text and automatically add links to Wikipedia.

HW5

Implement a simple machine translation system and test it out on some movie subtitles.