Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Go as an aggregator in recommendation systems
Search
Agata Naomichi
July 26, 2018
Programming
2
1.4k
Go as an aggregator in recommendation systems
Agata Naomichi
July 26, 2018
Tweet
Share
More Decks by Agata Naomichi
See All by Agata Naomichi
医療系スタートアップが経験した 認知負荷問題の症状分析と処方箋 チーム分割による認知負荷の軽減 / Cognitive Load Busters
agatan
2
510
専門性の高い領域をいかに開発し、 テストするか / How to test and develop complicated systems with Domain Experts!
agatan
3
780
Henry のサーバーサイドアーキテクチャ 狙いと課題 2022.08.25 / Server-Side Architecture at Henry, Inc.
agatan
3
5.3k
The Web Conference 2020 - Participation Report
agatan
1
700
○○2vec 再考
agatan
1
4.4k
Improving "People You May Know" on Directed Social Graph
agatan
4
2.6k
Machine Learning and Feedback
agatan
1
1.4k
Recommendation systems on microservices - productivity & reproducibility
agatan
0
870
Mint: Language Level Support for SPAs
agatan
3
1.8k
Other Decks in Programming
See All in Programming
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
150
業務自動化をJavaとSeleniumとAWS Lambdaで実現した方法
greenflagproject
1
120
Prism.parseで 300本以上あるエンドポイントに 接続できる権限の一覧表を作ってみた
hatsu38
1
110
データベースコネクションプール(DBCP)の変遷と理解
fujikawa8
1
270
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
380
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
760
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.7k
Claude Codeの使い方
ttnyt8701
1
120
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
960
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
230
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
22
6.2k
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
170
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
4 Signs Your Business is Dying
shpigford
184
22k
Building Adaptive Systems
keathley
43
2.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Side Projects
sachag
455
42k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
910
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Transcript
©2018 Wantedly, Inc. Go as an aggregator In Recommendation Systems
26.Jul.2018 - Naomichi Agata
©2018 Wantedly, Inc. agatan Software engineer at Wantedly, inc. Server
side + Machine learning Github Twitter @agatan @agatan_
©2018 Wantedly, Inc. Everything is a Recommendation https://medium.com/netflix-techblog/netflix-recommendations-beyond-the-5-stars-part-1-55838468f429
©2018 Wantedly, Inc. Recommendations ΄ͱΜͲͷαʔϏεͰʮԿ͔Λਪન͢Δʯͱ͍͏ػೳ͋Δ
©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
©2018 Wantedly, Inc. Components of Recommendations ਪનͷࠜڌ͍ΖΜͳॴʹ͋Δ ⾣ʮ˓˓͞Μ͕-JLF͠·ͨ͠ʯ ⾣ʮ͜ͷΛߪೖͨ͠ਓ͜ͷങ͍ͬͯ·͢ʯ ⾣ʮڞ௨ͷͭͳ͕Γ͕ਓ͍·͢ʯ
⾣ʮͷχϡʔεʯ ⾣ʮ˓˓Λݕࡧͨ͠ํʯ ⾣ʮಉ͡ձࣾͰಇ͍͍ͯΔϢʔβʯ
©2018 Wantedly, Inc. Order of Recommendations ΑΓྑ͍ΞΠςϜΛɺΑΓྑ͍ॱংͰఏࣔ͢Δ͜ͱ͕ٻΊΒΕΔ ⾣Hot Topics ͳΔ͘͘ఏ͍ࣔͨ͠
⾣֬ݻͨΔࣗ৴ͷ͋ΔਪનΛ༏ઌͯ͠ݟ͍ͤͨ ⾣શମͰͷਓؾॱΑΓύʔιφϥΠζͨ͠ॱংΛఏڙ͍ͨ͠ ⾣αʔϏεݻ༗ͷׂΓࠐΈ͋Δ͔͠Εͳ͍ by Google
©2018 Wantedly, Inc. Recommendations with strategies
©2018 Wantedly, Inc. aggregator Strategy Strategy Strategy Strategy ༑ୡ͕-JLFͨ͠ΞΠςϜΛఏࣔ ߪೖཤྺ͔Βͷ͓͢͢Ί
ͷΞΠςϜ ϓϩϑΟʔϧ͔Βͷ͓͢͢Ί Recommendations with strategies Strategy Λ࣮ߦ ݁ՌΛू re-ordering ฒߦॲཧ
©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 ^
©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 ^
©2018 Wantedly, Inc. Why Go? Machine Learning ͱ Microservices ͳߏ
ˠ֤Strategy API CallΛؚΈ͏Δ ˠฒߦॲཧʹڧ͍͜ͱ͕׆͖Δ aggregator microservices
©2018 Wantedly, Inc. Responsibility of Aggregator ⾣Logging ⾣ ͲͷStrategy ͕Ͳͷ͘Β͍ՌΛ͍͋͛ͯΔ͔
⾣֤Strategy ͷείΞͷॏΈ͚ʹΑΔϥϯΩϯά ⾣e.g. ͢Ͱʹఏࣔͨ͜͠ͱͷ͋ΔΞΠςϜͷείΞΛݮਰͤ͞Δ ⾣A/B Testing
©2018 Wantedly, Inc. Problems… ⾣Frror reporting ⾣ ͋Δstrategy ͕ࢮΜͰ͍ͯશମࢭ·Βͳ͍Ͱ΄͍͠ ⾣ࢮΜͩ͜ͱʹؾ͖͍ͨ
⾣Frror reporting service Λ׆༻ ⾣ෳͷStrategy Ͱಉ͡API CallΛͨ͘͠ͳΔ ⾣e.g. Profile Service ʹॴଐΛ͍߹ΘͤΔ࠷ۙങͬͨͷΧςΰϦ͕Γ͍ͨ ⾣HPMBOHPSHYTZODTJOHMFqJHIU ΠϯϝϞϦΩϟογϡͰແཧཧଋͶΔ ⾣Ͳ͜·Ͱaggregator ͕ܭࢉ͢Δ͖͔
©2018 Wantedly, Inc. Conclusion ⾣ਪનγεςϜ͍ΖΜͳཁૉͷΈ߹Θͤ ⾣Microservices / Machine Learning ⾣A/B
Test ͕ॏཁ ⾣࣮ࡍʹԿΛݟ͔ͤͨɺԿ͕Action ʹͭͳ͕͔ͬͨLogging ͍ͨ͠ ⾣લஈʹGo Λ͓͘ͱศར ⾣Concurrent ʹ͍ΖΜͳStrategy Λ࣮ߦ͢Δͷ͕؆୯