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
770
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
860
Mint: Language Level Support for SPAs
agatan
3
1.8k
Other Decks in Programming
See All in Programming
20250528 AWS Startupイベント登壇資料:AIコーディングの取り組み
procrustes5
0
160
Webからモバイルへ Vue.js × Capacitor 活用事例
naokihaba
0
490
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
2.8k
Bytecode Manipulation 으로 생산성 높이기
bigstark
1
190
〜可視化からアクセス制御まで〜 BigQuery×Looker Studioで コスト管理とデータソース認証制御する方法
cuebic9bic
3
320
「兵法」から見る質とスピード
ickx
0
260
Javaに鉄道指向プログラミング (Railway Oriented Pro gramming) のエッセンスを取り入れる/Bringing the Essence of Railway-Oriented Programming to Java
cocet33000
2
520
TypeScript を活かしてデザインシステム MCP を作る / #tskaigi_after_night
izumin5210
5
520
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
900
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
750
MLOps Japan 勉強会 #52 - 特徴量を言語を越えて一貫して管理する, 『特徴量ドリブン』な MLOps の実現への試み
taniiicom
2
650
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
150
Featured
See All Featured
A Tale of Four Properties
chriscoyier
159
23k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Designing Experiences People Love
moore
142
24k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Cost Of JavaScript in 2023
addyosmani
50
8.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Into the Great Unknown - MozCon
thekraken
39
1.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
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 Λ࣮ߦ͢Δͷ͕؆୯