Esta guía explica cómo configurar la clasificación de sentimiento y emociones en Discourse AI y usar los informes para explorar las publicaciones de tu comunidad.
Nivel de usuario requerido: Administrador para configurar; administrador o moderador para ver los informes.
La clasificación de sentimiento y emociones te ayuda a explorar patrones en las discusiones de tu comunidad:
- Sentimiento clasifica las publicaciones como positivas, neutras o negativas.
- Emociones asigna puntuaciones en 28 etiquetas, incluyendo gratitud, curiosidad, ira y tristeza.
Estas son capacidades independientes. Puedes habilitar una o ambas, y elegir un backend de clasificación diferente para cada una. Los informes cuentan las publicaciones clasificadas, no las personas únicas ni los tipos de personalidad. Úsalos para encontrar discusiones que valga la pena leer, no como sustituto para entender su contexto.
Antes de empezar
Necesitas tener Discourse AI habilitado a través de discourse_ai_enabled y un backend de clasificación configurado.
¿Alojado por Discourse? Tu sitio ya puede tener endpoints de clasificación dedicados provisionados. Revisa su configuración existente antes de cambiarla. Contacta a team@discourse.org si necesitas ayuda con la disponibilidad, la configuración del endpoint o los límites de relleno histórico (backfill).
¿Alojado por ti mismo? Configura un endpoint dedicado compatible, un agente de IA con un modelo de lenguaje o un modelo de decisión. Habilitar la función por sí sola no proporciona un servicio de inferencia.
Revisa la política de privacidad, las reglas de retención y los costos de tu proveedor antes de habilitar el procesamiento automático. La clasificación envía el texto de la publicación al backend seleccionado. Las capturas de pantalla a continuación usan publicaciones inventadas en un sitio de pruebas y un modelo de decisión; no recomiendan ese proveedor para contenido comunitario privado.
Configurar sentimiento y emociones
- Abre Admin → Plugins → AI → Features.
- Abre “Sentimiento y emociones”.
- Bajo “Sentimiento”, selecciona “Habilitado” si quieres clasificación positiva, neutra y negativa. Esto controla
ai_sentiment_enabled. - Elige su “Backend” y configura el endpoint, agente o modelo correspondiente como se describe a continuación.
- Bajo “Emociones”, selecciona “Habilitado” si quieres clasificación de emociones. Esto controla
ai_sentiment_emotion_enabled. - Elige su backend y configúralo de manera independiente.
- Establece los límites de procesamiento en segundo plano descritos en la próxima sección.
- Haz clic en “Enviar” y comprueba que tus selecciones se guardaron.
Este ejemplo usa un modelo de decisión para ambas capacidades. “Publicaciones por hora” está establecido deliberadamente en 0 para pausar el escaneo automático mientras se prueba. Usa un valor positivo para procesar publicaciones nuevas e históricas automáticamente.
Usar endpoints de clasificación dedicados
Elige “Endpoint de clasificación dedicado” para cada capacidad que quieras ejecutar con un modelo dedicado. Sigue “Configurar endpoints de clasificación dedicados” hacia la configuración ai_sentiment_model_configs.
Los modelos dedicados de referencia son:
| Capacidad | Modelo |
|---|---|
| Sentimiento | cardiffnlp/twitter-roberta-base-sentiment-latest |
| Emociones | SamLowe/roberta-base-go_emotions |
Cada entrada de configuración identifica su classification_type (sentiment o emotion), model_name, endpoint y api_key. Proporciona una entrada separada para cada clasificador dedicado que uses. Mantén las credenciales privadas; no las incluyas en publicaciones de soporte o capturas de pantalla.
Ver Alojar por ti mismo la clasificación de sentimiento y emociones para Discourse AI para el despliegue del servidor de inferencia. Habilita y selecciona cada capacidad por separado usando los controles anteriores.
El backend dedicado espera una API de clasificación compatible. Copiar un endpoint de chat de Anthropic, OpenAI o Azure Language en esta configuración no lo hace compatible. Una prueba de conexión exitosa para un modelo de lenguaje en otra parte de Discourse no prueba un endpoint de sentimiento dedicado.
Usar un agente de IA o un modelo de decisión
Para “Agente LLM”, selecciona un agente clasificador apropiado con un modelo de lenguaje configurado. Discourse incluye agentes clasificadores de sentimiento y emociones. Un agente conversacional general no es un sustituto de un agente configurado para devolver las puntuaciones de etiqueta esperadas.
Para “Modelo de decisión”, primero configura y prueba un modelo de decisión compatible, luego selecciónalo para cada capacidad habilitada. Un modelo de decisión no requiere un modelo de lenguaje conversacional separado para esta clasificación.
Las solicitudes de agentes y modelos de decisión pueden generar cargos por proveedor o consumir créditos. Revisa las reglas de manejo de datos del modelo seleccionado antes de asignarlo a una función procesada automáticamente.
Controlar el procesamiento y la cobertura histórica
Un trabajo programado revisa las publicaciones con clasificaciones faltantes cada cinco minutos. Las publicaciones nuevas e históricas comparten este escaneo; los resultados no están necesariamente disponibles inmediatamente después de publicar. No hay un número mínimo de publicaciones o días antes de que puedan aparecer datos: una publicación clasificada con éxito puede contribuir.
| Control | Configuración del sitio | Valor predeterminado | Efecto |
|---|---|---|---|
| Publicaciones por hora | ai_sentiment_backfill_maximum_posts_per_hour |
240 |
Número aproximado de publicaciones procesadas por hora. 0 detiene el escaneo programado, incluidas las publicaciones nuevas. |
| Límite de antigüedad de publicación, en días | ai_sentiment_backfill_post_max_age_days |
60 |
Escanea las publicaciones creadas dentro de esta ventana de antigüedad. 0 significa hoy, no historial ilimitado. |
Aumenta el límite de antigüedad para incluir publicaciones más antiguas. El trabajo programado procesa los resultados faltantes con el tiempo; seleccionar un rango de fechas más antiguo en el informe no clasifica por sí mismo ese historial.
La tasa es aproximada, no un límite exacto de solicitudes o gastos. Habilitar ambos clasificadores puede generar dos solicitudes por publicación. Las solicitudes fallidas o rechazos pueden reintentarse. Las publicaciones editadas se revisan por separado y no están controladas por la tasa o los límites de antigüedad del escaneo programado.
Los mensajes privados, las publicaciones eliminadas, los temas eliminados y los tipos de publicación no regulares se excluyen del escaneo de relleno histórico programado. La exclusión de mensajes privados en el escáner y los informes no es una garantía para todas las rutas de clasificación: el trabajo de publicaciones editadas no aplica el mismo filtro de mensajes privados. Ten esto en cuenta antes de configurar un proveedor externo.
Explorar el sentimiento por categoría o etiqueta
- Abre Admin → Informes → Análisis de sentimiento, o visita
/admin/reports/sentiment_analysisen tu sitio. - Selecciona las fechas de inicio y fin.
- Elige “Categoría” o “Etiqueta” para agrupar los resultados.
- Usa el filtro de categoría o etiqueta correspondiente para acotar los resultados. El filtrado por categoría también proporciona una opción para incluir subcategorías.
- Lee el total de cada grupo y su desglose positivo, negativo y neutro.
- Haz clic en la fila de un grupo para inspeccionar su gráfico y las publicaciones subyacentes.
El ejemplo contiene nueve publicaciones clasificadas: tres positivas, tres negativas y tres neutras. Las publicaciones neutras se incluyen en este informe.
En la vista de detalles:
- Selecciona “Todas”, “Positivas”, “Neutrales” o “Negativas” para filtrar las publicaciones cargadas.
- Abre el tema de una publicación para leer la discusión circundante.
- Usa el icono de enlace junto al gráfico para copiar la URL de esa vista de informe. Los destinatarios aún necesitan acceso de personal.
- Haz clic en “Atrás” para volver a los resultados agrupados.
Las fechas del informe se refieren a cuándo se crearon las publicaciones, no a cuándo se ejecutó la clasificación. Una publicación puede contribuir a múltiples grupos de etiquetas si su tema tiene múltiples etiquetas, por lo que sumar totales por etiquetas puede contar la misma publicación más de una vez.
Leer la tendencia general del sentimiento
Abre el informe “Sentimiento general” desde Admin → Informes, o visita /admin/reports/overall_sentiment.
La puntuación es:
Número de publicaciones positivas − número de publicaciones negativas
Una puntuación positiva o negativa debe ser mayor que 0.6 para que la publicación cuente en ese grupo. Si ninguna supera el umbral, el informe agrupado trata la publicación como neutral. El umbral está fijo; no hay una configuración del sitio para cambiarlo.
El sentimiento general es un conteo neto de publicaciones, no una probabilidad promedio o porcentaje de felicidad. Tres publicaciones positivas y tres negativas producen una puntuación general de 0, independientemente de cuántas publicaciones neutras haya. Inspecciona el desglose agrupado y las discusiones subyacentes antes de interpretar una tendencia plana como una ausencia de opiniones fuertes.
Explorar emociones
Cada emoción tiene un informe bajo Admin → Informes. Por ejemplo, visita /admin/reports/emotion_anger para “Ira” o /admin/reports/emotion_curiosity para “Curiosidad”. Elige un rango de fechas y agrupación diaria, semanal o mensual para explorar la tendencia.
Un informe de emociones cuenta las publicaciones cuya puntuación para esa etiqueta es mayor que 0.1. Este umbral también está fijo. Más de una emoción puede calificar para la misma publicación, por lo que los totales de emociones no son mutuamente excluyentes.
También puedes filtrar temas por una emoción. Visita /filter?q=order:emotion_anger para encontrar temas coincidentes, clasificados por su número de publicaciones clasificadas con ira calificadas en lugar de por una puntuación promedio de emoción. Usa order:emotion_anger-asc para invertir el orden. Sin un filtro activity-after:, este orden cuenta publicaciones calificadas del último año. Se aplican aún los permisos normales de acceso a la lista de temas.
Etiquetas de emociones disponibles
Admiración, diversión, ira, molestia, aprobación, afecto, confusión, curiosidad, deseo, decepción, desaprobación, disgusto, vergüenza, emoción, miedo, gratitud, duelo, alegría, amor, nerviosismo, neutro, optimismo, orgullo, comprensión, alivio, remordimiento, tristeza y sorpresa.
Entender las limitaciones
- La clasificación depende del modelo. El sarcasmo, el material citado, el lenguaje especializado y las discusiones multilingües pueden malinterpretarse. La cobertura lingüística y la precisión dependen de tu modelo elegido. Las puntuaciones de diferentes backends no están necesariamente calibradas de la misma manera.
- Los informes solo cubren los resultados almacenados. Una función habilitada sin un backend operativo, procesamiento pausado o cobertura histórica insuficiente pueden producir informes vacíos o incompletos.
- Se reutilizan las clasificaciones existentes. Editar una publicación clasificada no reemplaza automáticamente sus resultados. Cambiar el agente o modelo de decisión seleccionado dentro del mismo backend tampoco reclasifica los resultados existentes.
- Cambiar el backend cambia la fuente de resultados del informe. Los resultados antiguos no se convierten al backend seleccionado. Los informes pueden parecer vacíos mientras se procesan las clasificaciones faltantes.
- Los informes excluyen mensajes privados. Esta exclusión de informes es independiente de la limitación de procesamiento de datos descrita anteriormente.
Solucionar problemas de resultados faltantes o inesperados
| Problema | Qué revisar |
|---|---|
| Sin resultados después de habilitar | Confirma que la capacidad relevante esté habilitada, que su backend esté configurado, que “Publicaciones por hora” sea positivo y que los trabajos en segundo plano estén ejecutándose. Permite tiempo para el escaneo de cinco minutos y la cola de procesamiento. |
| El sentimiento funciona pero las emociones están vacías | Habilita y configura “Emociones” por separado. Un endpoint dedicado solo para sentimiento no proporciona clasificaciones de emociones. |
| Fechas más antiguas no tienen resultados | Aumenta el límite de antigüedad de publicaciones, permite tiempo de procesamiento y verifica que el rango del informe incluya las fechas de creación de las publicaciones. |
| El endpoint dedicado devuelve un error | Revisa su URL, credenciales, modelo y formato de respuesta. El adaptador espera una matriz plana de etiquetas y puntuaciones, con etiquetas de sentimiento como positive, neutral y negative, no respuestas arbitrarias de chat o etiquetas estilo LABEL_0. |
| No se puede alcanzar un endpoint de red privada | Revisa la conectividad y, donde sea necesario, añade solo el nombre de host o IP del endpoint de inferencia confiable a allowed_internal_hosts. No deshabilites ampliamente las protecciones contra falsificación de solicitudes del lado del servidor. |
| Los resultados no cambian después de una edición o selección de modelo | Se reutilizan los resultados existentes. No asumas que editar contenido o guardar otro modelo programa una reclasificación completa. |
| Un filtro muestra menos publicaciones que su conteo | El conteo describe todo el grupo, mientras que las pestañas de sentimiento filtran las publicaciones cargadas. Busca más resultados para cargar y abre los temas originales al investigar discrepancias. |
Los administradores pueden revisar los registros de solicitudes de agentes y modelos de decisión en Admin → Plugins → AI → Registros. Revisa /logs para errores de clasificación en segundo plano, incluidas fallas del endpoint dedicado. Trata el contenido de los registros como sensible: pueden contener texto de publicaciones y respuestas del modelo. Elimina credenciales y contenido privado antes de compartir diagnósticos.



