Slide 1

Slide 1 text

©2018 Wantedly, Inc. Go as an aggregator In Recommendation Systems 26.Jul.2018 - Naomichi Agata

Slide 2

Slide 2 text

©2018 Wantedly, Inc. agatan Software engineer at Wantedly, inc. Server side + Machine learning Github Twitter @agatan @agatan_

Slide 3

Slide 3 text

©2018 Wantedly, Inc. Everything is a Recommendation https://medium.com/netflix-techblog/netflix-recommendations-beyond-the-5-stars-part-1-55838468f429

Slide 4

Slide 4 text

©2018 Wantedly, Inc. Recommendations ΄ͱΜͲͷαʔϏεͰʮԿ͔Λਪન͢Δʯͱ͍͏ػೳ͸͋Δ

Slide 5

Slide 5 text

©2018 Wantedly, Inc. Impact of Recommendations ⾣Linkedinͷͭͳ͕Γͷ50%Ҏ্͸ʮ஌Γ߹͍Ͱ͔͢ʁʯܦ༝ ⾣ https://engineering.linkedin.com/teams/data/projects/pymk ⾣Netflix͸ਪનγεςϜͷcompetition Λ։࠵͠৆ۚ$1 Million Λग़͍ͯ͠Δ ⾣ https://medium.com/netflix-techblog/netflix-recommendations-beyond-the-5-stars-part-1-55838468f429

Slide 6

Slide 6 text

©2018 Wantedly, Inc. Components of Recommendations ਪનͷࠜڌ͸͍ΖΜͳ৔ॴʹ͋Δ ⾣ʮ˓˓͞Μ͕-JLF͠·ͨ͠ʯ ⾣ʮ͜ͷ঎඼Λߪೖͨ͠ਓ͸͜ͷ঎඼΋ങ͍ͬͯ·͢ʯ ⾣ʮڞ௨ͷͭͳ͕Γ͕ਓ͍·͢ʯ ⾣ʮ࿩୊ͷχϡʔεʯ ⾣ʮ˓˓Λݕࡧͨ͠ํ΁ʯ ⾣ʮಉ͡ձࣾͰಇ͍͍ͯΔϢʔβʯ

Slide 7

Slide 7 text

©2018 Wantedly, Inc. Order of Recommendations ΑΓྑ͍ΞΠςϜΛɺΑΓྑ͍ॱংͰఏࣔ͢Δ͜ͱ͕ٻΊΒΕΔ ⾣Hot Topics ͸ͳΔ΂͘଎͘ఏ͍ࣔͨ͠ ⾣֬ݻͨΔࣗ৴ͷ͋ΔਪનΛ༏ઌͯ͠ݟ͍ͤͨ ⾣શମͰͷਓؾॱΑΓ΋ύʔιφϥΠζͨ͠ॱংΛఏڙ͍ͨ͠ ⾣αʔϏεݻ༗ͷׂΓࠐΈ΋͋Δ͔΋͠Εͳ͍ by Google

Slide 8

Slide 8 text

©2018 Wantedly, Inc. Recommendations with strategies

Slide 9

Slide 9 text

©2018 Wantedly, Inc. aggregator Strategy Strategy Strategy Strategy ༑ୡ͕-JLFͨ͠ΞΠςϜΛఏࣔ ߪೖཤྺ͔Βͷ͓͢͢Ί ࿩୊ͷΞΠςϜ ϓϩϑΟʔϧ͔Βͷ͓͢͢Ί Recommendations with strategies Strategy Λ࣮ߦ ݁ՌΛू໿ re-ordering ฒߦॲཧ

Slide 10

Slide 10 text

©2018 Wantedly, Inc. Recommendations with strategies ֤strategy͕ਪનΞΠςϜΛఏࣔ UZQF4USBUFHZJOUFSGBDF\ /BNF 4USBUFHZ/BNF 4VHHFTU DUYDPOUFYU$POUFYU VTFS*%JOU TJ[FJOU  <> 4VHHFTU6TFS FSSPS  ^ UZQF4VHHFTU6TFSTUSVDU\ 6TFS*%JOU 4DPSFqPBU 4USBUFHZ/BNF4USBUFHZ/BNF 3FBTPOJOUFSGBDF\^GPSMPHHJOH ^

Slide 11

Slide 11 text

©2018 Wantedly, Inc. Recommendations with strategies ͦΕΒΛฒߦʹ࣮ߦ͠ू໿ ࠷ऴతͳॱংΛܾఆ͢Δ GPS@ TSBOHFTUSBUFHJFT\ XH"EE   HPGVOD T4USBUFHZ \ EFGFSXH%POF  TT FSST4VHHFTU DUY VTFS*% TJ[F  JGFSSOJM\ SFQPSUFSSPS SFUVSO ^ NV-PDL  TVHHFTUJPOTBQQFOE TVHHFTUJPOT TT  NV6OMPDL  ^ T  ^

Slide 12

Slide 12 text

©2018 Wantedly, Inc. Why Go? Machine Learning ͱ Microservices ͳߏ੒ ˠ֤Strategy ͸API CallΛؚΈ͏Δ ˠฒߦॲཧʹڧ͍͜ͱ͕׆͖Δ aggregator microservices

Slide 13

Slide 13 text

©2018 Wantedly, Inc. Responsibility of Aggregator ⾣Logging ⾣ ͲͷStrategy ͕Ͳͷ͘Β͍੒ՌΛ͍͋͛ͯΔ͔ ⾣֤Strategy ͷείΞͷॏΈ෇͚࿨ʹΑΔϥϯΩϯά ⾣e.g. ͢Ͱʹఏࣔͨ͜͠ͱͷ͋ΔΞΠςϜͷείΞΛݮਰͤ͞Δ ⾣A/B Testing

Slide 14

Slide 14 text

©2018 Wantedly, Inc. Problems… ⾣Frror reporting ⾣ ͋Δstrategy ͕ࢮΜͰ͍ͯ΋શମ͸ࢭ·Βͳ͍Ͱ΄͍͠ ⾣ࢮΜͩ͜ͱʹ͸ؾ෇͖͍ͨ ⾣Frror reporting service Λ׆༻ ⾣ෳ਺ͷStrategy Ͱಉ͡API CallΛͨ͘͠ͳΔ ⾣e.g. Profile Service ʹॴଐΛ໰͍߹ΘͤΔ࠷ۙങͬͨ঎඼ͷΧςΰϦ͕஌Γ͍ͨ ⾣HPMBOHPSHYTZODTJOHMFqJHIU ΍ΠϯϝϞϦΩϟογϡͰແཧ໼ཧଋͶΔ ⾣Ͳ͜·Ͱaggregator ͕ܭࢉ͢Δ΂͖͔

Slide 15

Slide 15 text

©2018 Wantedly, Inc. Conclusion ⾣ਪનγεςϜ͸͍ΖΜͳཁૉͷ૊Έ߹Θͤ ⾣Microservices / Machine Learning ⾣A/B Test ͕ॏཁ ⾣࣮ࡍʹԿΛݟ͔ͤͨɺԿ͕Action ʹͭͳ͕͔ͬͨLogging ͍ͨ͠ ⾣લஈʹGo Λ͓͘ͱศར ⾣Concurrent ʹ͍ΖΜͳStrategy Λ࣮ߦ͢Δͷ͕؆୯