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
atmaCup#15と実世界のレコメンドの比較(の一例)
Search
nadare
August 07, 2023
Programming
1
1k
atmaCup#15と実世界のレコメンドの比較(の一例)
nadare
August 07, 2023
Tweet
Share
More Decks by nadare
See All by nadare
DMMTVにおけるデータ蓄積とモデル改善
nadare881
1
450
DMMのあちこちをパーソナライズする推薦システム
nadare881
3
1.6k
embeddingを用いた分析・検索・推薦の技術
nadare881
0
4.1k
Other Decks in Programming
See All in Programming
Claude Code Skill入門
mayahoney
0
440
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
120
Nuxt Server Components
wattanx
0
150
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
170
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
650
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
150
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
410
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
130
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
210
Java 21/25 Virtual Threads 소개
debop
0
290
Feature Toggle は捨てやすく使おう
gennei
0
370
存在論的プログラミング: 時間と存在を記述する
koriym
5
550
Featured
See All Featured
BBQ
matthewcrist
89
10k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
130
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
Navigating Team Friction
lara
192
16k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
68
38k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
82
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Abbi's Birthday
coloredviolet
2
5.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Exploring anti-patterns in Rails
aemeredith
2
290
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
91
Transcript
© DMM.com CONFIDENTIAL atmaCup#15と実世界のレコメンドの比 較(の一例) レコメンドgrowthチーム 金子剛士 (nadare)
© DMM.com 自己紹介 金子 剛士 (nadare) DMM データサイエンスグループ レコメンドGrowthチーム所属 2022年10月中途入社 複数のサービスでレコメンドエンジン開発 atmaCup#14
3rd Kaggle Master : 4sq金、Riiid、H&Mソロ銀 2
© DMM.com DMMグループにおけるレコメンド DMMグループでは各サービスにおいてドメインに合わせレコメンドエンジンを作成しています。 レコメンド・パーソナライズの種類の代表例 - user2item レコメンド: ユーザー一人一人にパーソナライズした「あなたへのおすすめ作品」 -
item2item レコメンド: 商品ごとの「この作品を買った人はこんな作品も買っています」 - reranking: 検索結果をユーザーごとにパーソナライズし並び替えを行う 上記以外でも様々なアルゴリズム・MLによるUX最適化を行っています。 今回はDMMブックスとatmaCup#15の比較を行います。 3
© DMM.com atmaCup#15とDMMブックスの比較 ユーザー数・アイテム数によるデータの違い - ユーザー1998人、アイテム2000種類 - DMMブックス: 年間3400万以上のユーザー(※1)、98万冊以上の商品、20年以上のデータ →
使えるモデルが全然違う!! 業務ならではの最適化指標の違い - 業務ではARPU(平均売上金額)を目的に最適化(≠レコメンドしたもののクリック・購入率) → ユーザーにとって自明なレコメンドは除去、セレンディピティも重視しています。 ※1: 2022年における年間訪問デバイス数 4
© DMM.com ユーザー数・アイテム数によるデータの違い DMMブックス: 年間3400万ユーザー、98万冊以上の商品、20年以上のデータ → 2-towerモデルを採用して対応! 2-towerモデル: 2段階で絞り込み・ランキングを行うモデル -
retrieval: 近似近傍探索を用いたretrievalによる商品の高速な絞り込み - ranking: ビジネス知見や多様性を考慮した精度の高いrankingモデル データが多いとメタデータなしでも”それなり”のembeddingができます - タグや説明文をメタデータとして活用 - atmaCup#15 で改めてメタデータの重要性を確認 - メンテのしやすさと、競合に差をつける精度のバランス 5
© DMM.com 業務ならではの最適化指標の違い ユーザー体験の向上+ARPUの増加 ≠ その作品をクリック・購入するかの予測 コンペによっては同じものを繰り返し推薦するのがinteractionの予測には有効ですが... - あるマンガの1巻を買った人に2巻をレコメンドする? -
同じ作者の作品を改めてレコメンドとしても表示する? → 他の面も考慮し、購入済みの除外・シリーズごとの予測など自明なレコメンドを除いています セレンディピティ・多様性の重視 - ユーザーの購入済みのジャンルから少し離れた作品もレコメンド - レコメンドが一度に一つのジャンルへ偏りすぎないように - 毎日同じレコメンドで固定されないように →上記を考慮し、ABテストを通じてユーザー体験の向上を測定しています 6
© DMM.com アルゴリズム以外の最適化 データ分析を通じて、レコメンドアルゴリズム改善以外に表示方法の改善も行っています - 表示件数・商品の画像サイズのAB - 画面のファセットを工夫 - 検索の高性能化
何でもありな総合格闘技と思っています ABテストで実際に◦◦円の効果!と出ると楽しいです 7
© DMM.com まとめ コンペのレコメンドとDMMでのレコメンドでは以下の違いがありました - データの規模 - 最適化の目標 コンペと実務は異なるのですが様々な点で勉強になりました -
メタデータの扱いやテキストによる名寄せ - anime2vec・GNNの活用等 レコメンド業務に興味のある方はDMMのMLエンジニアへの応募を検討していただければ幸いです (アニメに興味を持った方はぜひDMM TVもおねがいします。30日無料体験あり) 8