Threadsのアルゴリズムについてのメモ

Threads がガンガン伸びているらしい

META の2024年Q1ハイライトに、Threads の月間アクティブユーザー数(MAU)が1億5,000 万人を超えたという項目が含まれていた。

動画のテンションが高いですね

この「MAU 1.5億」という数字は他の主要 SNS と比較するとまだ数分の一程度の規模ではあるものの、徐々に無視できないサイズになってきている。2024年2月の段階で1.3億だったので1ヶ月あたり1,000万人増のハイペース。Threads は2023年7月のリリースなので、わずか3四半期で1.5億の規模まで成長したことになる。

ちなみに偉大な先輩というか元ネタである X (旧Twitter) に目を向けてみると、2024年3月の時点で DAU が2.5億、MAU は5.5億という規模感なので両者のあいだにはまだ 3倍以上の開きがあるわけだが、Threads が順調に利用者を伸ばしている一方で、X は公表している数字に1年以上変化がなく、横ばいの状態がつづいているようだ。

イーロンが買収したときに勢いで5,000万人増えたあとは横ばいの模様

生まれて 1年以内の赤ちゃんと 19年目のヤンチャな青年とを比較する意味はあまりないかもしれないが、SNS はユーザーが増えれば増えるほどいわゆるネットワーク効果によって増幅されるので、Threads のこれから取り組み次第では両者の差は思いのほか早く縮まっていく可能性がある。

なお、DIGIDAY が報じたように、このペースが続けば Threads の有料広告の導入も早まるかもしれない。リニアな成長線を描くなら(2024年内と言わず)今秋にも2億人を超える計算になるので、METAの広告マネージャーのプラットフォーム欄に Threads が加わる日も近いだろう。

広告やる側としては楽しみではあります。Advanatge+ の配置になると思いますが

Threads のアルゴリズム

ここまで書いておいてアレだが、筆者は Threads アカウントを持ってはいるものの正直ちゃんと活用しているわけではないので(BlueSky も同様)、この成長ペースだといろいろ考えないとな、、、と思い調べていたらこんなヘルプコンテンツを見つけた。

META が Facebook や Instagram のランキングの仕組みを公開しているのは周知の事実だが、そこに Threads のフィードも加わっている。

2023年12月に公開されているので、このメモを書いている2024年4月から見るとすでに4ヶ月以上経過しているコンテンツではあるが、読んでみると参考になる点が多かった。(日本語化もされている)

Threads ではユーザーの経験や行動の蓄積がどのように処理されてフィードの表示がカスタマイズされているのだろうか。それは Threads だけでなく多くの SNS の理解にも通じるはずなので、ヘルプの焼き直しになってしまうがメモとして残しておきたい。

「アルゴリズム」ではなく「AIシステム」

大きなシステムが何かを判断し実行する一連の手順は、一般に「アルゴリズム」という表現で説明されることが多い。

しかし、Threads のヘルプではこの「アルゴリズム」という単語は現れない。代わりに「AIシステム」という単語に置き換えられている。

Threadsフィードに表示されるコンテンツは、人工知能(AI)システムによる選定とランク付けを経て配信されています。1つの AIシステム内では、複数の機械学習モデルを連携させてエクスペリエンスを実現しています。 これらのモデルと、モデルへのインプットシグナルは動的なもので、システムが学習して改善していくなかで頻繁に変化します。

https://transparency.meta.com/features/explaining-ranking/ig-threads-feed

機械学習によるランキングは Threads だけの特別な仕様というわけではなく、ほとんどの SNS で似た仕組みが実装されている。ここで「アルゴリズム」という単語を(敢えて)使わず、学習による動的な変化を明示しているあたりに時代性を感じる。

以前 X で話題になった1秒動画による視聴完了率上昇→人気ポストと判断→リーチ拡大のように、運営側の恣意的な重み付けによってこの種の仕組みはハックされやすいものだが、Threads は具体的にどういう要素が影響するのだろうか。以下で順に見ていきたい。

表示前に行われる3つのプロセス

ユーザーのフィードにコンテンツが表示される前に、Threads は以下の処理を行っている。

①最初に
インベントリーの収集

Threadsで利用可能な公開コンテンツの一部と、フォローしているアカウントが投稿したテキストや画像、動画などのコンテンツをシステムが収集する。「品質と整合性のルールに従う」という但し書きがあるように、ここで品質を満たさないコンテンツや不適切な画像や動画は省かれる

②次に
シグナルの活用

収集された各コンテンツに対してシグナルを考慮する。シグナルには、これまでに(自分が行った)類似アカウント・コンテンツ、あるいは興味関心に対する反応の履歴が含まれる。

③最後に
コンテンツのランク付け

シグナルによって重み付けされた状態のコンテンツ群を、システムがランク付けする。(そのユーザーにとって)より多くの価値があると判断されたコンテンツがフィード上で優先的に表示される。この繰り返しでユーザーの嗜好に近いコンテンツに更新されていく。

この3つの処理の結果、ユーザーが興味を持ったりアクションする可能性が高いと予測されたコンテンツがタイムラインに表示される。

これらの処理は主に「おすすめ」タブでの処理となる。自身の嗜好性と外部評価がブレンドされるため、タイムラインに多様性が生まれる代わりに(結果的に)フォローしているアカウントの投稿の時系列は犠牲になる。

