Любые алгоритмы, которые могут обеспечить разнообразие категорий в системе социального ранжирования? - PullRequest
0 голосов
/ 14 июля 2011

Я строю систему, похожую на Reddit, где пользователям «нравятся» предметы.«Likes» будет использоваться для определения рейтинга предметов.Существует также фактор «старения», когда более новые «лайки» учитываются больше, чем древние «лайки».

В целом, это похоже на алгоритм, описанный здесь .

Моя проблема в том, что мне нужно обеспечить разнообразие элементов в ранжировании результатов.Каждый элемент относится к категории.Некоторые категории могут быть непропорционально популярны.Я не хочу, чтобы все элементы на первой странице (или на 2-й странице) принадлежали к категории А. В то время как элементы из других категорий нигде не найдены.

Так есть ли какой-нибудь умный алгоритм, который может гарантироватьразнообразие результатов здесь - чтобы убедиться, что на каждой странице есть хорошее сочетание различных категорий?

Спасибо

1 Ответ

1 голос
/ 14 июля 2011

Для каждой категории создайте ранжирование всех предметов в этой категории.Затем, когда вы создаете свой канал, вы можете комбинировать отдельные рейтинги по-разному.Например, вы можете объединить категории случайным и равномерным образом: для каждого места в ленте выберите категорию случайным образом и возьмите элемент самого высокого ранга из той категории, которую вы еще не добавили в фид.

...