def analizar_sentimiento(texto):
# Convertir el texto a minúsculas para mejor comparación
texto_lower = texto.lower()
# Contar palabras positivas y negativas
contador_positivo = 0
contador_negativo = 0
for palabra in palabras_positivas:
if palabra in texto_lower:
contador_positivo += 1
for palabra in palabras_negativas:
if palabra in texto_lower:
contador_negativo += 1
# Determinar el sentimiento
if contador_positivo == 0 and contador_negativo == 0:
return "😐 NEUTRO - No se detectaron palabras emocionales claras"
elif contador_positivo > 0 and contador_negativo > 0:
return f"😊😔 MIXTO - Se detectaron {contador_positivo} palabras positivas y {contador_negativo} palabras negativas"
elif contador_positivo > contador_negativo:
return f"😊 POSITIVO - Se detectaron {contador_positivo} palabras positivas"
else:
return f"😔 NEGATIVO - Se detectaron {contador_negativo} palabras negativas"
Crear la interfaz de Gradio
interfaz = gr.Interface(
fn=analizar_sentimiento,
inputs=gr.Textbox(
lines=5,
placeholder="Escribe aquí tu texto para analizar...",
label="Texto a analizar"
),
outputs=gr.Textbox(label="Resultado del análisis"),
title="🤖 Analizador de Sentimientos Simple",
description="Esta IA clasifica tu texto como POSITIVO, NEGATIVO, MIXTO o NEUTRO basándose en palabras clave.",
examples=[
["Este producto es excelente y me encanta usarlo todos los días"],
["Muy decepcionado con el servicio, terrible experiencia"],
["El producto es bueno pero el precio es malo"],
["El clima está nublado hoy"]
]
)