Сортировка списка песен по популярности

В студенческом совете в этом году я в комитете по песням, мы выбираем песни. К сожалению, дети на танцах всегда в конечном итоге ненавидят некоторые глупые песни. Я думал, что смогу сделать это иначе в этом году. Прошлый четверг, Я создал простое приложение PHP, чтобы дети могли отправлять песни в базу данных, указав название песни, исполнителя и жанр (из раскрывающегося списка). Я также реализовал функцию голосования, аналогичную Reddit. Нажмите кнопку «За», вы проголосовали за песню, увеличили количество голосов. То же самое и с голосами против.

Как бы то ни было, в базе данных у меня есть три лакомых кусочка информации, которые, как я думал, я мог бы использовать для оценки этих песен, голосов «за», «против» и метку времени. Некоторое время рейтинг создавался простым размещением наверху песен с более высоким счетом «голосов». То есть, чем больше голосов за, тем меньше голосов против (голосов за - голосов против) будет вверху списка. Некоторое время это работало, но к воскресенью в списке было около 75 песен, и песни, которые были отправлены первыми, были просто вверху списка.

Воскресенье, Я изменил алгоритм ранжирования на (upvotes - downvotes) / (CurrentTimestamp - CreationTimestamp), то есть чем выше количество голосов за меньшее количество времени, тем выше песня будет в списке. Это работает, лучше, но все же не так, как мне бы этого хотелось.

Что происходит сейчас, так это то, что в тот момент, когда песня создается и получает голос за 1, она оказывается где-то в верхней части списка. Песни, в которых подсчет голосов отрицательный, не часто просматриваются, потому что дети обычно не прокручивают вниз.

Думаю, я мог бы отсортировать данные так, чтобы песни с более низким рейтингом отображались вверху, чтобы люди были вынуждены видеть нижние песни. Честно говоря, мне никогда раньше не приходилось работать над алгоритмом "популярности", так что что вы думаете?

Веб-сайт http://www.songs.taphappysoftware.com - Я не Не знаю, поставить это здесь или нет, на танцах могут появиться нежелательные песни: 0

9
задан Matt Egan 13 September 2010 в 14:16
поделиться