Umwandlung einer Liste von Teilrankings in ein globales Ranking

13

Ich arbeite an so etwas wie dem folgenden Problem. Ich habe eine Menge Benutzer und N Bücher. Jeder Benutzer erstellt eine geordnete Rangfolge aller Bücher, die er gelesen hat (was wahrscheinlich eine Teilmenge der N Bücher ist), z. B. Buch 1> Buch 40> Buch 25.

Jetzt möchte ich diese einzelnen Benutzerranglisten in eine geordnete Rangliste aller Bücher umwandeln.

Gibt es gute oder standardisierte Ansätze zum Ausprobieren? Bisher denke ich an Bradley-Terry-Modelle, die auf paarweise Vergleiche angewendet werden, aber ich frage mich, ob es noch etwas anderes gibt.

raegtin
quelle
2
Ich würde denken, Sie würden mit Sparsamkeit auf viele Probleme stoßen, wenn die Benutzer (aus irgendeinem Grund) keine ähnlichen Bücher lesen. Bei n Personen und unter Berücksichtigung der Tatsache, dass die meisten Menschen relativ wenige Bücher lesen, hat die überwiegende Mehrheit der Paare nur eine Person, die den Vergleich vornimmt. (Der Median lag bei 6 pro Person und Jahr, siehe Pew
Peter Flom - Reinstate Monica
2
(+1) raegtin, du stellst nette, interessante Fragen. Ich mag BT-Modelle, aber es scheint ein bisschen gezwungen zu sein. Kennen Sie sich mit der kollaborativen Filterliteratur aus? Es ist nicht dasselbe Problem, aber einige Konzepte und Techniken könnten ausgeliehen werden. Eine Frage, die hier nicht beantwortet wird, ist, warum man glauben sollte, dass die Bücher überhaupt eine eindeutige, genau definierte Rangfolge erhalten können. (Wie würden Sie beispielsweise mit dem Fall mit zwei Benutzern und zwei Büchern umgehen?)
Kardinal
@ Peter Flom: Richtig, die meisten Paare haben keine Vergleiche. Aber ich hoffe, das ist in Ordnung, denn wenn Sie wissen, dass A> B und B> C sind, können Sie auch dann auf A> C schließen, wenn A und C nicht direkt verglichen werden.
raegtin
@ Cardinal: Ja, BT-Modelle scheinen hier gezwungen zu sein, aber das ist das einzige, woran ich gerade denken kann. Ich bin mit der kollaborativen Filterliteratur vertraut, aber ich bin nicht sicher, wie sie hier angewendet wird, da ich Rankings und keine Ähnlichkeiten möchte. Es ist wahr, dass ein einziges globales Ranking nicht unbedingt sinnvoll ist (z. B. ist es sinnvoll, Kinderbücher mit Erwachsenenbüchern zu vergleichen? Belletristik mit Sachbüchern?), Aber praktisch ist es immer noch nützlich. "Best of" -Buchlisten erscheinen ständig :)
-Buchlisten erscheinen
Außerdem ist es mir nicht so wichtig, dass ich eine enge Reihenfolge einhalte (z. B. ob das erste Buch wirklich besser ist als das zweite), sondern vielmehr, dass ich die besten 10% aller Bücher in meiner Bestellung habe besser sein als die unteren 10% oder die mittleren 10%).
Raegtin

Antworten:

2

Wenn Sie sich für den Einsatz interessieren (mehr als für die Entwicklung), sollten Sie versuchen , unser Ranking-System , rankade , zu machen.

Rankade ist kostenlos und einfach zu bedienen und unterscheidet sich vom Bradley-Terry-Modell und dem Elo-Ranking-System (hier ein Vergleich) ), da es Übereinstimmungen mit mehr als 2 Fraktionen (dh Büchern in Ihrem Szenario) verwalten kann. Durch Einfügen der geordneten Rangfolge des Benutzers (als Übereinstimmungen zwischen zwei oder mehr Büchern mit detaillierten endgültigen Rangfolgen , einschließlich Krawatten) erhalten Sie die geordnete Rangfolge aller Bücher, nach denen Sie suchen. Rankade bietet Ihnen außerdem die Möglichkeit, die Zeitentwicklung für das Ranking von Büchern und Statistiken für Match-ups von Büchern zu überprüfen.

Tomaso Neri
quelle
1
Sie sollten Ihren Algorithmus zumindest allgemein als Ansatz bezeichnen. Und einen Link zu einem Artikel, in dem es ausführlich beschrieben wird. Andernfalls wird Ihre Antwort möglicherweise einfach als Anzeige betrachtet.
TTNPHNS
1
Ich habe einen Link für einen einfachen Vergleich zwischen ree und dem bekanntesten Rangsystem hinzugefügt . Die erste Aussage besagt, dass, wenn Sie an der Verwendung interessiert sind (mehr als an der Entwicklung) , diese als Lösung für das Problem vorgeschlagen wird (Rankade verfügt über eine grafische Benutzeroberfläche, während Bradley-Terry und Plackett-Luce eine Implementierung benötigen), mehr als a Pfad zum Erreichen der angeforderten Lösung.
Tomaso Neri
1

Plackett-Luce-Ranking-Modelle beschäftigen sich mit diesem Problem und sind eine wahrscheinlichkeitsbasierte Technik, bei der die Wahrscheinlichkeit unter Verwendung einer Majorisierungs-Maximierungs-Routine maximiert wird, die der Expectation Maximization in dem Sinne ähnlich ist, dass sie eine Hilfszielfunktion gegenüber der Wahrscheinlichkeitsfunktion verwenden, die ist optimiert, um eine iterative monotone Maximierung der Wahrscheinlichkeitsfunktion zu gewährleisten. (Siehe MM-Algorithmen für Plackett-Luce-Ranking-Modelle von David Hunter). Er liefert auch Code.

> =

Das passt perfekt zu Ihrem Datensatz:

Buch 1> Buch 40> Buch 25

Buch 40> Buch 30

Heft 25> Heft 17> Heft 11> Heft 3 usw.

Leichenwagen
quelle