Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Personalizedcontentblending

InthePinteresthomefeed
StephaniedeWet,

PinterestEngineer
Pinterest
Whatisahomefeed?
Blendingmodel.
Agenda
1
2
Whatisa

homefeed?
1
Pinterestisa
personalized
catalogofideas.
men’s style
Jacob Hinmon
End Clothing
Men’s blue jacket
PinAvisualbookmark
savedfromthe
internetbyauser.
Weserve

morethan3trillion
Pinseveryyear,

orabout

10billionaday.
Followedtopics
Followedusers
Recommendations
Theresultis…
Recommendation
Social
Newcontent
Howdoesthe

homefeedwork?
Recommendations Ranking
Model
Social
Connections
Ranking
Model
Source
Source
Recommendation
Social
Newcontent
Howdoesthe

...
Howdoesthe

homefeedwork?
Recommendations Ranking
Model
Social
Connections
Ranking
Model
Source Recspool
Social poolSource...
Contentranking
Wehavedifferentmodelsforeachtypeofcontent.
Contentranking
Wehavedifferentmodelsforeachtypeofcontent.
Why?
Contentranking
Wehavedifferentmodelsforeachtypeofcontent.
Why?
• Parallelizesmodeldevelopment
Contentranking
Wehavedifferentmodelsforeachtypeofcontent.
Why?
• Parallelizesmodeldevelopment
• Differentcontenttypesmayha...
Contentranking
Wehavedifferentmodelsforeachtypeofcontent.
Why?
• Parallelizesmodeldevelopment
• Differentcontenttypesmayha...
Contentranking
Wehavedifferentmodelsforeachtypeofcontent.
Why?
• Parallelizesmodeldevelopment
• Differentcontenttypesmayha...
Contentranking
Wehavedifferentmodelsforeachtypeofcontent.
Why?
• Parallelizesmodeldevelopment
• Differentcontenttypesmayha...
Theblendingproblem
Recspool
Social pool
Blender
?
homefeed
Goal:Combinetheresultsfromthepoolsintoonesortedfeed.
Theblendingproblem
Goal:Combinetheresultsfromthepoolsintoonesortedfeed.
Theblendingproblem
Goal:Combinetheresultsfromthepoolsintoonesortedfeed.
Constraints
Theblendingproblem
Goal:Combinetheresultsfromthepoolsintoonesortedfeed.
Constraints
• Mustmaintaintherankingofeachpool.
Theblendingproblem
Goal:Combinetheresultsfromthepoolsintoonesortedfeed.
Constraints
• Mustmaintaintherankingofeachpool.
• ...
Theblendingproblem
Goal:Combinetheresultsfromthepoolsintoonesortedfeed.
Constraints
• Mustmaintaintherankingofeachpool.
• ...
Theblendingproblem
Goal:Combinetheresultsfromthepoolsintoonesortedfeed.
Constraints
• Mustmaintaintherankingofeachpool.
• ...
Theblendingproblem
Goal:Combinetheresultsfromthepoolsintoonesortedfeed.
Constraints
• Mustmaintaintherankingofeachpool.
• ...
Blending
model
2
Whichmodel?
Whichmodel?
• Fixedratio
Whichmodel?
• Fixedratio
• Calibraterankingmodels
Whichmodel?
• Fixedratio
• Calibraterankingmodels
• Multi-armedbanditapproach
Model:Multi-armedbandit
Eacharmofthebanditrepresentsoneofthepools.
Recommendations Friends
Samplingtechnique
• Unliketheclassicalbanditproblem,wedonotget
feedbackaftereverysample.
• Instead,wewillsamplecontentinba...
Data
Foreachuserandpool,wehavehistoricengagementdata.

Totalnumberof:
• PositiveActions(Clickthroughs,Repins,Closeups,…)

...
Betadistribution
Beta(5, 10)
Beta(10, 5)
Beta(50, 50)
E(Beta) = # actions / # views
Responsedistribution
Weshouldrepresenteachtypeofactionwithitsownbeta
distribution,anditsownreward.
Wehavealinearcombinatio...
Responsedistribution
Weshouldrepresenteachtypeofactionwithitsownbeta
distribution,anditsownreward.
Inessence,wehavealinear...
Howdidwedo?
Goal:Combinetheresultsfromthepoolsintoonesortedfeed.
Constraints
• Mustmaintaintherankingofeachpool.

