Développement d'un plugin Discourse pour limiter le nombre de posts par jour par personne

Un comportement « compulsif » remarquable, c’est le double/triple post, soit en réponse globale soit en réponse à soi-même. Quelqu’un de posé attend une réponse ou édite son message…

My two cents.

3 « J'aime »

Un autre type de message récurrent : la demande de certifications. Très souvent dans la catégorie « certification Ğ1-Test ».

Comment rediriger les gens qui s’apprêtent à poster ce message vers une page qui explique la certification et la TdC, insistant bien sur la connaissance physique et les conseils pratiques pour rencontrer des gens ?

Il y a déjà un message décrivant la catégorie, mais que bien sûr personne ne lit. Il y a le « Guide du débutant », mais apparemment il n’est pas lu non plus. Il y a le bandeau de bienvenue, pareil.

Le robot pourrait détecter les posts « besoin de certification » et y répondre un message préenregistré. Pour la détection, à vue de nez ces messages sont souvent assez courts, contiennent une clé publique, le mot « certification » ainsi que le mot « besoin ». Les mots « créer » et « compte » augmentent le score du message, a priori. Des statistiques pourraient affiner ça.

6 « J'aime »

Nouvelle idée pour faciliter la gestion des règles de modération :

Chaque règle sera un script Python qui sera exécuté lors d’un événement donné (par exemple un nouveau post), prenant en paramètres toutes les infos nécessaires et retournant la liste des actions à faire (par exemple envoyer un message à l’utilisateur, supprimer le post ou incrémenter le compteur de fautes de l’utilisateur).

Il faudra aussi que les scripts prennent des paramètres globaux que les modérateurs puissent modifier facilement.

2 « J'aime »

Voilà, il détecte les messages trop longs, à chaque règle son fichier (désactivable dans la config), et il est sensé envoyer un message privé en cas de faute (pour l’instant, un message trop long). Je dis « sensé » car ceci est un message de test, il devrait m’envoyer un message après.

Je me dis qu’il faudrait aussi faire varier la langue du message en fonction de l’utilisateur, car parfois il y a aussi des anglophones, hispanophones ou espérantistes sur le forum, qui ne lisent pas bien le français.

Edit: Ça n’a pas marché, parce que par défaut il ne prend que les 20 premiers messages d’un topic… :confused: Je vais régler ça.

1 « J'aime »

Je n’ai pas lu grand chose sur ce fil car il est trop long (quelle ironie !) mais j’ai également quelques suggestions :

  • mettre un bouton « dislike » avec un compteur caché et se baser sur le nombre de dislike reçus par une personne pour lui signaler qu’il risque d’être soumis à une limitation.

  • mettre un post en mode wiki en tête de chaque fil fleuve avec pour but de résumer le fil et de fournir un sommaire cliquable pour accéder aux parties intéressantes de la discussion. Ces posts pourraient être utilisés par la suite pour alimenter les FAQ.

Ce serait triste, @Attilax, bien qu’hyperactif sur le forum apporte toujours une contribution bienveillante et constructive. De plus, sa grande réactivité permet aux nouveaux venus de se sentir accueillis.

Ça poserait le problème que le bouton dislike pourrait être utilisé politiquement. (si j’aime pas l’idée, je dislike) Ça ressemble un peu à StackOverflow, qui me dégoûte fortement. (où les messages dislikés sont cachés)

:+1: :+1: :+1:


Les forums/IM que je connais (PHPBB, Discourse, Matrix, Mumble, FluxBB, CCM, Reddit, SO, LinuxFR, etc.) sont tous linéaires, avec parfois soit un faible degré d’arborescence (1 niveau de commentaires comme SO ou CCM), soit une arborescence à plusieurs niveaux (LinuxFR, Reddit).

Sans arborescence (PHPBB, FluxBB, Discourse) c’est le bazar. Avec 1 niveau, ça ne permet pas d’échapper plus au bazar. Avec plusieurs niveaux, c’est encore pire : le fil est entrecoupé par les niveaux supérieurs, et en plus personne ne sait l’utiliser correctement donc c’est illisible.

On pourrait expérimenter un nouveau design de forum, sur le style Git : chaque message est une nouvelle branche prenant racine sur 0, 1 ou plusieurs messages existants. On supprime le concept de sujet/topic. Ainsi :

  • un message répondant à une même question posée dans plusieurs messages peut s’annoncer comme la réponse à ces plusieurs messages. (fusion des fils)
  • plusieurs discussions peuvent émaner d’un message, sans la contrainte du sujet. (fork)
  • on peut sélectionner le fil que l’on veut et ignorer les autres.
  • les liens entre messages peuvent être étiquetés : réponse, question à propos, suggestion, correction, fait penser à…

Par contre c’est plus chaud à représenter, et ce n’est pas possible dans Discourse. :confused:

1 « J'aime »

Tu en es où dans la réalisation de ce bot ? :slight_smile:

J’avoue que je n’ai pas avancé depuis un moment… Ces derniers jours je me noyais plutôt dans le Docker pour Dunitrust (mais maintenant on peut faire un paquet pour Arch).

