Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ホーム画面レイアウトのパーソナライゼーション Mercari ML&Search Talk Vol.1 / mercari-home-personalization-ml-search-talk

ホーム画面レイアウトのパーソナライゼーション Mercari ML&Search Talk Vol.1 / mercari-home-personalization-ml-search-talk

Tomohiro Furusawa

December 14, 2021
Tweet

More Decks by Tomohiro Furusawa

Other Decks in Programming

Transcript

  1.  2 Twitter: @rilmayer_jp ϓϩμΫτϚωʔδϟʔ݉ΤϯδχΞ from DiscoveryνʔϜ • ීஈͷۀ຿ ◦

    PdM: ϝϧΧϦͷσΟεΧόϦʔྖҬ(Ϩίϝϯσʔγϣϯ ػೳ΍ϗʔϜը໘ͷύʔιφϥΠθʔγϣϯࢪࡦ)ʹؔ͢Δ σΟϨΫγϣϯ ◦ Engineering: ࢪࡦͷཱҊͱػೳ࣮૷΍γεςϜӡ༻
 • ޷͖ɾಘҙ ◦ ৘ใݕࡧ / ਪનγεςϜ ◦ ૊৫࿦ ࣗݾ঺հɿ ݹᖒஐ༟ ૊৫࿦ͱ 
 ݕࡧɾਪન😍
  2.  3 Discovery νʔϜ ϝϧΧϦͷύʔιφϥΠθʔγϣϯ΍Ϩίϝϯσʔγϣϯશൠʹؔͯ͠৽ػೳ
 ։ൃ͔ΒϓϥοτϑΥʔϜͷӡ༻·ͰΛ୲͏ɺଟ༷ͳεΩϧ(ΫϥΠΞϯτ͔Β
 όοΫΤϯυ·Ͱ)ͱόοΫάϥ΢ϯυΛ࣋ͭϝϯόʔͰߏ੒͞ΕͨνʔϜ ओͳνʔϜͷ࢓ࣄ • ϗʔϜը໘શମͷύʔιφϥΠθʔγϣϯ

    / ϨΠΞ΢τ࠷దԽ • Ϩίϝϯυίϯϙʔωϯτͷվળ ◦ ϗʔϜը໘ ▪ Ϣʔβʔ΁ͷ঎඼ਪન (“Ӿཡͨ͠঎඼͔Βͷ͓͢͢Ί” ) ▪ ͓͢͢ΊλΠϜϥΠϯ (“͓͢͢Ίͷ঎඼” ) ▪ ͳͲ.. . ◦ ঎඼ৄࡉϖʔδ ▪ ؔ࿈঎඼ (“͜ͷ঎඼Λݟ͍ͯΔਓʹ͓͢͢Ί”)
  3.  4 • ϗʔϜը໘ͷϨΠΞ΢τվળΛࢧ͑Δ࢓૊Έ • ϗʔϜը໘ύʔιφϥΠθʔγϣϯͷऔΓ૊Έ঺հ
 (λΠτϧΛύʔιφϥΠθʔγϣϯͱ͍ͯ͠·͕͢࠷దԽͷ࿩ϝΠϯͰ͢... ) 
 ຊ೔࿩͞ͳ͍͜ͱ

    • ݸผͷϨίϝϯσʔγϣϯػೳ։ൃࣄྫ • ૊৫ؒͰͷํ਑ͷ͢Γ߹Θͤ΍ਪਐͷ࢓ํ • ࣮ݧͷϑϨʔϜϫʔΫ΍վળϧʔϓͷճ͠ํ • ͳͲ ࠓ೔ͷ࿩
  4.  7 ϗʔϜը໘·ΘΓͷγεςϜΞʔΩςΫνϟมભ ϞϊϦγοΫ࣌୅ ϞδϡϥʔԽ (2019~) ύʔιφϥΠζج൫ (2021~) ϨΠΞ΢τ৘ใ (ϋʔυίʔυ)

    ίϯςϯπ Client Home 
 Service Client ϢʔβʔʹԠͨ͡ 
 ఏڙՄೳͳ 
 ίϯϙʔωϯτ܊ Home Service Ϣʔβʔผʹ 
 ࠷దԽ͞Εͨ 
 ϨΠΞ΢τ৘ใ Layout Optimizer ϨΠΞ΢τ৘ใ (ϋʔυίʔυ) Micro Services 
 (ίϯςϯπผ) Client Micro Services ϞϊϦε API
  5.  8 ϗʔϜը໘·ΘΓͷγεςϜΞʔΩςΫνϟมભ ϞϊϦγοΫ࣌୅ ϞδϡϥʔԽ (2019~) ύʔιφϥΠζج൫ (2021~) ϨΠΞ΢τ৘ใ (ϋʔυίʔυ)

    ίϯςϯπ Client Home 
 Service Client ϢʔβʔʹԠͨ͡ 
 ఏڙՄೳͳ 
 ίϯϙʔωϯτ܊ Home Service Ϣʔβʔผʹ 
 ࠷దԽ͞Εͨ 
 ϨΠΞ΢τ৘ใ Layout Optimizer ϨΠΞ΢τ৘ใ (ϋʔυίʔυ) Micro Services 
 (ίϯςϯπผ) Client Micro Services ϞϊϦε API
  6.  10 ϚΠΫϩαʔϏεͰίϯϙʔωϯτͷϞδϡϥʔԽ ෳ਺ͷνʔϜ͕ಠཱɾฒߦͯ͠։ൃ͕Մೳʹɻ Home Service Content Library 
 ఏڙՄೳͳίϯϙʔωϯτͷϞδϡʔϧ

    Layout Master 
 ίϯϙʔωϯτͷදࣔॱ Team A Contents A-1 Contents A-2 … Team B Contents B-1 Contents B-2 … … ͓٬༷ Contents A-1 Contents B-2 Contents D-2 … Layout Master Settin g 1. A- 1 2. B- 2 3. D 2 4. … ։ൃ! ։ൃ! … Client
  7.  12 ྫɿਪનίϯϙʔωϯτͷ։ൃ Home Service ਪનίϯϙʔωϯτ Service Content Library 


    ఏڙՄೳͳίϯϙʔ 
 ωϯτͷϞδϡʔϧ ਪનίϯϙʔωϯτ - UIύλʔϯɿUIύλʔϯ A - λΠτϧɿߪೖͨ͠঎඼͔Βͷ͓͢͢Ί - ग़ݱ৚݅ɿաڈNिؒͷؒʹ1఺Ҏ্ͷ
 ߪೖ͕͓͋ͬͨ٬༷ - σʔλߏ଄ɿλΠτϧɺΞΠςϜ৘ใ - ϩδοΫɿϨίϝϯυαʔϏε͔Β
 ਪનΞΠςϜ৘ใΛऔಘ - … ਪનίϯϙʔωϯτͷ։ൃऀ Layout Master 
 ίϯϙʔωϯτͷදࣔॱ Layout Master Settin g - A-1 → C-2 → [ਪનίϯϙʔωϯτ] → B-1 New Contents A-1 Contents B-2 ৽نਪન
 ίϯϙʔωϯτ … Client
  8.  13 ϗʔϜը໘·ΘΓͷγεςϜΞʔΩςΫνϟมભ ϞϊϦγοΫ࣌୅ ϞδϡϥʔԽ (2019~) ύʔιφϥΠζج൫ (2021~) ϨΠΞ΢τ৘ใ (ϋʔυίʔυ)

    ίϯςϯπ Client Home 
 Service Client ϢʔβʔʹԠͨ͡ 
 ఏڙՄೳͳ 
 ίϯϙʔωϯτ܊ Home Service Ϣʔβʔผʹ 
 ࠷దԽ͞Εͨ 
 ϨΠΞ΢τ৘ใ Layout Optimizer ϨΠΞ΢τ৘ใ (ϋʔυίʔυ) Micro Services 
 (ίϯςϯπผ) Client Micro Services ϞϊϦε API
  9.  14 ϗʔϜͷ։ൃʹଟ͘ͷ։ൃऀ͕औΓ૊ΊΔΑ͏ʹͳ͕ͬͨɺ
 ϨΠΞ΢τϚελʔΛʮ୭͕ʯɺʮͲͷΑ͏ʹʯมߋ͢Δ͔͕՝୊ʹɾɾɾ • എܠᶃɿίϯςϯπͷύʔιφϥΠζΛਐΊ͍ͨ ◦ ༷ʑͳଐੑͷϢʔβʔʹ͋ͬͨίϯςϯπΛϗʔϜͰఏڙͰ͖ΔΑ͏ʹ͍͖͍ͯͨ͠
 (ྫ: ొ࿥ͨ͠͹͔Γͷ͓٬༷ʹ͸ϝϧΧϦͰϗοτͳ঎඼ΛϨίϝϯυ͍ͨ͠ͳͲ)


    • എܠᶄɿϗʔϜΛ͓٬༷ͱͷద੾ͳίϛϡχέʔγϣϯͷ৔ͱ͍ͨ͠ ◦ ޿ࠂͳͲͨͱ͑ϝϧΧϦ͔ΒͷඞཁͳίϛϡχέʔγϣϯͰ͋ͬͯ΋ద੾ͳ͓٬༷ʹ
 ରͯ͠Ͱ͖Δ͚ͩద੾ͳλΠϛϯάͰఏڙ͍ͨ͠
 (ྫ: ϗʔϜը໘͕޿ࠂͰຒΊਚ͘͞ΕΔΑ͏ͳ͜ͱ͸ආ͚͍ͨͳͲ) ϞδϡϥʔԽޙͷ՝୊
  10.  16 ϗʔϜը໘ϨΠΞ΢τܾఆͷ࢓૊Έ Client ϢʔβʔʹԠͨ͡ఏڙ 
 Մೳͳίϯϙʔωϯτ IDΛ΋ͱʹɺͦΒΒͷ දࣔॱΛϦΫΤετ ྫ)

    [2, 3, 12, 1, …] Home Service ϗʔϜը໘ͷ ίϯςϯπΛ 
 ϦΫΤετ Layout Optimizer Layout Master Setting Optimization Model s User and Component Feature store ϢʔβʔʹԠͨ͡ 
 ϞσϧΛݺͼग़ͯ͠ίϯϙʔωϯτ ͷදࣔॱΛ֬ఆ Model 1 Model 2 ࠷దԽͷ݁ՌΛϗʔϜ αʔϏεʹϨεϙϯε ྫ) [1, 12, 3, …] ίϯϙʔωϯτID ʹԠͨ͡ίϯς ϯπΛ֤αʔϏ ε͔ΒϑΣον Ϣʔβʔ͝ͱʹ ҟͳΔϗʔϜը໘ ΛϨεϙϯε ᶃ ᶄ ᶅ ᶆ ᶇ ᶈ
  11.  20 ྫ: ϨΠΞ΢τύλʔϯͱλοϓϨʔτ ໰୊ઃఆɿ਺ଟ͘ͷϨΠΞ΢τ͔Β࠷ڧͷ΋ͷΛબͼ͍ͨ … 0.2 … 0.2 …

    0.1 Liked Items … 0.3 Banners Osusume Timeline … ??? Banners New 
 Component Osusume Timeline Liked Items Osusume Timeline Osusume Timeline Banners Osusume Timeline Osusume Timeline … ??? Banners New 
 Component ɾɾɾ ※ λοϓϨʔτ͸ϥϯμϜͳ஋ ※ ϓϩμΫτʹ͓͍ͯඞͣ͠΋λοϓϨʔτ͕ߴ͍͜ͱ͕ྑ͍Θ͚Ͱ͸ͳ͍
  12.  22 • બ୒ࢶ͕ଟ͘ͳΔɿϨΠΞ΢τύλʔϯ(ίϯϙʔωϯτ)͕૿͑͗͢Δ ͱɺ༗ݶ࣌ؒͰ͋Δఔ౓ͷظؒͷ͔͔ΔA/BςετͰൺֱ͢Δ͜ͱ͕೉͠ ͘ͳΔ • ύʔιφϥΠζϧʔϧͷ؅ཧ͕ࠔ೉ɿݸผͷ͓٬༷ʹԊͬͨϨΠΞ΢τͳ ͲΛߟ͑࢝ΊΔͱਓखʹΑΔϧʔϧ؅ཧ͸ඇৗʹେม •

    ΧελϚʔҎ֎ͷཁૉ͕େ͖͘ͳΔɿؔ܎ऀ͕૿͑ͯ͘Δͱ७ਮͳ
 ϓϩμΫτͷྑ͠ѱ͚ͩ͠ͰܾΊʹ͘͘ͳΔ͜ͱ΋͋Δ ϨΠΞ΢τύλʔϯΛA/Bςετ&PM൑அͰܾΊΔ՝୊ εέʔϧ͢Δ࢓૊ΈͰϨΠΞ΢τΛܾఆ͍ͨ͠
  13.  24 • ΞϧΰϦζϜͷҰ෼໺ ◦ ໰୊ઃఆɿҟͳΔ֬཰తͳใुઃఆ͕ͳ͞Ε͍ͯΔෳ਺ͷબ୒ࢶ
 (εϩοτϚγʔϯ=Banditʹྫ͑ΒΕΔ)͕ଘࡏ͢Δத͔Βྑ͍
 બ୒ࢶΛબΜͰ࠷ऴతʹಘΔใुΛ࠷େԽ͍ͨ͠ ◦ ઓུɿࣄલʹ͍࣋ͬͯΔ஌ࣝ(ྫ͑͹ɺબ୒ࢶA͕࠷΋ใु͕ߴͦ͏


    ͳͲ)Λ׆༻ͭͭ͠ɺະ஌ͷબ୒ࢶ΋୳ΔόϥϯεΛ͏·͘औΔ ◦ ༻ޠɿબ୒ࢶΛεϩοτϚγϯͷʮ࿹(Arm)ʯʹྫ͑ͯɺબ୒ࢶΛ
 બΜͩࡍʹಘΒΕΔརӹΛʮใु(reword)ʯͱݺͿɻ
 ※ଛࣦʹ໨Λ޲͚ͯޙչ(Regret)ͱݺͿ৔߹΋͋Δɻ
 • ໘ന͞(ݸਓͷײ૝ ) ◦ ࣮༻໘Ͱ΋Α͋͘Δ໰୊ઃఆͳͷͰԠ༻ൣғ͕޿͍ ◦ ཧ࿦໘Ͱ΋ظ଴஋ͳͲͷܭࢉ͕͔ͬ͠ΓͰ͖Δ όϯσΟοτΞϧΰϦζϜͱ͸
  14.  25 όϯσΟοτΞϧΰϦζϜͷ໰୊ʹམͱ͠ࠐΉͱɾɾɾ • ࿹ … ϨΠΞ΢τύλʔϯ • ใु …

    ͋ΔϨΠΞ΢τύλʔϯΛϢʔβʔʹఏڙͨ͠ͱ͖ͷCTR(λοϓϨʔτ) ϨΠΞ΢τ࠷దԽΛόϯσΟοτΞϧΰϦζϜͰߟ͑Δ
  15.  27 ηάϝϯτ2 ηάϝϯτ1 ݱࡏτϥΠதͷϩδοΫ֓ཁ • ε-greedyΞϧΰϦζϜ: εͷ֬཰Ͱ୳ࡧ͠ɺ1-εͷ֬཰Ͱ׆༻(=ࠓ·Ͱͷσʔλ͔Β࠷΋ྑ͍ ͱ෼͔͍ͬͯΔϨΠΞ΢τͷఏڙ)Λߦ͏ɻ •

    ηάϝϯτϕʔεɿϢʔβʔηάϝϯτ͝ͱʹ୳ࡧͱ׆༻Λߦ͏ɻ Layout Optimizer Hom e ϨΠΞ΢τύλʔϯ Ϣʔβʔηάϝϯτ ɾɾɾ ηάϝϯτ3 ɾɾɾ
  16.  29 ࣮ݧᶃɿߋ৽ִؒʹؔ͢Δ࣮ݧ ᶃ-A ߋ৽ִؒ(௕ ) • ઃఆ ◦ ใुɿHome

    CT R ◦ σʔλͷߋ৽ɿ1೔ִؒ ◦ ϨΠΞ΢τύλʔϯɿ~5
 • ݁Ռ ◦ Home CTR: fla t ◦ Home CVR (ߪങऀ཰): down 😩 ᶃ-B ߋ৽ִؒ(୹ ) • ઃఆ ◦ ใुɿHome CT R ◦ σʔλͷߋ৽ɿ1ִ࣌ؒؒ ◦ ϨΠΞ΢τύλʔϯɿ~5
 • ݁Ռ ◦ Home CTR: fla t ◦ Home CVR (ߪങऀ཰): flat 🙂 ߋ৽ִؒΛ୹͘͢Δ͜ͱͰ࠷దͰͳ͍ϨΠΞ΢τͷදࣔظ͕ؒ୹ॖͰ͖ɺ࠷దͳϨΠΞ΢τʹ͢͹ ΍͘ऩଋ͢Δɻʢߋ৽ִؒͷ୹ॖ͸σʔλج൫ͷվળʹΑΓ࣮ݱɻʣ
  17.  30 ࣮ݧᶄɿ୳ࡧ཰ʹؔ͢Δ࣮ݧ ࣮ݧᶃ ׆༻ଟΊ • ઃఆ ◦ ใुɿHome CT

    R ◦ σʔλͷߋ৽ɿ1ִ࣌ؒؒ ◦ ϨΠΞ΢τύλʔϯɿ~ 5 ◦ ୳ࡧ཰ε: 1%
 • ݁Ռ ◦ Home CTR: fla t ◦ Home CVR (ߪങऀ཰): flat 🙂 ࣮ݧᶄ ୳ࡧଟΊ • ઃఆ ◦ ใुɿHome CT R ◦ σʔλͷߋ৽ɿ1ִ࣌ؒؒ ◦ ϨΠΞ΢τύλʔϯɿ~ 5 ◦ ୳ࡧ཰ε: 5%
 • ݁Ռ ◦ Home CTR: fla t ◦ Home CVR (ߪങऀ཰): flat 🙂 ࠷ऴతͳϝτϦΫεʹ͸େ͖ͳࠩ͸ੜ͡ͳ͔͕ͬͨɺ୳ࡧ཰ͷߴ͍ઃఆͷํ͕ఏڙ͞ΕΔϨΠΞ΢ τύλʔϯʹ҆ఆੑ͕͋ͬͨ (=֤ϨΠΞ΢τͷఏڙ࣌ؒͷ෼ࢄ͕খ͔ͬͨ͞)ɻ
  18.  31 • ϗʔϜը໘ͷϨΠΞ΢τఏڙϩδοΫΛ࣮ݧதͰɺόϯσΟοτ
 ΞϧΰϦζϜ͕͋Δఔ౓ϫʔΫ͢Δ͜ͱ͕෼͔͖ͬͯͨ ◦ શମʹѱӨڹΛ༩͑ͣʹෳ਺ͷ৽نϨΠΞ΢τύλʔϯΛࢼ͢͜ͱ͸Ͱ͖ͦ͏ ◦ ΰʔϧϝτϦΫεͷվળʹ͍ͭͯ͸໛ࡧத
 •

    σʔλߋ৽ִؒ΍୳ࡧ཰ͳͲͷมߋͷӨڹΛ঺հ ◦ σʔλߋ৽ִؒ → ୹͍ํ(1೔ִؒΑΓ΋1ִ࣌ؒؒ)͕ྑͦ͞͏ ◦ ୳ࡧ཰ → ݁࿦͸ग़͍ͯͳ͍͕ڍಈͷҧ͍͕ݟ͍͑ͯΔ
 • ࠓޙͷվળ ◦ ίϯϙʔωϯτ։ൃͱฏߦͯ͠ϨΠΞ΢τ࠷దԽϩδοΫͷຏ͖ࠐΈΛ͍ͯ͘͠ ◦ Ϟσϧࣗମ΋·ͩجຊతͳͱ͜Ζ͔͠ར༻͍ͯ͠ͳ͍ͷͰվળͷ༨஍͋Γ ·ͱΊɿόϯσΟοτΞϧΰϦζϜʹΑΔϨΠΞ΢τܾఆ
  19.  33 • ϗʔϜը໘ͷύʔιφϥΠζΛࢧ͑Δ࢓૊Έ ◦ ϞδϡϥʔԽ ▪ ίϯϙʔωϯτͷඪ४ԽʹΑͬͯଟ͘ͷνʔϜ͕ಠཱฒߦͯ͠։ൃΛਐΊΔ͜ͱ͕Ͱ͖ΔΑ͏ ʹ ▪

    ΫϥΠΞϯτ΍όοΫΤϯυͷಛఆαʔϏε͕ϘτϧωοΫʹͳΒͳ͍ ◦ ύʔιφϥΠζج൫ ▪ େྔͷϨΠΞ΢τύλʔϯʢίϯϙʔωϯτʣͷத͔Β࠷దͳϨΠΞ΢τܾఆΛ 
 ࣗಈԽ͢ΔϚΠΫϩαʔϏεΛ։ൃத 
 • ϨΠΞ΢τܾఆͷϞσϧվળ ◦ ݱࡏόϯσΟοτΞϧΰϦζϜΛϝΠϯͱͨ͠Ϟσϧ։ൃ&࣮ݧΛਪਐத ◦ ෳ਺ͷϨΠΞ΢τΛ୳ࡧ͠ͳ͕ΒɺޮՌతʹϨΠΞ΢τΛܾఆ͢Δ࢓૊Έ͕Ͱ͖ͭͭ͋Δ ϗʔϜը໘ύʔιφϥΠζͷ࢓૊ΈͱϞσϧվળ