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
2024/05/30 機械学習モデルの評価と改善 発表資料
Search
田代真生
May 30, 2024
Technology
440
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
560
Other Decks in Technology
See All in Technology
データエンジニアリングとドメイン駆動設計
masuda220
PRO
14
2.4k
【公開用】AI_Dev_Ex2026_AI_登壇資料
matsuritechnologies
PRO
1
450
アップデートで何が変わった?デモで学んで使いこなすIBM Bob2.0
muehara
0
220
文字起こし基盤の信頼性
abnoumaru
0
110
VPCセキュリティ対応の最新事情
nagisa53
1
110
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
200
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
500
ダッシュボード"開発"について 〜使われるダッシュボードのつくりかた〜
kimichan
0
180
AIツールを導入しても生産性はあがらない? カオナビが直面した 3つの壁と乗り越え方。/ Overcoming 3 Barriers to AI-Driven Productivity at kaonavi
kaonavi
0
140
全員がリーダーである世界へ キリマンジャロ登頂とシェアド・リーダー
jinwatanabe
0
120
「守りたい体験」を渡すだけで E2E を生成させられるようになった話
hinac0
2
990
生成AI×AWS CDK×AWS FISで"振り返れる"ミニGameDayをつくろう
yoshimi0227
2
520
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
500
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
910
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
How to make the Groovebox
asonas
2
2.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Building AI with AI
inesmontani
PRO
1
1.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
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