Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

SM model


  1. Aliaksei _S_everyn and Alessandro _M_oschitti. 2015. Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks. In Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR '15). ACM, New York, NY, USA, 373-382. DOI:

Please ensure you have followed instructions in the main README doc before running any further commands in this doc.

Your repository root should be in your PYTHONPATH environment variable:

export PYTHONPATH=$(pwd)

To create the dataset:

cd Castor/sm_cnn/

We use trec_eval for evaluation:

cd ../utils/
cd ../sm_cnn


Download the word2vec model from here and copy it to the data/ folder.

You can train the SM model for the 4 following configurations:

  1. random - the word embedddings are initialized randomly and are tuned during training
  2. static - the word embeddings are static (Severyn and Moschitti, SIGIR'15)
  3. non-static - the word embeddings are tuned during training
  4. multichannel - contains static and non-static channels for question and answer conv layers

To train on GPU 0 with static configuration:

python --mode static --gpu 0

NB: pass --no_cuda to use CPU

The trained model will be save to:


Testing the model

python --trained_model saves/TREC/ 


The performance on TrecQA dataset:


Best dev

Metric rand static non-static multichannel
MAP 0.8096 0.8162 0.8387 0.8274
MRR 0.8560 0.8918 0.9058 0.8818


Metric rand static non-static multichannel
MAP 0.7441 0.7524 0.7688 0.7641
MRR 0.8172 0.8012 0.8144 0.8174


Best dev

Metric rand static non-static multichannel
MAP 0.7109 0.7204 0.7049 0.7245
MRR 0.7169 0.7234 0.7075 0.7259


Metric rand static non-static multichannel
MAP 0.6313 0.6378 0.6455 0.6476
MRR 0.6522 0.6542 0.6689 0.6646

NB: The results on WikiQA are based on the SM model hyperparameters.

To create your own file

  • Download word2vec from here to the data/ folder
python $PYTHONPATH/utils/ --input ../../Castor-data/embeddings/word2vec/aquaint+wiki.txt.gz.ndim=50.bin

Note that $PYTHONPATH holds the location of the repository root.

You can’t perform that action at this time.