この記事は『 X のアルゴリズム・ルール・専門用語について Advent Calendar 2024 』(https://qiita.com/advent-calendar/2024/x-tips )の 6 日目の記事です。
X に限らず、SNS やニュースサイトとではリアルタイム性が強く求められています。そのため、最新のポストは表示されやすく、古いポストは表示されにくくなります。では、古いポストとはいつからのポストのことをさすのでしょうか。
本記事では、X ポストの表示半減期について説明します。
本記事の内容
・表示半減期とは、ポストの表示確率が、時間の経過とともにどの程度減少するかを示す指標です。半減期は 6 時間です。
・Xでは「ポストの関連性スコア」が半分になるという仕様で、「ポストの関連性スコア」とは、ポストの表示確率を決定するランキングアルゴリズムを調整するひとつの要素に過ぎません。
・そのため、時間が経過した投稿も「おすすめ」として表示されることがあります。多くのエンゲージメント(バズ)により、エンゲージメントによる表示確率アップが半減期による表示確率ダウンを上回るからです。
半減期は 6 時間( 360 分)
古いポストは時間の経過とともに関連性が低くなり、他のユーザーに表示される頻度が低くなります。ポストの関連性スコアは 6 時間ごとに 50 %減少します。
また、最初に「ポストの半減期」といいましたが、これは正確ではありません。厳密には「ポストの関連性スコアの半減期」であることに注意してください。『ポストの関連性スコア』については後述します。
以下に、半減期を調整するソースコード(パラメータ)を示します。
struct ThriftAgeDecayRankingParams {
// the rate in which the score of older tweets decreases
1: optional double slope = 0.003
// the age, in minutes, where the age score of a tweet is half of the latest tweet
2: optional double halflife = 360.0
// the minimal age decay score a tweet will have
3: optional double base = 0.6
}(persisted='true')
出典:GitHub - X (fka Twitter).『twitter/the-algorithm』
https://github.com/twitter/the-algorithm/blob/main/src/thrift/com/twitter/search/common/ranking/ranking.thrift
「ポストの関連性スコアが半減」の意味
ここで注目すべきは、「ポストの関連性スコアは 6 時間ごとに 50 %減少する」ということです。X のタイムラインに表示されるポストの選定で、Heavy Rankerという、ポストへのランキング付けのステップ(キャプチャーの赤枠)があることを説明しました。
出典:Twitter's Recommendation Algorithm(2023/3/31)
https://blog.x.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm
『ポストの関連性スコア』は、ポストへのランキング付けを行うためのパラメータのひとつに過ぎないため、6時間たったからポストの表示確率が半分になるワケではありません。関連スコアが半分になるたけであり、ポジティブなエンゲージメントによって関連性スコア半減期による表示確率ダウンを上回ることがあります。
そのため、X の「おすすめ」には、古いポストであったとしてもバズったポストは3日も表示され続けることができるのです。
以上が、「ポストの関連性スコア」の半減期についてです。