Comment ordonner des commentaires ? Le score de Wilson

Découvrez le score de Wilson, un score pour trier les commentaires
score

Vous êtes un développeur. Vous avez des utilisateurs. Vos utilisateurs évaluent les contenus de votre site. Vous voulez placer les éléments les mieux notés en haut de la page et les moins bien notés en bas. Vous avez besoin d’une sorte de “score” pour le tri.

Une première solution (mauvaise)

Utiliser la formule suivante : votes positifs – votes négatifs

Supposons qu’un élément ait 1200 évaluations positives et 800 évaluations négatives : 60% d’évaluations positives. Supposons que l’élément deux a 5500 évaluations positives et 4500 évaluations négatives : 55 % d’évaluations positives. Cet algorithme place l’élément deux (score = 1000, mais seulement 55% de positif) au-dessus de l’élément un (score = 100, et 60% de positif). Ce n’est pas un effet qu’on a envie d’avoir

Une seconde solution (mauvaise aussi)

Utiliser cette fois la formule : votes positifs / (votes positifs + votes négatifs) = votes positifs / votes totaux

Pourquoi ce n’est pas ouf : L’évaluation moyenne fonctionne bien si vous avez toujours une beaucoup d’évaluations, mais en général c’est un phénomène rare. Supposons que l’article 1 a 2 évaluations positives et 0 évaluation négative. Supposons que l’article 2 ait 100 évaluations positives et 1 évaluation négative. Cet algorithme place l’élément 2 (des tonnes d’évaluations positives) en dessous de l’élément 1 (très peu d’évaluations positives). Ce n’est pas un effet qu’on a non plus envie d’avoir.

Une bonne solution : Le score de Wilson

Cette solution part du principe bayésien suivant : plus un élément reçoit d’interactions plus sa note est fiable, plus les interactions sont positives, plus elles sont fiables. On va donc favoriser les éléments avec beaucoup d’interactions dont une grande partie est positive.

Edwin B. Wilson a trouvé la solution mathématique (qui a donc donné lieu au score de Wilson) à ce problème en 1927. La question que nous voulons poser est la suivante : Étant donné les évaluations dont je dispose, il y a 95 % de chances que la fraction “réelle” des évaluations positives soit au moins égale à quoi ? Wilson donne la réponse. En ne considérant que les évaluations positives et négatives (c’est-à-dire pas une échelle de 5 étoiles), la limite inférieure de la proportion d’évaluations positives est donnée par :

\dfrac{ \hat p+\frac{z^2_{\alpha/2}}{2n}\pm\sqrt{\frac{\hat p(1-\hat p)+\frac{z^2_{\alpha/2}}{4n}}{n} }}{1+\frac{z^2_{\alpha/2}}{n}}

Avec les valeurs suivantes :

\hat p 

est la proportion de notes positives.

z_{\alpha/2}

est le (1-α/2) quantile de la distribution normale. On prend la borne inférieur donc la version avec un “-” dans le “±” de la formule.
n est le nombre total d’interactions (positives + négatives).
Si on prend 1-α/2 = 0.95, on a

z_{\alpha/2}=1.96

Admettons que l’on note des commentaires, désigné par une colonne “comment” en SQL, voici son implémentation :

SELECT comment, ((positive + 1.9208) / (positive + negative) - 
                   1.96 * SQRT((positive * negative) / (positive + negative) + 0.9604) / 
                          (positive + negative)) / (1 + 3.8416 / (positive + negative)) 
       AS ci_lower_bound FROM widgets WHERE positive + negative > 0 
       ORDER BY ci_lower_bound DESC;

Le score vaut 0 lorsqu’il n’y a pas d’interaction.

Autres applications

L’intervalle de confiance du score de Wilson n’est pas seulement destiné au tri, bien sûr. Il est utile chaque fois que vous voulez savoir avec certitude quel pourcentage de personnes a entrepris une action quelconque. Par exemple, il peut être utilisé pour :

  • Détecter les spams/abus : Quel pourcentage de personnes qui voient cet élément le marqueront comme spam ?
  • Créer une liste des “meilleurs” : Quel pourcentage de personnes qui voient cet élément le marqueront comme “le meilleur de” ?
  • Créez une liste des “plus partagés” : Quel pourcentage de personnes qui voient cette page cliqueront sur “Partager” ?
    En effet, il peut être plus utile, dans une liste des “mieux notés”, d’afficher les éléments ayant le plus grand nombre d’évaluations positives par page vue, téléchargement ou achat, plutôt que des évaluations positives par note. De nombreuses personnes qui trouvent quelque chose de médiocre ne prendront pas la peine de l’évaluer ; le fait de regarder ou d’acheter quelque chose et de ne pas l’évaluer contient des informations utiles sur la qualité de cet article.

Cet article vous a plu ? Alors découvrez nos derniers articles sur le même thème :

Total
0
Shares

Laisser un commentaire

Articles similaires
Des idées de cadeaux pour Noël ? Vous voulez profiter du Black Friday ? Voici nos propositions de livres et objets mathématiques !
Découvrez nos idées