これは、「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のランキングアルゴリズムの仕組み |
>>: 百度がナレッジグラフをひっそりとリリース、次世代検索エンジンのプロトタイプを公開
[[271670]]一度ベッドに入ったら決して起き上がりたくない人にとって、電気を消すことは寝る前の...
現在、電子商取引の発展が継続的に加速する中、物流と配送のプレッシャーは高まり続けており、ドローンは業...
ニューラル ネットワークは、線形モジュールと非線形モジュールを巧みに組み合わせたものです。これらのモ...
翻訳者注:人工知能分野の発展は学者の貢献と切り離せないものです。しかし、研究が進むにつれて、「クリッ...
このタイトルで説明されているのは、SF映画の架空の筋書きではなく、現実のことです。ペンシルバニア大学...
近年、ディープラーニングは勢いを増しており、その進歩のペースについていくことがますます困難になってき...
業界の専門家は、テクノロジー企業がAIへの投資を優先し、採用を急ぐため、他の分野での人員削減は202...
人工知能と機械学習の台頭により、企業はこれまでにない方法でプロセスを自動化し、生産性を向上させる機会...
GoogleがモバイルファーストではなくAIファーストを語り、テンセントがAIをあらゆるものに取り入...