/FusionNet-NLI

An example for applying FusionNet to Natural Language Inference

Primary LanguagePython

FusionNet for Natural Language Inference

This is an example for applying FusionNet to natural language inference task.
For more details on FusionNet, please refer to our paper:
FusionNet: Fusing via Fully-Aware Attention with Application to Machine Comprehension

Requirements

  • Python (version 3.5.2)
  • PyTorch (0.2.0)
  • spaCy (1.x)
  • NumPy
  • JSON Lines
  • MessagePack

Since package update sometimes break backward compatibility, it is recommended to use Docker, which can be downloaded from here. To enable GPU, nvidia-docker may also needs to be installed.

After setting up Docker, simply perform docker pull momohuang/fusionnet-docker to pull the docker file. Note that this may take some time to download. Then we can run the docker image through
docker run -it momohuang/fusionnet-docker (Only CPU)
or
nvidia-docker run -it momohuang/fusionnet-docker (GPU-enabled).

Quick Start

pip install -r requirements.txt
bash download.sh
python prepro.py
python train.py

train.py supports an option --full_att_type, where
--full_att_type 0: standard attention
--full_att_type 1: fully-aware attention
--full_att_type 2: fully-aware multi-level attention