transformer-sentiment-analysis / INTERPRETABILITY.md
Martin Rodrigo Morales
馃殌 Initial release: Advanced Transformer Sentiment Analysis
5b6f681
# 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
```json
{
"text": "Texto a analizar"
}
```
### `/interpret/attention` (POST)
Datos detallados de atenci贸n para visualizaci贸n interactiva
```json
{
"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:
```bash
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