解決策
2013年までにHacker Newsはランキング式とその背後にあるArcのソースコードまで公開していたが、フロントページは別の力が働いているかのように振る舞っていた。人気記事が突然消え、NSAというタイトルを含む項目は急速に沈むように見え、スレッドが議論的になると投稿が死ぬことがあった。ユーザーはシャドウペナルティについての説を交わしたが、不可視の要因が存在することを証明した者はいなかったし、ましてや測定した者もいなかった。
Ken Shirriffは推測したりモデレーターに尋ねたりする代わりに、フロントページを測定器として扱った。彼はサイトの1分あたり2ページというガイドラインの範囲内で/newsと/news2を毎分クロールし、Beautiful SoupでHTMLを解析し、公開式で各記事の生スコアを再計算した。記事がスコアの予測より低い順位にあるときは常に、隠れた乗算ペナルティを推定した。隣接する記事が各ギャップを挟むため、スナップショットを繰り返すことでノイズの多い範囲が有界な係数になった。
測定により、公開コードはほぼ正確だが全体像からは程遠いことが示された。フロントページの記事の約20%、2ページ目の記事の38%がペナルティを負っていた。0.4の係数は各票を約0.3として数え、記事を66%速く降下させた。自動タイトルペナルティはNSAを含むあらゆるものに作用した。そしてコード上の20ではなく40コメントで発動する論争ペナルティは、5位の記事を1分以内に22位まで押し下げることができた。
実証は、システムを記述した記事をシステム自身がペナルティ対象にしたときに訪れた。フロントページに到達してから数分後、その投稿には0.2のペナルティが課され、それがなければ5位付近に留まっていたはずが、フロントページから完全に外れた。11月26日、ShirriffはHNから投票リング検出器が誤作動したと告げられたと報告した。スレッドは920ポイント、190コメントに成長し、著者は約25,000ページビューを記録し、後の編集者注記にはHNがNSAというタイトルの記事にもはやペナルティを課していないと記された。
達成したこと
公開式で各記事を採点し、順位のずれを測定可能な隠れたペナルティとして読み解く——システム自身の出力が探針となる
うまくいった理由
決定論的な順位関数は、あらゆる隠れたペナルティを可視のずれに変えるため、異常は逸話ではなく測定値になる。
毎分のクロールはペナルティが課された瞬間を捉え、各係数の大きさを隣接するスコアの間に挟み込む。
具体的なケーススタディ(Snapchatの消失、MongoDBが7位で停滞)により、不可視のシステムを外部者が監査可能にした。
利害は現実だった。フロントページの記事の約20%がペナルティを負い、0.4の係数では各票が0.3として数えられた。
応用できること
プラットフォームの挙動が公開仕様から逸脱するときは、論争したり尋ねたりせず、ずれを継続的に測定せよ。決定論的な式は不可視の決定を誰もが監査できる数値に変える。
その後
Shirriff自身の投稿が生きた実証となった。フロントページに到達してから数分後、0.2のペナルティがそれを押し下げたが、それがなければ投稿は5位付近にランクされていたはずだった。11月26日、彼はHNから投票リング検出器が誤作動したと告げられたと報告した。Hacker Newsのスレッドは920ポイント、190コメントに成長し、トラフィックは約25,000ページビューだった。後の編集者注記にはHNがNSAというタイトルの記事にもはやペナルティを課していないと記され、フロントページの記事の約5分の1がペナルティを負うという発見は、人気項目が静かに消える理由の標準的な説明となった。
出典をたどる
出典
- How Hacker News ranking really works: scoring, controversy, and penalties Ken Shirriff's blog (righto.com) · righto.com
- Hacker News discussion: How Hacker News ranking really works Hacker News · news.ycombinator.com ·