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

機械学習を使った レコメンデーション / visit-recommendation2019

機械学習を使った レコメンデーション / visit-recommendation2019

様々な業界でレコメンデーションの実装を要求されることがあります。例えば、検索システム、メールの配信などです。
ウォンテッドリーでは、昨年からレコメンデーションチームを立ち上げ、機械学習を使ったレコメンデーションをリリースし、継続的に改善を行っています。
今回、レコメンデーションアルゴリズムの全体像と、ユーザエンゲージメントを良くするためのターゲットの設定の方法についてお話します。

こちらのブログを見るとより全体像が分かります。
https://www.wantedly.com/companies/wantedly/post_articles/169261

Rei Kubonaga

June 19, 2019
Tweet

More Decks by Rei Kubonaga

Other Decks in Technology

Transcript

  1. ©2019 Wantedly, Inc.
    ػցֶशΛ࢖ͬͨ
    Ϩίϝϯσʔγϣϯ
    Ϩίϝϯσʔγϣϯͷ࡞ΓํͱϢʔβΤϯήʔδϝϯτ
    PyData.Tokyo Meetup #20
    Jun 13, 2019 - Rei Kubonaga

    View Slide

  2. ©2019 Wantedly, Inc.
    !LVCPOBHBSFJ3FJ,VCPOBHB
    w 8BOUFEMZਓ໨ͷࣾһ
    w 8BOUFEMZ7JTJUͷ։ൃνʔϜͷϚωʔδϟʔ
    w ϨίϝϯσʔγϣϯνʔϜϦʔμʔͱͯ͠νʔϜͷ্ཱͪ͛Λߦ͏
    w .-ΤϯδχΞͰ͸ͳ͘ɺ.-ͷϓϩμΫτ׆༻Λߟ͑Δਓ
    ࣗݾ঺հ

    View Slide

  3. ©2019 Wantedly, Inc.
    Wantedly Visit
    ࢲͨͪͷϓϩμΫτ!ձࣾ๚໰αʔϏε

    View Slide

  4. ©2019 Wantedly, Inc.
    ϨίϝϯσʔγϣϯΛ࢖͍ͬͯΔ৔ॴ
    Ϣʔβը໘Ͱ͸ɺΞϓϦΛ։͘ͱ࠷ॳʹදࣔ͞ΕΔը໘ͷ
    ϨίϝϯσʔγϣϯΛ։ൃ͍ͯ͠·͢ɻ
    ʮ͓͢͢ΊͷืूʯʮϑΟϧλϦϯάʯʮΩʔϫʔυݕࡧʯ
    ͱͦΕͧΕҟͳΔΞϧΰϦζϜͰ࣮૷͍ͯ͠·͢ɻ
    ఆ఺؍ଌ͍ͯ͠Δࢦඪͱͯ͠͸ɺ
    ʮืू͕දࣔ͞Ε͔ͯΒɺ࿩Λฉ͖ʹߦׂ͘߹ʯ
    ͳͲݟ͍ͯ·͢ɻ
    ࠷ॳͷ
    ͓͢͢Ίืू
    ϑΟϧλϦϯ
    ά
    Ωʔϫʔυ
    ݕࡧ

    View Slide

  5. ©2019 Wantedly, Inc.
    ࠓ೔࿩͠Λ͢Δ͜ͱ
    ืूΛද͔ࣔͯ͠Βɺ࿩Λฉ͖ʹߦׂ͘߹ͷਪҠ
    (2017೥3݄͔Β2019೥5݄ɻ2017೥3݄Λ100%ͱ͍ͯ͠Δ)
    2೥લʹɺϨίϝϯσʔγϣϯνʔϜΛൃ଍͠ɺ
    ػցֶशΛ࢖ͬͨϨίϝϯσʔγϣϯΛ௨ͯ͡ɺ
    ϢʔβମݧΛେ͖͘վળ͠·ͨ͠ɻ
    ࣮ࡍɺʮืूΛද͔ࣔͯ͠Βɺ࿩Λฉ͖ʹߦ֬͘཰ʯͱ͍
    ͏ॏཁͳࢦඪ͕2ഒҎ্ʹվળ͠·ͨ͠ɻ
    ೥݄ͱൺֱ
    ͯ͠ͷվળ
    /FX
    "MHPSJUIN
    /FX
    "MHPSJUIN
    /FX
    "MHPSJUIN
    /FX
    "MHPSJUIN
    /FX
    "MHPSJUIN

    View Slide

  6. ©2019 Wantedly, Inc.
    1. Ϩίϝϯσʔγϣϯͷ࡞Γํ
    2. Ϩίϝϯσʔγϣϯͷ೉͠͞
    3. ϢʔβΤϯήʔδϝϯτͷܾΊํ
    ໨࣍

    View Slide

  7. ©2019 Wantedly, Inc.
    1. Ϩίϝϯσʔγϣϯͷ࡞Γํ

    View Slide

  8. ©2019 Wantedly, Inc.
    Ϩίϝϯσʔγϣϯͷख๏
    ڠௐϑΟϧλϦϯά
    ίϯςϯπϕʔε
    ϑΟϧλϦϯά

    View Slide

  9. ©2019 Wantedly, Inc.
    ಉ͡Α͏ͳߦಈΛ͍ͯ͠ΔਓͷΞΠςϜΛਪન
    • AࣾͱBࣾʹԠื͍ͯ͠Δਓ͕ଟ͍ͳΒɺAࣾʹԠืͨ͠ΒBࣾΛਪન͢Δ
    ڠௐϑΟϧλϦϯά
    V
    V
    "
    #

    View Slide

  10. ©2019 Wantedly, Inc.
    ಉ͡Α͏ͳଐੑΛ͍࣋ͬͯΔΞΠςϜ͕ਪન
    • AࣾͰ࢖ΘΕ͍ͯΔΩʔϫʔυΛ͍࣋ͬͯΔϢʔβʹAࣾΛਪન͢Δ
    ίϯςϯπϕʔεϑΟϧλϦϯά
    V
    V
    "
    #
    ιϑτ΢ΣΞΤϯδχΞ
    glangͱRuby͕޷͖
    ΠϯϑϥΤϯδχΞ
    kubernetesͷӡ༻Λߦ͍ͬͯ·͢
    golangͰϚΠΫϩαʔϏε࡞Γ͍ͨਓืूத
    GCP্Ͱkubernetes࢖͍͍ͨΤϯδχΞืूத

    View Slide

  11. ©2019 Wantedly, Inc.
    ػցֶशΛ࢖ͬͨϨίϝϯσʔγϣϯ
    .-NPEFM
    Ϣʔβͷߦಈσʔλ
    Ϣʔβͷσʔλ
    ΞΠςϜͷσʔλ
    Ϣʔβ
    Τϯήʔδϝϯτ
    είΞ
    σʔλ λʔήοτ

    View Slide

  12. ©2019 Wantedly, Inc.
    σʔλλΠϓ
    Ϣʔβͷߦಈσʔλ
    ɾInteraction (ΞΠςϜʹରͯ͠ɺӾཡɺΫϦοΫɺϒοΫϚʔΫͳͲ)
    ɾInteger (ΞΫηε਺, ࠷ऴΞΫηε೔ͳͲ)
    Ϣʔβ / ΞΠςϜͷσʔλ
    ɾInteger (બ୒͍ͯ͠Δ৬छɺ೥ྸͷൣғ, ϒοΫϚʔΫ਺ͳͲ)
    ɾBoolean (Ԡื͔ͨ͠ɺ࠷ۙొ࿥͔ͨ͠ɺֶੜ͔ɺΞϓϦΛ࢖͍ͬͯΔ͔)
    ɾText (ืूཁ߲ɺࣗݾ঺հɺֶྺɺ৬ྺ)
    ɾImage (ืूͷը૾ɺϓϩϑΟʔϧը૾)

    View Slide

  13. ©2019 Wantedly, Inc.
    ϢʔβΤϯήʔδϝϯτείΞ
    αʔϏεʹର͢ΔѪணΛද͢είΞ
    ɾϢʔβɺΞΠςϜ͝ͱʹɺϢʔβΤϯήʔδϝϯτΛͲͷ͘Β͍ߴΊΒΕΔ͔දͨ͠είΞ
    Ϣʔβମݧͷ࣭Λఆٛ͢Δࢦඪ
    ɾΑ͘ΫϦοΫ͞ΕΔɺΑ͘Ԡื͞ΕΔɺ௕͘࢖ͬͯ͘ΕΔɺසൟʹ࢖ͬͯ͘ΕΔͳͲ
    λʔήοτ͸Τϯήʔδϝϯτʹ૬͕ؔ͋Δ਺
    ɾΫϦοΫ͞ΕΔ͜ͱʹΑͬͯɺΤϯήʔδϝϯτ͕ඞͣ͠΋ߴ͘ͳΔΘ͚Ͱ͸ͳ͍

    View Slide

  14. ©2019 Wantedly, Inc.
    ML model
    σʔλͱλʔήοτ͕ܾ·ΔͱֶशͰ͖Δ
    ɾLightGBMͷΑ͏ͳBoosting΋ར༻Ͱ͖Δ
    ɾNNΛར༻͍ͯ͘͜͠ͱ΋Ͱ͖Δ
    σʔλλΠϓʹΑͬͯར༻ํ๏͕มΘΔ
    ɾInteger΍Boolean͸ͦͷ··ར༻Մೳ
    ɾInteraction, Text, Image͸ࣄલʹॲཧ͕ඞཁ

    View Slide

  15. ©2019 Wantedly, Inc.
    ػցֶश͠΍͍͢ܗʹσʔλΛ੔ܗ
    .-NPEFM
    Ϣʔβͷಛ௃
    ΞΠςϜͷಛ௃
    ΫΤϦͷಛ௃
    ૊Έ߹Θͤͨಛ௃
    Ϣʔβ
    Τϯήʔδϝϯτ
    είΞ
    (SBQI
    1SPDFTTJOH
    /-1
    Ϣʔβͷߦಈσʔλ
    Ϣʔβͷଐੑ
    ΞΠςϜͷଐੑ
    Interaction data
    Text
    Integer, Boolean
    Feature
    Data
    Target

    View Slide

  16. ©2019 Wantedly, Inc.
    ޙ͸ؤுΕ͹׬੒
    ͱ؆୯ʹ͸͍͖·ͤΜɻɻ

    View Slide

  17. ©2019 Wantedly, Inc.
    2. Ϩίϝϯσʔγϣϯͷ೉͠͞

    View Slide

  18. ©2019 Wantedly, Inc.
    1. ϢʔβΤϯήʔδϝϯτͬͯͳʹʁ
    • Ϣʔβͷਖ਼ղͷߦಈΛఆٛ͢Δ͜ͱ͸೉͍͠ɻࣗ෼͕ೖΔ΂͖ձࣾͷείΞΛ͚ͭΒΕ·͔͢ʁ
    2. ΦϑϥΠϯςετͷ೉͠͞
    • ৽͍͠ฒͼॱʹͨ͠ͱ͖ͷϢʔβΤϯήʔδϝϯτ͸෼͔Βͳ͍
    3. Ϣʔβ*ΞΠςϜ*ΫΤϦͷείΞܭࢉͷྔʂ
    • ਺ඦສ*਺ສ*਺ສ=਺ඦஹɻࣄલʹ४උͰ͖Δྔ͡Όͳ͍ɻΦϯϥΠϯͰ਺ສճpredictͰ͖ͳ͍
    Ϩίϝϯσʔγϣϯͷ೉͠͞

    View Slide

  19. ©2019 Wantedly, Inc.
    1. ϢʔβΤϯήʔδϝϯτͷ׬ᘳ͞ΛࣺͯΔ
    • ਖ਼͘͠ػցֶशͰ͖ΔείΞ͸ͳʹ͔ʁͱ͍͏ج४ͰείΞΛબͿɻৗʹมΘΔՄೳੑ͋Δ
    2. ΦϑϥΠϯςετͷ׬ᘳ͞ΛࣺͯΔ
    • ৽͍͠ฒͼॱʹͨ࣌͠ʹࠓ͋ΔσʔλͰධՁ͢ΔͳΒͲ͏͢Δ͔
    3. ϚϧνεςʔδͰֶश͢Δ
    • ࠷ॳͷ10݅͸ෳࡶͳֶशɺ࣍ͷ100݅͸଎ֶ͍शͱ͍ͬͨΑ͏ʹɺཁ݅ʹ߹Θͤͯਫ਼౓Λม͑Δ
    Ϩίϝϯσʔγϣϯͷ೉͍͠ϙΠϯτͷղܾํ๏

    View Slide

  20. ©2019 Wantedly, Inc.
    3. ϢʔβΤϯήʔδϝϯτͷܾΊํ

    View Slide

  21. ©2019 Wantedly, Inc.
    ϢʔβΤϯήʔδϝϯτείΞ
    αʔϏεʹର͢ΔѪணΛද͢είΞ
    ɾϢʔβɺΞΠςϜ͝ͱʹɺϢʔβΤϯήʔδϝϯτΛͲͷ͘Β͍ߴΊΒΕΔ͔දͨ͠είΞ
    Ϣʔβମݧͷ࣭Λఆٛ͢Δࢦඪ
    ɾΑ͘ΫϦοΫ͞ΕΔɺΑ͘Ԡื͞ΕΔɺ௕͘࢖ͬͯ͘ΕΔɺසൟʹ࢖ͬͯ͘ΕΔͳͲ
    ਪનͰ࢖͏ͷ͸Τϯήʔδϝϯτʹ૬͕ؔ͋Δ਺
    ɾΫϦοΫ͞ΕΔ͜ͱʹΑͬͯɺΤϯήʔδϝϯτ͕ඞͣ͠΋ߴ͘ͳΔΘ͚Ͱ͸ͳ͍

    View Slide

  22. ©2019 Wantedly, Inc.
    ΤϯήʔδϝϯτͷϥΠϑαΠΫϧ
    /FX
    6TFS
    "DUJWF6TFS
    %PSNBOU6TFS
    Acquisition
    Activation
    Disengagement
    Disengagement Re-engagement
    Churn

    View Slide

  23. ©2019 Wantedly, Inc.
    Activeͷఆٛͱ͸ʁ
    /FX
    6TFS
    "DUJWF6TFS
    %PSNBOU6TFS
    Acquisition
    Activation
    Disengagement
    Disengagement Re-engagement
    Churn
    Endurability
    ϢʔβͷৼΔ෣͍Ͱఆٛ
    ࢖͍ଓ͚͍ͯΔظؒΛܾΊͯ
    Active͔Ͳ͏͔൑அ͢Δ

    View Slide

  24. ©2019 Wantedly, Inc.
    ΤϯήʔδϝϯτΛܾΊΔํ๏
    ΠϯλϏϡʔ
    αʔϕΠ
    ΧελϚʔδϟʔχʔ
    FUD
    ΦϯϥΠϯ
    ෼ੳ
    ɾఆྔత
    ɾεέʔϧͯ͠ࢼͤΔ
    ɾϢʔβͷແҙࣝͷಈ͖
    ɾ٬؍త
    ɾ୹ظత,௕ظత
    ɾఆੑ
    ɾ෦෼తʹߦ͏
    ɾ࣮ݧதͷಈ͖
    ɾओ؍త,٬؍త
    ɾ௕ظత

    View Slide

  25. ©2019 Wantedly, Inc.
    ΦϯϥΠϯͷ෼ੳͰߦ͏͜ͱ
    .FBTVSFNFOU .FUSJD ,1*
    αʔϏεͷதͰखʹೖΔ
    ఆྔతͳ஋
    ɾӾཡ਺
    ɾӾཡ೔
    ɾΫϦοΫ਺
    Measurement͔Βܭࢉɾ෼ੳ
    ͠΍͍͢ܗʹ੔ܗͨ͠਺ࣈ
    ɾΫϦοΫ཰
    ɾΞΫςΟϒϢʔβ
    ɾMRR/AUC/Precision/NDCG
    Business/Service্ͷ໨ඪʹରͯ͠
    ॏཁͳӨڹΛ༩͑Δࢦඪ
    ɾϢʔβΤϯήʔδϝϯτείΞ
    ɾاۀͷܧଓ཰ɾARPU
    ɾ৽نϢʔβͷϦςϯγϣϯ཰
    Measurement͔ΒMetricͱKPIΛܭࢉ͢Δ͜ͱ

    View Slide

  26. ©2019 Wantedly, Inc.
    Τϯήʔδϝϯτͷܭࢉྫ
    .FBTVSFNFOU .FUSJD ,1*
    ɾ͋ΔΞΠςϜͷӾཡ࣌ؒ
    ɾ͋ΔΞΠςϜΛදࣔͨ͠ॱ൪
    ɾ͋ΔΞΠςϜͷΫϦοΫͨ࣌ؒ͠
    ɾ͋ΔΞΠςϜ΁ͷΞΫγϣϯ
    (ϒοΫϚʔΫɺԠื)
    ɾηογϣϯͷ࣌ؒ
    ɾηογϣϯதͷӾཡ਺ͱԠื਺
    ɾ࠶๚໰ͨ࣌ؒ͠
    ɾΫϦοΫ཰/ϒοΫϚʔΫ཰
    ɾԠื཰/࠾༻཰
    ɾMRR/AUC/nDCG
    (্Ґʹදࣔͨ͠΋ͷ͕
    ΞΫγϣϯ͞Ε͔ͨ)
    ɾܧଓ཰
    ɾར༻࣌ؒ
    ɾΞΠςϜΧόϨοδ
    (ಛఆͷاۀʹूதͯ͠ͳ͍͔)
    ɾϢʔβΤϯήʔδϝϯτείΞ
    ෳ਺ͷࢦඪΛ૊Έ߹ΘͤΔ
    ֶशʹ࢖͏Ϣʔβͷݶఆ΋
    ߦͬͨ

    View Slide

  27. ©2019 Wantedly, Inc.
    Τϯήʔδϝϯτͷܭࢉྫ
    5VOJOH
    &WBMVBUF
    0OMJOF
    5FTU
    Tuning -> Online Test -> EvaluateͷαΠΫϧΛΞϧΰϦζ
    Ϝ͚ͩͰͳ͘ɺϢʔβΤϯήʔδϝϯτείΞʹ͍ͭͯ΋ߦ
    ͏
    ɾείΞࣗମͷ૊Έ߹Θͤํ͸ແݶɻৗʹਖ਼͍͠ղ͸ͳ͍
    ɾΑΓΑ͍਺ࣈ͸ৗʹ͋Γɺඞͣ͠΋ෳࡶʹ͢Ε͹Α͍Θ
    ͚Ͱ͸ͳ͍ɻ(ΫϦοΫ࣌ؒ => ฏۉ, ۠ؒ, ࿈ଓ)
    ɾαʔϏεͷϑΣΠζʹΑͬͯ΋࠷దԽ͢Δ΋ͷ͸มΘΔ
    ɾΦϑϥΠϯͷςετͱΦϯϥΠϯͷςετ͕ಉ݁͡Ռ
    ͔ɺಛʹҟͳͬͨ࣌ʹཧ༝Λௐ΂Δ

    View Slide

  28. ©2019 Wantedly, Inc.
    • Ϩίϝϯσʔγϣϯʹ༷ʑͳػցֶशΛ࢖͏͜ͱ͕Ͱ͖Δ
    • ਐΊΔίπ͸ɺ׬ᘳ͞ΛٻΊͳ͍ɺࠓΑΓΑ͘͢Δ
    • λʔήοτ͸ɺ҆қʹΫϦοΫʹ͠ͳ͍
    • ΞϧΰϦζϜ͚ͩͰͳ͘λʔήοτ΋ɺධՁ/෼ੳ/ݟ௚͠Λ͢Δ
    ·ͱΊ

    View Slide

  29. ©2019 Wantedly, Inc.
    ؔ࿈ͨ͠ϒϩά΋ॻ͍ͯ·͢
    https://www.wantedly.com/companies/wantedly/post_articles/155593
    https://www.wantedly.com/companies/wantedly/post_articles/169261

    View Slide

  30. ©2019 Wantedly, Inc.
    Mobile
    FrontendʗBackend Infrastructure
    New!
    We are hiring!! https://www.wantedly.com/companies/wantedly

    View Slide