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
[2023 CCSE] ZOZOTOWN検索における 研究開発の取り組みについて
Search
tomoya yamazaki
December 24, 2023
Research
0
370
[2023 CCSE] ZOZOTOWN検索における 研究開発の取り組みについて
CCSE2023
https://ccse.jp/2023/
での発表資料です。
tomoya yamazaki
December 24, 2023
Tweet
Share
More Decks by tomoya yamazaki
See All by tomoya yamazaki
論文紹介 / [SIGIR 2020] Query Reformulation in E-Commerce Search
tomoyayama
0
320
Other Decks in Research
See All in Research
Remote sensing × Multi-modal meta survey
satai
4
670
ウェブ・ソーシャルメディア論文読み会 第36回: The Stepwise Deception: Simulating the Evolution from True News to Fake News with LLM Agents (EMNLP, 2025)
hkefka385
0
100
Open Gateway 5GC利用への期待と不安
stellarcraft
2
170
AlphaEarth Foundations: An embedding field model for accurate and efficient global mapping from sparse label data
satai
3
670
データサイエンティストの業務変化
datascientistsociety
PRO
0
120
[IBIS 2025] 深層基盤モデルのための強化学習驚きから理論にもとづく納得へ
akifumi_wachi
19
9.2k
[論文紹介] Intuitive Fine-Tuning
ryou0634
0
160
生成AIとうまく付き合うためのプロンプトエンジニアリング
yuri_ohashi
0
110
空間音響処理における物理法則に基づく機械学習
skoyamalab
0
160
20年前に50代だった人たちの今
hysmrk
0
110
高畑鬼界ヶ島と重文・称名寺本薬師如来像の来歴を追って/kikaigashima
kochizufan
0
110
情報技術の社会実装に向けた応用と課題:ニュースメディアの事例から / appmech-jsce 2025
upura
0
290
Featured
See All Featured
Scaling GitHub
holman
464
140k
WENDY [Excerpt]
tessaabrams
9
35k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Agile that works and the tools we love
rasmusluckow
331
21k
Leo the Paperboy
mayatellez
1
1.3k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
78
Six Lessons from altMBA
skipperchong
29
4.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
1
880
A designer walks into a library…
pauljervisheath
210
24k
Chasing Engaging Ingredients in Design
codingconduct
0
94
Designing Powerful Visuals for Engaging Learning
tmiket
0
200
Transcript
ZOZOTOWN検索における 研究開発の取り組みについて 株式会社ZOZO 検索基盤部 検索研究ブロック ブロック長 山﨑朋哉 Copyright © ZOZO,
Inc. 1 @CCSE2023
© ZOZO, Inc. 株式会社ZOZO 検索基盤部 検索研究ブロック ブロック長 山﨑朋哉 略歴 2016年〜2019年:
ヤフー株式会社でナレッジベースの開発 2020年〜現在: 株式会社ZOZOでZOZOTOWN検索の研究開発 業務分野: クエリ意図解釈・検索ロジック改善・PM 趣味 軟式テニス・ぷよぷよ 2
© ZOZO, Inc. https://zozo.jp/ • ファッションEC • 1,500以上のショップ、8,900以上のブランドの取り扱い • 常時95万点以上の商品アイテム数と
毎日平均2,900点以上の新着商品を掲載(2023年9月末時点) 3
© ZOZO, Inc. 4 アジェンダ • 検索研究ブロックでの開発研究の進め方 ◦ オフライン評価 /
ABテスト評価を手早く実施できることが大切 • 検索改善の事例紹介 ◦ オフライン評価 / ABテスト評価の結果が必ずしも一致しない
© ZOZO, Inc. 5 検索研究ブロックでの開発研究の進め方 1. 開発者が仮説検証しやすい環境を作る a
© ZOZO, Inc. 6 検索研究ブロックでの開発研究の進め方 1. 開発者が仮説検証しやすい環境を作る a プロダクトの成熟度合いで、準備する環境/基盤は異なる ルールベース
ログ活用した ルールベース 機械学習モデル 導入 機械学習モデル 継続的改善 リリース自動化 ◯ ◯ ◯ ◯ ABテスト基盤 ◯ ◯ ◯ ◯ オフライン評価基盤 ◯ ◯ ◯ ◯ ログ基盤 x ◯ ◯ ◯ 負荷試験環境 x x ◯ ◯ 機械学習モデル構築 ワークフロー x x x ◯ ※ 検索リランキング ロジックの例
© ZOZO, Inc. ルールベース ログ活用した ルールベース 機械学習モデル 導入 機械学習モデル 継続的改善
リリース自動化 ◯ ◯ ◯ ◯ ABテスト基盤 ◯ ◯ ◯ ◯ オフライン評価基盤 ◯ ◯ ◯ ◯ ログ基盤 x ◯ ◯ ◯ 負荷試験環境 x x ◯ ◯ 機械学習モデル構築 ワークフロー x x x ◯ 7 検索研究ブロックでの開発研究の進め方 1. 開発者が仮説検証しやすい環境を作る a プロダクトの成熟度合いで、準備する環境/基盤は異なる 特に評価のしやすさが 開発研究のしやすさに繋がる ※ 検索リランキング ロジックの例
© ZOZO, Inc. 8 検索研究ブロックでの開発研究の進め方 1. 開発者が仮説検証しやすい環境を作る 詳細は... ZOZOTOWN検索機能のマイクロサービス化への取り組み これからのZOZOを支える
ログ収集基盤を設計した話 Vertex AI Pipelinesによる機械学習ワークフローの自動化 a
© ZOZO, Inc. 9 検索研究ブロックでの開発研究の進め方 1. 開発者が仮説検証しやすい環境を作る 2. リリースする施策を選別する ①
検索改善のアイデアを出し、そのアイデアに対する手法の優先度を決める ② オフライン定性・定量評価結果を参考に、ABテスト対象の施策を決める ③ ABテスト評価結果を参考に、POの判断をもってリリースする (※ PO: プロダクトオーナー)
© ZOZO, Inc. 10 検索研究ブロックでの開発研究の進め方 バイアス削減 ベクトル検索 パーソナライズ ︙ 検索改善の
アイデア バイアス 削減手法1 バイアス 削減手法2 バイアス 削減手法3 パーソナライズ特徴量 追加手法1 パーソナライズ特徴量 追加手法2 パーソナライズ特徴量 追加手法3 ベクトル検索 手法1 ベクトル検索 手法2 ベクトル検索 手法3 手法の優先度 1. 開発者が仮説検証しやすい環境を作る 2. リリースする施策を選別する ① 検索改善のアイデアを出し、そのアイデアに対する手法の優先度を決める ② オフライン定性・定量評価結果を参考に、ABテスト対象の施策を決める ③ ABテスト評価結果を参考に、POの判断をもってリリースする (※ PO: プロダクトオーナー)
© ZOZO, Inc. 11 検索研究ブロックでの開発研究の進め方 バイアス削減 ベクトル検索 パーソナライズ ︙ 検索改善の
アイデア バイアス 削減手法1 バイアス 削減手法2 バイアス 削減手法3 パーソナライズ特徴量 追加手法1 パーソナライズ特徴量 追加手法2 パーソナライズ特徴量 追加手法3 ベクトル検索 手法1 ベクトル検索 手法2 ベクトル検索 手法3 手法の優先度 優先度の高い手法からオフライン評価する 1. 開発者が仮説検証しやすい環境を作る 2. リリースする施策を選別する ① 検索改善のアイデアを出し、そのアイデアに対する手法の優先度を決める ② オフライン定性・定量評価結果を参考に、ABテスト対象の施策を決める ③ ABテスト評価結果を参考に、POの判断をもってリリースする (※ PO: プロダクトオーナー)
© ZOZO, Inc. 12 検索研究ブロックでの開発研究の進め方 バイアス削減 ベクトル検索 パーソナライズ ︙ 検索改善の
アイデア バイアス 削減手法1 バイアス 削減手法2 バイアス 削減手法3 パーソナライズ特徴量 追加手法1 パーソナライズ特徴量 追加手法2 パーソナライズ特徴量 追加手法3 ベクトル検索 手法1 ベクトル検索 手法2 ベクトル検索 手法3 手法の優先度 1. 開発者が仮説検証しやすい環境を作る 2. リリースする施策を選別する ① 検索改善のアイデアを出し、そのアイデアに対する手法の優先度を決める ② オフライン定性・定量評価結果を参考に、ABテスト対象の施策を決める ③ ABテスト評価結果を参考に、POの判断をもってリリースする (※ PO: プロダクトオーナー)
© ZOZO, Inc. 13 検索研究ブロックでの開発研究の進め方 バイアス削減 ベクトル検索 パーソナライズ ︙ 検索改善の
アイデア バイアス 削減手法1 バイアス 削減手法2 バイアス 削減手法3 パーソナライズ特徴量 追加手法1 パーソナライズ特徴量 追加手法2 パーソナライズ特徴量 追加手法3 ベクトル検索 手法1 ベクトル検索 手法2 ベクトル検索 手法3 手法の優先度 優先度が高く、オフライン評価を クリアした手法をABテスト対象とする 1. 開発者が仮説検証しやすい環境を作る 2. リリースする施策を選別する ① 検索改善のアイデアを出し、そのアイデアに対する手法の優先度を決める ② オフライン定性・定量評価結果を参考に、ABテスト対象の施策を決める ③ ABテスト評価結果を参考に、POの判断をもってリリースする (※ PO: プロダクトオーナー)
© ZOZO, Inc. 14 検索研究ブロックでの開発研究の進め方 1. 開発者が仮説検証しやすい環境を作る 2. リリースする施策を選別する ①
検索改善のアイデアを出し、そのアイデアに対する手法の優先度を決める ② オフライン定性・定量評価結果を参考に、ABテスト対象の施策を決める ③ ABテスト評価結果を参考に、POの判断をもってリリースする (※ PO: プロダクトオーナー) バイアス削減 ベクトル検索 パーソナライズ ︙ 検索改善の アイデア バイアス 削減手法1 バイアス 削減手法2 バイアス 削減手法3 パーソナライズ特徴量 追加手法1 パーソナライズ特徴量 追加手法2 パーソナライズ特徴量 追加手法3 ベクトル検索 手法1 ベクトル検索 手法2 ベクトル検索 手法3 手法の優先度 ABテスト評価をクリアして、 かつリリースOKの判断がでた施策
© ZOZO, Inc. 15 検索研究ブロックでの開発研究の進め方 1. 開発者が仮説検証しやすい環境を作る 2. リリースする施策を選別する ①
検索改善のアイデアを出し、そのアイデアに対する手法の優先度を決める ② オフライン定性・定量評価結果を参考に、ABテスト対象の施策を決める ③ ABテスト評価結果を参考に、POの判断をもってリリースする (※ PO: プロダクトオーナー) バイアス削減 ベクトル検索 パーソナライズ ︙ 検索改善の アイデア バイアス 削減手法1 バイアス 削減手法2 バイアス 削減手法3 パーソナライズ特徴量 追加手法1 パーソナライズ特徴量 追加手法2 パーソナライズ特徴量 追加手法3 ベクトル検索 手法1 ベクトル検索 手法2 ベクトル検索 手法3 手法の優先度 再度①の優先度決めからスタート
© ZOZO, Inc. 16 検索研究ブロックでの開発研究の進め方 1. 開発者が仮説検証しやすい環境を作る 2. リリースする施策を選別する ①
検索改善のアイデアを出し、そのアイデアに対する手法の優先度を決める Python Dashによりデータ分析結果の共有を効率化する取り組み ② オフライン定性・定量評価結果を参考に、ABテスト対象の施策を決める ZOZOTOWN検索の精度評価への取り組み ③ ABテスト評価結果を参考に、POの判断をもってリリースする (※ PO: プロダクトオーナー) ZOZOTOWN検索におけるA/Bテスト分析の自動化の取り組み
© ZOZO, Inc. 17 検索研究ブロックでの開発研究の進め方 1. 開発者が仮説検証しやすい環境を作る 2. リリースする施策を選別する ①
検索改善のアイデアを出し、そのアイデアに対する手法の優先度を決める ② オフライン定性・定量評価結果を参考に、ABテスト対象の施策を決める ③ ABテスト評価結果を参考に、POの判断をもってリリースする なぜ評価の結果を「参考に」するだけなのか? 課題1: オフライン評価結果とABテスト評価結果は必ずしも一致しない → 具体的な事例は後述 課題2: ABテスト評価結果が良くても、機能のROIが低いこともある → 総合的にプラス影響があるかを判断する
© ZOZO, Inc. 18 アジェンダ • 検索研究ブロックでの開発研究の進め方 ◦ オフライン評価 /
ABテスト評価を手早く実施できることが大切 • 検索改善の事例紹介 ◦ オフライン評価 / ABテスト評価の結果が必ずしも一致しない
© ZOZO, Inc. 19 検索改善施策のリリースまでの事例 検索改善施策事例 オフライン 定量評価 (nDCGなど) ABテスト評価
機能指標 (CTR / CVR) ABテスト評価 ゴール指標 (売上) ポジション バイアス除去 微悪化 有意差有り 改善 有意差無し Relevancy変更 微改善 有意差有り 悪化 有意差無し パーソナライズ 特徴量追加 大幅に改善 有意差有り 改善 有意差無し ref: ZOZOTOWN検索精度改善の取り組み
© ZOZO, Inc. 20 検索結果出力のロジック概要 全商品 d … a c
b e b a d ︙ e c 12.0 9.8 0.6 0.4 0.1 ︙ 軽量な線形モデルで スコアリング a p d ︙ b c 9.8 8.2 12.0 0.4 0.1 ︙ 上位N件を ランキング学習で リランキング 検索意図に マッチする商品を 絞り込む
ランキング学習とは ランキング学習とは 検索クエリ q と候補商品 d から、特徴量 と正解ラベル を作成する ランキング学習の損失関数
L(): 損失関数, f(): モデル出力, Q: 全検索クエリ集合 21
© ZOZO, Inc. 22 ABテスト例: ポジションバイアスの除去 クリック率 ポジション 課題: 検索結果の上段・左側ほどクリック率が高い
商品が一度上位のポジションに掲出される → その商品がよくクリックされる → そのデータを学習した機械学習モデルは、 上位に掲載された商品を正解として扱ってしまう
© ZOZO, Inc. 23 ABテスト例: ポジションバイアスの除去 課題: 検索結果の上段・左側ほどクリック率が高い 施策: •
ランキング学習の訓練時にポジションを特徴量として学習させ、 推論時にそのポジション特徴量を使用しない [特徴量1, 特徴量2, …, 特徴量N, ポジション特徴量] 学習時: [10.2, 0.3, …, 4.2, 3 ] 推論時: [10.2, 0.3, …, 4.2, 0 ]
© ZOZO, Inc. 24 ABテスト例: ポジションバイアスの除去 課題: 検索結果の上段・左側ほどクリック率が高い 施策: •
ランキング学習の訓練時にポジションを特徴量として学習させ、 推論時にそのポジション特徴量を使用しない 結果: オフライン 定量評価 ABテスト評価 機能指標 ABテスト評価 ゴール指標 微悪化 有意差有り 改善 有意差なし
© ZOZO, Inc. 25 ABテスト例: Relevancyの改善 課題: 最適化するラベル ( )
がゴール指標そのものではない 施策: • 商品 d の特徴に応じて重み算出する を定義 例 商品価格 > >= 商品価格 > >= 商品価格
© ZOZO, Inc. 26 ABテスト例: Relevancyの改善 オフライン 定量評価 ABテスト評価 機能指標
ABテスト評価 ゴール指標 微改善 有意差有り 悪化 有意差なし 課題: 最適化するラベル ( ) がゴール指標そのものではない 施策: • 商品 d の特徴に応じて重み算出する を定義 結果:
© ZOZO, Inc. 27 ABテスト例: パーソナライズ特徴量の追加 課題: ユーザーのデモグラ・行動ログを使用できていない 施策: •
特徴量 にユーザー情報を加えた に拡張する 例: ユーザーの「カテゴリーごとの過去1ヶ月の商品購入数」 U : 全ユーザー
© ZOZO, Inc. 28 ABテスト例: パーソナライズ特徴量の追加 課題: ユーザーのデモグラ・行動ログを使用できていない 施策: •
特徴量 にユーザー情報を加えた に拡張する 例: ユーザーの「カテゴリーごとの過去1ヶ月の商品購入数」 結果: オフライン 定量評価 ABテスト評価 機能指標 ABテスト評価 ゴール指標 大幅に改善 有意差有り 改善 有意差なし
© ZOZO, Inc. 29 検索改善施策のリリースまでの事例 オフライン評価とABテスト評価結果は関連するケースも多い ただし、関連しないケースも観測されるため、評価結果の解釈が大切 検索改善施策事例 オフライン 定量評価
ABテスト評価 機能指標 ABテスト評価 ゴール指標 ポジション バイアス除去 微悪化 有意差有り 改善 有意差無し Relevancy変更 微改善 有意差有り 悪化 有意差無し パーソナライズ 特徴量追加 大幅に改善 有意差有り 改善 有意差無し
© ZOZO, Inc. 30 まとめ • 開発研究の進め方 ◦ 開発者が試行錯誤しやすい環境を作る ◦
リリースする施策を選別する • 施策の選別方法 ◦ オフライン評価・ABテスト評価結果を参考に、 最終的にはPOがリリース判断する • 検索改善の事例紹介 ◦ ポジションバイアス除去 ◦ Relevancy変更 ◦ パーソナライズ特徴量追加
None
© ZOZO, Inc. 32 検索研究ブロックにおける「研究」とは 検索研究ブロック 注力範囲 ref: https://www.stat.go.jp/data/kagaku/kekka/a3_25you.html 基礎研究
応用研究 開発研究 既に実用化されている方法に関して、 新たな応用方法を探索する研究 新しいシステムの導入や、 既存のシステムの改良を狙いとする研究 特別な応用を考慮することなく、 新しい知識を得るための研究
© ZOZO, Inc. 33 APPENDIX: 検索全体の流れ