• Scores...
Priordistribution
Foruserswithlittledata,wewanttoenforce
that“theyshouldseesomeofeachofthe

typesofcontentineverypage.”
We...
Samplingtechnique
• Ineachround,wewillmaptheexpectedvalues

ofthepoolutilitiesontoanintegerratio.
Howdidwedo?
Goal:Combinetheresultsfromthepoolsintoonesortedfeed.
Constraints
• Mustmaintaintherankingofeachpool.

• Scores...
Example
Rewards
Positive action 1
Negative action -1
Example
Prior Values
Positive action 50
Negative action 0
View 1000
Pool
# Positive
Actions
# Negative
Actions
# Views Utility Function
Friends
5000 + 50 0 + 0 10000 + 1000
Recommendation
s
...
Pool Utility Function Expected Utility Mapped To Ratio
Friends
0.46 10
Recommendations
-0.04 0
Userwithhistory
Userwithhistory
Newuser
Pool
# Positive
Actions
# Negative
Actions
# Views Utility Function
Friends
2 + 50 0 + 0 100 + 1000
Recommendation...
Pool Utility Function Expected Utility Mapped To Ratio
Friends
0.047 5
Recommendations
0.051 5
Newuser
Newuser
Howdidwedo?
A/Bexperimentresults
4
3
2
0
%Changeofenabledvscontrol
Fractionofuserswhotake1+positiveaction
1
Daysintheexperiment
5 10 1...
A/Bexperimentresults
4
3
2
Daysintheexperiment
%Changeofenabledvscontrol
Rateofpositiveactionsonviewedcontent
1
0 5 10 15 ...
Personalizingtheratio
.25
FractionPinsseenfromsocialpool
Fractionofusers
.4
.3
.2
.1
.4
.3
.2
.1
.50 .75 .25 .50 .75
Contr...
Conclusions
Thismodelseemssimple,butitworkedincrediblywellinpractice.

Whywasitsuccessful?
• Tunablevariablesgiveuscontrol...
Thanks!We’rehiring
sdewet@pinterest.com
Stephanie deWet, Software Engineer, Pinterest at MLconf SF 2016
Stephanie deWet, Software Engineer, Pinterest at MLconf SF 2016
Prochain SlideShare
Chargement dans…5
×

Stephanie deWet, Software Engineer, Pinterest at MLconf SF 2016

868 vues

Publié le

Personalized Content Blending in the Pinterest Homefeed: The Pinterest Homefeed is a personalized feed of content (or “Pins”) drawn from many sources, including followed users, followed topics, and recommendations, among other sources. Each types of content is ranked by its own specialized machine learning model, and then blended with a ratio-based round robin to create the final Homefeed.

This presentation dives into how the current system evolved, and describes in depth an approach for personalizing the content blending ratio. This method uses historical user action data and models the Pin action rates of each pin type as a Bernoulli distribution. Each content type’s overall utility is modeled as a sum of the Pin action rate distributions, weighted by action-specific reward constants. I will discuss different methods for assigning blending ratios based on the utility distribution.

As we iterate on our blending systems, new questions have arisen as to how we measure success. . Unlike traditional search ranking problems, Pinterest faces both short- and long-term optimization challenges as we balance immediate user-engagement metric movements and long term ecosystem health. This talk concludes with an overview of some of the different dimensions of success we currently monitor as we continue to work on blending.

Publié dans : Technologie
  • Soyez le premier à commenter

