Spaces:
Sleeping
Sleeping
File size: 1,392 Bytes
903a24b 2ab6343 903a24b 2ab6343 903a24b 2ab6343 903a24b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | from fastai.learner import load_learner
import gradio as gr
from huggingface_hub import from_pretrained_fastai
# Lista de etiquetas de emociones en espa帽ol
emotion_labels = [
'admiraci贸n', 'diversi贸n', 'ira', 'molestia', 'aprobaci贸n', 'cuidado',
'confusi贸n', 'curiosidad', 'deseo', 'decepci贸n', 'desaprobaci贸n',
'disgusto', 'verg眉enza', 'emoci贸n', 'miedo', 'gratitud', 'duelo',
'alegr铆a', 'amor', 'nerviosismo', 'optimismo', 'orgullo', 'comprensi贸n',
'alivio', 'remordimiento', 'tristeza', 'sorpresa', 'neutral'
]
# Carga del modelo desde Hugging Face
learn = from_pretrained_fastai("diribes/go_emotions")
# Clasificaci贸n con umbral personalizado
def clasificar_texto(texto, umbral=0.2):
_, _, probs = learn.predict(texto)
emociones_detectadas = [
f"{emotion_labels[i]} ({probs[i]:.2f})"
for i in range(len(probs))
if probs[i] > umbral
]
return ", ".join(emociones_detectadas) if emociones_detectadas else "Sin emoci贸n detectada"
# Interfaz Gradio
iface = gr.Interface(
fn=clasificar_texto,
inputs=gr.Textbox(lines=5, label="Introduce el texto"),
outputs=gr.Label(label="Emoci贸n(es) detectada(s)"),
title="Clasificador de Emociones",
description="Modelo de clasificaci贸n de emociones fine-tuned con FastAI y desplegado en Hugging Face Spaces."
)
if __name__ == "__main__":
iface.launch()
|