All Projects â†’ tuzhucheng â†’ MP-CNN-Variants

tuzhucheng / MP-CNN-Variants

Licence: other
Variants of Multi-Perspective Convolutional Neural Networks

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to MP-CNN-Variants

nlp-cheat-sheet-python
NLP Cheat Sheet, Python, spacy, LexNPL, NLTK, tokenization, stemming, sentence detection, named entity recognition
Stars: ✭ 69 (+213.64%)
Mutual labels:  sentence-similarity
KoSentenceBERT-ETRI
🌷 Sentence Embeddings using Siamese ETRI KoBERT-Networks
Stars: ✭ 141 (+540.91%)
Mutual labels:  sentence-similarity
Kaggle-Quora-Question-Pairs
This is our team's solution report, which achieves top 10% (305/3307) in this competition.
Stars: ✭ 58 (+163.64%)
Mutual labels:  paraphrase-identification
event-embedding-multitask
*SEM 2018: Learning Distributed Event Representations with a Multi-Task Approach
Stars: ✭ 22 (+0%)
Mutual labels:  sentence-similarity
siamese dssm
siamese dssm sentence_similarity sentece_similarity_rank tensorflow
Stars: ✭ 59 (+168.18%)
Mutual labels:  sentence-similarity
Twitter-URL-Corpus
Large scale sentential paraphrases collection and annotation
Stars: ✭ 45 (+104.55%)
Mutual labels:  paraphrase-identification
huabei
No description or website provided.
Stars: ✭ 42 (+90.91%)
Mutual labels:  paraphrase-identification
Simple-Sentence-Similarity
Exploring the simple sentence similarity measurements using word embeddings
Stars: ✭ 99 (+350%)
Mutual labels:  sentence-similarity
Semantic-Textual-Similarity
čŊ­äđ‰į›ļäžžåšĶ
Stars: ✭ 34 (+54.55%)
Mutual labels:  semantic-textual-similarity
sensim
Sentence Similarity Estimator (SenSim)
Stars: ✭ 15 (-31.82%)
Mutual labels:  semantic-textual-similarity
stasis
Semantic Textual Similarity in Python
Stars: ✭ 81 (+268.18%)
Mutual labels:  semantic-textual-similarity
STS-CNN-STSbenchmark-Semantic-Similarity-Semantic-Textual-Similarity-CNN-HCTI-Tensorflow-Keras
A simple implementation of paper "HCTI at SemEval-2017 Task 1: Use convolutional neural network to evaluate semantic textual similarity."
Stars: ✭ 26 (+18.18%)
Mutual labels:  semantic-textual-similarity
sentences-similarity-cluster
Calculate similarity of sentences & Cluster the result.
Stars: ✭ 14 (-36.36%)
Mutual labels:  sentence-similarity
abcnn pytorch
Implementation of ABCNN(Attention-Based Convolutional Neural Network) on Pytorch
Stars: ✭ 35 (+59.09%)
Mutual labels:  sentence-similarity
SentenceSimilarity
The enhanced RCNN model used for sentence similarity classification
Stars: ✭ 41 (+86.36%)
Mutual labels:  sentence-similarity
Siamese-Recurrent-Architectures
Usage of Siamese Recurrent Neural network architectures for semantic textual similarity
Stars: ✭ 19 (-13.64%)
Mutual labels:  sentence-similarity
CHIP2018
CHIP2018é—ŪåĨåŒđ配åĪ§čĩ› Rank6č§Ģå†ģæ–đæĄˆ
Stars: ✭ 20 (-9.09%)
Mutual labels:  sentence-similarity
Quora-Paraphrase-Question-Identification
Paraphrase question identification using Feature Fusion Network (FFN).
Stars: ✭ 19 (-13.64%)
Mutual labels:  paraphrase-identification

MP-CNN Variations

This is a PyTorch implementation of MP-CNN as a base model with modifications and additions such as attention and sparse features.

Here is the MP-CNN paper:

The datasets are available in https://git.uwaterloo.ca/jimmylin/Castor-data, as well as the GloVe word embeddings.

Directory layout should be like this:

├── MP-CNN-Variants
│   ├── README.md
│   ├── ...
├── Castor-data
│   ├── README.md
│   ├── ...
│   ├── msrvid/
│   ├── sick/
│   └── GloVe/

Note the original paper doesn't use dropout, so dropout=0 mimics this behaviour to allow for fair comparison in the results reported below.

To visualize the training process, just add --tensorboard to use TensorBoard.

SICK Dataset

To run MP-CNN on the SICK dataset mimicking the original paper as closely as possible, use the following command:

python main.py mpcnn.sick.model --dataset sick --epochs 19 --dropout 0 --lr 0.0005
Implementation and config Pearson's r Spearman's p MSE
Paper 0.8686 0.8047 0.2606
PyTorch using above config 0.8692 0.8145 0.2520

TrecQA Dataset

To run MP-CNN on TrecQA, you first need to run the get_trec_eval.sh script in utils.

Then, you can run:

python main.py mpcnn.trecqa.model --arch mpcnn --dataset trecqa --epochs 5 --holistic-filters 200 --lr 0.00018 --regularization 0.0006405 --dropout 0
Implementation and config map mrr
Paper 0.762 0.854
PyTorch using above config 0.774 0.836

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 main.py mpcnn.wikiqa.model --arch mpcnn --dataset wikiqa --epochs 5 --holistic-filters 100 --lr 0.0001 --regularization 0.0002 --dropout 0
Implementation and config map mrr
Paper 0.693 0.709
PyTorch using above config 0.699 0.714

The paper results are reported in Noise-Contrastive Estimation for Answer Selection with Deep Neural Networks.

Other Datasets

MSRVID

To run MP-CNN on the MSRVID dataset, use the following command:

python main.py mpcnn.msrvid.model --dataset msrvid --batch-size 16 --lr 0.0005 --epsilon 1e-7 --epochs 32 --dropout 0 --regularization 0.001

You should be able to obtain Pearson's p to be 0.8980 (untuned), for reference the performance in the paper is 0.9090.

MSRP Dataset

To run MP-CNN on the MSRP dataset, use the following command:

python main.py mpcnn.msrp.model --dataset msrp --epochs 15

To see all options available, use

python main.py --help

Experimental

There are some scripts in this repo for hyperparameter optimization using watermill with some hacks since the library is in alpha. Hence, the imports in hyperparameter_tuning_{random,hyperband}.py and utils/hyperband.py will not work for you at the moment.

References

For results, please see my Master's thesis here:

@mastersthesis{tu2018experimental,
  title={An Experimental Analysis of Multi-Perspective Convolutional Neural Networks},
  author={Tu, Zhucheng},
  year={2018},
  school={University of Waterloo}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].