[PYTHON] Classification des ensembles de données SNLI avec Word2Vec + LSTM

Il existe SNLI en tant qu'ensemble de données qui classe si les deux phrases données ont une relation entre des hypothèses et des hypothèses. Afin de résoudre ce problème, j'ai essayé d'implémenter un modèle qui combine le Word2Vec [^ 6] et LSTM appris avec Keras.

Les détails du jeu de données SNLI [^ 1] peuvent être trouvés dans l'article "Comment lire le jeu de données SNLI" [^ 2]. Je suis heureux que vous puissiez l'utiliser comme référence.

Préparation

Télécharger le jeu de données SNLI

Vous pouvez le télécharger depuis The Stanford Natural Language Inference (SNLI) Corpus.

wget https://nlp.stanford.edu/projects/snli/snli_1.0.zip
unzip snli_1.0.zip

Télécharger des poids Word2Vec formés

Les poids Word2Vec appris par Google News peuvent être téléchargés à partir du lien "GoogleNews-vectors-negative300.bin.gz" sur le site suivant [^ 6].

https://code.google.com/archive/p/word2vec/

la mise en oeuvre

Il s'agit d'un code [^ 5] qui entraîne un modèle qui combine Word2Vec et LSTM entraînés avec le jeu de données SNLI. L'article [^ 3] sera utile.

https://gist.github.com/namakemono/4e2a37375edf7a5e849b0a499897dcbe

Résultat expérimental

Il peut être confirmé que les performances sont à peu près les mêmes que celles du 300D LSTM existant [^ 11]. À partir de là, Attention décomposable [^ 7] [^ 8] et ESIM [^ 9] [^ 10] peuvent être utilisés pour améliorer encore les performances.

References

Recommended Posts

Classification des ensembles de données SNLI avec Word2Vec + LSTM
Word2Vec avec BoUoW
Traitement des ensembles de données avec des pandas (2)
Fusionner les ensembles de données avec les pandas
Apprenez Zundokokiyoshi en utilisant LSTM
LSTM multivarié avec Keras
Implémentation de word2vec avec Theano + Keras
Analyse des émotions par Python (word2vec)
J'ai créé Word2Vec avec Pytorch