transformer-sentiment-analysis / INTERPRETABILITY.md
Martin Rodrigo Morales
馃殌 Initial release: Advanced Transformer Sentiment Analysis
5b6f681

A newer version of the Gradio SDK is available: 6.9.0

Upgrade

Interpretabilidad del Modelo

Funcionalidades Agregadas

1. Visualizaci贸n de Atenci贸n

  • Resumen de Atenci贸n: Muestra c贸mo se distribuye la atenci贸n across capas y cabezas
  • Mapa de Calor: Visualizaci贸n detallada de la atenci贸n entre tokens
  • Visualizaci贸n Interactiva: Permite explorar diferentes capas y cabezas de atenci贸n

2. An谩lisis SHAP (Opcional)

  • Explicaciones basadas en valores SHAP
  • Requiere instalaci贸n: pip install shap

3. Importancia de Tokens

  • Muestra qu茅 tokens reciben m谩s atenci贸n
  • Barras interactivas con puntuaciones de importancia

Endpoints de API

/interpret (POST)

An谩lisis completo de interpretabilidad

{
  "text": "Texto a analizar"
}

/interpret/attention (POST)

Datos detallados de atenci贸n para visualizaci贸n interactiva

{
  "text": "Texto a analizar"
}

Interfaz Web

Nueva Secci贸n: Interpretabilidad

  • Accesible desde la navegaci贸n principal
  • Tabs para diferentes visualizaciones:
    • Resumen: Gr谩ficos generales de atenci贸n
    • Mapa de Calor: Visualizaci贸n detallada
    • Interactivo: Exploraci贸n de capas/cabezas

Controles Interactivos

  • Selector de capa
  • Selector de cabeza de atenci贸n
  • Visualizaci贸n en tiempo real

Uso

  1. Ingresa un texto en la secci贸n de Interpretabilidad
  2. Haz clic en "Analizar Interpretabilidad"
  3. Explora las diferentes visualizaciones usando los tabs
  4. Usa los controles interactivos para examinar capas espec铆ficas

Dependencias Opcionales

Para funcionalidad completa, instala:

pip install shap

Archivos Modificados

  • src/api.py: Nuevos endpoints de interpretabilidad
  • src/interpretability.py: M贸dulo de interpretabilidad (ya exist铆a)
  • web/index.html: Nueva secci贸n de interpretabilidad
  • web/styles.css: Estilos para visualizaciones
  • web/app.js: JavaScript para interactividad

Notas T茅cnicas

  • Las visualizaciones se generan en el servidor usando matplotlib
  • Las im谩genes se env铆an como base64 al frontend
  • El backend maneja autom谩ticamente modelos sin SHAP disponible
  • Responsive design para dispositivos m贸viles