Spaces:
Sleeping
Sleeping
metadata
title: Sentiment Analysis Service
sdk: docker
app_port: 8000
pinned: false
short_description: API de análisis de sentimiento en español (RoBERTuito)
models:
- pysentimiento/robertuito-sentiment-analysis
Servicio de Análisis de Sentimiento
Servicio que analiza si un texto es positivo, negativo o neutral. Se usa para el Diario Emocional.
¿Qué hace?
Cuando le envías un texto como "Hoy me siento muy feliz", te responde:
- Es positivo/negativo/neutral
- Qué tan seguro está (confianza)
- Puntajes de cada sentimiento
Instalación (Windows)
- Abrir terminal en la carpeta del proyecto:
cd D:/Projects/Personal/sentiment-analysis-service
- Crear entorno virtual:
python -m venv venv
- Activar el entorno:
source venv/Scripts/activate
- Instalar dependencias:
pip install -r requirements.txt
- Copiar archivo de configuración:
cp .env.example .env
Ejecutar
python app/main.py
El servicio se inicia en: http://localhost:8000
La primera vez descargará el modelo (puede tardar unos minutos).
Probar que funciona
Abre en tu navegador: http://localhost:8000/docs
Ahí puedes probar el endpoint /analyze directamente.
O usa este comando:
curl -X POST "http://localhost:8000/analyze" -H "Content-Type: application/json" -d "{\"text\": \"Me siento muy feliz hoy\"}"
Respuesta ejemplo
{
"sentimiento_general": "positivo",
"score_positivo": 0.92,
"score_negativo": 0.05,
"score_neutral": 0.03,
"confianza": 0.92,
"modelo_usado": "pysentimiento/robertuito-sentiment-analysis"
}
Conectar con tu backend Express
const response = await axios.post("http://localhost:8000/analyze", {
text: textoDelDiario,
diario_id: idDelDiario
});
const analisis = response.data;
// Guarda 'analisis' en tu base de datos
Archivos importantes
app/main.py- Aplicación principalapp/analyzer.py- Lógica del análisis de sentimientoapp/models.py- Estructura de los datosapp/config.py- Configuraciónrequirements.txt- Librerías necesarias.env- Configuración (puerto, etc)
Notas
- Es 100% gratuito
- Funciona en Windows sin problemas
- Usa CPU (no necesitas GPU)
- El modelo es especializado en español
- Ver
TODO.mdpara funcionalidades futuras