Skip to main content

Resources & Requirements

Paper Presentations

  1. Each one of you should choose two papers, from two different categories. The order of the paper presentations will roughly be the chronological order of the papers, but we may deviate from it from time to time, to accommodate constraints and/or to have a sensible order of presentations.In addition, please choose 2 papers to be a discussant of.

  2. Each Presentation will be 20 minutes, followed by 10 minutes discussion.

  3. Following each paper presentation, the presentation will write a short (half a page) summary of the paper and the discussion.

  4. In the week before your presentation, please send your slides to Dan.

  5. Template for Paper Presentations Download the powerpoint template - Follow this template as closely as possible

Signup Sheet

Project 1: Reproducing a Paper's Results

This project asks you to reproduce a paper's key results, then propose and implement a small but substantial change. The goal is to read and understand NLP papers at software level.

Step 1 (Due Feb. 3) Select one of the 6 papers below. The papers are in 3 groups, and we will limit the number of people within the same group, at a first come first serve basis.

Step 2 (Due Feb. 10) Read the paper and think about what you can change. The change can be addition/deletion of key components, experiments on new datasets and more. Please post your idea on Piazza. To get credit for this step, either make an original proposal, or involve in the discussion of another proposal.

Step 3 (Due no sooner than Mar. 2) Reproduce at least one set of results in the original paper, and implement a "change" of your choice. The idea does not have to be yours, yet please implement on your own. However, you are free to use any publicly available software/code-piece.

Submission We will ask you to submit the code you used, the set of numbers you get on an original experiment, and an empirical analysis on your "change", which can be ablation studies (by modifying components), new dataset results and many more.

Group 1 (Logical constraints)
1A A Logic-Driven Framework for Consistency of Neural Models
1B Augmenting Neural Networks with First-order Logic

Group 2 (Memory networks)
2A Ask Me Anything: Dynamic Memory Networks for Natural Language Processing
2B Compositional Attention Networks for Machine Reasoning

Group 3 (Multi-hop QA)
3A Multi-hop Reading Comprehension through Question Decomposition and Rescoring
3B Learning to Compose Neural Networks for Question Answering

Signup sheet

Project 2: A reasoning research project

Requirements on the final paper

Other materials on reasoning

AAAI 2018 talk on learning to reason

A WSJ article on causality

GPU Access

Google Colab provides free GPU usage up to 12 hours/day for academic purposes. We will also try our best to satisfy individual needs through discussion.

Pytorch Tutorials

These tutorials do a good job of introducing Pytorch.


AllenNLP is a Open-source NLP research library, built on PyTorch. It is widely used in the community now and it will be useful to make yourself familiar with it.