robertuito-demo / app.py
fcernafukuzaki's picture
Update app.py
0bb68ed
import gradio as gr
from pysentimiento import create_analyzer
sentiment_analyzer = create_analyzer(task="sentiment", lang="es")
emotion_analyzer = create_analyzer(task="emotion", lang="es")
def get_texto_con_porcentaje(decimal):
return "{:.1%}".format(decimal)
def get_sentiment(input_text):
analyzer_resultado = sentiment_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
def get_emotions(input_text):
analyzer_resultado = emotion_analyzer.predict(input_text)
return analyzer_resultado.output
def get_analisis(input_text):
resultado_positivo, resultado_negativo, resultado_neutro = get_sentiment(input_text)
resultado_emociones = get_emotions(input_text)
return resultado_positivo, resultado_negativo, resultado_neutro, resultado_emociones
description ="""
<p>
<center>
Demo análisis de sentimientos y emociones, el objetivo es indicar el sentimiento positivo, negativo o neutro, y la emoción identificada a partir de un texto.
<img src="https://raw.githubusercontent.com/All-Aideas/sea_apirest/main/logo.png" alt="logo" width="250"/>
</center>
</p>
"""
article = "<p style='text-align: center'><a href='http://allaideas.com/index.html' target='_blank'>Análisis de sentimiento y emoción: Link para más info</a> </p>"
examples = [['Estoy muy feliz'], ['No me lo esperaba. Muchas gracias'],['No ganamos, que rabia']]
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")
output_4 = gr.outputs.Textbox(label="Resultado emoción identificada")
iface = gr.Interface(fn=get_analisis,
inputs=input_1,
outputs=[output_1, output_2, output_3, output_4],
description=description,
article=article,
examples=examples,
title="Análisis de Sentimiento y Emoción en Español")
iface.launch(debug=True)