¿Nube de palabras plugin para discourse?

¿Existe un plugin de nube de palabras para Discourse?

Carl

3 Me gusta

No hay… ¿hay alguna razón específica por la que te gustaría uno? ¿Cómo se usaría?

6 Me gusta

Sería genial por dos razones. Primero, una nube de palabras en la que pudiera hacer clic y que luego mostrara todos los temas que coincidan con esa palabra, como “suscriptor”.

Segundo, podrías mostrar otros tipos de búsquedas así, o los principales colaboradores, o lo que quieras.

Probablemente podría ser algo que se ejecute en una tarea programada una vez al día o con más frecuencia.

1 me gusta

Pensé que era una idea divertida :game_die: … así que la creé*

Está en una etapa muy temprana de “solo funciona” y necesita muchos refinamientos, opciones adicionales y posiblemente alguna funcionalidad de clic:

Añade un enlace en tu menú hamburguesa. :tada:

:warning: Ten en cuenta que actualmente genera las estadísticas de palabras a partir de todas las publicaciones, independientemente de su tipo y ubicación. Esto podría actuar efectivamente como una filtración de privacidad leve pero indirecta (quizás necesite algunas salvaguardas adicionales para excluir palabras de publicaciones en áreas privadas). Sin embargo, debes haber iniciado sesión para verlo y acceder a los datos… y las palabras se renderizan como SVG… y solo muestra las x cientos palabras más frecuentes, por lo que es poco probable que sea motivo de preocupación para la mayoría de los sitios. Trabajaré en ello para hacerlo más seguro, pero de esta manera la consulta se ejecuta muy rápido.

Disfrútalo. :man_dancing:

*Utiliza algunas bibliotecas existentes bastante geniales, a las que he acreditado en el repositorio. Un saludo a @DiscourseMetrics, cuya consulta utilicé.

15 Me gusta

¡Muy genial! Creo que también querrías excluir ciertas palabras de la nube de palabras.

1 me gusta

Claro, necesita una serie de exclusiones sensatas y las expresiones regulares requieren ajustes para eliminar el formato Markdown, etc., sin complicarlo en exceso. Esto es solo un comienzo. Acabo de añadir algo de color.

2 Me gusta

Solo para aclarar, aunque es increíble, jaja

1 me gusta

Se ha añadido una lista localizada de palabras ignoradas:

lo que debería hacer que los resultados sean un poco más interesantes…

También he añadido mucha lógica de saneamiento, por lo que el resultado es mucho mejor.

3 Me gusta

¡Genial! :heart_eyes_cat: Me gusta este esfuerzo. Buen trabajo. Si pudiera solicitar características:

  • hacer que el enlace del menú hamburguesa sea opcional (me gusta la idea de que esto sea un huevo de pascua)
  • crear una configuración de categoría para incluir solo las categorías seleccionadas
  • proporcionar una ruta de categoría para generar una nube de palabras de solo una categoría y sus subcategorías, por ejemplo, /wordcloud/category

Así es como se ve en mi foro de vecindario.

4 Me gusta

funciona bien, hay que ajustarlo:

3 Me gusta

¡Excelente retroalimentación, gracias, y algunas buenas ideas!

Sí, suena como un buen enfoque. Estoy sumido en trabajo con clientes (a unos 3 metros de profundidad) por el momento, pero revisaré la selección de categorías para la próxima actualización.

2 Me gusta
  • La selección de categorías está en:

    FEATURE: restrict word stats to specific Categories · merefield/discourse-word-cloud@0777adc · GitHub

    Si no seleccionas ninguna categoría (valor predeterminado), se realizará un escaneo de todas las publicaciones del foro (MP y demás). Si agregas solo una categoría, las estadísticas de palabras se restringirán a esa, etc.

    image

  • Al igual que las mejoras inmensas en las expresiones regulares (:sweat_smile: :stuck_out_tongue:), que ahora limpian bien los ‘raws’ y eliminan la mayoría, si no es que todo, el Markdown.

NB: Las estadísticas de palabras se actualizan cada hora ahora (lo cual probablemente sigue siendo excesivo, pero por el momento facilita verificar los cambios en Producción mientras pasamos por una gran evolución inicial del código).

NB#2: Aún no he considerado otros idiomas además del inglés (definitivamente no está probado). La manipulación actual de palabras podría no funcionar bien en algunos idiomas. Se aceptan sugerencias y PRs.

3 Me gusta

¡Genial! Aquí tienes un wordle actualizado que solo incluye las categorías más relevantes.

La mía es una comunidad pequeña y aún bastante nueva. Para ser honesto, aunque la información presentada en el wordle se ve bonita, no es especialmente significativa ni útil. Supongo que podría usarse como elemento visual en un tema de retrospectiva sobre la comunidad o algo similar. Sería divertido ver más ejemplos de cómo la gente utiliza esto.

Algunas de las palabras incluidas son comunes y carecen de significado, por ejemplo: youd, off, got, add, etc. Me pregunto si la configuración de “porción de palabras a ignorar en la nube de palabras” (que para mí es 100, el valor predeterminado) está funcionando correctamente. ¿O tal vez existe otra lista de palabras a ignorar, o una mejor?

1 me gusta

Sí, estoy encantado de considerar una lista más extensa (encontré una lista de 200 palabras aquí, pero preferí usar Wikipedia como fuente más “autorizada”).

1 me gusta

OK, he:

  • ampliado la lista de ignorados a 300 palabras, usando una lista que encontré aquí
  • mejorado las expresiones regulares para eliminar las comillas (¡así la palabra ‘cita’ no aparecía tanto!)
  • eliminado la eliminación arbitraria de las diez palabras restantes más frecuentes, que era redundante tras añadir la lista de ignorados.

Nota: si aún hay palabras que deseas excluir, simplemente agrégalas al principio de:

como he hecho aquí (por ejemplo, ‘ive’, ‘its’, ‘topic’, ‘post’)

Para ver el impacto de los cambios más rápidamente, simplemente vuelve a activar el trabajo desde Sidekiq:

Eso es todo por ahora. Sugeriría que podría crear un Tema dedicado.

3 Me gusta

OK, esto podría gustarte:

Actualización: He simplificado la configuración de la lista de ignorados, de modo que ya no existe una opción para la ‘porción’ de la lista de ignorados que se utiliza. Ahora solo necesitas eliminar o agregar palabras a la lista de ignorados usando la configuración nativa localizada:

2 Me gusta

¿Necesitamos desinstalar la versión anterior para obtener esto?

1 me gusta

Solo deberías necesitar actualizar el plugin. ¿Tienes problemas?

Lo siento, ya lo solucionamos. :sunglasses:

1 me gusta

¡No hay problema en absoluto :+1: