Итак, я работаю над интервалом времени Уилсона, чтобы отсортировать контент на моем веб-сайте, но пока он только статичен. Я имею в виду, что это всегда будет поддерживать один и тот же счет, пока кто-то не проголосует или не уменьшит его.
Вот почему я хотел бы реализовать, что оценка уменьшается со временем. Как в этой статье. Как работают алгоритмы рейтинга Reddit. В этой статье они объясняют, что показатель Reddit по контенту уменьшается со временем.
В настоящее время у меня есть эта функция php, которая дает мне оценку на основе голосов вверх и вниз:
function wilsonScore($up, $down)
{
$score = (($up + 1.9208) / ($up + $down) - 1.96 * sqrt(($up * $down) /
($up + $down) + 0.9604) / ($up + $down)) / (1 + 3.8416 / ($up + $down)) ;
return $score;
}
Я бы хотел, чтобы оценка была одинаковой, но добавьте что-то в код SQL при сортировке.
Код SQL выглядит следующим образом:
SELECT *
FROM photos
WHERE status = 0
AND net_votes > 0 // display only picture that got rated over 0
ORDER BY score DESC
Идея, которая у меня была, заключалась бы в том, чтобы закончить алгоритм, который уменьшил бы логарифмический результат, первые 1-2-3 дня, которые он опубликовал, время не влияет на оценку, которая намного больше, чем оценка начинает снижаться.
Изменить
И было бы теоретически возможно добавить что-то в партитуру, чтобы чем больше репутации (например, SO), которую пользователь набирал на сайте, тем больше его рейтинг был достоин? что-то подобное уже существует в Интернете?
Кто-то здесь уже использовал что-то вроде этого здесь?