Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MonotaROにおけるGNNによるベクトル検索 〜 ロングテール商品のコールドスタート問題の...
Search
Yohei Okabayashi
April 27, 2025
2
520
MonotaROにおけるGNNによるベクトル検索 〜 ロングテール商品のコールドスタート問題の対応 〜
Recommendation Industry Talks #6で発表した株式会社MonotaROにおけるGNNの発表資料
Yohei Okabayashi
April 27, 2025
Tweet
Share
More Decks by Yohei Okabayashi
See All by Yohei Okabayashi
Terraform Cloudを使ってみた
haru256
0
52
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.4k
Making Projects Easy
brettharned
116
6.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
We Have a Design System, Now What?
morganepeng
52
7.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Agile that works and the tools we love
rasmusluckow
329
21k
Making the Leap to Tech Lead
cromwellryan
133
9.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
25
2.8k
Site-Speed That Sticks
csswizardry
7
590
Building an army of robots
kneath
306
45k
Transcript
Recommendation Industry Talks #6 MonotaROにおける GNNによるベクトル検索 〜 ロングテール商品のコールドスタート問題の対応 〜 ©
2024 MonotaRO Co., Ltd.
2/23 自己紹介 名前: • 岡林 遥平 (おかばやし ようへい) 所属と役割: •
株式会社MonotaRO • monotaro.comの商品推薦サービスの企画・開発・運用に従事 趣味: • ピクルスづくり • 最近は宝塚歌劇団にハマっています
3/23 MonotaROの事業について BtoB を対象に、 自ら間接資材※ の在庫を持ち、 自らオンラインで売るEC企業 商品採用、物流、マーケティング、データサ イエンス、IT など多くの業務とシステムを
自社開発、自社運用もしている フルスタック EC カンパニー ※間接資材とは、製品原材料以外の全ての資材を指します。例: 作業現場の工具や作業着など インターネット等を利用した間接資材※ の通信販売を行っています
4/23 MonotaROの事業成長戦略 取扱商品 点数拡大 顧客数拡大 在庫点数 拡大 売上・利益 拡大 スケールアップ=利便性アップ
•新規顧客獲得増 •ロングテール商品の購入頻度向上 •商品の在庫化が進むことによって 納期短縮、利便性向上 •プライベートブランド化も 推進し利益率向上 •検索ワード数拡大 •ワンストップショッピングの幅拡大 (取扱商品点数2,315万点) •周辺商品の取扱拡大 ※ 上記は2023年時点の情報です。2025/3/31時点で取り扱い点数は2,420万点まで拡大しています。
5/23 MonotaROのデータサイエンス 顧客 物流倉庫 ECサイト サプライヤ 販促 MonotaROには多様なデータサイエンス領域がある • ECサイト検索
• ECサイト推薦 • 販促 • サプライチェーンマネジメント • マーケティング 今日はECサイト推薦についてお話しますが 販促にも推薦技術を使用しています • メール • チラシ チラシ Email
6/23 本日お話すること 1. MonotaROの推薦と課題 ◦ MonotaROでは2,420万点を取り扱っており、取り扱い点数の多さが強み ◦ 膨大な商品から適切に推薦し、商品を探す時間を削減を実現 ◦ 膨大な商品とロングテール商品によりコールドスタート問題が発生している
2. ベクトル検索によるコールドスタート問題の検証 ◦ 課題解決に向け TwoTower と GNN について検討した ◦ GNN の中でも商品間の 代替・補完関係を考慮した手法: DAEMON を検討 ◦ DAEMON は TwoTower と 比べて Recall・MRRが大きく改善することを確認した
7/23 MonotaROの商品推薦 - 推薦の役割 モノタロウは取り扱い商品数の多さを強みにしており、2,420万SKU取り扱っている(2025/3/31時点) お客様がこの中から商品を探す時間を削減したい 充電器や掃除機もありますよ! 電動ドライバーを購入 充電器や掃除機も 必要そうだ!
推薦の役割 1. お客様が探している商品を素早く提示 2. 今後必要になる商品を推測し、探す前に提示 推薦はMonotaRO側から能動的に商品を提示する唯一無二の機能 特に2について非常に重要な役割を担っている
8/23 MonotaROの商品推薦 - 補完商品推薦について • monotaro.comにおいて推薦枠は数多くあるが、カートインポップアップ推薦について共有 • カートインポップアップ推薦では ある商品: X
をカートインしたときに、Xと一緒に合わせ買いされやすい商品: Yを推薦 • このとき、YをXに対する補完商品と呼ぶ • それとは逆に、Xと機能が類似する商品を代替商品 ≒ 類似商品と呼ぶ 例 代替関係 補完関係 カートインポップアップ推薦
9/23 推薦商品を決定する過程 Multi-Stage Recommendation に従って推薦商品を決めている 1. 候補商品作成 ◦ 興味があると思われる商品を数百程度をざっくり取得 2.
商品並び替え ◦ 候補商品を購入されやすい順に並び替えTop20を決定 全商品 数十 ~ 数百個 10 ~ 20個 1 2
10/23 現状の候補商品作成手法の課題 現状の候補商品作成手法の課題: モノタロウの強み「取り扱い商品点数」を活かしきれない 1. 行動ログが少ない商品間のscoreの精度が悪い モノタロウのように商品数が多い場合は、購買ログは一部の商品に集中してしまう 2. ログがない新規商品に対して適切なscoreが計算できない モノタロウは日々新規商品を追加しているが、新規商品はログがないためscoreを付与できない
直近は毎年200万から300万点を新規登録している コールドスタート問題により十分に推薦できていない
11/23 商品情報を用いた候補商品作成 以下の仮説が成り立つと考える • 合わせ買いした商品と商品情報が似ている場合は、その商品も合わせ買いされやすいだろう 実績✗ 合わせ買い◯ 類似 例: XとYを合わせ買いした実績はあるが、XとZの実績はない
しかし、YとZは以下の商品情報が似ている • ブランドが同じ • カテゴリが同じ • 使用用途が同じ これを実現する方法の一つがベクトル検索 商品X つまり以下の推移律が成り立つと考えられる 商品Y 商品Z
12/23 ベクトル検索 - TwoTower 商品情報をベクトルに変換しベクトル空間に埋めこみ ユーザーが合わせ買いした商品の近くにある商品が候補商品 商品をベクトルに変換する際に重要なのは以下 • どういう商品情報を入力するか =
どういう情報が類似すれば類似商品なのか ◦ 商品タイトル ◦ カテゴリ ◦ ブランド • 補完商品が近くに位置するようなベクトル空間へ射影する 補完商品推薦のためのベクトル空間 Metric Learningで訓練 NN NN positive positive negative seed
13/23 ベクトル検索 - GNN: グラフとベクトルの融合 グラフ関係を考慮した手法とNNによるベクトルのメリット・デメリット • グラフ関係を考慮: 商品間の関係を考慮した手法 ◦
メリット : 商品間の関係を考慮することができている ◦ デメリット: ログが少ない商品 に対するscoreの精度が悪い • NNによるベクトル: 商品情報を活用した手法 ◦ メリット : ログが無い or ログが少ない商品 に対して scoreを付与できる or 精度が高い ◦ デメリット: 商品間の関係を考慮することができていない 両者の良いとこどりをしたのがGraph Neural Network(GNN) GNN 商品単体だけでなく よく一緒に購入される商品の情報も入力する ↓ グラフ構造も考慮した ベクトルができる ユーザー行動から作成したグラフ関係 ? GNN
14/23 ベクトル検索 - DAEMON: 代替商品を活用した補完商品推薦 • 今までの手法は、xとyの商品ベクトルが似ていることを期待しているが暗黙的 • Amazonの提案手法: DAEMON
◦ Recommending related products using graph neural networks in directed graphs • 補完関係を推測するときに、代替関係のグラフ構造も考慮し補完関係の推定精度を向上させた : co-view = よく一緒に閲覧される(無向edge) : co-purchase = よく一緒に購入される(有向edge) DAEMON xとzのベクトル作成時に 共通商品: yの情報を明示的に活用 ? + +
15/23 ベクトル検索 - DAEMON: 代替商品を活用した補完商品推薦 DAEMONは商品1つに対してsourceとtargetの2つのembeddingを作成 sourceとtargetの内積が補完関係score GNN layerの処理は以下の通り このlayerを複数回実施しn-hopの遠い関係も考慮する
のsource: のtarget: ?
16/23 ベクトル検索 - DAEMON: モデル学習 学習には以下のロスを使用 • 赤: 補完関係に対する対照学習ロス。ランダムにnegative samplingを行う
• 青: 代替関係に対するロス。代替関係にある商品はsourceとtargetが類似するように学習 このロスを最適化することで以下の推移律が獲得でき、コールドスタート問題に対応可能
17/23 ベクトル検索 - オフライン実験結果 • 比較手法 ◦ TwoTower ◦ DAEMON
• 全商品から対象商品に対する補完商品をANNで取得し、以下の指標で評価 ◦ Recall@K ◦ MRR@K BigQuery Vertex AI Training Cloud Storage Cloud Build TensorBoard オフライン実験では BigQuery ANN (TreeAH) を使用
18/23 ベクトル検索 - オフライン実験結果 • 商品数: 200万商品グループ, 代替関係エッジ数: 570万, 補完関係エッジ数:
580万 • TwoTowerに対するDAEMONの評価結果は以下の通り • DAEMONは補完・代替関係のユーザー行動グラフも考慮することで大きな改善が見られた • TwoTowerはDAEMONと比べてトップセラー商品を推薦する傾向にあった K Recall@K MRR@K 100 +56.84% +77.65% 200 +47.90% +77.02% 300 +44.71% +76.46%
19/23 ベクトル検索 - まとめと今後 まとめ • MonotaROでは商品数が多くコールドスタート問題が発生 • 集計ベースの手法では推薦可能な商品数が限定的 •
DAEMONを用いてユーザー行動グラフと商品情報の2つを考慮することで コールドスタート問題に対応したモデルができた 今後 • 適切な商品を候補として取得できたが、それを適切に上位に上げるリランキングモデルが必須 • 先行研究では、候補商品段階で作成したベクトルをリランキングに活用することで性能が大きく上昇した ◦ Enhanced Multi-Relationships Integration Graph Convolutional Network for Inferring Substitutable and Complementary Items (AAAI2023) • ナイーブな方法ではリランキング性能の改善幅が小さかったため 先行研究を参考にDNNを用いたリランキング手法を検討 ◦ 他にも Position Bias や 商品属性マッチングなど課題はいっぱい
20/23 モノタロウでは共に働く仲間を大募集しています! • この後の懇親会でぜひお話させてください! • カジュアル面談もお待ちしています! • 東京オフィスもあります! 採用サイトはこちら https://recruit.monotaro.com/
その他運営サイトはこちら DS採用サイト https://careers.monotaro.com/DataAnalytics テックブログ https://tech-blog.monotaro.com/ 採用ブログ https://note.com/monotaro_note/ エンジニア採用サイト https://careers.monotaro.com/EngineeringIT
© 2024 MonotaRO Co., Ltd.