Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
2024/05/30 機械学習モデルの評価と改善 発表資料
Search
田代真生
May 30, 2024
Technology
480
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2024/05/30 機械学習モデルの評価と改善 発表資料
田代真生
May 30, 2024
More Decks by 田代真生
See All by 田代真生
検索リランキングを事業成果につなげる 評価・改善戦略
masakick07
3
680
Other Decks in Technology
See All in Technology
バイブコーディングの特徴と「コケて直す」ループ
happysamurai294
0
140
Patterns in AI Driven Software Development
akosma
PRO
0
420
Adversary Infrastructure Hunting101
disconinja
0
190
Lint の層を組み直した話
bengo4com
1
280
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
370
Jev の中身は50行で再現できる。でも本物との差はどこにあるのか
hisuzuya
0
270
re:Inventで、人生は変わったのか? / growth-builders-hub-1-reinvent-2026
mhrtech
2
180
素人でもできた!AIを使った短編小説創作入門
delhi09
PRO
0
280
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
0
180
増え続けるプロダクトの品質をどう担保するか。ProductSpecとTypeScriptによる取り組み
joere
3
320
Snowflake でできることが増えたら、 ABAC が必要になった
kaeton
0
130
【Oracle AI SPOTLIGHT ウェビナー】事例から見る!なぜOCIが選ばれたのか ― AI時代のクラウド戦略を紐解く ―
oracle4engineer
PRO
1
150
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Building an army of robots
kneath
307
47k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
The SEO identity crisis: Don't let AI make you average
varn
0
620
Docker and Python
trallard
47
4.2k
HDC tutorial
michielstock
2
990
Odyssey Design
rkendrick25
PRO
2
910
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Exploring anti-patterns in Rails
aemeredith
4
550
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
460
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
Transcript
1 DMMにおける 商品検索パーソナライゼーションの オフライン評価について 2024/05/30 合同会社DMM.com 田代真生
#dmm_databricks 2 自己紹介 田代 真生 - 仕事 - 2022年4月に合同会社DMM.comに新卒入社 -
複数サービスでの検索Growthプロジェクトを担当 - 研究(大学院) - PLM(事前学習済み言語モデル)における否定の理解 - 趣味 - サッカー、キャンプ、アイドル
#dmm_databricks 3 質問はSlidoにお願いします https://app.sli.do/event/nmvxCgircnNSMN85DXJT7e/live/questions
#dmm_databricks 4 アジェンダ - DMMにおける商品検索パーソナライゼーション - 商品検索パーソナライゼーションにおける課題 - オフラインテストの導入 -
まとめ
#dmm_databricks 5 アジェンダ - DMMにおける商品検索パーソナライゼーション - 商品検索パーソナライゼーションにおける課題 - オフラインテストの導入 -
まとめ
#dmm_databricks 6 DMMの商品検索 DMMでは様々なサービスにおいて商品検索機能が実装されており、サービス毎に 異なる検索施策を実装しています。 - 検索リクエストのサービス最適なパラメータチューニング - 検索リクエストの書き換え(パーソナライズ) -
検索レスポンスの並び替え(パーソナライズ) - 検索UIのパーソナライズ - …
#dmm_databricks 7 DMMの商品検索 DMMでは様々なサービスにおいて商品検索機能が実装されており、サービス毎に 異なる検索施策を実装しています。 - 検索リクエストのサービス最適なパラメータチューニング - 検索リクエストの書き換え(パーソナライズ) -
検索レスポンスの並び替え(パーソナライズ) - 検索UIのパーソナライズ - …
#dmm_databricks 8 DMMの商品検索パーソナライゼーション DMMの各サービスでは約数十万件の商品を扱っており、検索条件で絞っても数 千、数万件の商品が取得されてしまうためパーソナライゼーションを実施していま す。
#dmm_databricks 9 DMMの商品検索パーソナライゼーション 複数の施策(experiment)を同時に動かしており、それによって詳細なパーソナライ ゼーションを行っている。 { "query": { "q": "限定セール"
}, "boost": [ "if(termfreq(maker,'A出版'),3.0,1)", "if(termfreq(keyword,'ギャグ・コメディ'),0.1,1)" ] } A出版を上位に、ギャグ・コメディを出にくくするクエリ
#dmm_databricks 10 アジェンダ - DMMにおける商品検索パーソナライゼーション - 商品検索パーソナライゼーションにおける課題 - オフラインテストの導入 -
まとめ
#dmm_databricks 11 商品検索パーソナライゼーションにおける課題 ABテスト前に施策自体の良さを評価することが難しい。 元々オフライン(ABテスト前)で施策を評価していたが、、 - パラメータのチューニングが難しい(どこまでユーザーの属性によってブーストす べきか) - 施策が複数動き、クエリが複雑になるにつれてチューニングがより難しくなる
-> ABテストの勝率が低い "boost": [ "if(termfreq(maker,'A出版'),3.0,1)", "if(termfreq(keyword,'ギャグ・コメディ'),0.1,1)" ]
#dmm_databricks 12 商品検索パーソナライゼーションにおける課題 元々の評価は並び順の定性評価 + ロジック部分の定量評価 - 並び順は施策の意図通りになっているか - モデルが予測するユーザーの属性は正しいか
クエリ user_id 購買履歴 controlの並び順 testの並び順 hoge abc123 ['ddd'] ['aaa', 'ccc', 'bbb', 'ddd'] ['bbb', 'ddd', 'aaa', 'ccc'] ︙ ︙ ︙ ︙ ︙
#dmm_databricks 13 商品検索パーソナライゼーションにおける課題 並び順の定性評価 - パーソナライゼーションの細かな挙動を理解しやすい - 想定していなかったパーソナライゼーションの挙動を評価できる - 評価にコストがかかる(時間、ドメイン知識)
- モデル間の細かな差の比較が難しい - 主観が入るので評価者と異なる属性のユーザーに対する挙動の評価が難しい ロジック部分の定量評価 - モデルの比較が容易 - 評価にコストが抑えられる - 最終的に評価したい並び順で評価できない。ロジックをどう組み込むかが難しい
#dmm_databricks 14 アジェンダ - DMMにおける商品検索パーソナライゼーション - 商品検索パーソナライゼーションにおける課題 - オフラインテストの導入 -
まとめ
#dmm_databricks オフラインで施策による並び順の変化を定量的に調べる。 オフライン評価用の検索エンジンを立てるシステムを作成した。 - 検索エンジンへの負荷 - 検索エンジン内のインデックスの柔軟な変更 15 オフライン評価の導入 日次バッチ
DB 検索エンジンの インデックス 検索エンジン DB 検索エンジン内 のデータ 検索エンジン mount upload fetch create index query
#dmm_databricks 16 オフライン評価の導入 データ - 検索ログ、クリックログ、購買ログ - 各検索における表示商品に対して、それらがクリックされたか、購買されたかを 紐付ける 方法
- 各検索におけるクエリを施策によって書き換えた上でオフライン評価用のsolrに リクエストを投げて、新旧のレスポンスを比較する
#dmm_databricks 17 オフライン評価の導入 nDCG, mrr, recallなどの指標を用いて施策によって変化した検索結果そのものを 定量評価できるようになった。 - position biasの効果をIPW(inverse
probability weighting)で考慮した Bias on the web, https://cacm.acm.org/research/bias-on-the-web-2/ (参照 2024-05-28)
#dmm_databricks 18 オフライン評価導入の結果 - solrのパラメータのチューニングが容易になった - Control(50%), Test(50%)で二週間ABテストを実施。 - パーソナライズのブースト値を調整することでab
testにおいてARPUの増加を 確認できた(ブースト値を調整しなかった時にはARPUが減少する結果だった) "boost": [ "if(termfreq(maker,'A出版'),3.0,1)", "if(termfreq(keyword,'ギャグ・コメディ'),0.1,1)" ]
#dmm_databricks 19 まとめ - DMMの商品検索におけるパーソナライゼーションとその課題 - solrに送るリクエストをパーソナライズするために書き換える - いくつかの施策で書き換えが行われており、複雑化して評価が難しくなった -
オフライン評価基盤の作成 - オフライン評価用の検索システムを作成 - 位置バイアスを考慮したランキング指標を用いて ABテスト前に施策を評価、チューニ ング - ABテストを実施 - チューニングによってARPUの上昇を確認
#dmm_databricks 20 まとめ - オフライン評価の感想 - 定量評価によってモデルのチューニングができるのが便利 - 定性評価と組み合わせることで施策の効果がわかりやすくなる -
今後の課題 - オフライン評価の評価(オフライン評価がどの程度適切にできているかわかっていな い) - ABテスト前のモデルの性能は観測できるようになった。 ABテスト後の継続的にモデ ルの性能を観測したい。
#dmm_databricks 21 質問はSlidoにお願いします https://app.sli.do/event/nmvxCgircnNSMN85DXJT7e/live/questions