File size: 3,261 Bytes
ff65ccb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
---
language:
- es
license: mit
tags:
- text-classification
- sentiment-analysis
- reviews
- distilbert
- spanish
datasets:
- amazon_reviews_multi
metrics:
- accuracy
- f1
- precision
- recall
model-index:
- name: distilbert-review_classification
  results:
  - task:
      type: text-classification
      name: Clasificación de reseñas (5 clases)
    dataset:
      name: amazon_reviews_multi (español)
      type: amazon_reviews_multi
    metrics:
      - type: accuracy
        value: 0.5808
      - type: f1
        value: 0.58158
pipeline_tag: text-classification
widget:
- text: "Este producto es increíble, funciona perfectamente y el precio es excelente."
- text: "La calidad del producto deja mucho que desear y llegó con un retraso considerable."
---

# distilbert-review_classification

Este modelo es una variante de DistilBERT entrenada para la clasificación de reseñas de Amazon en español. Está basado en `distilbert-base-multilingual` y ha sido afinado para predecir calificaciones de estrellas (1-5) a partir del texto de la reseña.

## Modelo

**Arquitectura base:** DistilBERT (distilbert-base-multilingual)  
**Tarea:** Clasificación de texto (5 clases)  
**Idioma:** Español  
**Caso de uso:** Análisis de sentimiento y clasificación de reseñas

## Rendimiento

El modelo fue evaluado en un conjunto de datos balanceado con 1000 muestras para cada clase (calificación de 1 a 5 estrellas):

| Métrica | Valor |
|---------|-------|
| Exactitud (Accuracy) | 0.5808 |
| F1 Score (macro promedio) | 0.58158 |
| Precisión (macro promedio) | 0.58303 |
| Recall (macro promedio) | 0.5808 |

### Rendimiento por clase

| Clase | Precisión | Recall | F1 Score | Soporte |
|-------|-----------|--------|----------|---------|
| 1 ⭐ | 0.72069 | 0.707 | 0.71378 | 1000 |
| 2 ⭐ | 0.50409 | 0.554 | 0.52787 | 1000 |
| 3 ⭐ | 0.48916 | 0.474 | 0.48146 | 1000 |
| 4 ⭐ | 0.51613 | 0.512 | 0.51406 | 1000 |
| 5 ⭐ | 0.68509 | 0.657 | 0.67075 | 1000 |

## Detalles de entrenamiento

* **Epochs:** 1
* **Pasos de entrenamiento:** 50,000
* **Tiempo de entrenamiento:** ~8.2 horas (29,486 segundos)
* **Loss final:** 0.9721

## Uso

```python
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

# Cargar modelo y tokenizer
tokenizer = AutoTokenizer.from_pretrained("polodealvarado/distilbert-review_classification")
model = AutoModelForSequenceClassification.from_pretrained("polodealvarado/distilbert-review_classification")

# Preparar el texto de entrada
texto = "Este producto superó mis expectativas, lo recomiendo totalmente."
inputs = tokenizer(texto, return_tensors="pt", padding=True, truncation=True, max_length=512)

# Realizar la predicción
with torch.no_grad():
    outputs = model(**inputs)
    logits = outputs.logits
    predicted_class = torch.argmax(logits, dim=1).item()

# La clase predicha será un número del 0 al 4, que corresponde a 1-5 estrellas
estrellas_predichas = predicted_class + 1
print(f"Predicción: {estrellas_predichas} estrellas")
```

## Limitaciones

- El modelo fue entrenado con datos de reseñas de Amazon, por lo que puede tener un rendimiento reducido en otros dominios.
- El rendimiento es más alto para reseñas claramente positivas (5 estrellas) o c