natmarinn commited on
Commit
ff1a8b9
verified
1 Parent(s): cb08b34

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +46 -46
app.py CHANGED
@@ -1,46 +1,46 @@
1
- from transformers import XLMRobertaForSequenceClassification, XLMRobertaTokenizer
2
- import torch
3
- import gradio as gr
4
-
5
- # Nombre del modelo en Hugging Face
6
- model_path = "natmarinn/sentimientos-bregman" # Cambia esto si tu modelo est谩 en otro repositorio
7
-
8
- # Cargar el modelo y el tokenizador desde Hugging Face
9
- model = XLMRobertaForSequenceClassification.from_pretrained(model_path)
10
- tokenizer = XLMRobertaTokenizer.from_pretrained(model_path)
11
-
12
- # Definir las etiquetas de las clases
13
- clases = ["Negativo", "Neutro", "Positivo"]
14
-
15
- def clasificar_texto(texto):
16
- # Tokenizar el texto de entrada
17
- inputs = tokenizer(texto, return_tensors="pt", truncation=True)
18
-
19
- # Realizar la predicci贸n y obtener las probabilidades
20
- with torch.no_grad():
21
- outputs = model(**inputs)
22
- logits = outputs.logits
23
- probs = torch.softmax(logits, dim=1).squeeze().tolist() # Convertir a probabilidades
24
-
25
- # Crear una lista de categor铆as y probabilidades
26
- categorias_prob = list(zip(clases, probs))
27
-
28
- # Ordenar por probabilidad de mayor a menor
29
- categorias_prob = sorted(categorias_prob, key=lambda x: x[1], reverse=True)
30
-
31
- # Formatear el resultado en un string para mostrarlo en Gradio
32
- resultado = "\n".join([f"{categoria}: {probabilidad:.2%}" for categoria, probabilidad in categorias_prob])
33
- return resultado
34
-
35
- # Crear la interfaz en Gradio
36
- iface = gr.Interface(
37
- fn=clasificar_texto, # Funci贸n que ejecuta la clasificaci贸n
38
- inputs="text", # Tipo de entrada: texto
39
- outputs="text", # Tipo de salida: texto
40
- title="Clasificaci贸n de Sentimientos - Myriam Bregman - Debate Presidencial",
41
- description="Escribe un comentario sobre el debate presidencial y el modelo clasificar谩 el sentimiento con sus probabilidades.",
42
- examples=[["Vamos rusa"], ["Gatito mimoso"], ["presidenta del centro de estudiantes"]]
43
- )
44
-
45
- # Ejecutar la aplicaci贸n
46
- iface.launch()
 
1
+ from transformers import XLMRobertaForSequenceClassification, XLMRobertaTokenizer
2
+ import torch
3
+ import gradio as gr
4
+
5
+ # Nombre del modelo en Hugging Face
6
+ model_path = "natmarinn/sentimientos-bregman" # Cambia esto si tu modelo est谩 en otro repositorio
7
+
8
+ # Cargar el modelo y el tokenizador desde Hugging Face
9
+ model = XLMRobertaForSequenceClassification.from_pretrained(model_path)
10
+ tokenizer = XLMRobertaTokenizer.from_pretrained(model_path)
11
+
12
+ # Definir las etiquetas de las clases
13
+ clases = ["Negativo", "Neutro", "Positivo"]
14
+
15
+ def clasificar_texto(texto):
16
+ # Tokenizar el texto de entrada
17
+ inputs = tokenizer(texto, return_tensors="pt", truncation=True)
18
+
19
+ # Realizar la predicci贸n y obtener las probabilidades
20
+ with torch.no_grad():
21
+ outputs = model(**inputs)
22
+ logits = outputs.logits
23
+ probs = torch.softmax(logits, dim=1).squeeze().tolist() # Convertir a probabilidades
24
+
25
+ # Crear una lista de categor铆as y probabilidades
26
+ categorias_prob = list(zip(clases, probs))
27
+
28
+ # Ordenar por probabilidad de mayor a menor
29
+ categorias_prob = sorted(categorias_prob, key=lambda x: x[1], reverse=True)
30
+
31
+ # Formatear el resultado en un string para mostrarlo en Gradio
32
+ resultado = "\n".join([f"{categoria}: {probabilidad:.2%}" for categoria, probabilidad in categorias_prob])
33
+ return resultado
34
+
35
+ # Crear la interfaz en Gradio
36
+ iface = gr.Interface(
37
+ fn=clasificar_texto, # Funci贸n que ejecuta la clasificaci贸n
38
+ inputs="text", # Tipo de entrada: texto
39
+ outputs="text", # Tipo de salida: texto
40
+ title="Clasificaci贸n de Sentimientos - Myriam Bregman - Debate Presidencial",
41
+ description="Escribe un comentario sobre el debate presidencial y el modelo clasificar谩 el sentimiento con sus probabilidades.",
42
+ examples=[["Vamos rusa"], ["Gatito mimoso"], ["presidenta del centro de estudiantes"]]
43
+ )
44
+
45
+ # Ejecutar la aplicaci贸n
46
+ iface.launch(share=True)