Ce repository contient des tutoriels sur comment faire de l'analyse de sentiments en utilisant Pytorch 1.4 sur Python 3.7.
-
Pour installer PyTorch, les instructions sont sur ce site.
-
TorchText :
pip install torchtext
-
spaCy en anglais :
python -m spacy download en
-
transformers :
pip install transformers
On utilise les données IMBD.
- 0 - MachineLearning
Dans ce premier notebook, on utilise les librairies sklearn et nltk pour faire de l'analyse de sentiments à l'aide de méthode statistique de Bag-of-words, TF-IDF et d'algorithmes de machine learning : SVM et Régression Logistique.
- 1 - RNN
On utilise ici un modèle de réseaux de neurones récurrents RNN très simple.
- 2a - LSTM
Le modèle précédent se complexifie dans ce notebook, on utilise un modèle LSTM, bidirectionnel, multi-couches.
- 2b - GRU
Le modèle précédent se complexifie dans ce notebook, on utilise un modèle GRU, bidirectionnel, multi-couches.
- 3 - FastText
Le modèle FastText issu de l'article Bag of Tricks for Efficient Text Classification est implémenté ici.
- 4 - CNN
On utilise le modèle CNN pour l'analyse de sentiments.
- 5a - AttentionGRU
On utilise un modèle GRU combiné avec de l'attention.
- 5b - AttentionLSTM
On utilise un modèle LSTM combiné avec de l'attention. Ce modèle est décrit dans l'article Text Classification Research with Attention-based Recurrent Neural Networks.
- 6a - TransformersGRU
On utilise la libraire transformers pour importer un modèle transformer pré-entraîné pour obtenir les embedding du texte, et les utiliser dans un modèle GRU pour prédire le sentiment.
- 6b - TransformersLSTM
On utilise la libraire transformers pour importer un modèle transformer pré-entraîné pour obtenir les embedding du texte, et les utiliser dans un modèle LSTM pour prédire le sentiment.
- 7 - Transformers
Dans ce notebook est implémenté le modèle transformer en PyTorch décrit dans l'article Attention Is All You Need
- 8 - BERT
Enfin, on implémente le modèle BERT décrit ici en utilisant Hugging Face.
Modèle | Accuracy sur le test |
---|---|
SVM - BOW | 86.95 |
LR - BOW | 87.08 |
SVM - TF-IDF | 87.80 |
LR - TF-IDF | 87.82 |
RNN | 68.21 |
LSTM | 88.67 |
GRU | 91.01 |
FastText | 87.22 |
CNN | 84.97 |
AttentionLSTM | 83.27 |
AttentionGRU | 80.28 |
TransformersLSTM | 90.31 |
TransformersGRU | 91.36 |
Transformers | 73.31 |
BERT | 91.77 |