--- 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