Personalized Page Genera/on using Data, Science, and - - PowerPoint PPT Presentation

personalized page genera on using data science and
SMART_READER_LITE
LIVE PREVIEW

Personalized Page Genera/on using Data, Science, and - - PowerPoint PPT Presentation

Mathema/cs in Data Science Workshop Personalized Page Genera/on using Data, Science, and Algorithms Jus&n Basilico Page Algorithms Engineering July 30,


slide-1
SLIDE 1 1 ¡ 1 ¡ Personalized ¡Page ¡Genera/on ¡using ¡Data, ¡Science, ¡ and ¡Algorithms ¡ Jus&n ¡Basilico ¡ Page ¡Algorithms ¡Engineering ¡ July ¡30, ¡2015 ¡ @Jus&nBasilico ¡ Mathema/cs ¡in ¡Data ¡Science ¡ Workshop ¡
slide-2
SLIDE 2 2 ¡

? ¡

slide-3
SLIDE 3 3 ¡ § 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”) ¡
slide-4
SLIDE 4 4 ¡ Change ¡of ¡focus ¡ ¡ ¡ 2006 2015
slide-5
SLIDE 5 5 ¡ 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 ¡
slide-6
SLIDE 6 6 ¡ Where ¡we ¡use ¡Data ¡Science? ¡ § Personaliza/on ¡ § Search ¡ § Product ¡experimenta0on ¡ § Content ¡buying ¡ § Content ¡delivery ¡ § Streaming ¡quality ¡ § Marke&ng ¡effec&veness ¡ § Predic&ng ¡reten&on ¡ § Fraud ¡detec&on ¡ § … ¡

Data-­‑driven ¡ ¡ Company ¡

} ¡

slide-7
SLIDE 7 7 ¡ 7 ¡

Approach ¡to ¡Recommenda/on ¡

“Emmy ¡Winning” ¡
slide-8
SLIDE 8 8 ¡ Goal ¡

Help ¡members ¡find ¡content ¡to ¡watch ¡and ¡enjoy ¡ to ¡maximize ¡member ¡sa&sfac&on ¡and ¡reten&on ¡

slide-9
SLIDE 9 9 ¡ Everything ¡is ¡a ¡Recommenda/on ¡ Rows ¡ Ranking ¡ Over ¡80% ¡of ¡what ¡ people ¡watch ¡ comes ¡from ¡our ¡ recommenda/ons ¡ Recommenda/ons ¡ are ¡driven ¡by ¡ Machine ¡Learning ¡
slide-10
SLIDE 10 10 ¡ Top Picks ¡ ¡ Personaliza&on ¡awareness ¡ Diversity ¡
slide-11
SLIDE 11 11 ¡ 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 ¡ ¡ ¡
slide-12
SLIDE 12 12 ¡ 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, ¡…) ¡ ¡
slide-13
SLIDE 13 13 ¡ 13 ¡

Science ¡and ¡Data ¡

