本文へ
ハクソク

世界を動かす技術を、日本語で。

ハッカーニュースのランキングの仕組み:スコアリング、論争、そしてペナルティ(2013)

元記事: 原文(righto.com)

概要

Hacker Newsのランキングアルゴリズムは公開されているが、実際には多くの調整やペナルティが存在 NSAや特定ドメインの記事には自動ペナルティが適用 コメント数が多い「論争的」記事には大幅な順位降下ペナルティ 全体の約20%の記事が何らかのペナルティを受けている 順位変動の仕組みやペナルティの影響を詳細に分析

Hacker Newsランキングアルゴリズムの実態

  • Hacker News のランキングは、公開されている基本式に従っているが、 多くの調整やペナルティ が加えられている現実
  • 記事のスコアは アップボート数・投稿からの経過時間・ペナルティ係数 で算出
  • 時間の影響(グラビティ)が強く、どんな記事も長くトップに残ることはない設計
  • 記事の再ランク付けは 効率化のため随時でなく、投票時や30秒ごとにランダムで1件のみ 実施
  • 90秒間のキャッシュ利用で、表示と実際の順位にタイムラグが発生

ペナルティの種類とその影響

  • タイトルやドメイン による自動ペナルティの存在
    • 例:NSAを含む記事タイトルは自動で0.4のペナルティ
    • 特定ドメイン(arstechnica.com, github.com, reddit.com等)は0.25〜0.8のペナルティ
  • ペナルティを受けると 各投票の重みが減少 し、記事のランキング降下速度が加速
    • 例:0.4のペナルティは投票1件が0.3件分の効果、順位降下は通常の1.66倍
    • 0.1のペナルティは投票1件が0.05件分、降下速度は3.6倍

論争的(Controversial)記事への対応

  • コメント数が多く、かつ投票数よりコメントが多い記事 は「論争的」とみなされ大きなペナルティ
    • 実装では40コメント超かつコメント数>投票数で適用
    • ペナルティ係数は(votes/comments)^3(推定)で、急激な順位降下やトップページからの消失につながる
  • この仕組みが 人気記事の突然の消失 の主因

ペナルティの実態と頻度

  • 約20%のフロントページ記事がペナルティ対象、2ページ目では38%
  • ペナルティは1日を通じて適用されるが、特に午前9時ごろに集中(モデレーターの活動時間帯?)
  • 記事によってはペナルティの適用・変更が複数回発生

分析手法と観察結果

  • /newsと/news2ページを毎分クロールし、 Beautiful SoupとPythonでHTML解析・スコア計算
  • 公開されているスコア式と実際の順位の乖離から ペナルティの有無や強度を推定
  • 隣接記事にもペナルティがある、ランク付けの間隔、投票数と実際のカウント差異などにより、 正確なペナルティ値の特定は困難
  • それでも ペナルティ適用の存在・頻度・影響 は明確に観測可能

まとめ

  • Hacker Newsのランキングは「自然」ではなく、手動・自動のペナルティで大きく調整
  • NSAや特定ドメイン、論争的な話題など、 「不都合」な記事が目立たないよう制御
  • 多くの人気記事がペナルティで順位を落とし、アルゴリズムだけでは説明できない現象が多発
  • ユーザーの目に触れる記事の選定には 見えないフィルターや調整 が多数存在

提供: ハクソク · 要約更新:

AIによる日本語要約です。内容は原文とあわせてご確認ください。

Hacker Newsの議論を読む

Hackerたちの意見

おそらく、これが過去13年でかなり複雑になったんだろうね。

└
  • もし (this.moneyPaid > 10000USD) = フロントページに即投稿。
└

なんで?

└

もしかしたら、dangとチームは新しいシステムの1つの分類を使って、jevみたいにホットさを測れるかもね ;)

└

そんなに複雑じゃないと思うよ。ちょっと調整しただけだし、基本的なシステムはまだシンプルだと思う。

└

記事に書いてある通り、ランキングシステムが今でもほぼそのまま機能してるって聞いても、あんまり驚かないな。でも、自動(と手動)のペナルティシステムはかなり進化してると思う。今、ランキングを操作しようとする攻撃に対抗して、急速に進化してるんじゃないかな。YC/HNが最新のボット検出技術に負けてないとは思えないけど。

罰則が面白いね。デザインの目標は、インタラクションを最大化することじゃなくて、「物議を醸す」投稿が残るべきならそうするはずだから。とはいえ、そういう投稿をランクを下げる意味って何なんだろう? フレームウォーが大きくなるのを防ぐため? HNを議論だらけのフォーラムだと思われないようにするため?

└

制御されたナラティブ

└

公式には、興味を持たせることでサイトを守るべきだね。(公式に言ってるだけだけど。)dangに感謝、リンク: 好奇心と繰り返し: https://hn.algolia.com/?dateRange=all&page=0&prefix=false&so... フォローアップをランクを下げる: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

└

HNはすでに議論好きなフォーラムとして知られてるよね。もし比率ルールがなかったら、どうなるんだろう。個人的には、BlueskyやTwitterでも同じくらい効果的だと思う。比率がついたスレッドは、だいたい熱くなるだけで、あんまり意味ないことが多いし。

└

「デザインの目標はインタラクションを最大化することではないことが分かる。そうじゃなければ『物議を醸す』投稿は残るはずだから。HNには、まだ人間のモデレーションが少ないフロントページのバージョンが存在している。それをデフォルトと比べるのは面白い。どちらにも利点がある。」

└

デザインの目標はインタラクションを最大化することじゃないみたい。 デザイン(その目標はよくわからないけど)は、中程度の複雑さのアイデアがコメントで表現される際のインセンティブを最大化してる。返信はせいぜい数件程度。投票に基づくランキングの「投稿へのコメント」モデルは、深い思考を伴う議論には根本的に向いてないよね。ここに書いたことは、誰かが返信してくれる通知システムがないから、明日にはほとんど忘れ去られちゃうと思う。古い投稿を遡って、洞察に満ちたコメントを探して返信する人なんて、1日か2日以上前のものにはいないだろうね。

Hacker Newsで議論の続きを見る

同じ出典の記事