1

私は現在、学位の最終プロジェクト用に 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 ポイントを平均化する適切な方程式に置き換えるだけの問題だと思います。

皆さんはどう思いますか?

ありがとう、ジョシュ

4

1 に答える 1

1

あなたの質問から、あなたは最初のランキングに過度に関心を持っているように思われます。大規模な世論の反応(またはそれの欠如)は、最初のランキングをかなり速く過大評価します。

また、リンクされた記事から、すべての数式は、作成者が念頭に置いていた(または、おそらく一枚の紙にラフグラフとしてスケッチした)動作に対する単純な分析的近似にすぎないことがわかります。したがって、私の推奨事項は次のようになります。時間が経ち、人々が投票したときに、ランキングに何をしたいのかを考えてください。この振る舞いのスケッチをいくつか行います。多かれ少なかれあなたが望むことをする関数を考えてください。結果に満足するまで定数で遊んでください。

漠然として申し訳ありませんが、これは結局のところ宿題であり、あなたはかなり漠然とした説明を自分でしました。あなたはいつでもさらなる質問で歓迎されています。

于 2010-02-26T14:08:33.443 に答える