slide-14
SLIDE 14 14 ¡ Machine ¡Learning ¡Approach ¡ Problem ¡ Data ¡ Algorithm ¡ Model ¡ Metrics ¡
slide-15
SLIDE 15 15 ¡ Data ¡ § Plays ¡ § Dura&on, ¡bookmark, ¡&me, ¡ device, ¡… ¡ § Ra&ngs ¡ § Metadata ¡ § Tags, ¡synopsis, ¡cast, ¡… ¡ § Impressions ¡ § Interac&ons ¡ § Search, ¡list ¡add, ¡scroll, ¡… ¡
slide-16
SLIDE 16 16 ¡ 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 ¡ § … ¡
slide-17
SLIDE 17 17 ¡ A/B ¡Tes/ng ¡ § Randomized, ¡controlled ¡experiments ¡ § Start ¡with ¡hypothesis ¡for ¡poten&al ¡improvement ¡ § Take ¡random ¡sample ¡of ¡users ¡(say ¡~500k) ¡ § Assign ¡half ¡to ¡control ¡group ¡(exis&ng ¡experience) ¡ § Assign ¡other ¡half ¡to ¡new ¡experience ¡ § Collect ¡business-­‑relevant ¡metrics ¡over ¡&me ¡(say ¡1-­‑2 ¡ months) ¡ § Reten&on ¡ § Engagement ¡(hours ¡of ¡plays) ¡ § Compare ¡outcomes ¡with ¡sta&s&cal ¡test ¡ § Significant ¡improvement? ¡Roll ¡out ¡new ¡experience ¡ § No? ¡Use ¡insight ¡to ¡inform ¡next ¡hypothesis ¡ Time ¡ Control ¡ Idea ¡1 ¡ Metrics ¡ Significant? ¡
slide-18
SLIDE 18 18 ¡ Offline-­‑Online ¡Tes/ng ¡Process ¡ Online ¡A/B ¡ Tests ¡ Offline ¡ Experiments ¡ Hours/Days ¡ Weeks/Months ¡ Success ¡ Failure ¡ Deploy ¡to ¡ all ¡users ¡ Success ¡
slide-19
SLIDE 19 19 ¡ Evolu/on ¡of ¡our ¡Recommenda/on ¡Approach ¡ Ra&ng ¡ Ranking ¡ Page ¡Genera&on ¡ 4.7 ¡
slide-20
SLIDE 20 20 ¡ 20 ¡

Personalized ¡Ra/ng ¡Predic/on ¡

slide-21
SLIDE 21 21 ¡ Ra/ng ¡Predic/on ¡ § Based ¡on ¡first ¡year ¡progress ¡prize ¡ § Top ¡2 ¡algorithms ¡ § Matrix ¡Factoriza&on ¡(SVD++) ¡ § Restricted ¡Boltzmann ¡Machines ¡ (RBM) ¡ § Ensemble: ¡Linear ¡blend ¡ R ¡ Videos ¡ ≈ ¡ Users ¡ U ¡ V ¡ (99% ¡Sparse) ¡ d ¡ Videos ¡ Users ¡ d ¡ × ¡
slide-22
SLIDE 22 22 ¡ 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 ¡
slide-23
SLIDE 23 23 ¡
slide-24
SLIDE 24 24 ¡ 24 ¡

Personalized ¡Ranking ¡

slide-25
SLIDE 25 25 ¡ Learning ¡to ¡Rank ¡ § Approaches: ¡ § Point-­‑wise: ¡Loss ¡over ¡items ¡ (Classifica&on, ¡ordinal ¡regression, ¡MF, ¡…) ¡ § Pair-­‑wise: ¡Loss ¡over ¡preferences ¡ (RankSVM, ¡RankNet, ¡BPR, ¡…) ¡ § List-­‑wise: ¡(Smoothed) ¡loss ¡over ¡ranking ¡ (LambdaMART, ¡DirectRank, ¡GAPfm, ¡…) ¡ § Ranking ¡quality ¡measures: ¡ ¡ ¡ § Recall@N, ¡Precision@N, ¡NDCG, ¡MRR, ¡ ERR, ¡MAP, ¡FCP, ¡… ¡ 0 ¡ 0.1 ¡ 0.2 ¡ 0.3 ¡ 0.4 ¡ 0.5 ¡ 0.6 ¡ 0.7 ¡ 0.8 ¡ 0.9 ¡ 1 ¡ 0 ¡ 20 ¡ 40 ¡ 60 ¡ 80 ¡ 100 ¡ Importance ¡ Rank ¡ NDCG ¡ MRR ¡ FCP ¡
slide-26
SLIDE 26 26 ¡ Example: ¡Two ¡features, ¡linear ¡model ¡ Popularity ¡ Predicted ¡Ra&ng ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ Linear ¡Model: ¡ frank(u,v) ¡= ¡w1 ¡p(v) ¡+ ¡w2 ¡r(u,v) ¡ ¡ Final ¡Ranking ¡
slide-27
SLIDE 27 27 ¡ Personalized ¡Ranking ¡
slide-28
SLIDE 28 28 ¡ 28 ¡

Personalized ¡Page ¡Genera/on ¡

