四つの棚
投稿はどこから集められるのか。フォロー中・フォロー外・類似発掘、そして新しく入った人気投稿の4経路。
この章で分かること
- 投稿が候補に入る4つの経路を区別できる
- 各経路に入るための条件が分かる
- いいね1件・8件・32件の意味を正しく読める
点数の話の前に、そもそも候補に入らなければ何も始まりません。公開既定のFor Youでは、4か所から投稿を集めます。それぞれ入る条件が違います。
棚A ─ フォロー中の投稿の棚(Thunder)
「Thunder」は、最近の投稿をメモリの上に置いておくシンプルな倉庫です。保存しているのは投稿ID・著者・作成時刻・返信や引用元のIDなどで、本文やいいね数は持っていません。post_store.rs:36-48
| 決まり | 数値 | 意味 |
|---|---|---|
| 保存期間 | 48時間 | 既定の post_retention_seconds |
| 著者あたり オリジナル投稿 | 50件 | 1回の取得で返す上限 |
| 著者あたり 返信+リポスト | 30件 | 2つで合計30件の共有枠 |
| 著者あたり 動画投稿 | 100件 | 動画専用リクエストの枠 |
| 閲覧者のフォロー数上限 | 10,000人 | 超えた分は入力から外れる |
| 1回の返却上限 | 1,200件 | — |
棚B ─ フォロー外へ届ける棚(Phoenix Retrieval)
フォローされていない人の画面に出る、中心的な経路です。投稿の種類ごとに、入る索引が分かれています。今回の更新で、ここに大事な変更がありました。
if (isCommunityPost) → 通常の索引に入れない
else if (isReply) → 通常の索引に入れない
いいねが付いたら、自分宛てでも
ドロップ対象でもなければ返信専用索引へ
(1fav_reply / 32fav_reply)
else if (isRepost) → 入れない
else if (要ドロップ) → 入れない(成人向け動画は専用索引へ)
else → 通常の索引へ(1fav / 32fav / post_creation ほか)通常の索引では、いいねのイベントで置かれる場所が増えていきます。
| 条件 | 起きること |
|---|---|
| 投稿の作成時 | post_creation 索引に入る(24時間窓) |
| いいねのイベント | 1fav 索引に入る |
| 32件 | 32fav 索引に入る |
| 64・128・256… | 2の冪を超えるたびに次の閾値が更新される |
動画には専用の索引があります。10秒超の条件が必要なのは 1fav_video などの一部で、窓の長さもいろいろです。これは索引の話で、For Youのスコアに進むかどうかは次の章の期限にも左右されます。eventProcessing.strato:403-418
棚C ─ 類似から発掘する棚(SimClusters)
「この投稿にいいねした人は、あの投稿にもいいねしている」という関係で、投稿同士を近さで結んだ地図です。閲覧者が過去に反応した投稿を出発点に、その近所を探しにいきます。
| 条件 | 数値 |
|---|---|
| 埋め込みが作られる最低いいね数 | 8件 |
| いいねの集計期間 | 3日(動画は7日) |
| いいねの重みの半減期 | 8時間 |
| 候補の年齢上限(既定) | 48時間 |
| クラスタあたりの上位枠 | 1,600件 |
| 探索するクラスタ数 | 50個 |
| 1リクエストの上限 | 800件 |
棚D ─ 人気投稿リスト(新設)
今回追加された棚です。READMEは「共有の人気投稿リストで、まずはフォロワーの多いアクティブなアカウントから」と説明しています。リストは全員に共通ですが、点数は他の候補と同じように閲覧者ごとに計算されます。ここに入れば必ず表示される、というものではありません。README.md:279
| 条件 | 数値 |
|---|---|
| 取得の上限(既定) | 500件 |
| 著者あたりの上限 | 5件 |
| 対象とする投稿の年齢 | 24時間以内 |
| 順位づけ | 表示数を、半減期8時間で時間補正した値 |
棚をまとめて比べる
投稿タイプ比較
同じ内容でも、投稿の形が違うだけで開く経路が変わります。
公開既定で、6つの経路のうち6つが開いています。
- ○
- ○
フォロー外へ広がる
Phoenix Retrieval ─ フォローしていない人に届ける中心的な経路(公開既定のFor You)
通常の索引に載る。作成時の post_creation、いいねで 1fav、32件で 32fav
- ○
- ○
- ○
- ○