Stephanie deWet, Software Engineer, Pinterest at MLconf SF 2016

  1. 1. Personalizedcontentblending
 InthePinteresthomefeed StephaniedeWet,
 PinterestEngineer Pinterest
  2. 2. Whatisahomefeed? Blendingmodel. Agenda 1 2
  3. 3. Whatisa
 homefeed? 1
  4. 4. Pinterestisa personalized catalogofideas.
  5. 5. men’s style Jacob Hinmon End Clothing Men’s blue jacket PinAvisualbookmark savedfromthe internetbyauser.
  6. 6. Weserve
 morethan3trillion Pinseveryyear,
 orabout
 10billionaday.
  7. 7. Followedtopics
  8. 8. Followedusers
  9. 9. Recommendations
  10. 10. Theresultis…
  11. 11. Recommendation Social Newcontent Howdoesthe
 homefeedwork?
  12. 12. Recommendations Ranking Model Social Connections Ranking Model Source Source Recommendation Social Newcontent Howdoesthe
 homefeedwork?
  13. 13. Howdoesthe
 homefeedwork? Recommendations Ranking Model Social Connections Ranking Model Source Recspool Social poolSource Recommendation Social Newcontent
  14. 14. Contentranking Wehavedifferentmodelsforeachtypeofcontent.
  15. 15. Contentranking Wehavedifferentmodelsforeachtypeofcontent. Why?
  16. 16. Contentranking Wehavedifferentmodelsforeachtypeofcontent. Why? • Parallelizesmodeldevelopment
  17. 17. Contentranking Wehavedifferentmodelsforeachtypeofcontent. Why? • Parallelizesmodeldevelopment • Differentcontenttypesmayhavedifferentimportantfeatures
  18. 18. Contentranking Wehavedifferentmodelsforeachtypeofcontent. Why? • Parallelizesmodeldevelopment • Differentcontenttypesmayhavedifferentimportantfeatures • Differentcontenttypesmayhavedifferentobjectivefunctions
  19. 19. Contentranking Wehavedifferentmodelsforeachtypeofcontent. Why? • Parallelizesmodeldevelopment • Differentcontenttypesmayhavedifferentimportantfeatures • Differentcontenttypesmayhavedifferentobjectivefunctions • Easytoaddnewtypesofcontent
  20. 20. Contentranking Wehavedifferentmodelsforeachtypeofcontent. Why? • Parallelizesmodeldevelopment • Differentcontenttypesmayhavedifferentimportantfeatures • Differentcontenttypesmayhavedifferentobjectivefunctions • Easytoaddnewtypesofcontent • Workswellinpractice
  21. 21. Theblendingproblem Recspool Social pool Blender ? homefeed Goal:Combinetheresultsfromthepoolsintoonesortedfeed.
  22. 22. Theblendingproblem Goal:Combinetheresultsfromthepoolsintoonesortedfeed.
  23. 23. Theblendingproblem Goal:Combinetheresultsfromthepoolsintoonesortedfeed. Constraints
  24. 24. Theblendingproblem Goal:Combinetheresultsfromthepoolsintoonesortedfeed. Constraints • Mustmaintaintherankingofeachpool.
  25. 25. Theblendingproblem Goal:Combinetheresultsfromthepoolsintoonesortedfeed. Constraints • Mustmaintaintherankingofeachpool. • Scoresarenotcomparableacrosspools.
  26. 26. Theblendingproblem Goal:Combinetheresultsfromthepoolsintoonesortedfeed. Constraints • Mustmaintaintherankingofeachpool. • Scoresarenotcomparableacrosspools. Desiredtraits
  27. 27. Theblendingproblem Goal:Combinetheresultsfromthepoolsintoonesortedfeed. Constraints • Mustmaintaintherankingofeachpool. • Scoresarenotcomparableacrosspools. Desiredtraits • Userswithsignificantpriorhistoryshouldseemoreofthecontenttypestheyprefer.
  28. 28. Theblendingproblem Goal:Combinetheresultsfromthepoolsintoonesortedfeed. Constraints • Mustmaintaintherankingofeachpool. • Scoresarenotcomparableacrosspools. Desiredtraits • Userswithsignificantpriorhistoryshouldseemoreofthecontenttypestheyprefer. • Weshouldbeabletocontroltheblendingrateforuserswithlittlepriorhistory;theseusers shouldseesomeofalltypesofcontent.
  29. 29. Blending model 2
  30. 30. Whichmodel?
  31. 31. Whichmodel? • Fixedratio
  32. 32. Whichmodel? • Fixedratio • Calibraterankingmodels
  33. 33. Whichmodel? • Fixedratio • Calibraterankingmodels • Multi-armedbanditapproach
  34. 34. Model:Multi-armedbandit Eacharmofthebanditrepresentsoneofthepools. Recommendations Friends
  35. 35. Samplingtechnique • Unliketheclassicalbanditproblem,wedonotget feedbackaftereverysample. • Instead,wewillsamplecontentinbatches. • Ineachround,wewillmapthepoolaffinitiesonto anintegerratio.
  36. 36. Data Foreachuserandpool,wehavehistoricengagementdata. Totalnumberof: • PositiveActions(Clickthroughs,Repins,Closeups,…) • NegativeActions(Hides) • Views
  37. 37. Betadistribution Beta(5, 10) Beta(10, 5) Beta(50, 50) E(Beta) = # actions / # views
  38. 38. Responsedistribution Weshouldrepresenteachtypeofactionwithitsownbeta distribution,anditsownreward. Wehavealinearcombinationofresponsesfromeachbandit. + … + rhide *rsave * Recs HideSave Friends Recs Friends
  39. 39. Responsedistribution Weshouldrepresenteachtypeofactionwithitsownbeta distribution,anditsownreward. Inessence,wehavealinearcombinationofbandits. Soweendupwiththefullutilityofapool:
  40. 40. Howdidwedo? Goal:Combinetheresultsfromthepoolsintoonesortedfeed. Constraints • Mustmaintaintherankingofeachpool. • Scoresarenotcomparableacrosspools. Desiredtraits • Userswithsignificantpriorhistoryshouldseemoreofthecontenttypestheyprefer. • Weshouldbeabletocontroltheblendingrateforuserswithlittlepriorhistory;theseusers shouldseesomeofalltypesofcontent.
  41. 41. Priordistribution Foruserswithlittledata,wewanttoenforce that“theyshouldseesomeofeachofthe
 typesofcontentineverypage.” Wecanenforcethiswithadditionalprioractioncounts. Prioractionscanbeselectedtogiveusthedesiredinitial blendfornewusers,andthedesiredrateofchange.
  42. 42. Samplingtechnique • Ineachround,wewillmaptheexpectedvalues
 ofthepoolutilitiesontoanintegerratio.
  43. 43. Howdidwedo? Goal:Combinetheresultsfromthepoolsintoonesortedfeed. Constraints • Mustmaintaintherankingofeachpool. • Scoresarenotcomparableacrosspools. Desiredtraits • Userswithsignificantpriorhistoryshouldseemoreofthecontenttypestheyprefer. • Weshouldbeabletocontroltheblendingrateforuserswithlittlepriorhistory;theseusers shouldseesomeofalltypesofcontent.
  44. 44. Example Rewards Positive action 1 Negative action -1
  45. 45. Example Prior Values Positive action 50 Negative action 0 View 1000
  46. 46. Pool # Positive Actions # Negative Actions # Views Utility Function Friends 5000 + 50 0 + 0 10000 + 1000 Recommendation s 0 + 50 500 + 0 10000 + 1000 Userwithhistory
  47. 47. Pool Utility Function Expected Utility Mapped To Ratio Friends 0.46 10 Recommendations -0.04 0 Userwithhistory
  48. 48. Userwithhistory
  49. 49. Newuser Pool # Positive Actions # Negative Actions # Views Utility Function Friends 2 + 50 0 + 0 100 + 1000 Recommendations 2 + 50 0 + 0 10 + 1000
  50. 50. Pool Utility Function Expected Utility Mapped To Ratio Friends 0.047 5 Recommendations 0.051 5 Newuser
  51. 51. Newuser
  52. 52. Howdidwedo?
  53. 53. A/Bexperimentresults 4 3 2 0 %Changeofenabledvscontrol Fractionofuserswhotake1+positiveaction 1 Daysintheexperiment 5 10 15 20
  54. 54. A/Bexperimentresults 4 3 2 Daysintheexperiment %Changeofenabledvscontrol Rateofpositiveactionsonviewedcontent 1 0 5 10 15 20
  55. 55. Personalizingtheratio .25 FractionPinsseenfromsocialpool Fractionofusers .4 .3 .2 .1 .4 .3 .2 .1 .50 .75 .25 .50 .75 Control Enabled
  56. 56. Conclusions Thismodelseemssimple,butitworkedincrediblywellinpractice. Whywasitsuccessful? • Tunablevariablesgiveuscontroloverbusinessobjectives. • Easytoaddnewpoolsofcontent. • Didn’trelyonanyinformationfromtherankingmodels.
  57. 57. Thanks!We’rehiring sdewet@pinterest.com

×