Project 2 from http://www-nlp.stanford.edu/~grenager/cs121/materials.html