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
230
[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
240
Other Decks in Research
See All in Research
説明可能AIの基礎と研究動向
yuyay
0
140
2024/10/30 産総研AIセミナー発表資料
keisuke198619
1
310
MetricSifter:クラウドアプリケーションにおける故障箇所特定の効率化のための多変量時系列データの特徴量削減 / FIT 2024
yuukit
2
120
JMED-LLM: 日本語医療LLM評価データセットの公開
fta98
5
1.2k
クロスセクター効果研究会 熊本都市交通リノベーション~「車1割削減、渋滞半減、公共交通2倍」の実現へ~
trafficbrain
0
140
Leveraging LLMs for Unsupervised Dense Retriever Ranking (SIGIR 2024)
kampersanda
2
160
熊本から日本の都市交通政策を立て直す~「車1割削減、渋滞半減、公共交通2倍」の実現へ~@公共交通マーケティング研究会リスタートセミナー
trafficbrain
0
120
渋谷Well-beingアンケート調査結果
shibuyasmartcityassociation
0
240
LLM時代にLabは何をすべきか聞いて回った1年間
hargon24
1
490
Global Evidence Summit (GES) 参加報告
daimoriwaki
0
120
Tietovuoto Social Design Agency (SDA) -trollitehtaasta
hponka
0
2.3k
marukotenant01/tenant-20240916
marketing2024
0
460
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
2k
Practical Orchestrator
shlominoach
186
10k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
4 Signs Your Business is Dying
shpigford
180
21k
It's Worth the Effort
3n
183
27k
Rails Girls Zürich Keynote
gr2m
93
13k
[RailsConf 2023] Rails as a piece of cake
palkan
51
4.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
505
140k
Building Your Own Lightsaber
phodgson
102
6.1k
What's in a price? How to price your products and services
michaelherold
243
12k
For a Future-Friendly Web
brad_frost
175
9.4k
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: 検索全体の流れ