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
910
atmaCup#15と実世界のレコメンドの比較(の一例)
nadare
August 07, 2023
Tweet
Share
More Decks by nadare
See All by nadare
DMMTVにおけるデータ蓄積とモデル改善
nadare881
0
330
DMMのあちこちをパーソナライズする推薦システム
nadare881
2
1k
embeddingを用いた分析・検索・推薦の技術
nadare881
0
3.8k
Other Decks in Programming
See All in Programming
プロダクトの品質に コミットする / Commit to Product Quality
pekepek
2
770
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
210
Recoilを剥がしている話
kirik
5
6.6k
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
700
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
180
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
140
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
3
1.1k
「Chatwork」Android版アプリを 支える単体テストの現在
okuzawats
0
180
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
240
Symfony Mapper Component
soyuka
2
730
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
130
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Embracing the Ebb and Flow
colly
84
4.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
How to Ace a Technical Interview
jacobian
276
23k
Fireside Chat
paigeccino
34
3.1k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
It's Worth the Effort
3n
183
28k
Thoughts on Productivity
jonyablonski
67
4.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
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