nmarinnn commited on
Commit
4308771
1 Parent(s): d2c3827

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +60 -19
README.md CHANGED
@@ -1,22 +1,42 @@
1
- # EJEMPLO DE USO
 
 
 
 
2
 
 
3
 
 
4
 
5
- ## Cargar librerías
6
 
7
- import torch
8
- from transformers import XLMRobertaForSequenceClassification, XLMRobertaTokenizer, AutoTokenizer
 
 
 
 
9
 
10
- ## Cargar el modelo y el tokenizador
11
- model_path = "nmarinnn/bert-bregman"
12
- model = XLMRobertaForSequenceClassification.from_pretrained(model_path)
13
- tokenizer = XLMRobertaTokenizer.from_pretrained(model_path)
14
- loaded_tokenizer = AutoTokenizer.from_pretrained(model_path)
15
 
16
- ## Función para predecir etiqueta
 
 
 
 
 
 
 
 
 
 
17
 
18
  def predict(text):
19
- inputs = loaded_tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=512)
20
  with torch.no_grad():
21
  outputs = model(**inputs)
22
 
@@ -24,14 +44,35 @@ def predict(text):
24
  predicted_class = torch.argmax(probabilities, dim=-1).item()
25
 
26
  class_labels = {0: "negativo", 1: "neutro", 2: "positivo"}
27
- predicted_label = class_labels[predicted_class]
28
- predicted_probability = probabilities[0][predicted_class].item()
29
-
30
- return predicted_label, predicted_probability, probabilities[0].tolist()
31
 
32
  # Ejemplo de uso
33
- text_to_classify = "vamos rusa"
34
- predicted_label, predicted_prob, class_probabilities = predict(text_to_classify)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
 
36
- print(f"Clase predicha: {predicted_label} (probabilidad = {predicted_prob:.2f})")
37
- print(f"Probabilidades de todas las clases: Negativo: {class_probabilities[0]:.2f}, Neutro: {class_probabilities[1]:.2f}, Positivo: {class_probabilities[2]:.2f}")
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - es
4
+ base_model: cardiffnlp/twitter-roberta-base-sentiment-latest
5
+ ---
6
 
7
+ # BERT Bregman - Modelo de Análisis de Sentimientos en Español
8
 
9
+ Este modelo está basado en XLM-RoBERTa y ha sido fine-tuned para realizar análisis de sentimientos en textos en español.
10
 
11
+ ## Rendimiento del Modelo
12
 
13
+ •⁠ ⁠*Accuracy*: 0.7432
14
+ •⁠ ⁠*F1 Score*: 0.7331
15
+ •⁠ ⁠*Precision*: 0.7483
16
+ •⁠ ⁠*Recall*: 0.7432
17
+
18
+ ### Métricas por Clase
19
 
20
+ | Clase | Precision | Recall | F1-Score | Support |
21
+ |----------|-----------|--------|----------|---------|
22
+ | Negativo | 0.8718 | 0.7234 | 0.7907 | 47 |
23
+ | Neutro | 0.0000 | 0.0000 | 0.0000 | 3 |
24
+ | Positivo | 0.6000 | 0.8750 | 0.7119 | 24 |
25
 
26
+ ## Uso del Modelo
27
+
28
+ Este modelo puede ser utilizado para clasificar el sentimiento de textos en español en tres categorías: negativo, neutro y positivo.
29
+
30
+ ⁠ python
31
+ from transformers import AutoModelForSequenceClassification, AutoTokenizer
32
+ import torch
33
+
34
+ model_name = "nmarinnn/bert-bregman"
35
+ model = AutoModelForSequenceClassification.from_pretrained(model_name)
36
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
37
 
38
  def predict(text):
39
+ inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=512)
40
  with torch.no_grad():
41
  outputs = model(**inputs)
42
 
 
44
  predicted_class = torch.argmax(probabilities, dim=-1).item()
45
 
46
  class_labels = {0: "negativo", 1: "neutro", 2: "positivo"}
47
+ return class_labels[predicted_class]
 
 
 
48
 
49
  # Ejemplo de uso
50
+ texto = "Me encanta este producto, es excelente!"
51
+ sentimiento = predict(texto)
52
+ print(f"El sentimiento del texto es: {sentimiento}")
53
+  ⁠
54
+
55
+ ## Limitaciones
56
+
57
+ •⁠ ⁠El modelo muestra un rendimiento bajo en la clase "neutro", posiblemente debido a un desbalance en el dataset de entrenamiento.
58
+ •⁠ ⁠Se recomienda precaución al interpretar resultados para textos muy cortos o ambiguos.
59
+
60
+ ## Información de Entrenamiento
61
+
62
+ •⁠ ⁠*Épocas*: 2
63
+ •⁠ ⁠*Pasos de entrenamiento*: 148
64
+ •⁠ ⁠*Pérdida de entrenamiento*: 0.6209
65
+
66
+ ## Cita
67
+
68
+ Si utilizas este modelo en tu investigación, por favor cita:
69
+
70
 
71
+ @misc{marinnn2023bertbregman,
72
+ author = {Marin, Natalia},
73
+ title = {BERT Bregman - Modelo de Análisis de Sentimientos en Español},
74
+ year = {2023},
75
+ publisher = {HuggingFace},
76
+ journal = {HuggingFace Model Hub},
77
+ howpublished = {\url{https://huggingface.co/nmarinnn/bert-bregman}}
78
+ }