Awesome
Densely Interactive Inference Network (DIIN)
This is the code to reproduce the model in Natural Language Inference over Interaction Space.
Environment
python 3.6
tensorflow = 1.3
Setup
$ git clone https://github.com/YichenGong/Densely-Interactive-Inference-Network.git
$ cd Densely-Interactive-Inference-Network
$ pip install -r requirements.txt
Download Data
First, run download.py
for the datasets and the preprocessed file:
$ cd data
$ python download.py
Then, manually download download MultiNLI 0.9 matched and mismatched test set under data/multinli_0.9 folder
If any of the auto download fails, you can manually download them from:
When you finish downloading, your data folder should look like this:
$ tree data
data
├── download.py
├── glove.840B.300d.txt
├── multinli_0.9
│ ├── Icon\015
│ ├── multinli_0.9_dev_matched.jsonl
│ ├── multinli_0.9_dev_matched.txt
│ ├── multinli_0.9_dev_mismatched.jsonl
│ ├── multinli_0.9_dev_mismatched.txt
│ ├── multinli_0.9_test_matched_sample_submission.csv
│ ├── multinli_0.9_test_mismatched_sample_submission.csv
│ ├── multinli_0.9_train.jsonl
│ ├── multinli_0.9_train.txt
│ └── paper.pdf
├── shared.jsonl
└── snli_1.0
├── Icon\015
├── README.txt
├── snli_1.0_dev.jsonl
├── snli_1.0_dev.txt
├── snli_1.0_test.jsonl
├── snli_1.0_test.txt
├── snli_1.0_train.jsonl
└── snli_1.0_train.txt
I don't recommend you to use multinli_1.0 here because the id doesn't match the id in preprocessed sample id.
To run the code
$ cd python
# on MultiNLI
$ PYTHONHASHSEED=0 python train_mnli.py DIIN demo_testing
# on SNLI
$ PYTHONHASHSEED=0 python train_mnli.py DIIN demo_testing_SNLI --training_completely_on_snli
License
Licensed under the Apache License, Version 2.0 (the "License"); you may not use these files except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.