“Learning ¡to ¡Row” ¡
slide-29
SLIDE 29 29 ¡ Page-­‑level ¡algorithmic ¡challenge ¡ 10,000s ¡of ¡ possible ¡ rows ¡ … ¡ 10-­‑40 ¡ rows ¡ Variable ¡number ¡of ¡ possible ¡videos ¡per ¡ row ¡(up ¡to ¡thousands) ¡ 1 ¡personalized ¡page ¡ per ¡device ¡
slide-30
SLIDE 30 30 ¡ Balancing ¡a ¡Personalized ¡Page ¡
  • vs. ¡
Accurate ¡ Diverse ¡
  • vs. ¡
Discovery ¡ Con&nua&on ¡
  • vs. ¡
Depth ¡ Coverage ¡
  • vs. ¡
Freshness ¡ Stability ¡
  • vs. ¡
Recommenda&ons ¡ Tasks ¡
slide-31
SLIDE 31 31 ¡ Browsing ¡Modeling ¡ More ¡likely ¡ to ¡see ¡ Less ¡likely ¡
slide-32
SLIDE 32 32 ¡ Process ¡for ¡crea/ng ¡rows ¡ Find ¡ Candidates ¡ Evidence ¡ Filter ¡& ¡ Deduplicate ¡ Rank ¡ Format ¡ Choose ¡
slide-33
SLIDE 33 33 ¡ Building ¡a ¡page ¡algorithmically ¡ Approaches ¡
  • 1. Rule-­‑based ¡
  • 2. Row-­‑independent ¡
  • 3. Stage-­‑wise ¡
  • 4. Page-­‑wise ¡
