VDPWI PyTorch Implementation
This is a PyTorch implementation of the following paper
- Hua He and Jimmy Lin. Pairwise Word Interaction Modeling with Deep Neural Networks for Semantic Similarity Measurement. Proceedings of the 15th Annual Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL/HLT 2016), pages 937-948.
Please ensure you have followed instructions in the main README doc before running any further commands in this doc.
SICK Dataset
To run VDPWI on the SICK dataset, use the following command. If you have any problems running it check the Troubleshooting section below.
python -m vdpwi vdpwi.sick.model.castor --dataset sick --lr 5e-4 --optimizer rmsprop --epochs 15 --batch-size 8 --rnn-hidden-dim 256 --epsilon 1e-7
| Implementation and config | Pearson'r | Spearman's p | MSE |
|---|---|---|---|
| Paper | 0.8784 | 0.8199 | 0.2329 |
| PyTorch Implementation | 0.8710 | 0.8092 | 0.2501 |
MSRVID Dataset
To run VDPWI on the MSRVID dataset, use the following command:
python -m vdpwi vdpwi.msrvid.model.castor --dataset msrvid --batch-size 16 --epochs 32 --regularization 0.0025
TrecQA Dataset
To run VDPWI on (Raw) TrecQA, you first need to run ./get_trec_eval.sh in utils under the repo root while inside the utils directory. This will download and compile the official trec_eval tool used for evaluation.
Then, you can run:
python -m vdpwi vdpwi.trecqa.model --dataset trecqa --epochs 5 --regularization 0.0005 --eps 0.1 --optimizer rmsprop --lr 0.0005 --batch-size 8 --rnn-hidden-dim 256
| Implementation and config | MAP | MRR |
|---|---|---|
| Paper | 0.7588 | 0.8219 |
| PyTorch Implementation | 0.7581 | 0.8172 |
The paper results are reported in Noise-Contrastive Estimation for Answer Selection with Deep Neural Networks.
WikiQA Dataset
You also need trec_eval for this dataset, similar to TrecQA.
Then, you can run:
python -m vdpwi vdpwi.wikiqa.model --dataset wikiqa --epochs 10 --batch-size 64 --lr 0.0005 --regularization 0.02 --optimizer rmsprop --rnn-hidden-dim 256
| Implementation and config | MAP | MRR |
|---|---|---|
| Paper | 0.7090 | 0.7234 |
| PyTorch Implementation | 0.7184 | 0.7286 |
To see all options available, use
python -m vdpwi --help