83 votes

Comment classer un million d'images avec une sorte de crowdsourced

Je voudrais classer une collection d'images du paysage en faisant un jeu par lequel les visiteurs du site peuvent les taux, afin de trouver des images de gens trouvent le plus attrayant.

Ce serait une bonne méthode de faire cela?

  • Chaud-ou-Pas de style? I. e. afficher une seule image, demander à l'utilisateur de classer de 1 à 10. Comme je le vois, cela me permet à la moyenne des cotes, et je voudrais juste besoin de s'assurer que je reçois une même répartition des voix dans toutes les images. Assez simple à mettre en œuvre.
  • Choisissez l'Un-ou-B? I. e. afficher deux images, demander à l'utilisateur de choisir la meilleure. C'est attrayant comme il n'y a pas de classement numérique, c'est juste une comparaison. Mais comment pourrais-je mettre en œuvre? Ma première pensée a été de faire un tri rapide, avec les opérations de comparaison fournis par des humains, et une fois terminé, il suffit de répéter le tri ad-infinitum.

Comment feriez - vous le faire?

Si vous avez besoin de chiffres, je parle d'un million d'images, sur un site de 20 000 visites quotidiennes. J'imagine qu'une petite proportion pourrait jouer le jeu, pour le plaisir de l'argument, disons que je peux générer de 2 000 humaines, les opérations de tri un jour! C'est un site web non commercial, et la phase terminale curieux trouverez à travers mon profil :)

94voto

Laplie Points 2983

Comme d'autres l'ont dit, classement de 1 à 10 ne fonctionne pas bien, car les gens ont différents niveaux.

Le problème avec le Pick-ou-B méthode, c'est que ce n'est pas garanti que le système soit transitif (peut battre B, mais B bat C, et C bat Un). Avoir non transitive opérateurs de comparaison des pauses algorithmes de tri. Avec quicksort, à l'encontre de cet exemple, les lettres pas choisi comme pivot sera mal classés les uns contre les autres.

À un moment donné, vous voulez une absolue classement de toutes les photos (même si certains d'entre eux sont liés). Vous aussi vous voulez votre classement à ne pas changer à moins que quelqu'un votes.

Je voudrais utiliser le Pick-ou-B (ou égalité) de la méthode, mais de déterminer le classement similaire pour les classements ELO système qui est utilisé pour le classement dans les 2 jeux de joueur:

Le joueur Elo-cote système compare des joueurs correspondre à des enregistrements à l'encontre de leurs opposants correspondre à des enregistrements et détermine la probabilité de l' un joueur gagne le match. Cette facteur de probabilité détermine le nombre de les points d'un des joueurs de la cote monte ou vers le bas sur la base des résultats de chaque match. Quand un joueur bat une adversaire avec une cote plus élevée, la classement du joueur monte plus que si il ou elle a battu un joueur avec un baisser la note (puisque les joueurs doivent vaincre les adversaires qui ont moins de les cotes).

Le Système ELO:

  1. Tous les nouveaux joueurs commencent avec une cote de base de 1600
  2. WinProbability = 1/(10^(( Adversaire du Courant nominal du Joueur Courant nominal)/400) + 1)
  3. ScoringPt = 1 point si ils gagnent le match, 0 s'ils perdent, et 0,5 pour un tirage au sort.
  4. Joueur de la Nouvelle Note = Joueur de la Vieille Cote + (Valeur K * (ScoringPt–Joueur de Gagner de Probabilité))

Remplacer "les joueurs" avec des photos et que vous avez un moyen simple de régler à la fois les images de notation basé sur une formule. Vous pouvez ensuite effectuer un classement à l'aide de ces cotes numériques. (K-Valeur ici est le "Niveau" du tournoi. C'est 8-16 pour les petits tournois locaux et 24-32 pour les plus grands invitationals/regionaux. Vous pouvez simplement utiliser une constante comme 20).

Avec cette méthode, vous avez seulement besoin de garder un nombre pour chaque image, ce qui est beaucoup moins gourmande en mémoire que la conservation de l'individu rangs de chaque image pour chaque image d'autres.

EDIT: Ajout d'un peu plus de viande basée sur les commentaires.

40voto

Cody Hatch Points 4135

Plus naïve des approches du problème ont de sérieux problèmes. Le pire, c'est comment bash.org et qdb.nous affiche des citations - les utilisateurs peuvent voter un devis (+1) ou à la baisse (-1), et la liste des meilleures citations est trié par total score net. Cette souffre d'une terrible décalage horaire - les anciennes citations ont accumulé un grand nombre de votes positifs par le biais de simples longévité, même si ils sont seulement légèrement humoristique. Cet algorithme peut faire sens que si les blagues ai plus drôle qu'ils vieillissaient, mais faites-moi confiance - ils n'en ont pas.

Il y a diverses tentatives pour corriger ceci en regardant le nombre de votes positifs par période de temps, la pondération plus récente de la voix, de la mise en œuvre d'un système de la carie pour les anciens votes, le calcul du ratio de positif au négatif, votes, etc. La plupart souffrent d'autres défauts.

La meilleure solution je pense est le seul que les sites web Le plus Drôle, Le plus Mignon, Le plus juste, et la Meilleure Chose à utiliser - un modifiées Condorcet système de vote. Pour plus d'informations sur la mise en œuvre de tels systèmes, la page de Wikipedia sur les Paires Classées devrait être utile.

L'algorithme nécessite de comparer deux objets (votre Pick-A-ou-B en option), mais franchement, c'est une bonne chose. Je crois que c'est très bien acceptée en théorie de la décision que les humains sont infiniment mieux à la comparaison de deux objets qu'elles le sont à abstraite classement. Des Millions d'années d'évolution nous rendre bon à cueillir la meilleure des pommes sur l'arbre, mais terrible à décider de la façon dont près de la pomme, nous avons sélectionné hews à la vraie Platonique Forme de appleness. (Ce qui est, par ailleurs, pourquoi la procédure d'analyse hiérarchique est chouette...mais c'est un peu hors sujet.)

Un dernier point à préciser est qu'il utilise un algorithme pour trouver les meilleures réponses qui est très similaire à bash.orgs'algorithme pour trouver le meilleur devis. Il fonctionne bien ici, mais manque terriblement, il y - en grande partie parce que un vieux, très bien noté, mais maintenant obsolète réponse ici est susceptible d'être modifié. bash.org ne pas permettre l'édition, et il n'est pas clair comment vous pouvez même aller sur la modification de dix ans des blagues à propos maintenant de date pour les mèmes internet, même si vous pouviez... En tout cas, mon point est que le droit de l'algorithme dépend généralement sur les détails de votre problème. :-)

8voto

Jeremy Ruten Points 59989

Je n'aime pas le style Hot-or-Not . Différentes personnes choisiraient des numéros différents même si elles aimaient toutes l'image exactement la même chose. De plus, je déteste noter les choses sur 10, je ne sais jamais quel numéro choisir.

Choisir A ou B est beaucoup plus simple et amusant. Vous obtenez de voir deux images, et des comparaisons sont faites entre les images sur le site.

4voto

Chris Cudmore Points 11133

Vous voudrez peut-être aller avec une combinaison.

Première phase: style chaud ou pas (bien que j'irais avec un vote à 3 options: Sucks, Meh / OK. Cool!)

Une fois que vous avez classé le jeu dans les 3 compartiments, je choisirais deux images dans le même compartiment et choisirais le "Quel est le meilleur"

Vous pouvez ensuite utiliser un système de promotion et de rétrogradation du football anglais pour déplacer les meilleurs "suceurs" dans la région Meh / OK, afin d'affiner les cas extrêmes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X