slide-34
SLIDE 34 34 ¡ Rule-­‑based ¡Approach ¡ § Create ¡rules ¡for ¡loca&on ¡of ¡rows ¡ § Non-­‑personalized ¡layout ¡ § Op&mize ¡by ¡AB ¡tes&ng ¡ § Example: ¡ § First: ¡Con&nue ¡Watching ¡(if ¡any) ¡ § Next: ¡Top ¡picks ¡ § Next: ¡Popular ¡on ¡Newlix ¡ § Next ¡3: ¡Because ¡you ¡watched ¡(if ¡ any) ¡ § Next ¡3: ¡Genres ¡ § Next: ¡Recently ¡added ¡ § … ¡ § Pros: ¡ § Backed ¡up ¡by ¡AB ¡tes&ng ¡ § Easy ¡to ¡compute ¡ § Very ¡familiar ¡page ¡layout ¡ § Cons: ¡ § One ¡size ¡fits ¡nobody ¡ § Local ¡op&ma ¡ § Hard ¡to ¡add ¡new ¡kinds ¡of ¡rows ¡ § Rules ¡get ¡complicated ¡ § S&ll ¡need ¡to ¡pick ¡best ¡rows ¡within ¡ groupings ¡
slide-35
SLIDE 35 35 ¡ Row-­‑independent ¡Approach ¡ § Treat ¡row ¡selec&on ¡as ¡a ¡standard ¡ ranking ¡problem ¡ § Greedily ¡rank ¡rows ¡by ¡f(r ¡| ¡u, ¡d) ¡ § Sort ¡and ¡take ¡top ¡n ¡ § Approaches: ¡ § Top-­‑n ¡recommenda&on ¡ algorithms ¡ § Pros: ¡ § Available ¡algorithms ¡ § Fast ¡ § High ¡accuracy ¡ § Cons: ¡ § No ¡considera&on ¡of ¡diversity ¡ § People ¡watch ¡videos, ¡row ¡ interac&on ¡is ¡indirect ¡
slide-36
SLIDE 36 36 ¡ Stage-­‑wise ¡Approach ¡ § Use ¡informa&on ¡about ¡already ¡ picked ¡rows ¡ § Pick ¡next ¡rows ¡by ¡f(r ¡| ¡u, ¡d, ¡p1:n) ¡ § Approaches: ¡ § Train ¡scoring ¡model ¡ § Greedy ¡ § Submodular ¡op&miza&on ¡ § K-­‑step ¡look-­‑ahead ¡ § Pros: ¡ § Can ¡balance ¡accuracy ¡and ¡ diversity ¡ § Follows ¡naviga&on ¡pazern ¡ § Cons: ¡ § May ¡need ¡to ¡evaluate ¡each ¡row ¡ mul&ple ¡&mes ¡from ¡deduping ¡ § S&ll ¡greedy ¡ § Hard ¡to ¡get ¡training ¡data ¡
slide-37
SLIDE 37 37 ¡ Page-­‑wise ¡approach ¡ § Op&mize ¡the ¡whole ¡page ¡ § Poten&ally ¡re-­‑rank ¡within ¡rows ¡ § Total ¡page ¡fitness ¡f(p ¡| ¡u, ¡d) ¡ § Approaches: ¡ § Constrained ¡op&miza&on ¡ § Approximate ¡integer ¡ programming ¡ § Pros: ¡ § Includes ¡informa&on ¡about ¡en&re ¡ page ¡ § Can ¡include ¡diversity ¡and ¡ deduping ¡into ¡objec&ve ¡ § Able ¡to ¡synthesize ¡rows ¡ § Cons: ¡ § Computa&onally ¡expensive ¡ § Huge ¡space ¡of ¡possible ¡pages ¡
slide-38
SLIDE 38 38 ¡ Row ¡Features ¡ § Quality ¡of ¡items ¡ § Features ¡of ¡items ¡ § Quality ¡of ¡evidence ¡ § User-­‑row ¡interac&ons ¡ § Item/row ¡metadata ¡ § Recency ¡ § Item-­‑row ¡affinity ¡ § Row ¡length ¡ § Posi&on ¡on ¡page ¡ § Title ¡ § Diversity ¡ § Similarity ¡ § Freshness ¡ § … ¡
slide-39
SLIDE 39 39 ¡ Page-­‑Level ¡Metrics ¡ § How ¡do ¡you ¡measure ¡the ¡quality ¡of ¡the ¡homepage? ¡ § Ease ¡of ¡discovery ¡ § Diversity ¡ § Novelty ¡ § … ¡ § Challenges: ¡ § Posi&on ¡effects ¡ § Row-­‑video ¡generaliza&on ¡ § Approach: ¡2D ¡versions ¡of ¡ranking ¡quality ¡metrics ¡
slide-40
SLIDE 40 40 ¡ Simple example: Recall @ row-by-column Drama ¡ Ac&on ¡ Comedy ¡ Page ¡Variant ¡1 ¡ Drama ¡ Sitcoms ¡ Page ¡Variant ¡2 ¡ Top ¡Picks ¡ Sci-­‑Fi ¡ Comedy ¡ Page ¡Variant ¡3 ¡ ✔ ✔ ✔ ✔ Sitcoms ¡ User ¡Watched ¡ 1/3 ¡ 1/3 ¡ 1/3 ¡ 0/3 ¡ 1/3 ¡ 2/3 ¡ 2/3 ¡ 3/3 ¡ 3/3 ¡ ✔ ✔
slide-41
SLIDE 41 41 ¡ Offline Results: Recall @ row-by-column 0 ¡ 5 ¡ 10 ¡ 15 ¡ 20 ¡ 25 ¡ 30 ¡ 35 ¡ Recall ¡ Row ¡ Previous ¡ Template ¡ Best ¡ personalized ¡ layout ¡
slide-42
SLIDE 42 42 ¡ 42 ¡

Conclusions ¡

slide-43
SLIDE 43 43 ¡ Evolu/on ¡of ¡Recommenda/on ¡Approach ¡ Ra&ng ¡ Ranking ¡ Page ¡Genera&on ¡ 4.7 ¡
slide-44
SLIDE 44 44 ¡ Research ¡Direc/ons ¡

Presenta&on ¡ effects ¡ Full-­‑page ¡

  • p&miza&on ¡

Context ¡ Awareness ¡ Evidence ¡ Selec&on ¡ Global ¡ Algorithms ¡ Cold ¡start ¡

slide-45
SLIDE 45 45 ¡

Thank ¡You ¡

Jus&n ¡Basilico ¡ jbasilico@newlix.com ¡ @Jus&nBasilico ¡