ユーザーの「いま欲しいもの」をどう読む?
Netflixといえば、世界中の視聴データを基にハイレベルなパーソナライズを実現してきた映像ストリーミングの巨人です。でも、そんな巨人にも課題はありました。「とりあえずコメディが好きっぽいからコメディを並べとけばいい、ってわけじゃないんだよな…」と悩むわけです。なぜなら、
同じユーザーでも「今日は笑いたい」「いや、続きものを観たい」など、“今この瞬間の意図”が変わるから。*
では、この“ユーザーがセッション中に何をしたいか”を予測して推薦に活かすにはどうしたらいい? ここで登場するのが本稿の主役、「FM-Intent(エフエム・インテント)」というモデルです。
Netflixが歩んできた推薦モデルの進化:FM-Intent登場まで
Netflixのレコメンドシステムは長い歴史があります。かつては複数の特化モデルが乱立していて、「検索にはAモデル、ホーム画面にはBモデル…」というようにバラバラで大混乱。どのモデルを更新しても別のモデルには反映されないし、特徴量の管理も複雑。そのため社内では大規模な再設計プロジェクトを進め、「Hydra」と呼ばれるマルチタスク学習モデルを導入し始めました。これによって複数タスクをまとめて学習する仕組みが整い、開発負荷が一気に下がったのです。
さらにNetflixが目指すのは「Foundation Model(FM)」という、巨大な基盤モデルを作っておいてユーザーやアイテムの共通表現を一括で学習し、そこから各アプリケーション(ホーム画面、検索、通知など)に合わせて派生モデルをつくるというやり方。巨大言語モデル(LLM)ブームに触発された形で、「Netflix版の大規模事前学習モデル」を仕込んでいるのですね。そんな流れの先に現れたのが「FM-Intent」です。FMの一部として“ユーザー意図”を予測・活用できる機構を導入することで、一歩先の文脈対応を図ろうというわけです。
なぜ「意図予測」がそんなに大事なのか?
たとえば、あなたが休日にNetflixを立ち上げたとしましょう。昨日までは「海外ドラマの続き」ばかり見ていたけど、今日は「軽く流し見できるショートコメディを探したい」のかもしれない。こうした“目的の変化”って、実は視聴記録をアイテムIDだけでトレースしても見落とされがちです。
FM-Intentでは、事前に定義したいくつかの「意図」ラベル(例:
- 続き視聴をしたい
- 新作を探したい
- 特定ジャンルを掘りたい
- 映画が観たいか、それともシリーズか? など
)をサブタスクとして取り扱い、それらを予測するプロセスを本命の次アイテム予測の手前に挟みます。つまり、最初に「今このセッションで何を狙っているか」→次に「じゃあ具体的に何を観そうか」を一気通貫で学習する構造になっているんです。これを「階層的マルチタスク学習(Hierarchical MTL)」と呼びます。
FM-Intentの全体構造:三つのコンポーネント
どうやって意図予測を実現しているか? Netflixの発表や関連論文から読み解くと、ざっくり以下の3ステップです。
1. 入力特徴シーケンスを組み立てる
ユーザーが「いつ何を観たか」「どのくらい観たか」といった行動ログ、それから作品ジャンル・視聴端末・インタラクションの種類などの豊富なメタデータをカテゴリ埋め込み+数値特徴として並べ、時系列シーケンスを作ります。「短期(直近1週間など)」と「長期(長期履歴)」の両方を扱うのが特徴で、「最近こんな傾向」「これまでにこういう嗜好」という両面を学習可能にします。
2. ユーザー意図を予測する(Intent Extraction)
ここがモデルの要。Transformerエンコーダで時系列シーケンスを処理して、複数の「意図予測」ヘッドを持たせます。たとえば、
- 行動タイプ予測(探索モード or 続き視聴モード など)
- ジャンル嗜好予測
- 新作を観たいか? 既存シリーズを消化したいか?などをそれぞれ出力するわけです。
さらに各意図の予測結果をまとめて「意図埋め込み(Intent Embedding)」を生成する仕組みを持っているのが大きなポイント。複数の意図をただ結合するのではなく、アテンション機構で動的に重み付けして「今どれが重要か」を学習するので、ユーザーごと・セッションごとに最適な意図ベクトルを得られるのです。
3. 次アイテムを推薦(階層的マルチタスク)
最後に、得られた意図埋め込みをユーザーのシーケンス情報と組み合わせ、「次にどのアイテムを観そうか」を予測するメインタスクへ。ここも別途Transformerを用いることが多いようです(意図予測用とアイテム予測用でエンコーダを分けた方が精度が良かった、という報告あり)。
意図→アイテムという因果的な順序を明示的に組み込むことで、意図に合ったアイテムを出すという流れがスムーズに学習されるわけですね。
ここがすごい、FM-Intentのオフライン評価
Netflixの内部データで検証したところ、次アイテムを予測する精度(MRRやWMRRなど)で、最先端モデルTransActと比べても+7.4%の向上を達成。これは結構な差です。ほかにもSASRec、BERT4Rec、あるいはNetflix社内で既に運用されていた大規模モデル(FM-Intent-V0)とも比べて有意に優れているという報告があります。
特筆すべきはユーザー意図そのものの予測精度も高い点。たとえば「続き視聴モードか、新規発掘モードか」という行動タイプの分類がとくに重要なシグナルで、ここをしっかり当てられると次アイテム推薦の性能が伸びるようです。確かに、「今は新しいものを探しているのに、途中のシリーズばかり並べられても嬉しくない」ですよね。
既存手法との比較:SASRec、TransAct…どこが違う?
FM-Intentが従来モデルより優れている理由をもう少しまとめると、以下のようになります。
1. 意図を明示的にモデル化している- SASRecやBERT4Recはシーケンシャル予測としては高性能ですが、ユーザーが“何を狙ってるか”までは学習しません。FM-Intentは意図をサブタスク化して階層的に組み込んでいるので、文脈適応が強い。
2. 長期データと短期データを両方扱える- 「一昨日は1時間だけ見た」「ここ1年で見たシリーズは…」といった情報を同時に扱いつつ、“直近の急な興味変化”も捉えられる設計なので、より柔軟にユーザーの欲求を推定可能。
3. メタデータ活用が上手- アイテムID以外に、ジャンル・映画orドラマ・リリース時期など、豊富なラベルを活用。さらに意図埋め込みはほかのモデルにも提供できるため、社内のいろんなランキングやUI最適化で再利用している。
4. モデルの解釈性が少し高い- 黒箱になりがちなディープモデルに対し、「今はこういう意図シグナルが強いから、この作品を推薦した」という筋道が見えやすい。
一方で複雑さ・計算コストが大きいのが弱点とも言えます。Transformerを2段重ねの階層MTLとなると、パラメータ数が膨大になり、Netflixほどの規模だと相当なGPUリソースが必要です。リアルタイム更新などを目指すなら、オンライン学習やモデル蒸留などの工夫が必須となるでしょう。
具体的な応用:どう活かせるか?
- パーソナライズUIユーザーが「新しい作品を探してる」とFM-Intentが判断すれば、UIのトップ行に新作や未視聴ジャンルをずらりと出す。逆に「続き視聴モード」なら「続きから再生」コンテンツを前面に。ちょっとしたUIの並び順変更だけでも体験がガラッと変わりますよね。
- 検索最適化同じキーワードで検索しても、「大体もう作品は決まってるから絞り込みたい」のか、「なんとなく関連ジャンルをうろうろしたい」のかで求める結果は違うはず。そうした意図をリアルタイムで推定して検索結果のランキングやサジェストを切り替える。
- ユーザー分析・クラスタリング意図埋め込みをユーザーの特徴ベクトルとして扱うと、「新規開拓派」や「シリーズ一気観派」など、行動パターンの似たグループを発見できます。マーケティング施策や企画立案にも使いやすいですね。
- モデル融合の土台Netflixは複数のアルゴリズムで推薦システムを構築していますが、FM-Intentが生成する意図埋め込みを共通特徴量として供給し、それぞれのサブシステムで再利用することもできます。これにより、コールドスタート問題の緩和や、他サービス領域(音楽、ゲーム)への横展開も見据えているとのこと。
実装や運用上の課題
1. 学習コストと推論負荷- 2つのTransformerエンコーダ+マルチヘッド=パラメータ数が膨大。Netflixクラスのビッグデータを扱うにはGPUや分散学習のインフラが必須で、コストもそれなり。オンライン推論を全ユーザーに適用するとなれば、レイテンシとの戦いにもなります。
2. 意図ラベルの定義がサービス依存- 「続き視聴」「新作発掘」などが役立つのはNetflixならでは。別のプラットフォーム(EコマースやSNS)だと、そのサービス特有の意図(例:プレゼント探し、在庫確認、コーディネート提案…)を設計・ラベリングする必要があります。
3. マルチタスクのバランス調整- 意図予測タスクとアイテム予測タスクの損失をどう重み付けするかはチューニングが難しく、下手をすると「意図予測は得意になったがアイテム精度は落ちた」なんてことも。
4. コールドスタート- 新規ユーザーには“長期履歴”がほぼ存在しないため、意図抽出が弱くなるかもしれません。その場合はほかの手法や初期質問などと組み合わせる必要があります。
今後の展望:LLMとの融合やリアルタイム化
2025年現在、大規模言語モデル(LLM)の台頭はレコメンデーション分野にも影響を与えています。Netflixの研究者も「テキストレビューや検索クエリからよりリッチな意図シグナルを得られるんじゃないか」と目論んでいるようです。FM-Intentの「意図予測」アーキテクチャがうまくLLMと噛み合えば、テキストベースの意図推定(「ちょっと暗い雰囲気のSF映画が観たい」など)に直接対応する可能性があります。
また、これまでバッチ処理メインだった部分をストリーミング学習に近づけて、ユーザーがアプリ内を移動する都度リアルタイムで意図を更新する仕組みも考えられます。ただ、そこには膨大な演算コストと学習安定性の問題が潜むので、「軽量化や蒸留をどう進めるか」が今後の焦点になりそうです。
AIエンジニアのあなたにとって何が嬉しいか?
さて、ここまで読んで「Netflixすごいな」だけで終わっていませんか? 実はAIエンジニアなら、このFM-Intentの取り組みから学べることがたくさんあるんです。
- 階層的マルチタスク学習の設計「まず意図を予測し、それを条件にメインタスクを解く」構造は、レコメンドだけでなく他の分野でも応用可能かもしれません。たとえばチャットボットなら「ユーザーの質問意図を分類→回答生成」といった流れに転用できそうですよね。
- 豊富なメタデータを使う発想データサイエンスの現場では、つい主要な特徴量(アイテムIDなど)に注力しがちですが、Netflixはめちゃくちゃメタデータを活用しています。自社のアプリケーションでも「もしかしてこういうラベルをつければ、新たなユーザー意図が見えるかも?」というヒントになるはず。
- モデル解釈性とMLOps意図ベクトルを各種応用に再利用するという考え方は、組織のデータ基盤を大きく効率化します。AIエンジニアは、こうした共通埋め込みを中心とするMLOps設計に興味があるはず。実運用ではどこにデータパイプを設置して、どうやってモデルを更新するのか、リアルタイム推論やレイテンシとどう折り合うか…など課題は山盛りですが、FM-Intentの事例は非常に参考になります。
まとめ:ユーザーの“今の望み”を読み解く未来
NetflixのFM-Intentは、従来の「長期嗜好を学習するレコメンド」から一歩踏み込んで、「実はユーザーはセッションごとに意図が変わる*」という事実をダイレクトにモデル化しました。そのおかげで、次アイテム推薦の精度が上がるだけでなく、UI設計・検索最適化・ユーザー理解など、さまざまな場面でメリットをもたらしているのです。
今後は
大規模言語モデルやオンライン学習との融合も進み、リアルタイムにユーザーの意図を読み取り、その場で最適なコンテンツを出す世界が来るかもしれません。「今日は軽めのドラマか、いや子どもと一緒にアニメか…」など、頭の中がふわふわしていても、AIが先回りして「はいどうぞ、お望みの作品はこちらですよ」と見せてくれる時代。少し先ではありますが、FM-Intentのようなモデルがその基盤になっていくことは間違いないでしょう。
参考情報
- Netflix TechBlog (2025年3月〜5月公開のFM-Intent関連記事)
- IntentRec論文 (TransAct比較実験、階層的マルチタスクの有効性を検証)
- PinterestのTransAct (2023年KDD採択)との比較検討
- SASRec, BERT4Rec, GRU4Recなどのシーケンシャルレコメンドモデル研究