Ce référentiel contient un premier prototype d'une application interactive écrite en Flask, qui explique les résultats de la classification fine des sentiments, décrite en détail dans cette Medium Series.
Un certain nombre de classificateurs sont implémentés et leurs résultats expliqués à l'aide de l'explicateur LIME. Les classificateurs ont été formés sur l’ensemble de données Stanford Sentiment Treebank (SST-5). Les étiquettes de classe sont parmi [1, 2, 3, 4, 5]
, où 1
est très négatif et 5
est très positif.
Tout d’abord, configurez l’environnement virtuel et installez à partir de requirements.txt
:
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
Pour un développement ultérieur, activez simplement l’environnement virtuel existant.
source venv/bin/activate
Exécutez le fichier app.py
puis saisissez une phrase, choisissez un type de classificateur et cliquez sur le bouton Explain results!
. Nous pouvons alors observer les caractéristiques (c'est-à-dire les mots ou les jetons) qui ont contribué à ce que le classificateur prédise une étiquette de classe particulière.
L'application frontale récupère un échantillon de texte et génère des explications LIME pour les différentes méthodes. L'application est déployée à l'aide de Heroku à cet emplacement : https://sst5-explainer.herokuapp.com/
Jouez avec vos propres exemples de texte comme indiqué ci-dessous et voyez les résultats détaillés des sentiments expliqués !
REMARQUE : étant donné que les modèles basés sur PyTorch (Flair et le transformateur causal) sont assez coûteux à utiliser pour exécuter l'inférence (ils nécessitent un GPU), ces méthodes ne sont pas déployées.