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 --epochs 19 --epsilon 1e-7
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
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 --epochs 10 --dataset wikiqa --batch-size 64 --lr 0.0004 --regularization 0.02
To see all options available, use
python -m vdpwi --help