これは、「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のランキングアルゴリズムの仕組み |
>>: 百度がナレッジグラフをひっそりとリリース、次世代検索エンジンのプロトタイプを公開
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
[[373822]] 2020年が終わりを迎えました。今年、人工知能(AI)分野は浮き沈みに富み、常...
高品質のデータ セットを使用して命令のチューニングを実行すると、大規模なモデルのパフォーマンスを迅速...
マンハッタンのファストカジュアルチェーン「ダルプ・モダン・インディアン」にあるドーサを自動で作る機械...
1. 要件の説明数字の文字列を入力し、その文字列を整数に変換して出力するプログラムを作成します。たと...
1. サプライチェーンにおける人工知能の応用テクノロジーの変革の可能性のため、多くの業界で AI の...
[51CTO.com クイック翻訳] Heroku Cloud は、Web 開発者や機械学習愛好家の...
今朝(8日)、第13期全国人民代表大会第5回会議第二回全体会議が開催され、最高人民法院と最高人民検察...
ビル・ゲイツ氏の暴露は機械学習コミュニティで話題となっている。 「GPT-5 は GPT-4 よりそ...
2023 年は、世界中の政府、公共部門、企業、さらには一般大衆の生活を大きく変えるテクノロジーの急...
偽造品、アルゴリズムの偏り、その他の問題が私たちの日常生活に及ぼす影響過去数年間、人工知能は私たちの...
インテリジェント プロセス オートメーション (IPA) とは何ですか?インテリジェント プロセス ...