X も Twitter 時代からさんざん議論されてきたように、時系列の入れ替わりはユーザーがそのことを視認しやすく、結果的に「フォロー外のコンテンツが表示されるのは不快」という意見につながりやすい。

そのため、「フォロー中」タブではフォロワーのコンテンツが時系列で表示される、いわゆる古き良きタイムラインに戻るようだ。

シグナルの種類

ランク付けに利用されるシグナルには、ユーザーが入力するあらゆるアクションが含まれる。具体的には以下のような可能性に分けて分類される。

注:2024年4月時点での表記。日本語ページに誤訳っぽい表現があったのでこの記事では少しアレンジしています

投稿に「いいね!」するかどうか

  • フィード内で見た投稿の数
  • 「いいね!」した投稿の数
  • フィード内でその投稿者の投稿に「いいね!」した数
  • その投稿者の投稿を見たうちの「いいね!」した投稿の数

コンテンツの投稿者をフォローするかどうか

  • フィード内で見た投稿の数
  • Threads でアクティブになってからの期間
  • 最近どんな投稿者をフォローしたか
  • コミュニティガイドラインに反する表現が含まれる投稿かどうか
  • Instagram上で投稿者のプロフィールを見た回数

投稿に反応せずスクロールしてしまうかどうか

  • 投稿を閲覧した時間(時間帯ではなく時間の長さ)
  • その投稿者の投稿に「いいね!」した数
  • 他のユーザーによって投稿が閲覧された回数

投稿の返信を見るかどうか

  • 他のユーザーが投稿に返信するためにクリックした回数
  • 閲覧した返信の数
  • フィード内でその投稿者の投稿に「いいね!」した数
  • 前回Threadsでアクティブだった時点からの経過時間

投稿者のプロフィールを見るかどうか

  • その投稿者のプロフィールがクリックされた回数
  • その投稿者のプロフィールのクリック率
  • コミュニティガイドラインに反する表現が含まれると予想されたかどうか
  • Instagramでその投稿者のプロフィールを閲覧した回数
  • 他のユーザーがその投稿者のプロフィールをクリックした回数

Instagramの一部であり、連携している

表示に使われるシグナルは以上だが、もう少しだけ調べてみたい。 Threads の利用規約には以下のような記載がある。

利用者によるThreadsサービスの利用は、Instagram(以下に定義)の利用の一部であるとみなされます。

https://help.instagram.com/769983657850450

この記載からも、Threads の利用規約が Instagram のヘルプ内にあることからも分かるように、Threads は Instagram の一部なのだ。(油断すると忘れてしまうけれど)

Instagram の「Threadsのフィード」という扱い

実際、Threads を始めるには Instagram のプロフィールが必要だし、両者は右上のアイコンをタップするだけで行ったり来たりできる。互いのアカウントのフォロワーにフォローを促すような通知も行くようだ。

先ほど挙げたシグナルの一覧をよく見てみると「Instagram上で投稿者のプロフィールを見た回数」というのが出てくる。つまり Instagram 上のアクションが Threads へ影響を与えることが明示されている。

先ほどの「Instagram上で投稿者のプロフィールを見た回数」は、よく考えてみると「Threads のプロフィール→Instagramアイコンをクリック→Instagramアプリでプロフィールを確認」という 3つのステップを経る行為なので、たしかにそこまでの行動するなら関心が高いはずだなと感じる。

同時に、これは 2つの大きなプラットフォームの相互の影響がシステムに組み込まれていることの証左でもある。

Fediverse による変化はポジティブに働くのか

以下は余談。

現在のメガプラットフォームはいずれも単一の企業が運営するウォールド・ガーデンと化している。ID単位でユーザーの行動履歴を収集し広告でマネタイズすることで発展してきた。現在はその反動としてプライバシーの問題で揺れている。

コンテンツや広告の審査は急激に AI に代替されているが、MFA の問題や詐欺広告への訴訟のように、「プラットフォームへの監視の目は強まり」と「プラットフォーム側の対策」は噛み合っていない。互いの利害が一致しない以上、今後も噛み合うことはないだろう。

そこで、Threads がローンチ時から公約してきた分散型のアプローチである。ActivityPub プロトコルで構築された他のプラットフォームと相互運用が本格化してくると、今後は Threads の潜在的なユーザーは1.5億人よりも増えることになる。(2024年4月現在はアメリカ・カナダ・日本のみ)

Instagram のコンテンツポリシーと合わない Mastodon のような他の分散型サービスとどう整合性を取っていくのか、そして相互運用によって強化されかねないフィルターバブルやエコーチェンバーの抑制など、いわゆる Fediverse には課題も山積している。

それでも、徐々に機能不全に陥りつつあるメガプラットフォームに対するカウンターとして、Fediverse がある種の希望が持てる取り組みなのは間違いない。

META が Threads をつうじてこれまでの中央集権的な方法論をプロトコルに援用するだけなのか、あるいはソーシャルネットワークの次の世代へ一歩踏み出すのか、そして広告がプライバシーや審査の問題をクリアしながら他のプラットフォームのシグナルをどう活用できるのか、Threads の成長には興味深い点がいくつもある。今後の展開を見守っていきたい。