Este repositorio contiene un prototipo inicial de una aplicación interactiva escrita en Flask, que explica los resultados de la clasificación de sentimientos detallada, que se describe en detalle en esta serie mediana.
Se implementan varios clasificadores y sus resultados se explican utilizando el explicador LIME. Los clasificadores se entrenaron en el conjunto de datos Stanford Sentiment Treebank (SST-5). Las etiquetas de clase son cualquiera de [1, 2, 3, 4, 5]
, donde 1
es muy negativo y 5
es muy positivo.
Primero, configure el entorno virtual e instálelo desde requirements.txt
:
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
Para un mayor desarrollo, simplemente active el entorno virtual existente.
source venv/bin/activate
Ejecute el archivo app.py
y luego ingrese una oración, elija un tipo de clasificador y haga clic en el botón Explain results!
. Luego podemos observar las características (es decir, palabras o tokens) que contribuyeron a que el clasificador predijera una etiqueta de clase particular.
La aplicación de interfaz de usuario toma una muestra de texto y genera explicaciones LIME para los diferentes métodos. La aplicación se implementa usando Heroku en esta ubicación: https://sst5-explainer.herokuapp.com/
Juegue con sus propios ejemplos de texto como se muestra a continuación y vea cómo se explican los resultados detallados de las opiniones.
NOTA: Debido a que los modelos basados en PyTorch (Flair y el transformador causal) son bastante costosos para ejecutar inferencias (requieren una GPU), estos métodos no se implementan.