/ESIM-keras

keras implementation for paper - Enhanced LSTM for Natural Language Inference, tested on Quora Question Pairs dataset.

Primary LanguagePython

ESIM-keras

This repository is a keras implementation about the ESIM model proposed in paper Enhanced LSTM for Natural Language Inference. The ESIM model is a strong baseline used for text matching tasks, such as Natural Language Inference(NLI) and paraphrase detection.

Requirements

  • keras, tested on 2.3.1, with tensorflow 1.14.0 as its backend.
  • python 3.5+
  • NLTK

Usage

First, you should download the Quora Question Pairs dataset via http://qim.fs.quoracdn.net/quora_duplicate_questions.tsv. We also need GloVe, which is a pretrained word embeddings, you can download it here. Put the glove.840B.300d.txt file to ./.

Atfer that, you can train, test, and save the model via:

python run.py

The model will be saved to the ./saved_models.

Notice

Except the GloVe word embeddings, I also use character embeddings obtained from bi-lstm, you can remove it anyway if you do not need it.

Results

Model Dataset test loss Accuracy
ESIM-Glove QQP 0.3737 0.8812