これは、「Hacker News のランキング アルゴリズムの仕組み」に続く、ランキング アルゴリズムに関する別の記事です。今回は、Reddit の記事ランキングアルゴリズムとコメントランキングアルゴリズムがどのように機能するかについて説明します。 Reddit が使用するアルゴリズムも非常にシンプルで、理解しやすく実装も簡単です。この記事ではそれを詳細に分析します。
まず、記事のランキングアルゴリズムに焦点を当てます。 2 番目のパートでは、コメントのランキング アルゴリズムに焦点を当てます。Reddit のコメント ランキングは、記事のランキングと同じアルゴリズムではありません (これは Hacker News とは異なります)。Reddit のコメント ランキング アルゴリズムは非常に興味深いものです。これは、xkcd の作者である Randall Munroe によって発明されました。 記事ランキングアルゴリズムのコードを調べる Reddit のソースコードはオープンソースであり、どのコードでもダウンロードできます。これは Python で書かれており、コードはここから入手できます。ランキング アルゴリズムは、Python の C 拡張機能を開発するためのプログラミング言語である Pyrex で部分的に実装されています。ここでは主に速度を考慮して Pyrex が使用されています。読みやすくなるように、Pyrex の実装を純粋な Python で書き直しました。 Reddit のデフォルトのランキングは「ホット」ランキングであり、実装コードは次のとおりです。
この「ホット」ランキングアルゴリズムの数式は次のようになります (SEOmoz から見つけたものですが、彼らがオリジナルの作者であるかどうかは疑わしいです)。 記事投稿時間がランキングに与える影響 記事の投稿時間がランキングに与える影響は、次のようにまとめられます。
以下は、賛成票と反対票が同じ数の記事のランキングスコアを、異なる時期に表示した画像です。 対数強調 Reddit は、最初の数票を重視して「人気」ランキングを作成するために対数関数を使用しています。基本的な原則は次のとおりです。
効果図は次のとおりです。 対数ブースティングを行わない場合、スコアは次のようになります。 否定的な投票がランキングに与える影響 Reddit は、何かに反対票を投じることができる数少ないサイトの 1 つです。コードからわかるように、記事の「スコア」は次のように定義されています。
つまり、次の図のように表すことができます。 この計算方法は、賛成票と反対票の両方が多い記事(非常に物議を醸している記事など)に大きな影響を与え、賛成票が少ない記事よりも低いスコアが付けられる可能性があります。これは、子猫や子犬に関する投稿(およびその他の物議を醸さない記事)が非常に高い評価を受ける理由を説明しています。 #p# Redditの記事ランキングアルゴリズムの概要
Redditのコメントランキングアルゴリズムの仕組み xkcd の Randall Munroe 氏は、Reddit の「ベスト投稿」ランキング アルゴリズムの発明者です。彼はそれを説明する素晴らしい記事を書きました。
この記事を読んでみてください。アルゴリズムが非常に簡単に説明されています。この記事の主なポイントは次のとおりです。
コメントソートコードの詳細な分析 Reddit の信頼ソート アルゴリズムは、ファイル _sorts.pyx に実装されています。私は、Pyrex 実装を純粋な Python で書き直しました (キャッシュ最適化コードは削除しました)。
信頼度ランキングではウィルソンスコア間隔アルゴリズムが使用され、その数式は次のようになります。 上記の式では、さまざまなパラメータの定義は次のとおりです。
上記の紹介を要約すると次のようになります。
Randall 氏は記事の中で、信頼ランキングがどのように機能するかについて、優れた例を挙げています。
公開時間のランキングへの影響: なし! 信頼ソートの利点の 1 つは、コメントが公開された時間が影響を及ぼさないことです (これは、「ホットソート」や Hacker News のランキング アルゴリズムとは異なります)。コメントは信頼性に基づいて評価され、データ サンプリングによって計算されます。コメントの投票数が多いほど、その評価は実際のスコアに近くなります。 チャートビュー 信頼ランキングをグラフ化し、それがレビューランキングにどのように影響するかを見てみましょう。 Randall の例を見てみましょう。 ご覧のとおり、信頼ランキングではコメントが何票獲得したかは考慮されず、支持率とデータ サンプル サイズに重点が置かれます。 ソート以外の用途 Evan Miller 氏が述べたように、Wilson のスコア間隔アルゴリズムはランキング以外のアプリケーションでも使用できます。彼は 3 つの例を挙げています。
このアルゴリズムを使用するには、次の 2 つのデータだけが必要です。
このアルゴリズムは非常に効果的ですが、不思議なことに、今日でも多くのウェブサイトが、最も原始的な評価方法を使用しています。有名な Amazon もその 1 つで、Amazon では今でも「スコア = 支持票数 / 総票数」を使用しています。 Redditのランキングアルゴリズムの仕組み Redditのランキングアルゴリズムの仕組み |
>>: 百度がナレッジグラフをひっそりとリリース、次世代検索エンジンのプロトタイプを公開
このチュートリアルでは、OpenAI の Whisper と GPT-4 モデルを使用して自動会議議...
米国現地時間8月11日木曜日、人工知能研究企業OpenAIは、ChatGPTの「カスタム指示」機能を...
[[261230]]エイプリルフールは私たちにとってただ楽しい日です。親にとって、ネット上の噂は日々...
CB Insightsのデータによると、遠隔医療は2021年第1四半期に139件の取引で過去最高の4...
OpenCVを使用して顔認識をカスタマイズする方法[[412851]]匿名化とは、データを匿名化する...
あなたのビジネスが本当に予測可能かどうか、そしてデータ担当者、モデル、アプリケーションが適切なデータ...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
[[263087]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
物事の誕生は突然かつ急速です。変化せずに動くものはなく、移行せずに動くものもありません。技術革新のス...
[[430280]]特にリモートワークの増加と労働力不足により従来の労働パターンが変化する中、多くの...