Two-Tower検索の仕組み
ユーザーとコンテンツをマッチングする技術の全貌を解説します。
3.1Two-Towerとは何か
Two-Tower(二塔)検索は、ユーザーとコンテンツをマッチングするための技術です。名前の通り、2つの「塔」(Tower)で構成されています。
図3.1 Two-Tower アーキテクチャ概念図
Tower
あなたは
どんな人?
Tower
この投稿は
どんな内容?
この仕組みにより、Xは「あなたが興味を持ちそうなコンテンツ」を、あなたがフォローしていない人の投稿からも見つけ出すことができます。
3.2User Tower:あなたはどんな人?
User Tower(ユーザー塔)は、あなた自身を数値化(ベクトル化)するシステムです。
3.2.1 入力される情報
1. 過去の行動履歴
- -いいねした投稿の傾向
- -リプライした相手と内容
- -リポストしたコンテンツ
- -滞在時間が長かった投稿
2. フォローパターン
- -フォローしているアカウントの属性
- -フォロー/アンフォローの傾向
- -通知をオンにしているアカウント
3. 興味カテゴリ
- -よく反応するトピック
- -検索キーワード履歴
- -参加しているコミュニティ
4. メタ情報
- -使用言語
- -活動時間帯
- -使用デバイス
- -地理的情報
3.2.2 ベクトル化のプロセス
これらの情報は、128次元の数値ベクトルに変換されます。
あなた = [0.23, -0.15, 0.87, 0.42, ..., 0.31]
^ ^ ^ ^
技術への 政治への スタートアップ デザイン
興味度 興味度 への興味度 への興味度3.3Content Tower:これはどんなコンテンツ?
Content Tower(コンテンツ塔)は、各投稿を数値化するシステムです。
1. ツイート内容
- -テキストの意味(NLP)
- -キーワード・ハッシュタグ
- -メンション・言語
2. メディア情報
- -画像の内容(画像認識)
- -動画のテーマ・長さ
- -リンク先の内容
3. 著者情報
- -フォロワー数・影響力
- -専門分野・過去の投稿傾向
- -エンゲージメント率
4. エンゲージメント履歴
- -これまでの反応数・率
- -どんなユーザーが反応したか
- -ネガティブ反応の有無
投稿もまた、128次元のベクトルに変換されます。
投稿A = [0.45, -0.08, 0.92, 0.38, ..., 0.27]
^ ^ ^ ^
技術的 政治的 スタートアップ デザイン
な内容 な内容 関連の内容 関連の内容3.4マッチング:コサイン類似度計算
User TowerとContent Towerで生成された2つのベクトルは、コサイン類似度という指標で比較されます。
図3.2 コサイン類似度の直感的理解
完全マッチ
関連性なし
完全に不一致
3.4.1 計算例
投稿A: [技術:0.85, 政治:0.05, スタートアップ:0.9, ...]
類似度: 0.95→ おすすめに表示
投稿B: [技術:0.1, 政治:0.9, スタートアップ:0.1, ...]
類似度: 0.15→ 表示されにくい
3.5発見タブで見つけてもらう戦略
Two-Towerの仕組みを理解した上で、「発見」されやすくなる戦略を考えましょう。
戦略1:明確なニッチを持つ
- -ベクトルが分散
- -どのクラスタにも強く属さない
- -マッチングスコアが中途半端
- -ベクトルが特定方向に集中
- -同じ興味を持つユーザーと強くマッチ
- -高い類似度スコアを獲得
戦略2:一貫したコンテンツテーマ
- -Content Towerのベクトルが毎回異なる
- -アルゴリズムが専門性を学習できない
- -Content Towerのベクトルが安定
- -アルゴリズムが専門性を認識
戦略3:ターゲット層との相互作用
- -User Towerの「関係性」情報が薄い
- -類似ユーザークラスタへの接続が弱い
- -User Towerに「この界隈の人」という情報が追加
- -そのクラスタのユーザーに発見されやすくなる
戦略4:エンゲージメントの質を高める
- -Content Towerの「エンゲージメント履歴」が薄い
- -「会話は生まない」と学習される
- -「深い関与を生む」と学習される
- -発見タブでの露出が増加
3.6Two-Towerの限界と注意点
Two-Towerにも限界があります。
1コールドスタート問題
- -新規アカウントはUser Tower情報が少ない
- -新規投稿はContent Tower情報が少ない
- ->最初は発見されにくい
2フィルターバブル
- -類似コンテンツばかり推薦される
- -新しい分野への拡張が難しい
- ->意図的な多様性確保が必要
3短期的な興味への偏り
- -直近の行動が重視される
- -一時的な興味が長期的な推薦に影響
- ->慎重な行動が必要
3.7この章のまとめ
重要ポイント
- Two-Towerはユーザーとコンテンツをマッチングする仕組み
- User Towerはあなたの行動・興味を128次元ベクトル化
- Content Towerは投稿の内容・著者を128次元ベクトル化
- 発見されるには「明確なニッチ」と「一貫性」が重要
今日からできること
- 自分の専門分野を3つ以内に絞る
- 投稿の80%を専門分野に集中させる
- ターゲット層のアカウント10個をリストアップ
- 毎日、ターゲット層のコンテンツにリプライする
Two-Tower検索はどのタブで主に使われますか?
Two-Tower検索は主に「おすすめ」タブ(For You)や「発見」機能で使用されます。フォローしていないユーザーの投稿でも、あなたの興味に合致する可能性が高いコンテンツをタイムラインに表示することができます。
User Towerはどのような情報を分析していますか?
4つの主要カテゴリの情報を分析します:(1)過去の行動履歴(いいね、リプライ、滞在時間など)、(2)フォローパターン、(3)興味カテゴリ、(4)メタ情報(使用言語、活動時間帯など)。
コサイン類似度とは何ですか?
2つのベクトルがどれだけ同じ方向を向いているかを測る指標です。-1.0から1.0の範囲で表され、1.0は完全マッチ、0.0は関連性なし、-1.0は完全に不一致を意味します。
「発見」されやすくなるには、なぜニッチが重要なのですか?
明確なニッチを持つことで、Content Towerが生成するベクトルが特定の方向に集中します。同じ興味を持つユーザークラスタと強くマッチし、高いコサイン類似度スコアを獲得できます。
Two-Towerの「コールドスタート問題」とは何ですか?
新規アカウントや新規投稿がTwo-Towerシステムで不利になる現象です。行動履歴やエンゲージメント履歴が少ないため、ベクトルの精度が低くなり、適切なマッチングが難しくなります。
理解度チェック
Two-Towerの2つの塔は何?
ベクトルの次元数は?
Two-Tower検索が主に使われるのは?
User Towerが分析しないものは?
コサイン類似度が1.0の場合は?