Scores du rapport sur le ratio de signalements des utilisateurs

Les scores dans le rapport sur le ratio de signalements des utilisateurs semblent un peu déroutants. :slightly_smiling_face:

Par exemple :

  • Les utilisateurs ayant uniquement des signalements désaccordés obtiennent un score supérieur à ceux sans aucun signalement, et aussi supérieur à ceux qui ont une quantité similaire de signalements accordés et désaccordés.
  • Ceux qui ont, par exemple, 100 signalements désaccordés et 100 accordés obtiennent exactement le même score qu’une personne sans aucun signalement, soit 0.

Quelle est l’intention derrière ce score ? (cc : @j.jaffeux)


La formule actuelle pour chaque score est :

if disagreed == 0
  agreed * agreed
else
  ((1 - (agreed / disagreed)) * (disagreed - agreed)).to_i

source : app/models/reports/user_flagging_ratio.rb

Voici un exemple de scores pour 0, 5, 10 et 15 signalements accordés et désaccordés :

   |   0   5   10   15  accordés
------------------------
0  |   0  25  100  225
   |
5  |   5   0    5   20
   |
10 |  10   2    0    2
   |
15 |  15   6    1    0
   |
désaccordés

Et voici à quoi cela ressemble si vous entrez cette formule dans Wolfram Alpha. :wink: (x représente les accordés, et y les désaccordés)

_modifié :

Les modifications les plus récentes de cet algorithme sont mentionnées ici : User_flagging_ratio_count - #8 by j.jaffeux

3 « J'aime »

Mon cas d’usage pour ce rapport spécifique est d’identifier les utilisateurs les plus ou les moins alignés avec la modération. De ce point de vue, les rapports 15/0 et 0/15 sont tout aussi importants, mais pour des raisons différentes. Un score de 255 ou -255 dans ces cas permettrait, selon moi, de préciser davantage la situation. Cependant, je ne suis pas certain de savoir comment l’algorithme pourrait y parvenir tout en tenant compte du volume de signalements, ce qui est tout aussi important.

3 « J'aime »

Wow, cela signifie que si l’on maintient le nombre agreed constant, à mesure que le nombre disagreed augmente, le score s’améliore de plus en plus (lorsque disagreed > agreed).

Une formule plus raisonnable et directe pourrait être quelque chose comme :

(agreed * agreed) - (disagreed * disagreed)

C’est-à-dire que les agreed augmentent toujours le score, tandis que les disagreed le diminuent toujours. Je ne sais pas s’il est nécessaire de rendre la formule plus complexe que cela, mais c’est mon avis (à condition qu’un score négatif soit acceptable).

Je pense que cela va bien, cependant. Y a-t-il un problème avec cela, étant donné que les deux valeurs (l’une devant augmenter le score et l’autre le diminuer) sont identiques ?

1 « J'aime »

Je n’ai pas écrit la majeure partie du code ; j’ai surtout corrigé un bug qui empêchait l’affichage des enregistrements lorsque le nombre de désaccords dépassait celui des accords. Je ne suis donc pas sûr de la logique dans son ensemble. @eviltrout

J’ai utilisé la formule accord × accord car je pensais que cela mettrait en valeur les utilisateurs avec lesquels nous ne sommes jamais en désaccord. Cependant, il s’agit d’un cas limite et la plupart des utilisateurs ne se retrouveront pas dans cette catégorie, nous devrions donc probablement optimiser l’autre branche.

N’hésitez pas à corriger la formule pour mieux gérer tout cas spécifique qu’elle ne prend pas en compte.

1 « J'aime »

Tu devrais vérifier avec @eviltrout

1 « J'aime »

Je suis tout à fait ouvert aux suggestions ici. Que proposeriez-vous à la place ?

2 « J'aime »