Conversion d'une liste de classements partiels en classement mondial

13

Je travaille sur quelque chose comme le problème suivant. J'ai un tas d'utilisateurs et N livres. Chaque utilisateur crée un classement ordonné de tous les livres qu'il a lus (qui est probablement un sous-ensemble des N livres), par exemple, Livre 1> Livre 40> Livre 25.

Maintenant, je veux transformer ces classements d'utilisateurs individuels en un seul classement ordonné de tous les livres.

Existe-t-il des approches bonnes ou standard à essayer? Jusqu'à présent, je pense aux modèles Bradley-Terry appliqués aux comparaisons par paires, mais je me demande s'il y a autre chose.

raegtin
la source
2
Je pense que vous rencontreriez beaucoup de problèmes de rareté, à moins que les utilisateurs (pour une raison quelconque) lisent des livres similaires. Mais étant donné n personnes, et étant donné que la plupart des gens lisent relativement peu de livres, la grande majorité des paires n'aura qu'une seule personne faisant la comparaison. (Le nombre médian était de 6 par personne et par an, voir Pew
Peter Flom - Reinstate Monica
2
(+1) raegtin, vous posez de belles questions intéressantes. J'adore les modèles BT, mais il semble un peu forcé ici. Connaissez-vous la littérature sur le filtrage collaboratif? Ce n'est pas le même problème, mais certains concepts et techniques pourraient être empruntés. Une question laissée sans réponse ici est pourquoi on devrait croire que les livres peuvent être attribués en premier lieu sans ambiguïté et bien définis. (Comment géreriez-vous le cas de deux utilisateurs, deux livres, par exemple?)
Cardinal
@Peter Flom: Correct, la plupart des paires n'ont aucune comparaison. Mais j'espère que ça va, car si vous savez que A> B et B> C, alors même si A et C ne sont pas directement comparés, vous pouvez en déduire A> C.
raegtin
@cardinal: Oui, les modèles BT semblent forcés ici, mais c'est la seule chose à laquelle je peux penser en ce moment. Je connais la littérature sur le filtrage collaboratif, mais je ne sais pas comment elle s'applique ici, car je veux des classements, pas des similitudes. Il est vrai qu'un seul classement mondial n'a pas nécessairement de sens (par exemple, est-il logique de comparer des livres pour enfants contre des livres pour adultes? Fiction contre non-fiction?), Mais pratiquement, c'est toujours utile. Les meilleures listes de livres apparaissent tout le temps :)
raegtin
En outre, je ne me soucie pas tellement des commandes proches (par exemple, si le livre classé n ° 1 est vraiment meilleur que le livre n ° 2), mais plutôt des commandes en général (par exemple, je veux que les 10% de livres supérieurs de ma commande mieux que les 10% inférieurs ou les 10% moyens).
raegtin

Réponses:

2

Si vous êtes intéressé par l'utilisation (plus que par le développement), vous devriez essayer de Rankade , notre système de classement.

Rankade est gratuit et facile à utiliser, et il est différent du modèle Bradley-Terry et du système de classement Elo (voici une comparaison ) car il peut gérer les matchs avec plus de 2 factions (c'est-à-dire des livres, dans votre scénario). En insérant le classement ordonné de l'utilisateur (comme correspondances entre deux ou plusieurs livres, avec le classement final détaillé, y compris les liens), vous obtiendrez le classement ordonné unique de tous les livres que vous recherchez. Dans la dépendance, Rankade vous donne la possibilité de vérifier l'évolution du temps pour le classement des livres, et les statistiques pour les correspondances de livres, et plus encore.

Tomaso Neri
la source
1
Vous devez décrire votre algorithme, au moins généralement, comme une approche. Et un lien vers un document où il est décrit en détail. Sinon, votre réponse pourrait être considérée comme une simple annonce.
ttnphns
1
J'ai ajouté un lien pour une comparaison simple entre ree et le système de classement le plus connu. La première déclaration dit que si vous êtes intéressé par l'utilisation (plus que par le développement) , il est donc proposé comme solution au problème (Rankade dispose d'une interface graphique, tandis que Bradley-Terry et Plackett-Luce nécessitent une implémentation pour être utilisé), plus qu'un chemin pour atteindre la solution demandée.
Tomaso Neri
1

Les modèles de classement de Plackett-Luce traitent ce problème et sont une technique basée sur la vraisemblance où la vraisemblance est maximisée en utilisant une routine de maximisation-maximisation, qui est similaire à la maximisation des attentes, dans le sens où ils utilisent une fonction objectif auxiliaire sur la fonction de vraisemblance qui est optimisé pour garantir une maximisation monotone itérative de la fonction de vraisemblance. (voir les algorithmes MM pour les modèles de classement Plackett-Luce par David Hunter). Il fournit également du code.

Du point de vue du classement, ils sont une extension des modèles Bradley-Terry que vous mentionnez dans votre article. Les modèles de Bradley-Terry estiment un classement mondial à partir d'un échantillon de classements par paires. Les modèles Plackett-Luce étendent cela aux classements de longueur> = 2. Ils permettent également à chaque échantillon d'être un classement d'une longueur différente.

Cela correspond parfaitement à votre ensemble de données:

Livre 1> Livre 40> Livre 25

Livre 40> Livre 30

Livre 25> Livre 17> Livre 11> Livre 3 etc.

corbillard
la source