6

私は現在、間もなく立ち上げる予定の新しいサイトのアルゴリズムの作成に取り組んでいます。インデックス ページには、現時点で「最もホットな」投稿が表示されます。考慮すべき変数は次のとおりです。

  • 投票数
  • 投稿がどの程度物議をかもすか (0 ~ 1 の #)
  • 投稿からの時間

私は 2 つの可能なアルゴリズムを考え出しました。最初の最も単純なものは次のとおりです。

controversial * (numVotesThisHour / (numVotesTotal - numVotesThisHour)
Denom = numVotesTuisHour if numVotesTotal - numVotesThisHour == 0

最高の数字が最もホットです

私の他のオプションは、Reddit と同様のアルゴリズムを使用することです (ただし、時間の経過とともにスコアが減少します)。

[controversial * log(x)] - (TimePassed / interval)
x = { numVotesTotal if numVotesTotal >= 10, 10 if numVotesTotal < 10

最高の数字が最もホットです

最初のアルゴリズムは、古い投稿が将来再び「ホット」になることを許可しますが、2 番目のアルゴリズムは許可しません。

私の質問は、これら 2 つのアルゴリズムのうち、どちらがより効果的だと思いますか? 現時点で本当に「ホットな」トピックを表示するのはどれだと思いますか? どちらか一方を使用することの利点または欠点を考えていただけますか? コンテンツができるだけ関連性があることを確認できるように、何も見落とさないようにしたいだけです. どんなフィードバックも素晴らしいでしょう!ありがとう!

4

3 に答える 3

0

私は何かが欠けていますか?最初の数式では、分母に numVotesTotal があります。したがって、投票数が常に多いということは、それほど古くなくても、それほど熱くなることはないということです。

たとえば、P1 と P2 の 2 つの投稿があるとします (どちらも同様に物議を醸しています)。P1 が numVotesTotal = 20 で、P2 が numVotesTotal = 1000 だとします。この 1 時間で、P1 は numVotesThisHour = 10 を取得し、P2 は numVotesThisHour = 200 を取得します。

アルゴリズムによると、P1 は P2 よりも有名です。私には意味がありません。

于 2012-11-13T17:49:17.930 に答える
0

YMMVですが、「ホットさ」は時間枠に完全に依存しており、時間枠が「常に」でない限り、総投票数にはまったく依存していないと思います. また、投票の絶対数ではなく、関連する時間枠内の全投票の割合が重要な数値であるように私には思えます。

ホットにはいくつかのカテゴリがあります。

  • この時間で最も暑い
  • 今週一番暑い
  • 前回の訪問以来、最も暑い
  • 史上最もホットな

したがって、「過去 [何でも] で最もホット」は次のように計算できます。

votes_for_topic_in_timeframe / all_votes_in_timeframe

特に 0 から 1 の間の数値が必要な場合 (カテゴリ間の比較に役立ちます)、または特定の時間枠の数値のみが必要な場合は、votes_for_topic_in_timeframe値を取得して降順に並べ替えます。

ユーザーに時間枠を明示的に選択させたくない場合は、(たとえば) 4 つのバージョンすべて (または上位 3 つだけ) を計算し、各カテゴリに乗数を割り当てて、各カテゴリに相対的な重要性を与え、計算することができます。上位nを取るための各トピックの合計値。これには、過去 1 時間に誰も投票していないことをユーザーから潜在的に隠すことができるという利点があります ;)

于 2015-10-09T07:11:06.837 に答える
0

最初のアルゴリズムは瞬間的なトレンドに大きく依存していると思います。NASCAR のことを考えてみてください。現在のリーダーは、ピット ストップにいるため時速 0 マイルになる可能性があります。2 つ目は、平均トレンドの概念を使用します。どちらも使い道はあると思います。

したがって、合計投票数と物議を醸す評価が同じであるが、1 つは最初の 1 時間に 20 票、2 番目に 0 票を獲得し、もう 1 つは各時間に 10 票を獲得する 2 つの投稿の場合です。最初の投稿は最初のアルゴリズムによって埋もれますが、2 番目のアルゴリズムはそれらを均等にランク付けします。

于 2012-11-13T19:25:58.413 に答える