私は現在、学位の最終プロジェクト用に Digg のような Ruby on Rails アプリケーションを開発中ですが、5 ポイントのランキング アルゴリズムに行き詰まっています。
関与する必要がある要因がいくつかあります。内訳は次のとおりです。
ユーザー
- カテゴリごとに個人的な 5 ポイントのランキングがあり、5 が最高、1 が最低 (5 つ星のランキングと考えてください) であるため、完全に IE を持っている可能性があります。歴史カテゴリで 2 つ星、テクノロジー カテゴリで 5 つ星のランキング。
ストーリー
- 各ストーリーは 1 つのカテゴリに分類されます。ユーザーがストーリーを投稿すると (これが問題の 1 つです)、そのカテゴリでのユーザーのランキングに基づいて「ベース ランキング」が与えられます。たとえば、私がテクノロジー カテゴリで 5 つ星のランキングを持っているとしましょう。記事を投稿すると、そのカテゴリで 5 つ星のランキングを持っているため、5 つ星のベース ランキングが与えられます。
結局ランキングは3つ。平均ユーザーランキング、カテゴリごとのユーザーランキング、各ストーリーのランキング。
このリンクを見つけました: http://www.seomoz.org/blog/reddit-stumbleupon-delicious-and-hacker-news-algorithms-exposed
さまざまなランキング アルゴリズムを分解します。Reddit アルゴリズムは私のニーズに適応しているようです。X = D - U 変数を、与えられる 1 ~ 5 ポイントを平均化する適切な方程式に置き換えるだけの問題だと思います。
皆さんはどう思いますか?
ありがとう、ジョシュ