import gradio as gr
from pysentimiento import create_analyzer
analyzer = create_analyzer(task="sentiment", lang="es")
def get_texto_con_porcentaje(decimal):
return "{:.1%}".format(decimal)
def get_sentiment(input_text):
analyzer_resultado = analyzer.predict(input_text)
resultado_positivo = get_texto_con_porcentaje(analyzer_resultado.probas["POS"])
resultado_negativo = get_texto_con_porcentaje(analyzer_resultado.probas["NEG"])
resultado_neutro = get_texto_con_porcentaje(analyzer_resultado.probas["NEU"])
return resultado_positivo, resultado_negativo, resultado_neutro
description ="""
Demo análisis de sentimientos, el objetivo es indicar el sentimiento positivo, negativo o neutro a partir de un texto.
"""
article = "Análisis de sentimiento: Link para más info
"
input_1 = gr.inputs.Textbox(label="Texto a analizar")
output_1 = gr.outputs.Textbox(label="Resultado sentimiento positivo")
output_2 = gr.outputs.Textbox(label="Resultado sentimiento negativo")
output_3 = gr.outputs.Textbox(label="Resultado sentimiento nuetro")
iface = gr.Interface(fn=get_sentiment,
inputs=input_1,
outputs=[output_1, output_2, output_3],
description=description,
article=article,
title="Análisis de Sentimiento en Español")
iface.launch(debug=True)