$30 off During Our Annual Pro Sale. View Details »

トピックモデルを活用したレコメンデーションの実装

Takanobu Nozawa
February 25, 2021
5.5k

 トピックモデルを活用したレコメンデーションの実装

2021/02/25に行われたコネヒトマルシェで発表したトピックモデルを活用したレコメンデーションについての資料です。

Takanobu Nozawa

February 25, 2021
Tweet

Transcript

  1. τϐοΫϞσϧΛ׆༻ͨ͠
    Ϩίϝϯσʔγϣϯͷ࣮૷
    Takanobu Nozawa
    2021.02.25
    ίωώτϚϧγΣΦϯϥΠϯʮػցֶशɾσʔλ෼ੳʯ

    View Slide

  2. ࣗݾ঺հ
    ػցֶश΁ͷऔΓ૊Έ
    ϚϚϦͷݱঢ়ͱ՝୊
    τϐοΫϞσϧͱ͸
    τϐοΫϞσϧΛ׆༻ͨ͠Ϩίϝϯσʔγϣϯ
    ࠷ޙʹ
    ΞδΣϯμ

    View Slide

  3. ࣗݾ঺հ

    View Slide

  4. ໊લɿ໺ᖒ఩রʢ/P[BXB5BLBOPCVʣ
    ॴଐɿίωώτגࣜձࣾ
    ɹɹɿ͔ͨͺ͍!UBLBQZ
    w ػցֶशʢ/-1ɺਪનγεςϜʣΛϝΠϯʹ΍Γͭͭ"84ͱٔΕ͍ͯ·͢
    w ٳ೔͸σʔλ෼ੳίϯϖͨ͠ΓɺϒϩάʢIUUQTXXXUBLBQZXPSLʣॻ͍ͨΓɺ
    ໺ٿͨ͠Γɺϥʔϝϯ৯΂ͨΓ͍ͯ͠·͢
    w ϙουΩϟετ🎙 ͸͡Ί·ͨ͠ˠ!HFG@GNʢIUUQTUXJUUFSDPNHFG@GNʣ
    ࣗݾ঺հ

    View Slide

  5. αʔϏε঺հͱػցֶश΁ͷऔΓ૊Έ
    αʔϏεͷ֓ཁؚΊͯ
    ͍͔ͭ͘ϐοΫΞοϓͯ͠͝঺հ

    View Slide

  6. ϚϚϦʹ͍ͭͯ
    l೰ΈzͱzڞײzΛ࣠ʹϚϚʹدΓఴ͍
    ΞϓϦɾ8FCɾ4/4ͱଟ֯తʹαʔϏεΛల։͍ͯ͠·͢

    View Slide

  7. ίϛϡχςΟݕӾ
    FH
    ؆୯ʹՔ͙ํ๏ڭ͑·͢⭐
    ͜ͷ౤ߘ͸ͷ֬཰Ͱ
    ෆద੾ͳίϯςϯπͰ͢⚠
    Ϟσϧ͕ෆద੾ͱ൑ఆͨ͠΋ͷ͚ͩ
    Λਓ͕ؒ໨ࢹͰ֬ೝ

    View Slide

  8. ίϛϡχςΟݕӾ
    FH
    ؆୯ʹՔ͙ํ๏ڭ͑·͢⭐
    ͜ͷ౤ߘ͸ͷ֬཰Ͱ
    ෆద੾ͳίϯςϯπͰ͢⚠
    Ϟσϧ͕ෆద੾ͱ൑ఆͨ͠΋ͷ͚ͩ
    Λਓ͕ؒ໨ࢹͰ֬ೝ
    ίετ࡟ݮ

    View Slide

  9. ΧςΰϦͷྨਪ
    ౤ߘ಺༰͔Βࣗಈతʹ
    ΧςΰϦΛαδΣετ

    View Slide

  10. ΧςΰϦͷྨਪ
    ౤ߘ಺༰͔Βࣗಈతʹ
    ΧςΰϦΛαδΣετ
    ࣭໰ͷ$7޲্

    View Slide

  11. هࣄͷϨίϝϯσʔγϣϯ
    ͻͱΓͻͱΓͷߦಈཤྺ͔Β
    ͓͢͢ΊͷهࣄΛϨίϝϯυ

    View Slide

  12. هࣄͷϨίϝϯσʔγϣϯ
    ͻͱΓͻͱΓͷߦಈཤྺ͔Β
    ͓͢͢ΊͷهࣄΛϨίϝϯυ
    $53޲্

    View Slide

  13. ϓϩμΫτʹରͯ͠ੵۃతʹ
    ػցֶशΛಋೖ͍ͯ͠·͢💪

    View Slide

  14. ϚϚϦͷݱঢ়ͱ՝୊
    ͳͥɺ࣭໰ϨίϝϯυΛ΍Δ͜ͱʹͳͬͨͷ͔

    View Slide

  15. ϚϚϦͷݱঢ়ͱ՝୊
    ݱঢ়
    w ೥ͷ$.ΛڥʹϢʔβʔج൫͕֦େɻͦ͜ͰϥΠτϢʔβʔ΋૿͑ɺϢʔβʔͷ
    ଟ༷Խ͕ਐΈɺ݁Ռͱͯ͠ɺϚϚϦ΁ͷظ଴஋ʢ㲈ϚϚϦ͕ղܾ͢΂͖՝୊ʣ΋ଟछ
    ଟ༷ʹͳͬͨɻ
    ੜ·Ε͖ͯͨʢʹղܾ͍ͨ͠ʣ՝୊
    w χονͳ՝୊ͷ૯ྔ͕૿͑ɺଟ༷ͳՁ஋؍΍ߟ͑ํ͕ަࡨ͢Δ৔ॴ΁ͱมԽ͠ɺ୯Ұ
    తͳΞϓϩʔνʢྫઌഐϚϚ͔ͩΒޙഐϚϚʹճ౴ग़དྷΔʣͰ͸೤ྔͱ݈શੑΛҡ
    ࣋͢Δ͜ͱ͕೉͘͠ͳ͖ͬͯͨɻͦΕʹରͯ͠ݱࡏͷϧʔϧϕʔεͷΞϓϩʔνͰ͸
    ղܾ͕೉͍͠ɻ

    View Slide

  16. ϚϚϦͷݱঢ়ͱ՝୊
    Ծઆ
    w ػցֶशʹΑΔύʔιφϥΠζ΍ϨίϝϯσʔγϣϯΛ׆༻͢Δ͜
    ͱͰɺϢʔβʔͷଟ͘ͷ՝୊Λղܾ͠ɺαʔϏεͷ೤ྔͱ݈શੑΛ
    ޲্ͤ͞ΒΕΔͷͰ͸ͳ͍͔ɻ
    ࣭໰ͷϨίϝϯσʔγϣϯΛ࣮૷

    View Slide

  17. ϚϚϦͷݱঢ়ͱ՝୊
    Ծઆ
    w ػցֶशʹΑΔύʔιφϥΠζ΍ϨίϝϯσʔγϣϯΛ׆༻͢Δ͜
    ͱͰɺϢʔβʔͷଟ͘ͷ՝୊Λղܾ͠ɺαʔϏεͷ೤ྔͱ݈શੑΛ
    ޲্ͤ͞ΒΕΔͷͰ͸ͳ͍͔ɻ
    ࣭໰ͷϨίϝϯσʔγϣϯΛ࣮૷
    ຊࢿྉͰ͸ɺ͍͔ͭ͘ࢪࡦΛߦͬͨதͰɺ
    τϐοΫϞσϧΛ׆༻ͨ͠
    Ϩίϝϯσʔγϣϯʹ͍͓ͭͯ࿩͠·͢

    View Slide

  18. τϐοΫϞσϧͱ͸

    View Slide

  19. τϐοΫϞσϧͱ͸
    w จॻ͕ෳ਺ͷજࡏతͳτϐοΫ͔Β֬཰తʹੜ੒͞ΕΔͱԾఆͨ͠Ϟσϧ
    ʢจॻ಺ͷ֤୯ޠ͸͋ΔτϐοΫ͕࣋ͭ֬཰෼෍ʹैͬͯग़ݱ͢ΔͱԾఆʣ
    w ͜͜Ͱ͍͏ʮτϐοΫʯͱ͸࿩ͷओ୊ͷ͜ͱͰɺಉ͡࿩୊ʹ͍ͭͯ࿩͍ͯ͠
    ͯ΋ɺਓʹΑͬͯղऍ͕มΘΔ͜ͱ͕͋Δ
    w ༗໊ͳ΋ͷͩͱҎԼͷΑ͏ͳख๏͕͋Δ
    w -4*ʢ-BUFOU4FNBOUJD*OEFYʣ
    w 1-4*ʢ1SPCBCJMJTUJD-BUFOU4FNBOUJD*OEFYJOHʣ
    w -%"ʢ-BUFOU%JSJDIMFU"MMPDBUJPOʣ

    View Slide

  20. τϐοΫϞσϧͱ͸
    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͸Τϯλϝ
    ͱ͍ͬͨղऍ͸ਓ͕͓ؒ͜ͳ͏ඞཁ͕͋Δ

    View Slide

  21. τϐοΫϞσϧΛ׆༻ͨ͠Ϩίϝϯσʔγϣϯ
    τϐοΫϞσϧͷఆੑධՁ͔ΒϨίϝϯσʔγϣϯ΁ͷԠ༻

    View Slide

  22. ͳͥτϐοΫϞσϧΛ࢖͓͏ͱࢥ͔ͬͨ
    w ϚϚϦͰ͸݄ؒͰສ݅΄Ͳͷ2"͕౤ߘ͞Ε͍ͯΔ
    w ྫ͑͹௚ۙϲ݄ͷσʔλΛਪનର৅ͱͯ͠΋ɺਪનର৅݅਺͕͔ͳΓଟ͍
    w Ϣʔβʔͷͬ͘͟Γͨ͠ᅂ޷ΛਪఆͰ͖Ε͹ɺਪનର৅ͷ࣭໰Λ͋Δఔ౓ߜͬ
    ্ͨͰɺ࠷ޙʹϥϯΩϯά෇͚ͯ͠Ϩίϝϯσʔγϣϯ͢Δɺͱ͍ͬͨ͜ͱ͕
    Ͱ͖Δ
    ˠ:PV5VCFͳͲͰ̎ஈ֊ͷਪનγεςϜΛߏங͍ͯ͠Δͱ͍ͬͨ࿦จ΋ʢ˞ʣ
    ˞IUUQTSFTFBSDIHPPHMFQVCTQVC

    View Slide

  23. ͳͥτϐοΫϞσϧΛ࢖͓͏ͱࢥ͔ͬͨ
    w Ϣʔβʔͷᅂ޷ΛਪఆͰ͖ΔσʔλͷͭʹʮΧςΰϦʯ͕͋Δ
    ˠྫ͑͹ʮࢠҭͯʯΧςΰϦΛΑ͘Έ͍ͯΔϢʔβʔ͸ʮࢠҭͯʯʹڵຯ͕͋Δͱ
    ਪఆͰ͖Δ
    w ͔͠͠ɺಉ͡ΧςΰϦͰ΋౤ߘ͞ΕΔ಺༰͸ҟͳ͍ͬͯΔ͜ͱ͕ଟ͍
    ˠԼه͸ͲͪΒ΋ʮࢠҭͯʯΧςΰϦʹ౤ߘ͞Ε࣭ͨ໰͕ͩໟ৭͸͔ͳΓҧ͏ɻ
    lͲͷΧςΰϦͷ࣭໰ΛΑ͘Έ͍ͯΔ͔z͚ͩͰ͸ɺϢʔβʔ͕ͲΜͳ͜ͱʹ೰ΜͰ͍
    Δͷ͔ਪఆ͢Δͷ͸ࠔ೉

    View Slide

  24. ͳͥτϐοΫϞσϧΛ࢖͓͏ͱࢥ͔ͬͨ
    w Ϣʔβʔͷᅂ޷ΛਪఆͰ͖ΔσʔλͷͭʹʮΧςΰϦʯ͕͋Δ
    ˠྫ͑͹ʮࢠҭͯʯΧςΰϦΛΑ͘Έ͍ͯΔϢʔβʔ͸ʮࢠҭͯʯʹڵຯ͕͋Δͱ
    ਪఆͰ͖Δ
    w ͔͠͠ɺಉ͡ΧςΰϦͰ΋౤ߘ͞ΕΔ಺༰͸ҟͳ͍ͬͯΔ͜ͱ͕ଟ͍
    ˠԼه͸ͲͪΒ΋ʮࢠҭͯʯΧςΰϦʹ౤ߘ͞Ε࣭ͨ໰͕ͩໟ৭͸͔ͳΓҧ͏ɻ
    lͲͷΧςΰϦͷ࣭໰ΛΑ͘Έ͍ͯΔ͔z͚ͩͰ͸ɺϢʔβʔ͕ͲΜͳ͜ͱʹ೰ΜͰ͍
    Δͷ͔ਪఆ͢Δͷ͸ࠔ೉
    τϐοΫϞσϧͰϢʔβʔͷᅂ޷Λ
    ਪఆͰ͖Δ͔෼ੳͯ͠Έͨ

    View Slide

  25. τϐοΫϞσϧͷఆੑνΣοΫᶃ
    w -%"Λ༻͍ͯϞσϦϯάΛ࣮ࢪ
    w τϐοΫ਺͸$PIFSFODFͱ1FSQMFYJUZͷ஋͔Β
    ܭࢉͯ͠ઃఆ
    w ࠨਤ͸Ұ෦Λൈਮͨ͠΋ͷ͕ͩɺྑ͍ײ͡ʹτϐ
    οΫ͕෼ׂ͞Ε͍ͯΔ͜ͱ͕ఆੑతʹ൑அͰ͖Δ
    ྫɿ
    ɹ5PQJDɿ͓ۚ
    5PQJDɿอҭԂɾ༮ஓԂ
    5PQJDɿίϩφ
    5PQJDɿॅ·͍

    View Slide

  26. τϐοΫϞσϧͷఆੑνΣοΫᶄ
    w Կਓ͔ͷϢʔβʔΛαϯϓϦϯάͯ͠ఆੑతʹσʔλΛ෼ੳ
    w Լه͸ɺ͋ΔϢʔβʔͷ࣭໰ӾཡϩάΛ༻͍ͨڵຯτϐοΫͷભҠΛද͍ͯ͠Δ
    ˠτϐοΫʢग़࢈ʣ͸݄ޙ൒ʹ޲͚ͯӈݞ্͕ΓͰɺ೔͕ϐʔΫ
    ˠτϐοΫʢ௨Ӄʣ͕ɺ݄಄ͱޙ൒ʹߴ͍஋Λ͚͍ͭͯΔ

    View Slide

  27. τϐοΫϞσϧͷఆੑνΣοΫᶄ
    w Կਓ͔ͷϢʔβʔΛαϯϓϦϯάͯ͠ఆੑతʹσʔλΛ෼ੳ
    w Լه͸ɺ͋ΔϢʔβʔͷ࣭໰ӾཡϩάΛ༻͍ͨڵຯτϐοΫͷભҠΛද͍ͯ͠Δ
    ˠτϐοΫʢग़࢈ʣ͸݄ޙ൒ʹ޲͚ͯӈݞ্͕ΓͰɺ೔͕ϐʔΫ
    ˠτϐοΫʢ௨Ӄʣ͕ɺ݄಄ͱޙ൒ʹߴ͍஋Λ͚͍ͭͯΔ

    View Slide

  28. τϐοΫϞσϧͷఆੑνΣοΫᶄ
    w ࠓճͷϢʔβʔ͸݄೔ʹग़࢈Λ߇͍͑ͯͨͷͰɺͦΕʹ߹Θͤͯ
    ग़࢈τϐοΫͷ࣭໰ΛݟΔΑ͏ʹͳ͍ͬͯͬͨՄೳੑ͸͋Γͦ͏
    ˠʮʢग़࢈ʣɺʢ௨Ӄʣʯ͋ͨΓͷτϐοΫʹڵຯ͕͋Δͱ͍͏͜ͱ͸ɺఆੑత
    ʹ൑அͯ͠΋ѱ͘ͳ͍
    w ͜ͷΑ͏ͳ͜ͱΛෳ਺ϢʔβʔͰ܁Γฦ͠ɺఆੑతʹ൑அ
    ݄೔ʹग़࢈͍ͯ͠Δ
    ग़࢈τϐοΫ
    ௨ӃτϐοΫ
    ௨ӃτϐοΫ

    View Slide

  29. τϐοΫϞσϧͷఆੑνΣοΫᶄ
    w ࠓճͷϢʔβʔ͸݄೔ʹग़࢈Λ߇͍͑ͯͨͷͰɺͦΕʹ߹Θͤͯ
    ग़࢈τϐοΫͷ࣭໰ΛݟΔΑ͏ʹͳ͍ͬͯͬͨՄೳੑ͸͋Γͦ͏
    ˠʮʢग़࢈ʣɺʢ௨Ӄʣʯ͋ͨΓͷτϐοΫʹڵຯ͕͋Δͱ͍͏͜ͱ͸ɺఆੑత
    ʹ൑அͯ͠΋ѱ͘ͳ͍
    w ͜ͷΑ͏ͳ͜ͱΛෳ਺ϢʔβʔͰ܁Γฦ͠ɺఆੑతʹ൑அ
    ݄೔ʹग़࢈͍ͯ͠Δ
    ग़࢈τϐοΫ
    ௨ӃτϐοΫ
    ௨ӃτϐοΫ
    ఆੑతʹ͸ྑͦ͞͏
    ˠϨίϝϯσʔγϣϯʹ׆༻ͯ͠ΈΔ

    View Slide

  30. τϐοΫϞσϧΛ׆༻ͨ͠Ϩίϝϯσʔγϣϯ

    View Slide

  31. τϐοΫϞσϧΛ׆༻ͨ͠Ϩίϝϯσʔγϣϯ

    View Slide

  32. τϐοΫϞσϧΛ׆༻ͨ͠Ϩίϝϯσʔγϣϯ
    w ߦྻ෼ղ͸3BUJOHߦྻΛVTFSͷಛ௃ྔߦྻʢ1ʣͱJUFNͷಛ௃ྔߦྻ
    ʢ2ʣʹ෼ղ͢Δख๏
    w ྫ͑͹ɺNਓͷϢʔβʔͱOݸͷΞΠςϜΛߟ͑ͨͱ͖ʹɺNLͰ
    ͋ΔL࣍ݩʹ࣍ݩ࡟ݮͯ͠ม׵͢Δ͜ͱΛ໨తͱ͢Δ

    View Slide

  33. τϐοΫϞσϧΛ׆༻ͨ͠Ϩίϝϯσʔγϣϯ
    w UG&NCFEEJOHΛ༻͍Δ͜ͱͰɺL࣍ݩͷຒΊࠐΈΛදݱ
    ʢωοτϫʔΫ͸ӈԼਤͷΑ͏ͳΠϝʔδʣ
    w ԼهࣜͰϢʔβʔͷᅂ޷͕είΞϦϯάͰ͖ΔͱԾఆֶͯ͠श
    rij
    = vi
    ⋅ vj
    + bi
    + bj
    SJKɿϢʔβJʹΑΔΞΠςϜKʹର͢ΔධՁ஋
    CJɿϢʔβJʹΑΔධՁ஋ͷόΠΞε
    CKɿΞΠςϜKʹର͢ΔධՁ஋ͷόΠΞε
    WJɿϢʔβJͷಛ௃ϕΫτϧ
    WKɿΞΠςϜKͷಛ௃ϕΫτϧ
    WJ⋅WKɿϢʔβJͱΞΠςϜKͷಛ௃ϕΫτϧͷ಺ੵ

    View Slide

  34. ݁Ռ

    View Slide

  35. ݁Ռ
    w τϐοΫϞσϧΛ׆༻ͨ͠ϨίϝϯσʔγϣϯͷϦϦʔεͨ݁͠Ռɺ
    ϦϦʔεલޙ೔ฏۉͰ໿਺஋޲্🎉 ʢݱࡏ"#ςετதʣ
    ϦϦʔε
    ϦϦʔεલޙͷ
    10೔ؒฏۉ
    U

    View Slide

  36. ݁Ռ
    w τϐοΫϞσϧΛ׆༻ͨ͠ϨίϝϯσʔγϣϯͷϦϦʔεͨ݁͠Ռɺ
    ϦϦʔεલޙ೔ฏۉͰ໿਺஋޲্🎉 ʢݱࡏ"#ςετதʣ
    ϦϦʔε
    ϦϦʔεલޙͷ
    10೔ؒฏۉ
    U
    χίχί🥰

    View Slide

  37. ·ͱΊ

    View Slide

  38. ·ͱΊ
    w Ϣʔβʔͷ࣭໰Ӿཡߦಈ͔ΒɺͦͷϢʔβʔͷڵຯؔ৺ͷ͋Δτϐ
    οΫΛਪఆͯ͠Έͨ݁Ռɺྑ͍݁Ռ͕ಘΒΕͨ
    ˠࣾ಺ʹ΋෼ੳ݁ՌΛڞ༗͠ɺࠓ·Ͱݟ͑ͯ͜ͳ͔ͬͨσʔλͷ੾
    ΓޱΛ։୓Ͱ͖ͨ
    w τϐοΫϞσϧΛ׆༻ͨ͠ϨίϝϯσʔγϣϯΛߦ͏͜ͱͰɺϕʔ
    εϥΠϯΑΓ΄Ͳͷվળ͕ݟࠐΊͨ🎉
    w Ϩίϝϯσʔγϣϯָ͍͠😆

    View Slide

  39. ࠷ޙʹ

    View Slide

  40. .-ΤϯδχΞઈࢍืूதͰ͢ʂ🧑💻
    ɾϥΠϑΠϕϯτ ϥΠϑελΠϧͷ՝୊ղܾΛ͢ΔαʔϏεʹڵຯ͕͋Δํ
    ɾػցֶशͷࣾձ࣮૷ ϓϩμΫτ։ൃʹڵຯͷ͋Δํ
    %.PSͦ͘ΊΜ܅ܦ༝PS8BOUFEMZܦ༝ͳͲ͝࿈བྷ͓଴͍ͪͯ͠·͢ʂ
    ΧδϡΞϧ໘ஊͰ͸౴͑ΒΕΔൣғͰͳΜͰ΋౴͑·͢ʂʢಛʹ४උ͸͍Γ·ͤΜʣ
    5XJUUFSˠIUUQTUXJUUFSDPNUBLBQZ
    8F`SF)JSJOH

    View Slide

  41. ձࣾͱͯ͠΋ظ଴͞Ε͍ͯΔ෼໺Ͱ͢
    ֓ཁ
    ɹɾҰਓʹҰਓʹ࠷దԽ͞Εͨ৘ใΛσʔλ΍ػցֶशΛ༻͍ͯఏڙ͢Δ
    ͳͥ΍Δͷ͔ʁ
    ɹɾ୯Ұͷ৘ใΛϒϩʔυΩϟετ͢ΔͷͰ͸ͳ͘ɺͦΕͧΕͷՈ଒ʹدΓఴͬͨ৘ใΛఏڙ͢ΔͨΊ
    ɹɾΞηοτͰ͋Δେྔͷඇߏ଄ԽσʔλΛ׆༻͢ΔͨΊ
    Ͳ͏΍Δͷ͔ʁʢऔΓ૊ΜͰ͍Δ͜ͱ΍ݕ౼͍ͯ͠Δ͜ͱʣ
    ɹɾϨίϝϯυΤϯδϯͷ։ൃ
    ɹɾʮ"DUJPOBCMFʯͳσʔλج൫ͷߏஙFUD

    View Slide

  42. ͓ΘΓ
    ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ

    View Slide