Du coup je vais pouvoir m’y remettre !

1 « J'aime »

Salut @tuxmain,

Depuis quelques heures, l’utilité d’un tel bot se fait de nouveau sentir. As-tu pu avancer ? Un financement pourrait-il motiver son développement ? le financement est ici :
https://gannonce.duniter.org/#/announce/eaa44121-cbd5-469d-b2e3-4994c1a79266

edit - d’autre part, si un tel bot est mis en place, une modification de la charte est nécessaire. En effet, celle-ci n’indique pour le moment aucune mesure en cas de spam du forum par des messages trop nombreux.

1 « J'aime »

En fait je n’avance pas en ce moment parce que je doute vraiment que les méthodes proposées ici (dont les miennes) parviennent à discriminer correctement les spams.

Le cas le plus reconnaissable est un long message déconnecté du sujet, par exemple une publicité grossière. Ça semble plutôt rare et ne cause jamais de discussion.

Les deux cas du moment sont :

  • des trolls d’un mille-feuille argumentatif violent, incohérent et abusif, des messages pas particulièrement longs (mais non paragraphiés). À part le vocabulaire violent, que l’on peut toutefois trouver dans des messages non violents mais parlant de violence, je ne vois pas comment le détecter.
  • des trolls souvent très courts et compulsifs, hors-sujet parfois, et appelant à des débats stériles. Là encore, pas grand chose pour le détecter (à part la présence de GIFs, mais il n’est pas le seul).

Ma conclusion est que ce bot soit ne servirait pas à grand chose, soit serait abusif. Une IA ou bien une recherche linguistique et stylistique plus avancée seraient plus efficaces, mais ça demanderait beaucoup de temps pour se former et pour le développer (mais ça serait vachement intéressant).

On peut toujours tester quelques algos pour affiner à la main. Aussi faire une recherche portant sur un comportement (temps moyen de réponse, nombre d’interlocuteurs, etc.), mais c’est chaud.

1 « J'aime »

@tuxmain il y a un cas simple que le bot peut détecter : imposer un quota de nombre maximal de messages par jours. Ça forcerai les interlocuteurs a réfléchir davantage avant de poster :slight_smile:

Et aussi, détecter et signaler le cas de plusieurs posts du même auteur.

On voit parfois des threads enflammés et légitimes, donc ça risquerait de nuire à certaines discussions, particulièrement à des sujets urgents.

Si N messages/jour suffisent à communiquer efficacement, alors peut-être que N messages/jour suffisent à spammer efficacement. Ça me déplaît de réduire l’expression maximale de tout le monde sous prétexte que certains s’expriment mal. Ça risquerait de ressembler à l’état d’urgence.

2 « J'aime »

Une IA (libre?) modo… Ça me laisse rêveur. Ce serait une fille, hein ? :wink:

asexuée et agenre tant que la langue le permet (parce que j’espère bien que le serveur n’a ni chromosomes ni organes sexués, et qu’il n’est pas soumis aux normes sociales) (et que l’IA féminine n’est peut-être qu’un fantasme masculin)

Non en fait la question ne se posera même pas si cet IA ne parle pas à la première personne…

100 DU si elle a la voix de Mozinor

Je relance de 100 !

J’avais abandonné le projet, mais au vu des événements récents concernant la modération, on peut le reconsidérer.

Concrètement, que pourrait faire un robot pour participer à la modération aujourd’hui ?

C’est-à-dire, quelles sont les caractéristiques objectives des messages et des comptes dont vous pensez qu’ils auraient dû faire l’objet d’un avertissement, signalement, censure, bannissement ou suppression ?

Quelques idées :

  • insultes → signalement
    • problème : faux positifs (« Hitler est un connard », « covid de merde » contiennent des insultes)
  • paragraphe trop long → avertissement conseillant de sauter des lignes
  • message trop long → avertissement

Apparemment il existe des moyens d’utiliser du deep learning pour détecter le sarcasme. Et si je n’y arrive pas avec du deep learning (ce qui est probable :sweat_smile: ) on peut toujours essayer avec des n-grams et des stats. Et on peut trouver des ensembles de données ici. À creuser.

Le code source inachevé est toujours là.

Le bouton signalement ne suffit pas ?

Ça fait partie de la question.

Il y a un avantage des avertissements automatiques sur le signalement manuel, c’est qu’on n’a pas à dire à chaque fois de sauter des lignes, etc.

je propose :

  • de pouvoir avoir des catégories sur lesquelles les messages doivent être validés par un modo pour etre publié.
  • de pouvoir avoir des catégories sans discussion possible
  • de pouvoir mettre en sourdine quelqu’un, sans que la personne ne le voit, afin de pouvoir décider tranquillemement sans rien perdre des messages. Une sorte de « mode fantome » : l’utilisateur passe dans les limbes :slight_smile: comme dans 6ieme sens, mais sans le comprendre vraiment.

Ca devrait déjà en calmé plus d’un :slight_smile: