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

コミュニティサービスにおけるレコメンデーションの変遷とMLパイプラインについて

 コミュニティサービスにおけるレコメンデーションの変遷とMLパイプラインについて

2021/10/15に開催されたPyConJPで登壇した資料になります。

アジェンダ
✓自己紹介・サービス紹介(3min)
✓レコメンデーションの変遷(20min)
‣ レコメンデーションってどんなものがあるの?
‣ TensorFlowを用いた行列分解によるレコメンデーション
‣ トピックモデルを活用したレコメンデーション
‣ニューラルネットワークを活用したSoftmax Recommendation
✓機械学習パイプラインについて(5min)
‣AWS StepFuncstionsによる構築方法
✓まとめ(1min)

Takanobu Nozawa

October 15, 2021
Tweet

More Decks by Takanobu Nozawa

Other Decks in Technology

Transcript

  1. 5FOTPS'MPXΛ༻͍ͨߦྻ෼ղ w ߦྻ෼ղΛ5FOTPS'MPXͷ&NCFEEJOH-BZFSΛ༻͍࣮ͯ૷ w ԼهࣜͰϢʔβʔͷᅂ޷͕είΞϦϯάͰ͖ΔͱԾఆͯ͠ϞσϦϯά rij = vi ⋅ vj

    + bi + bj rij bi bj vi vj vi ⋅ vj ϢʔβʔJʹΑΔΞΠςϜKʹର͢ΔධՁ஋ ϢʔβʔJʹΑΔධՁ஋ͷόΠΞεɻ͜ͷϢʔβʔ͕͚ͭΔධՁ஋͕શମతʹߴ͍͔௿͍͔Λද͢ ΞΠςϜKʹର͢ΔධՁ஋ͷόΠΞεɻ͜ͷΞΠςϜʹର͢ΔධՁ஋͕શମతʹߴ͍͔௿͍͔Λද͢ ϢʔβʔJͷಛ௃ϕΫτϧ ΞΠςϜKͷಛ௃ϕΫτϧ ϢʔβʔJͱΞΠςϜKͷಛ௃ϕΫτϧͷ಺ੵ
  2. τϐοΫϞσϧͱ͸ w ϞσϧͷʮτϐοΫͷ਺ʯͱʮτϐοΫͷϥϕϧʯ͸ਓ͕ܾؒΊΔඞཁ͕͋Δ w ྫ͑͹τϐοΫ਺Λͱࢦఆͯ͠ϞσϦϯάͨ͠৔߹ɺͦͷϞσϧʹԿ͔͠ΒͷจॻΛ ౉͢ͱɺग़ྗͱͯ̏ͭ͠ͷτϐοΫͦΕͧΕͷ֬཰෼෍͕ಘΒΕΔ จॻ Topic1 Topic2 Topic3

    ͋ͱ1ٿͰϊʔώοτϊʔϥϯ… 0.7 0.1 0.2 ͻͱΓ਌ੈଳʹʮྟ࣌ಛผڅ෇ۚʯ… 0.1 0.8 0.1 ̢ʵ̍Ԧऀ͸ϚξΧϧϥϒϦʔ… 0.3 0.1 0.6 ্هͷ৔߹ɺʮ5PQJD͸εϙʔπɺ5PQJD͸ܦࡁɺ5PQJD͸ΤϯλϝͩΑͶʯ 
 ͱ͍ͬͨղऍ͸ਓ͕͓ؒ͜ͳ͏ඞཁ͕͋Δ
  3. ࣭໰ͷຒΊࠐΈϕΫτϧ w XPSEWFDΛ࣭໰*%ʹԠ༻ʢRVFTUJPOWFDʣ w ֤ηογϣϯͰΫϦοΫ࣭ͨ͠໰*%Λ࣌ܥྻʹฒͼସ͑Δ͜ͱͰͭͷจॻͱΈͳ͠ 
 ࣭໰*%ͷ෼ࢄදݱΛܭࢉ w ࣭໰ͷzຊจz͸·ͬͨ͘ՃຯͤͣʹϕΫτϧͷܭࢉΛߦ͏ w

    Ұൠతʹ͸࣭໰จΛܗଶૉղੳˠXPSEWFDͳͲͰܭࢉ͢Δͱࢥ͏͕ɺ࣭໰*%Λͦͷ·· 
 ܭࢉʹ༻͍Δ͜ͱͰɺ௿ίετͰ෼ࢄදݱΛܭࢉ͢Δ͜ͱ͕Մೳ w ϢʔβʔϕΫτϧ΁ͷม׵ํ๏͸ɺγϯϓϧʹϢʔβʔ͕ΫϦοΫ࣭ͨ͠໰ϕΫτϧͷ 
 ฏۉΛܭࢉ w ͜ΕΛࠓճͷϞσϧͷೖྗʢֶशσʔλʣʹར༻ͨ͠
  4. ࣭໰ͷຒΊࠐΈϕΫτϧ w XPSEWFDΛ࣭໰*%ʹԠ༻ʢRVFTUJPOWFDʣ w ֤ηογϣϯͰΫϦοΫ࣭ͨ͠໰*%Λ࣌ܥྻʹฒͼସ͑Δ͜ͱͰͭͷจॻͱΈͳ͠ 
 ࣭໰*%ͷ෼ࢄදݱΛܭࢉ w ࣭໰ͷzຊจz͸·ͬͨ͘ՃຯͤͣʹϕΫτϧͷܭࢉΛߦ͏ w

    Ұൠతʹ͸࣭໰จΛܗଶૉղੳˠXPSEWFDͳͲͰܭࢉ͢Δͱࢥ͏͕ɺ࣭໰*%Λͦͷ·· 
 ܭࢉʹ༻͍Δ͜ͱͰɺ௿ίετͰ෼ࢄදݱΛܭࢉ͢Δ͜ͱ͕Մೳ w ϢʔβʔϕΫτϧ΁ͷม׵ํ๏͸ɺγϯϓϧʹϢʔβʔ͕ΫϦοΫ࣭ͨ͠໰ϕΫτϧͷ 
 ฏۉΛܭࢉ w ͜ΕΛࠓճͷϞσϧͷೖྗʢֶशσʔλʣʹར༻ͨ͠ ࣭໰*%͚ͩͰྑ͍෼ࢄදݱܭࢉͰ͖Δͷʁ
  5. ࣭໰ͷຒΊࠐΈϕΫτϧ w XPSEWFDΛ࣭໰*%ʹԠ༻ʢRVFTUJPOWFDʣ w ֤ηογϣϯͰΫϦοΫ࣭ͨ͠໰*%Λ࣌ܥྻʹฒͼସ͑Δ͜ͱͰͭͷจॻͱΈͳ͠ 
 ࣭໰*%ͷ෼ࢄදݱΛܭࢉ w ࣭໰ͷzຊจz͸·ͬͨ͘ՃຯͤͣʹϕΫτϧͷܭࢉΛߦ͏ w

    Ұൠతʹ͸࣭໰จΛܗଶૉղੳˠXPSEWFDͳͲͰܭࢉ͢Δͱࢥ͏͕ɺ࣭໰*%Λͦͷ·· 
 ܭࢉʹ༻͍Δ͜ͱͰɺ௿ίετͰ෼ࢄදݱΛܭࢉ͢Δ͜ͱ͕Մೳ w ϢʔβʔϕΫτϧ΁ͷม׵ํ๏͸ɺγϯϓϧʹϢʔβʔ͕ΫϦοΫ࣭ͨ͠໰ϕΫτϧͷ 
 ฏۉΛܭࢉ w ͜ΕΛࠓճͷϞσϧͷೖྗʢֶशσʔλʣʹར༻ͨ͠ ίαΠϯྨࣅ౓ͰఆੑతʹνΣοΫ࣮ͨ͠ྫΛ ͍͔ͭ͘͝঺հ
  6. ՝୊ ਺஋͸ྑ͘ͳ͕ͬͨɺ՝୊͸·ͩ͋Δ w ίʔϧυελʔτ໰୊ w ΦϑϥΠϯݕূ w Ϗδωεࢦඪͱ૬ؔ͢ΔϝτϦΫεJTͳʹʁ w Ϩίϝϯυσʔλͷߋ৽ੑ

    w ϦΞϧλΠϜਪ࿦ʁόονͷαΠΫϧΛ୹͘͢Δʁ w Ϣʔβʔ͔Βͷ໌ࣔతͳ'#͕ͳ͍ w ଟ༷ੑɺηϨϯσΟϐςΟͱ͍ͬͨੑ࣭ͷݕূํ๏ ͳͲͳͲ
  7. ՝୊ ਺஋͸ྑ͘ͳ͕ͬͨɺ՝୊͸·ͩ͋Δ w ίʔϧυελʔτ໰୊ w ΦϑϥΠϯݕূ w Ϗδωεࢦඪͱ૬ؔ͢ΔϝτϦΫεJTͳʹʁ w Ϩίϝϯυσʔλͷߋ৽ੑ

    w ϦΞϧλΠϜਪ࿦ʁόονͷαΠΫϧΛ୹͘͢Δʁ w Ϣʔβʔ͔Βͷ໌ࣔతͳ'#͕ͳ͍ w ଟ༷ੑɺηϨϯσΟϐςΟͱ͍ͬͨੑ࣭ͷݕূํ๏ ͳͲͳͲ Ϗδωεߩݙ͢΂͘΍͍͖ͬͯ💪
  8. ·ͱΊ w ͭͷϨίϝϯσʔγϣϯͷΞʔΩςΫνϟΛ͝঺հ w 5FOTPS'MPXΛ༻͍ͨߦྻ෼ղʹΑΔϨίϝϯσʔγϣϯ w τϐοΫϞσϧΛ׆༻ͨ͠Ϩίϝϯσʔγϣϯ w χϡʔϥϧωοτϫʔΫΛ׆༻ͨ͠4PGUNBY3FDPNNFOEBUJPO w

    4PGUNBY3FDPNNFOEBUJPO͕ྑ͍਺஋ͰਪҠ͍ͯ͠Δ͕ɺ·ͩ·ͩ՝୊͸ࢁੵΈ w .-ͰϏδωεߩݙΨϯΨϯ΍͍ͬͯͧ͘💪  w 4UFQ'VODUJPOTͱ4BHF.BLFSΛ༻͍ͨύΠϓϥΠϯ͕ྑ͍ͧʂ