Kısmi sıralama listesinin küresel sıralamaya dönüştürülmesi


13

Aşağıdaki sorun gibi bir şey üzerinde çalışıyorum. Bir sürü kullanıcı ve N kitabım var. Her kullanıcı, okuduğu tüm kitapların sıralı bir sıralamasını oluşturur (bu muhtemelen N kitapların bir alt kümesidir), örneğin, Kitap 1> Kitap 40> Kitap 25.

Şimdi bu bireysel sıralamaları tüm kitapların sıralı bir sıralamasına dönüştürmek istiyorum.

Denemek için iyi veya standart yaklaşımlar var mı? Şimdiye kadar, ikili karşılaştırmalar için uygulanan Bradley-Terry modellerini düşünüyorum, ancak başka bir şey olup olmadığını merak ediyorum.


2
Kullanıcılar (bazı nedenlerden dolayı) benzer kitapları okumadıkça, çok sayıda sorunla karşılaşacağınızı düşünürüm. Ancak n kişi verildiğinde ve çoğu insanın nispeten az kitap okuduğu göz önüne alındığında, çiftlerin büyük çoğunluğunun karşılaştırmayı yapan sadece bir kişi olacaktır. (Ortanca sayı kişi başına yılda 6 idi. Bkz. Pew
Peter Flom - Reinstate Monica

2
(+1) raegtin, güzel, ilginç sorular soruyorsun. BT modellerine bayılıyorum, ama burada biraz zorlanmış gibi görünüyor. Ortak filtreleme literatürüne aşina mısınız? Aynı sorun değil, ancak bazı kavramlar ve teknikler ödünç alınabilir. Burada ele alınmayan bir soru, kitaplara neden ilk etapta açık, iyi tanımlanmış bir sıralama verilebileceğine inanması gerektiğidir. (Örneğin, iki kullanıcılı, iki kitaplık davayı nasıl ele alırsınız?)
kardinal

@Peter Flom: Doğru, çoğu çiftin karşılaştırması yoktur. Ama bunun iyi olacağını umuyorum, çünkü A> B ve B> C'yi biliyorsanız, A ve C doğrudan karşılaştırılmasa bile, A> C çıkarabilirsin.
Eylül'de raegtin

@cardinal: Evet, BT modelleri burada zorlanmış gibi görünüyor, ancak şu anda aklıma gelen tek şey bu. Ortak filtreleme literatürüne aşinayım, ama burada nasıl uygulandığından emin değilim, çünkü benzerlikler değil sıralamalar istiyorum. Tek bir küresel sıralamanın mantıklı olmadığı doğrudur (örneğin, çocuk kitapları ile yetişkin kitapları? Kurgu ve kurgu dışı karşılaştırmak mantıklı mı?), Ancak pratik olarak, hala yararlıdır. "En iyisi" kitap listeleri her zaman açılır :)
raegtin

Ayrıca, yakın siparişleri (örneğin, 1. sırada yer alan kitabın 2. kitaptan gerçekten daha iyi olup olmadığını) çok fazla umursamıyorum, daha ziyade toplamdaki siparişleri (örneğin, siparişimdeki kitapların en iyi% 10'unu istiyorum) alttan% 10 veya ortadan% 10 daha iyi olabilir).
raegtin

Yanıtlar:


2

Kullanmakla ilgileniyorsanız (geliştirmekten daha fazlası), sıralama sistemimiz olan rankade'i denemelisiniz .

Rankade ücretsiz ve kullanımı kolaydır ve Bradley-Terry modeli ve Elo sıralama sisteminden (burada bir karşılaştırma ) farklıdır, çünkü 2+ grupla (yani senaryoda kitaplar) maçları yönetebilir . Kullanıcının sipariş sıralarını ekleyerek ( iki veya daha fazla kitap arasındaki eşleşmeler olarak , bağlar dahil ayrıntılı son sıralamalar ile) aradığınız tüm kitapların tek sıralı sıralamasını elde edersiniz. Bağımlılık olarak, rankade, kitap sıralaması için zaman gelişimini ve kitap eşleşmeleri için istatistikleri ve daha fazlasını kontrol etme fırsatı verir.


1
Algoritmanızı en azından genel olarak yaklaşım olarak tanımlamalısınız. Ve tam olarak açıklandığı bir makaleye bağlantı verin. Aksi takdirde cevabınız sadece bir reklam olarak değerlendirilebilir.
ttnphns

1
Ben ree ve en bilinen sıralama sistemi arasında basit bir karşılaştırma için bir bağlantı ekledim . İlk ifade, eğer kullanımla ilgileniyorsanız (geliştirmekten daha fazlası) , bu yüzden soruna bir çözüm olarak önerilmektedir (rankade bir GUI içerirken, Bradley-Terry ve Plackett-Luce'in uygulanması gerekir) istenen çözüme ulaşmak için bir yol.
Tomaso Neri

1

Plackett-Luce sıralama modelleri bu problemle ilgilenir ve olasılık fonksiyonu üzerinde yardımcı bir objektif fonksiyon kullandıkları için Beklenti Maksimizasyonuna benzer bir majörleştirme-maksimizasyon rutini kullanılarak olasılığın maksimize edildiği bir olasılık tabanlı tekniktir. olabilirlik işlevinin yinelemeli monotonik maksimize edilmesini garanti etmek için optimize edilmiştir. (David Hunter'ın Plackett-Luce sıralama modelleri için MM algoritmalarına bakınız). Kod da veriyor.

>=

Bu, veri kümenize mükemmel şekilde uyar:

Kitap 1> Kitap 40> Kitap 25

Kitap 40> Kitap 30

Kitap 25> Kitap 17> Kitap 11> Kitap 3 vb.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.