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
990
atmaCup#15と実世界のレコメンドの比較(の一例)
nadare
August 07, 2023
Tweet
Share
More Decks by nadare
See All by nadare
DMMTVにおけるデータ蓄積とモデル改善
nadare881
0
390
DMMのあちこちをパーソナライズする推薦システム
nadare881
2
1.3k
embeddingを用いた分析・検索・推薦の技術
nadare881
0
3.9k
Other Decks in Programming
See All in Programming
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
120
A comprehensive view of refactoring
marabesi
0
970
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
2
640
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
120
Create a website using Spatial Web
akkeylab
0
290
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
360
FormFlow - Build Stunning Multistep Forms
yceruto
1
190
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
300
ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化
knih
11
2k
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
250
Claude Codeの使い方
ttnyt8701
1
130
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
3k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Building Applications with DynamoDB
mza
95
6.5k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Adopting Sorbet at Scale
ufuk
77
9.4k
Scaling GitHub
holman
459
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Being A Developer After 40
akosma
90
590k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
920
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