そのため、Web サイトのトレンド コンテンツを分類するためのウィルソン スコア間隔に取り組んでいますが、現時点では静的なものにすぎません。つまり、誰かが賛成票または反対票を投じるまで、常に同じスコアを維持するということです。
というわけで、時間とともにスコアが減っていくように実装したいと思います。この記事のように。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日はスコアに影響を与えず、その後スコアが下がり始めます.
編集
また、スコアに何かを追加して、ユーザーが Web サイトでより多くの評判 (SO など) を取得するほど、その評価の価値が高くなるようにすることは理論的に実行可能でしょうか? 似たようなものはすでにインターネット上に存在しますか?
ここの誰かがすでにこのようなものをここで使用していましたか?