Convertendo uma lista de classificações parciais em uma classificação global

13

Estou trabalhando em algo como o seguinte problema. Eu tenho vários usuários e N livros. Cada usuário cria uma classificação ordenada de todos os livros que leu (o que provavelmente é um subconjunto dos N livros), por exemplo, Livro 1> Livro 40> Livro 25.

Agora, desejo transformar essas classificações de usuários individuais em uma única classificação ordenada de todos os livros.

Existem abordagens boas ou padrão para tentar? Até agora, estou pensando nos modelos de Bradley-Terry aplicados às comparações aos pares, mas estou me perguntando se há mais alguma coisa.

raegtin
fonte
2
Eu pensaria que você enfrentaria muitos problemas com a escassez, a menos que os usuários (por algum motivo) lessem livros semelhantes. Porém, considerando n pessoas, e considerando que a maioria das pessoas lê relativamente poucos livros, a grande maioria dos pares terá apenas uma pessoa fazendo a comparação. (O número médio era de 6 por pessoa, por ano, veja Pew
Peter Flom - Reinstate Monica
2
(+1) raegtin, você faz perguntas legais e interessantes. Eu gosto de modelos da BT, mas parece um pouco forçado aqui. Você conhece a literatura de filtragem colaborativa? Não é o mesmo problema, mas alguns conceitos e técnicas podem ser emprestados. Uma questão que não foi abordada aqui é por que se deve acreditar que os livros podem receber uma classificação inequívoca e bem definida em primeiro lugar. (Como você lidar com o caso de dois usuário, dois-book, por exemplo?)
cardeal
@ Peter Flom: Correto, a maioria dos pares não tem comparações. Mas eu estou esperando que isso é bom, já que se sabe que A> B e B> C, então, mesmo que A e C não são comparados diretamente, você pode inferir A> C.
raegtin
@ cardinal: Sim, os modelos BT parecem forçados aqui, mas é a única coisa que consigo pensar agora. Eu estou familiarizado com a literatura de filtragem colaborativa, mas não tenho certeza de como ela se aplica aqui, pois quero classificações, não semelhanças. É verdade que um único ranking global não faz necessariamente sentido (por exemplo, faz sentido comparar livros infantis versus livros para adultos - ficção versus não ficção?), Mas na prática ainda é útil. As listas dos melhores livros aparecem o tempo todo :)
raegtin
Além disso, não me importo muito com pedidos próximos (por exemplo, se o livro classificado como nº 1 é realmente melhor do que o livro nº 2), mas com pedidos em conjunto (por exemplo, eu quero os 10% melhores dos livros em meus pedidos para ser melhor que os 10% inferiores ou os 10% médios).
raegtin

Respostas:

2

Se você estiver interessado em usar (mais do que em desenvolvimento), tente classificar , nosso sistema de classificação.

O Rankade é gratuito e fácil de usar, e é diferente do modelo Bradley-Terry e do sistema de classificação Elo (aqui está um comparação ) porque ele pode gerenciar correspondências com mais de 2 facções (ou seja, livros, no seu cenário). Ao inserir as classificações ordenadas do usuário (como correspondências entre dois ou mais livros, com classificações finais detalhadas, incluindo empates), você obterá a classificação ordenada única de todos os livros que procura. Além disso, o rankade oferece a oportunidade de verificar a evolução do tempo para a classificação de livros, estatísticas para correspondências de livros e muito mais.

Tomaso Neri
fonte
1
Você deve descrever seu algoritmo, pelo menos em geral, como abordagem. E faça um link para um artigo onde está descrito na íntegra. Caso contrário, sua resposta poderá ser considerada simplesmente um anúncio.
ttnphns
1
Eu adicionei um link para uma comparação simples entre ree e o sistema de classificação mais conhecido. A primeira afirmação diz: Se você está interessado em usar (mais do que em desenvolvimento) , é proposto como uma solução para o problema (o rankade apresenta uma GUI, enquanto Bradley-Terry e Plackett-Luce precisam de implementação para serem usados), mais do que um caminho para alcançar a solução solicitada.
Tomaso Neri
1

Os modelos de classificação de Plackett-Luce lidam com esse problema e são uma técnica baseada em probabilidade em que a probabilidade é maximizada usando uma rotina de maximização-maximização, semelhante à Maximização de Expectativas, no sentido de que eles usam uma função objetivo auxiliar sobre a função de probabilidade que é otimizado para garantir a maximização monotônica iterativa da função de probabilidade. (consulte Algoritmos MM para modelos de classificação Plackett-Luce de David Hunter). Ele fornece código também.

> = 2. Eles também permitem que cada amostra seja uma classificação de comprimento diferente.

Isso se encaixa perfeitamente ao seu conjunto de dados:

Livro 1> Livro 40> Livro 25

Livro 40> Livro 30

Livro 25> Livro 17> Livro 11> Livro 3 etc.

carro fúnebre
fonte