Mathema/cs ¡in ¡Data ¡Science ¡ Workshop ¡ Personalized ¡Page ¡Genera/on ¡using ¡Data, ¡Science, ¡ and ¡Algorithms ¡ Jus&n ¡Basilico ¡ Page ¡Algorithms ¡Engineering ¡ July ¡30, ¡2015 ¡ @Jus&nBasilico ¡ 1 ¡ 1 ¡
? ¡ 2 ¡
§ Interested ¡in ¡high-‑quality ¡ recommenda&ons ¡ § Proxy ¡ques&on: ¡ § Accuracy ¡in ¡predicted ¡ra&ng ¡ § Measured ¡by ¡root ¡mean ¡ squared ¡error ¡(RMSE) ¡ § Improve ¡by ¡10% ¡= ¡$1 ¡million! ¡ § Data ¡size: ¡ § 100M ¡ra&ngs ¡(back ¡then ¡ “almost ¡massive”) ¡ 3 ¡
Change ¡of ¡focus ¡ 2006 2015 ¡ ¡ 4 ¡
Ne@lix ¡Scale ¡ § > ¡65M ¡members ¡ § > ¡50 ¡countries ¡ § > ¡1000 ¡device ¡types ¡ § Hours: ¡> ¡3B/month ¡ § Plays: ¡> ¡100M/day ¡ § Log ¡100B ¡events/day ¡ § 36.5% ¡of ¡peak ¡US ¡ downstream ¡traffic ¡ 5 ¡
Where ¡we ¡use ¡Data ¡Science? ¡ } ¡ § Personaliza/on ¡ § Search ¡ § Product ¡experimenta0on ¡ § Content ¡buying ¡ Data-‑driven ¡ ¡ § Content ¡delivery ¡ Company ¡ § Streaming ¡quality ¡ § Marke&ng ¡effec&veness ¡ § Predic&ng ¡reten&on ¡ § Fraud ¡detec&on ¡ § … ¡ 6 ¡
“Emmy ¡Winning” ¡ Approach ¡to ¡Recommenda/on ¡ 7 ¡ 7 ¡
Goal ¡ Help ¡members ¡find ¡content ¡to ¡watch ¡and ¡enjoy ¡ to ¡maximize ¡member ¡sa&sfac&on ¡and ¡reten&on ¡ 8 ¡
Everything ¡is ¡a ¡Recommenda/on ¡ Ranking ¡ Over ¡80% ¡of ¡what ¡ people ¡watch ¡ comes ¡from ¡our ¡ recommenda/ons ¡ Rows ¡ Recommenda/ons ¡ are ¡driven ¡by ¡ Machine ¡Learning ¡ 9 ¡
Top Picks Personaliza&on ¡awareness ¡ Diversity ¡ ¡ ¡ 10 ¡
Personalized genres § Genres ¡focused ¡on ¡user ¡interest ¡ § Derived ¡from ¡tag ¡combina&ons ¡ § Provide ¡context ¡and ¡evidence ¡ § How ¡are ¡they ¡generated? ¡ § Implicit : ¡Based ¡on ¡recent ¡plays, ¡ ra&ngs ¡& ¡other ¡interac&ons ¡ § Explicit: ¡Taste ¡preferences ¡ ¡ ¡ 11 ¡
Similarity ¡ § Recommend ¡videos ¡similar ¡ to ¡one ¡you’ve ¡liked ¡ § “Because ¡you ¡watched” ¡ rows ¡ § Pivots ¡ § Video ¡informa&on ¡page ¡ § In ¡response ¡to ¡user ¡ac&ons ¡ (search, ¡list ¡add, ¡…) ¡ ¡ 12 ¡
Science ¡and ¡Data ¡ 13 ¡ 13 ¡
Machine ¡Learning ¡Approach ¡ Problem ¡ Metrics ¡ Data ¡ Model ¡ Algorithm ¡ 14 ¡
Data ¡ § Plays ¡ § Dura&on, ¡bookmark, ¡&me, ¡ device, ¡… ¡ § Ra&ngs ¡ § Metadata ¡ § Tags, ¡synopsis, ¡cast, ¡… ¡ § Impressions ¡ § Interac&ons ¡ § Search, ¡list ¡add, ¡scroll, ¡… ¡ 15 ¡
Models ¡& ¡Algorithms ¡ Regression ¡(Linear, ¡logis&c, ¡elas&c ¡net) ¡ § SVD ¡and ¡other ¡Matrix ¡Factoriza&ons ¡ § Factoriza&on ¡Machines ¡ § Restricted ¡Boltzmann ¡Machines ¡ § Deep ¡Neural ¡Networks ¡ § Markov ¡Models ¡and ¡Graph ¡Algorithms ¡ § Clustering ¡ § Latent ¡Dirichlet ¡Alloca&on ¡ § Gradient ¡Boosted ¡Decision ¡Trees/ § Random ¡Forests ¡ Gaussian ¡Processes ¡ § … ¡ § 16 ¡
A/B ¡Tes/ng ¡ § Randomized, ¡controlled ¡experiments ¡ § Start ¡with ¡hypothesis ¡for ¡poten&al ¡improvement ¡ Control ¡ Idea ¡1 ¡ § Take ¡random ¡sample ¡of ¡users ¡(say ¡~500k) ¡ § Assign ¡half ¡to ¡control ¡group ¡(exis&ng ¡experience) ¡ Time ¡ § Assign ¡other ¡half ¡to ¡new ¡experience ¡ Metrics ¡ § Collect ¡business-‑relevant ¡metrics ¡over ¡&me ¡(say ¡1-‑2 ¡ months) ¡ § Reten&on ¡ § Engagement ¡(hours ¡of ¡plays) ¡ Significant? ¡ § Compare ¡outcomes ¡with ¡sta&s&cal ¡test ¡ § Significant ¡improvement? ¡Roll ¡out ¡new ¡experience ¡ § No? ¡Use ¡insight ¡to ¡inform ¡next ¡hypothesis ¡ 17 ¡
Offline-‑Online ¡Tes/ng ¡Process ¡ Weeks/Months ¡ Hours/Days ¡ Deploy ¡to ¡ Offline ¡ Online ¡A/B ¡ Success ¡ Success ¡ all ¡users ¡ Experiments ¡ Tests ¡ Failure ¡ 18 ¡
Evolu/on ¡of ¡our ¡Recommenda/on ¡Approach ¡ 4.7 ¡ Ranking ¡ Page ¡Genera&on ¡ Ra&ng ¡ 19 ¡
Personalized ¡Ra/ng ¡Predic/on ¡ 20 ¡ 20 ¡
Ra/ng ¡Predic/on ¡ Videos ¡ Videos ¡ V ¡ × ¡ d ¡ § Based ¡on ¡first ¡year ¡progress ¡prize ¡ Users ¡ Users ¡ ≈ ¡ R ¡ U ¡ § Top ¡2 ¡algorithms ¡ § Matrix ¡Factoriza&on ¡(SVD++) ¡ (99% ¡Sparse) ¡ d ¡ § Restricted ¡Boltzmann ¡Machines ¡ (RBM) ¡ § Ensemble: ¡Linear ¡blend ¡ 21 ¡
Ranking ¡by ¡ra/ngs ¡ 4.7 ¡ 4.6 ¡ 4.5 ¡ 4.5 ¡ 4.5 ¡ 4.5 ¡ 4.5 ¡ 4.5 ¡ 4.5 ¡ 4.5 ¡ Niche ¡&tles ¡ High ¡average ¡ra&ngs… ¡by ¡those ¡who ¡would ¡watch ¡it ¡ 22 ¡
23 ¡
Personalized ¡Ranking ¡ 24 ¡ 24 ¡
Learning ¡to ¡Rank ¡ § Approaches: ¡ 1 ¡ 0.9 ¡ § Point-‑wise : ¡Loss ¡over ¡items ¡ (Classifica&on, ¡ordinal ¡regression, ¡MF, ¡…) ¡ 0.8 ¡ 0.7 ¡ § Pair-‑wise : ¡Loss ¡over ¡preferences ¡ (RankSVM, ¡RankNet, ¡BPR, ¡…) ¡ 0.6 ¡ Importance ¡ 0.5 ¡ § List-‑wise : ¡(Smoothed) ¡loss ¡over ¡ranking ¡ (LambdaMART, ¡DirectRank, ¡GAPfm, ¡…) ¡ 0.4 ¡ 0.3 ¡ § Ranking ¡quality ¡measures: ¡ ¡ ¡ 0.2 ¡ § Recall@N, ¡Precision@N, ¡NDCG, ¡MRR, ¡ 0.1 ¡ ERR, ¡MAP, ¡FCP, ¡… ¡ 0 ¡ 0 ¡ 20 ¡ 40 ¡ 60 ¡ 80 ¡ 100 ¡ Rank ¡ NDCG ¡ MRR ¡ FCP ¡ 25 ¡
Example: ¡Two ¡features, ¡linear ¡model ¡ 1 ¡ Predicted ¡Ra&ng ¡ 2 ¡ Final ¡Ranking ¡ 3 ¡ 4 ¡ Linear ¡Model: ¡ f rank ( u , v ) ¡= ¡ w 1 ¡ p ( v ) ¡+ ¡ w 2 ¡ r ( u , v ) ¡ ¡ 5 ¡ Popularity ¡ 26 ¡
Personalized ¡Ranking ¡ 27 ¡
“Learning ¡to ¡Row” ¡ Personalized ¡Page ¡Genera/on ¡ 28 ¡ 28 ¡
Page-‑level ¡algorithmic ¡challenge ¡ 1 ¡personalized ¡page ¡ 10,000s ¡of ¡ 10-‑40 ¡ possible ¡ rows ¡ rows ¡ … ¡ per ¡device ¡ Variable ¡number ¡of ¡ possible ¡videos ¡per ¡ row ¡(up ¡to ¡thousands) ¡ 29 ¡
Balancing ¡a ¡Personalized ¡Page ¡ Accurate ¡ vs. ¡ Diverse ¡ Discovery ¡ vs. ¡ Con&nua&on ¡ Depth ¡ vs. ¡ Coverage ¡ Freshness ¡ vs. ¡ Stability ¡ Recommenda&ons ¡ vs. ¡ Tasks ¡ 30 ¡
Browsing ¡Modeling ¡ More ¡likely ¡ to ¡see ¡ Less ¡likely ¡ 31 ¡
Process ¡for ¡crea/ng ¡rows ¡ Find ¡ Candidates ¡ Choose ¡ Evidence ¡ Filter ¡& ¡ Format ¡ Deduplicate ¡ Rank ¡ 32 ¡
Building ¡a ¡page ¡algorithmically ¡ Approaches ¡ 1. Rule-‑based ¡ 2. Row-‑independent ¡ 3. Stage-‑wise ¡ 4. Page-‑wise ¡ 33 ¡
Rule-‑based ¡Approach ¡ Create ¡rules ¡for ¡loca&on ¡of ¡rows ¡ Pros: ¡ § § Non-‑personalized ¡layout ¡ § Backed ¡up ¡by ¡AB ¡tes&ng ¡ § § Easy ¡to ¡compute ¡ Op&mize ¡by ¡AB ¡tes&ng ¡ § § Very ¡familiar ¡page ¡layout ¡ Cons: ¡ § Example: ¡ § § One ¡size ¡fits ¡nobody ¡ § First: ¡Con&nue ¡Watching ¡(if ¡any) ¡ § Local ¡op&ma ¡ § Next: ¡Top ¡picks ¡ § Hard ¡to ¡add ¡new ¡kinds ¡of ¡rows ¡ § Next: ¡Popular ¡on ¡Newlix ¡ § Rules ¡get ¡complicated ¡ § Next ¡3: ¡Because ¡you ¡watched ¡(if ¡ § S&ll ¡need ¡to ¡pick ¡best ¡rows ¡within ¡ any) ¡ groupings ¡ § Next ¡3: ¡Genres ¡ § Next: ¡Recently ¡added ¡ § … ¡ 34 ¡
Recommend
More recommend