Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
language:
|
3 |
+
- es
|
4 |
+
metrics:
|
5 |
+
- accuracy
|
6 |
+
- precision
|
7 |
+
- recall
|
8 |
+
- f1
|
9 |
+
base_model:
|
10 |
+
- cardiffnlp/twitter-xlm-roberta-base-sentiment
|
11 |
+
pipeline_tag: text-classification
|
12 |
+
library_name: transformers
|
13 |
+
tags:
|
14 |
+
- politics
|
15 |
+
- sentiment
|
16 |
+
- argentina
|
17 |
+
---
|
18 |
+
|
19 |
+
# Modelo de Clasificación de Sentimientos - Debate Presidencial Argentina 2023
|
20 |
+
|
21 |
+
Este modelo ha sido desarrollado en el marco de la Tesina para obtener el título de ***Licenciatura en Estadística en la Universidad Nacional de Rosario (UNR)***.
|
22 |
+
|
23 |
+
**Autores:**
|
24 |
+
- Alumna: Natalia Marín
|
25 |
+
- Director: Mag. Marcos Miguel Prunello
|
26 |
+
|
27 |
+
|
28 |
+
|
29 |
+
## Descripción
|
30 |
+
|
31 |
+
Este modelo está diseñado para clasificar comentarios de diversas redes sociales obtenidos luego del primer debate presidencial en Argentina en el año 2023. Ha sido específicamente ajustado para analizar los comentarios sobre el candidato **Juan Schiaretti**.
|
32 |
+
|
33 |
+
Para más información, consulte el siguiente enlace: [link](#)
|
34 |
+
|
35 |
+
## Detalles del Modelo
|
36 |
+
|
37 |
+
- **Modelo base preentrenado:** `cardiffnlp/twitter-xlm-roberta-base-sentiment`
|
38 |
+
- **Ajuste específico:** El modelo ha sido fine-tuneado para clasificar comentarios sobre la candidata en el contexto de las elecciones presidenciales en Argentina.
|
39 |
+
|
40 |
+
#### Métricas Generales
|
41 |
+
| Métrica | Valor |
|
42 |
+
|-----------|----------|
|
43 |
+
| Accuracy | 0.837838 |
|
44 |
+
| F1 Score | 0.824761 |
|
45 |
+
| Precision | 0.812948 |
|
46 |
+
| Recall | 0.837838 |
|
47 |
+
|
48 |
+
#### Métricas por Clase
|
49 |
+
| Clase | Precision | Recall | F1 | Support |
|
50 |
+
|---------|-----------|---------|----------|---------|
|
51 |
+
| Clase 0 | 0.867925 | 0.92 | 0.893204 | 50 |
|
52 |
+
| Clase 1 | 0.0 | 0.0 | 0.0 | 2 |
|
53 |
+
| Clase 2 | 0.761905 | 0.727273| 0.744186 | 22 |
|
54 |
+
|
55 |
+
#### Matriz de Confusión
|
56 |
+
| | Clase 0 | Clase 1 | Clase 2 |
|
57 |
+
|-------|---------|---------|---------|
|
58 |
+
| Clase 0 | 46 | 0 | 4 |
|
59 |
+
| Clase 1 | 1 | 0 | 1 |
|
60 |
+
| Clase 2 | 6 | 0 | 16 |
|
61 |
+
|
62 |
+
## Cargar y Usar el Modelo en Python
|
63 |
+
|
64 |
+
A continuación, se muestra un ejemplo de cómo cargar el modelo y su tokenizador, y realizar una predicción de sentimiento en un comentario:
|
65 |
+
|
66 |
+
```python
|
67 |
+
from transformers import XLMRobertaForSequenceClassification, XLMRobertaTokenizer
|
68 |
+
import torch
|
69 |
+
|
70 |
+
# Cargar el modelo y el tokenizador
|
71 |
+
model_path = "natmarinn/sentimientos-schiaretti"
|
72 |
+
model = XLMRobertaForSequenceClassification.from_pretrained(model_path)
|
73 |
+
tokenizer = XLMRobertaTokenizer.from_pretrained(model_path)
|
74 |
+
|
75 |
+
# Texto de ejemplo
|
76 |
+
texto = "Vamos gringo"
|
77 |
+
|
78 |
+
# Tokenización
|
79 |
+
inputs = tokenizer(texto, return_tensors="pt", truncation=True)
|
80 |
+
|
81 |
+
# Predicción
|
82 |
+
with torch.no_grad():
|
83 |
+
outputs = model(**inputs)
|
84 |
+
logits = outputs.logits
|
85 |
+
pred_class = torch.argmax(logits, dim=1).item()
|
86 |
+
|
87 |
+
# Mostrar resultado
|
88 |
+
clases = ["Clase 0", "Clase 1", "Clase 2"]
|
89 |
+
print(f"El comentario es clasificado como: {clases[pred_class]}")
|
90 |
+
|
91 |
+
```
|
92 |
+
|
93 |
+
@misc{sentimientosschiaretti2024,
|
94 |
+
author = {Marín, Natalia and Prunello, Marcos Miguel},
|
95 |
+
title = {Sentimientos-schiaretti},
|
96 |
+
year = 2024,
|
97 |
+
}
|