cocoroloco commited on
Commit
ff65ccb
·
verified ·
1 Parent(s): b788dfa

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +105 -3
README.md CHANGED
@@ -1,3 +1,105 @@
1
- ---
2
- license: mit
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - es
4
+ license: mit
5
+ tags:
6
+ - text-classification
7
+ - sentiment-analysis
8
+ - reviews
9
+ - distilbert
10
+ - spanish
11
+ datasets:
12
+ - amazon_reviews_multi
13
+ metrics:
14
+ - accuracy
15
+ - f1
16
+ - precision
17
+ - recall
18
+ model-index:
19
+ - name: distilbert-review_classification
20
+ results:
21
+ - task:
22
+ type: text-classification
23
+ name: Clasificación de reseñas (5 clases)
24
+ dataset:
25
+ name: amazon_reviews_multi (español)
26
+ type: amazon_reviews_multi
27
+ metrics:
28
+ - type: accuracy
29
+ value: 0.5808
30
+ - type: f1
31
+ value: 0.58158
32
+ pipeline_tag: text-classification
33
+ widget:
34
+ - text: "Este producto es increíble, funciona perfectamente y el precio es excelente."
35
+ - text: "La calidad del producto deja mucho que desear y llegó con un retraso considerable."
36
+ ---
37
+
38
+ # distilbert-review_classification
39
+
40
+ 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.
41
+
42
+ ## Modelo
43
+
44
+ **Arquitectura base:** DistilBERT (distilbert-base-multilingual)
45
+ **Tarea:** Clasificación de texto (5 clases)
46
+ **Idioma:** Español
47
+ **Caso de uso:** Análisis de sentimiento y clasificación de reseñas
48
+
49
+ ## Rendimiento
50
+
51
+ El modelo fue evaluado en un conjunto de datos balanceado con 1000 muestras para cada clase (calificación de 1 a 5 estrellas):
52
+
53
+ | Métrica | Valor |
54
+ |---------|-------|
55
+ | Exactitud (Accuracy) | 0.5808 |
56
+ | F1 Score (macro promedio) | 0.58158 |
57
+ | Precisión (macro promedio) | 0.58303 |
58
+ | Recall (macro promedio) | 0.5808 |
59
+
60
+ ### Rendimiento por clase
61
+
62
+ | Clase | Precisión | Recall | F1 Score | Soporte |
63
+ |-------|-----------|--------|----------|---------|
64
+ | 1 ⭐ | 0.72069 | 0.707 | 0.71378 | 1000 |
65
+ | 2 ⭐ | 0.50409 | 0.554 | 0.52787 | 1000 |
66
+ | 3 ⭐ | 0.48916 | 0.474 | 0.48146 | 1000 |
67
+ | 4 ⭐ | 0.51613 | 0.512 | 0.51406 | 1000 |
68
+ | 5 ⭐ | 0.68509 | 0.657 | 0.67075 | 1000 |
69
+
70
+ ## Detalles de entrenamiento
71
+
72
+ * **Epochs:** 1
73
+ * **Pasos de entrenamiento:** 50,000
74
+ * **Tiempo de entrenamiento:** ~8.2 horas (29,486 segundos)
75
+ * **Loss final:** 0.9721
76
+
77
+ ## Uso
78
+
79
+ ```python
80
+ from transformers import AutoTokenizer, AutoModelForSequenceClassification
81
+ import torch
82
+
83
+ # Cargar modelo y tokenizer
84
+ tokenizer = AutoTokenizer.from_pretrained("polodealvarado/distilbert-review_classification")
85
+ model = AutoModelForSequenceClassification.from_pretrained("polodealvarado/distilbert-review_classification")
86
+
87
+ # Preparar el texto de entrada
88
+ texto = "Este producto superó mis expectativas, lo recomiendo totalmente."
89
+ inputs = tokenizer(texto, return_tensors="pt", padding=True, truncation=True, max_length=512)
90
+
91
+ # Realizar la predicción
92
+ with torch.no_grad():
93
+ outputs = model(**inputs)
94
+ logits = outputs.logits
95
+ predicted_class = torch.argmax(logits, dim=1).item()
96
+
97
+ # La clase predicha será un número del 0 al 4, que corresponde a 1-5 estrellas
98
+ estrellas_predichas = predicted_class + 1
99
+ print(f"Predicción: {estrellas_predichas} estrellas")
100
+ ```
101
+
102
+ ## Limitaciones
103
+
104
+ - El modelo fue entrenado con datos de reseñas de Amazon, por lo que puede tener un rendimiento reducido en otros dominios.
105
+ - El rendimiento es más alto para reseñas claramente positivas (5 estrellas) o c