Plugin de nuage de mots pour Discourse ?

Existe-t-il un plugin de nuage de mots pour Discourse ?

Carl

3 « J'aime »

Il n’y en a pas… y a-t-il une raison particulière pour laquelle vous en voudriez un ? Comment serait-il utilisé ?

6 « J'aime »

Ce serait cool à deux égards. D’abord, un nuage de mots sur lequel je pourrais cliquer afin d’afficher tous les sujets correspondant au mot cliqué, comme « abonné ». Ensuite, vous pourriez afficher d’autres types de recherches comme celui-ci, ou les contributeurs les plus actifs, ou tout ce que vous souhaitez. Cela pourrait probablement être automatisé via un travail planifié (cron job) une fois par jour ou plus souvent.

1 « J'aime »

J’ai pensé que c’était une idée amusante :game_die: … alors je l’ai créée*

Elle en est à un stade très précoce de « simple fonctionnement » et nécessite beaucoup de raffinement, d’options supplémentaires et potentiellement une fonctionnalité de clic :

Elle ajoute un lien dans votre menu hamburger. :tada:

:warning: Soyez conscient qu’à l’heure actuelle, elle génère les statistiques de mots à partir de tous les messages, quel que soit leur type ou leur emplacement. Cela pourrait effectivement agir comme une légère fuite de privacy très indirecte (il faudra peut-être ajouter des mesures de sécurité supplémentaires pour exclure les mots provenant de messages dans des zones privées). Vous devez être connecté pour le voir et accéder aux données… et les mots sont rendus sous forme de SVG… et il n’affiche que les x centaines de mots les plus fréquents, donc il est peu probable que cela pose problème pour la plupart des sites. Je vais travailler là-dessus pour le rendre plus sécurisé, mais de cette façon, la requête s’exécute très rapidement.

Amusez-vous bien. :man_dancing:

*Elle s’appuie sur quelques bibliothèques existantes plutôt ingénieuses dont j’ai crédité les auteurs dans le dépôt. Un grand merci à @DiscourseMetrics dont la requête j’ai utilisée.

15 « J'aime »

Très cool. Je pense que tu voudrais aussi exclure certains mots du nuage de mots ?

1 « J'aime »

Bien sûr, cela nécessite de nombreuses exclusions raisonnables et les expressions régulières doivent être retravaillées pour éliminer la mise en forme Markdown, etc., sans trop compliquer les choses. Ce n’est qu’un début. J’ai simplement ajouté un peu de couleur.

2 « J'aime »

Juste pour être clair, c’est génial lol

1 « J'aime »

Ajout d’une liste localisée de mots à ignorer :

ce qui devrait rendre les résultats un peu plus intéressants…

J’ai également ajouté une logique de nettoyage importante, ce qui améliore considérablement le résultat.

3 « J'aime »

Super ! :heart_eyes_cat: J’apprécie cet effort. Bon travail. Si je pouvais demander des fonctionnalités :

  • rendre le lien du menu hamburger optionnel (j’aime l’idée que ce soit un easter egg)
  • créer un paramètre de catégorie pour n’inclure que les catégories sélectionnées
  • fournir une route de catégorie afin de pouvoir générer un nuage de mots pour une seule catégorie et ses sous-catégories, par exemple /wordcloud/category

Voici à quoi cela ressemble sur mon forum de quartier.

4 « J'aime »

Fonctionne bien, il faut l’ajuster :

3 « J'aime »

Superbes commentaires, merci, et de bonnes idées !

Oui, cela semble être une bonne approche. Je suis actuellement très occupé par des projets clients, mais je m’intéresserai à la sélection des catégories pour la prochaine mise à jour.

2 « J'aime »
  • La sélection de catégorie se trouve dans : FEATURE: restrict word stats to specific Categories · merefield/discourse-word-cloud@0777adc · GitHub

    Si vous ne sélectionnez aucune catégorie (par défaut), vous obtenez un scan de tous les messages du forum (MP et autres). Si vous ajoutez une seule catégorie, les statistiques de mots sont restreintes à celle-ci, etc.

    image

  • De même, des améliorations massives ont été apportées aux expressions régulières (:sweat_smile: :stuck_out_tongue:), qui nettoient désormais correctement les « raws » et éliminent la plupart, sinon la totalité, du Markdown.

NB : Les statistiques de mots sont désormais mises à jour toutes les heures (ce qui est probablement encore excessif, mais facilite pour l’instant la vérification des modifications en production alors que nous traversons une phase importante d’évolution du code).

NB2 : Je n’ai pas encore pris en compte d’autres langues que l’anglais (ce n’est certainement pas testé). La manipulation actuelle des mots peut ne pas fonctionner correctement dans certaines langues. Les suggestions et les PR sont les bienvenues.

3 « J'aime »

Super ! Voici un Wordle mis à jour, incluant uniquement les catégories les plus pertinentes.

La mienne est une petite communauté et encore assez récente. Pour être honnête, cependant, les informations présentées dans le Wordle sont jolies mais pas particulièrement significatives ou utiles. Je suppose qu’on pourrait l’utiliser comme visuel dans un sujet de rétrospective sur la communauté ou quelque chose dans ce genre. Ce serait amusant de voir plus d’exemples de la façon dont les gens l’utilisent.

Certains des mots inclus sont courants et dépourvus de sens, par exemple « youd », « off », « got », « add », etc. Je me demande si le paramètre « partie à ignorer dans le nuage de mots » (qui est réglé sur 100 pour moi, par défaut) fait son travail ? Ou peut-être existe-t-il une autre liste, ou une meilleure, de mots à ignorer ?

1 « J'aime »

Oui, je suis tout à fait ouvert à l’idée d’une liste plus large (j’avais trouvé une liste de 200 mots ici, mais j’avais préféré Wikipedia comme source plus « autoritaire »).

1 « J'aime »

OK, j’ai :

  • étendu la liste d’exclusion à 300 mots, en utilisant une liste que j’ai trouvée ici
  • amélioré les expressions régulières pour supprimer les guillemets (afin que le mot ‘quote’ n’apparaisse plus autant !)
  • supprimé la suppression arbitraire des dix mots restants les plus fréquents, qui était redondante après l’ajout de la liste d’exclusion.

NB : s’il reste encore des mots que vous souhaitez exclure, ajoutez-les simplement au début de :

comme je l’ai fait ici (par exemple : ‘ive’, ‘its’, ‘topic’, ‘post’)

Pour voir plus rapidement l’impact de vos modifications, relancez simplement le job depuis Sidekiq :

C’est tout pour l’instant, je suggère. Je pourrais créer un Topic dédié.

3 « J'aime »

D’accord, cela pourrait vous plaire :

Mise à jour : J’ai désormais simplifié la configuration de la liste d’exclusion, de sorte qu’il n’y a plus de paramètre pour la « portion » de la liste d’exclusion utilisée. Vous devez simplement supprimer ou ajouter des mots à la liste d’exclusion en utilisant le paramètre localisé natif :

2 « J'aime »

Faut-il désinstaller l’ancienne version pour obtenir celle-ci ?

1 « J'aime »

Vous ne devriez avoir besoin que de mettre à jour le plugin. Vous rencontrez des problèmes ?

Je m’excuse, nous avons trouvé la solution. :sunglasses:

1 « J'aime »

Pas de problème du tout :+1: