🎄 本記事は ZOZO Advent Calendar 2025 シリーズ 8 の 23 日目です。
ぜひ他の記事もご覧ください。
はじめに
ファッションECにおいて、補完推薦(一緒に買われやすい商品の推薦)は重要なテーマです。店舗接客では「このトップスにはこのボトムスが合いますよ」といったコーディネート提案やまとめ買いの促進が行われていますが、これをオンラインでいかに実現するかが課題になります。
ZOZOTOWNで考えると、あるジャケットを見ているユーザーに合わせやすいパンツやインナーを提案できれば、ユーザー体験の向上とクロスセルの両立が期待できます。ただし、補完推薦には代替品推薦(似ている商品の推薦)とは異なる難しさがあります。
今回紹介するAmazonの論文「P-Companion: A Principled Framework for Diversified Complementary Product Recommendation」(CIKM 2020)は、その課題を整理し、実用的な解決策を提示しています。
補完推薦の3つの課題
1. 非対称性(Asymmetric)
補完関係は対称ではありません。カメラを見ているユーザーにSDカードを推薦するのは効果的ですが、SDカードを見ているユーザーにカメラを推薦しても効果は薄いです。SDカード購入者は既にカメラを持っている可能性が高く、また他の機器(ゲーム機など)で使用する場合もあるためです。
2. 多様性(Diversity)
テニスラケットを見ているユーザーに対して、テニスボールを3つ推薦するより、テニスボール・ラケットバッグ・ヘッドバンドを1つずつ推薦する方が良いです。ユーザーの潜在的なニーズを幅広くカバーするには、カテゴリレベルでの多様性が重要になります。
3. Cold-Start問題
補完推薦の学習にはco-purchase(同時購入)データを使いますが、co-viewデータと比べて圧倒的に少ないです。そのため、購入履歴が乏しい商品では補完商品を推薦できないCold-Start問題が発生します。
P-Companionのアプローチ
データクリーニング
従来研究ではco-purchaseデータをそのまま補完関係のラベルとして使用していましたが、論文の分析によるとco-purchaseとco-viewには約20%の重複があり、これがノイズとなります。特にアパレルでは重複率が高いです。
MTurkによるアノテーション実験の結果、以下の条件で抽出したペアが最も精度の高い補完ラベルとなることが判明しました:
$$
B_{cp} - (B_{pv} \cup B_{cv})
$$
つまり「co-purchaseにのみ存在し、co-viewやpurchase-after-viewには含まれないペア」が、純粋な補完関係を表します。
モデルアーキテクチャ
P-Companionは3つのモジュールで構成されます。
1. Product2vec(商品埋め込み)
GATベースのモジュールで、商品のカタログ情報(タイトル、説明文等)と類似商品グラフの構造を組み合わせて商品ベクトルを生成します。カタログ情報から直接ベクトルを生成できるため、Cold-Start商品にも対応可能です。
2. Complementary Type Transition(カテゴリ遷移)
クエリ商品のカテゴリから、補完関係にあるカテゴリを予測します。各カテゴリに「クエリとしての埋め込み」と「補完先としての埋め込み」の2種類を持たせることで、非対称性をモデル化しています。Encoder-Decoderでカテゴリ空間の変換を学習します。
3. Complementary Item Prediction(商品予測)
予測された補完カテゴリごとに、具体的な補完商品を推薦します。クエリ商品ベクトルを各補完カテゴリの部分空間に射影し、その空間内で近傍探索を行います。カテゴリ数Kを調整することで、推薦の多様性を明示的にコントロールできます。
実験結果
Amazonの実データ(24M商品、80M補完ペア)で評価を実施しています。
| モデル | Hit@10(Electronics) | Hit@10(Grocery) |
|---|---|---|
| Sceptre | 0.101 | 0.040 |
| PMSC | 0.169 | 0.087 |
| JOIE | 0.181 | 0.099 |
| P-Companion | 0.187 | 0.104 |
多様性の効果も検証されており、推薦するカテゴリ数を増やすほどHit@60が向上する傾向が確認されました(Electronics: 1type→0.138、6types→0.227)。
オンラインA/Bテストでは、従来のco-purchaseベースの推薦と比較して売上+0.23%、利益+0.18%の改善を達成しています(p < 0.05)。
考察
P-Companionの設計思想は、既存の2-tower modelベースの推薦基盤にも応用できそうです。現在ZOZOTOWNではEmbedding基盤が構築・運用されており、ユーザーと商品のEmbeddingを共通資産として複数の推薦施策で再利用できる仕組みが整っています。
P-CompanionのProduct2vecモジュールが担う「商品埋め込みの生成」は、このEmbedding基盤がすでに提供している機能と重なります。そのため、P-Companionをゼロから実装するのではなく、既存のEmbedding基盤を活用しつつ、カテゴリ遷移(Type Transition)の部分を追加実装することで、補完推薦の実現も視野に入ると考えています。
特に以下の点が参考になります:
- カテゴリレベルでの多様性制御: 推薦結果が特定カテゴリに偏る問題への対処
- 非対称性のモデル化: クエリ側と候補側で異なる埋め込みを持つ設計
- Cold-Start対応: カタログ情報からの埋め込み生成
一方、推論時に「カテゴリ予測→カテゴリごとの商品検索」という2段階の近傍探索が必要になるため、レイテンシへの影響は検討が必要でしょう。
まとめ
P-Companionは、補完商品推薦における非対称性・多様性・Cold-Start問題を統一的に扱うフレームワークを提案しました。カテゴリ遷移と商品予測を分離したアーキテクチャにより、推薦の多様性を明示的にコントロールできる点が特徴的です。
なお、アパレルECではco-purchaseとco-viewの重複率が高いため、データクリーニングの段階でより慎重な設計が必要になると考えています。