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
Synapse: 利用者の文脈に応じて 継続的に推薦手法の選択を 最適化する推薦システム/io...
Search
monochromegane
May 24, 2019
Technology
0
860
Synapse: 利用者の文脈に応じて 継続的に推薦手法の選択を 最適化する推薦システム/iot45_synapse
第45回 情報処理学会 インターネットと運用技術研究会
https://www.ipsj.or.jp/kenkyukai/event/csec85iot45.html
monochromegane
May 24, 2019
Tweet
Share
More Decks by monochromegane
See All by monochromegane
なめらかなシステムと運用維持の終わらぬ未来 / dicomo2025_coherently_fittable_system
monochromegane
0
450
ベクトル検索システムの気持ち
monochromegane
33
11k
Go言語での実装を通して学ぶ、高速なベクトル検索を支えるクラスタリング技術/fukuokago-kmeans
monochromegane
1
180
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
260
多様かつ継続的に変化する環境に適応する情報システム/thesis-defense-presentation
monochromegane
1
920
Online Nonstationary and Nonlinear Bandits with Recursive Weighted Gaussian Process
monochromegane
0
560
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
2
970
Go言語でMac GPUプログラミング
monochromegane
1
620
Contextual and Nonstationary Multi-armed Bandits Using the Linear Gaussian State Space Model for the Meta-Recommender System
monochromegane
1
1.1k
Other Decks in Technology
See All in Technology
Tech-Verse 2025 Keynote
lycorptech_jp
PRO
0
1.3k
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
250
ドメイン特化なCLIPモデルとデータセットの紹介
tattaka
1
470
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
200
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
4
940
B2C&B2B&社内向けサービスを抱える開発組織におけるサービス価値を最大化するイニシアチブ管理
belongadmin
0
180
GeminiとNotebookLMによる金融実務の業務革新
abenben
0
240
OPENLOGI Company Profile
hr01
0
67k
asken AI勉強会(Android)
tadashi_sato
0
140
FOSS4G 2025 KANSAI QGISで点群データをいろいろしてみた
kou_kita
0
240
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
940
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
110
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Practical Orchestrator
shlominoach
188
11k
Scaling GitHub
holman
459
140k
How to Ace a Technical Interview
jacobian
277
23k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
A better future with KSS
kneath
239
17k
The Pragmatic Product Professional
lauravandoore
35
6.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Transcript
ࡾ༔հ / Pepabo R&D Institute, GMO Pepabo, Inc. 2019.05.24 ୈ45ճ
ใॲཧֶձ Πϯλʔωοτͱӡ༻ٕज़ݚڀձ Synapse: ར༻ऀͷจ຺ʹԠͯ͡ ܧଓతʹਪનख๏ͷબΛ ࠷దԽ͢ΔਪનγεςϜ
1. ͡Ίʹ 2. എܠ 3. ఏҊख๏ 4. ධՁ 5. ·ͱΊ
2 ࣍
1. ͡Ίʹ
• ECαΠτͰ૿େʹ͏ใաଟΛղܾ͢ΔͨΊΛࣗಈతʹఏ Ҋ͢ΔػೳʢਪનγεςϜʣ͕ಋೖ͞ΕΔɽ • ਪનख๏ਪનࠜڌͱͳΔใݯํࣜʹΑͬͯબఆ͢Δ͕ҟͳΔ • ར༻ऀͷཁٻΛຬͨ͢Λબఆ͢ΔՄೳੑͷߴ͍ਪનख๏Λબ͢Δ͜ͱ͕ ӡӦऀʹͱͬͯॏཁ 4 ݚڀͷత
• Which is the best ? • ༰ϕʔεܕਪન • ྨࣅը૾
• ྨࣅςΩετ • ڠௐܕਪન • ࣝϕʔεܕਪન • ϋΠϒϦουܕਪન • ฒྻܕɼྻܕ… 5 ਪનख๏ͷબ
• Which is the best • ༰ϕʔεܕਪન • ྨࣅը૾ •
ྨࣅςΩετ • ڠௐܕਪન • ࣝϕʔεܕਪન • ϋΠϒϦουܕਪન • ฒྻܕɼྻܕ… 6 ಛఆͷ݅Ͱͷਪનख๏ͷબ • In the case ? • ਫ਼ • ͷಛੑ • ༰ͷදݱྗ • ίʔϧυελʔτ • ۙࣅ • จ຺ • ར༻ऀͷঢ়گͱཁٻ
• Which is the best • ༰ϕʔεܕਪન • ྨࣅը૾ •
ྨࣅςΩετ • ڠௐܕਪન • ࣝϕʔεܕਪન • ϋΠϒϦουܕਪન • ฒྻܕɼྻܕ… 7 ECαΠτͷಛఆͷ݅Ͱͷਪનख๏ͷબ • In the case • ਫ਼ • ͷಛੑ • ༰ͷදݱྗ • ίʔϧυελʔτ • ۙࣅ • จ຺ • ར༻ऀͷঢ়گͱཁٻ • On a EC site ? • ܧଓతͳվળ • ػೳՃ • ར༻ऀ૿Ճ • அଓతͳվѱ • ෆ۩߹ • γεςϜෛՙ • ݱࡏͷ࠷ળखͷٻ
ਪનख๏ͷ༏ྼଟ͘ͷ݅ʢจ຺ʣʹΑͬͯࠨӈ͞ΕΔ 8 ݚڀͷഎܠͱఏҊͷࠎࢠ ࣄલʹఆΊͨจ຺͝ͱʹਪનख๏ͷબΛࣗಈత͔ͭܧଓతʹ࠷దԽ͢Δਪન γεςϜͷఏҊ ༗ޮͳਪનख๏Λػձଛࣦ͕ͳ͍Α͏ʹจ຺ʹԠ͍͚͍ͯͨ͡
3. എܠ
• ᶃ ਪનख๏ͷ༏ྼ͕จ຺ʹΑͬͯมԽ͢Δ • ᶄ ༏ྼͷมԽ͢Δ൚༻తͰ໌֬ͳج४͕ͳ͍ • ᶅ ༏ྼ͕ܧଓతʹมԽ͢Δ 10
ਪનख๏ͷબʹ·ͭΘΔ՝ ECαΠτͷӡӦऀར༻ऀͷཁٻΛຬͨ͢Մೳੑͷߴ͍ਪનख๏Λબ͍ͨ͠ ͕ɼҎԼͷ՝ͷͨΊಋೖઌ͝ͱͷධՁͱௐ͕ߦΘΕ͍ͯΔɽ
11 ՝ᶃ ਪનख๏ͷ༏ྼ͕จ຺ʹΑͬͯมԽ͢Δ • ਪનख๏ͷ༏ྼଟ͘ͷ݅ʢจ຺ʣʹΑͬͯࠨӈ͞ΕΔ • ਪનख๏ͷલఏํࣜʹىҼ͢Δ੍ • ਪનରͱͳΔͷಛੑ •
ԠදࣔॱংͳͲͷ࣮ཁҼ • ΫϦοΫߪೖͳͲͷධՁࢦඪ • ਪન݁ՌΛධՁ͢Δར༻ऀଆͷঢ়گ
12 ՝ᶃ ਪનख๏ͷ༏ྼ͕จ຺ʹΑͬͯมԽ͢Δ ਪનରͱͳΔͷಛੑɼධՁࢦඪʹΑΔ༏ྼࠩͷྫ
13 ՝ᶃ ਪનख๏ͷ༏ྼ͕จ຺ʹΑͬͯมԽ͢Δ ਪનख๏ͷ༏ྼଟ͘ͷ݅ʢจ຺ʣʹΑͬͯࠨӈ͞ΕΔ ݅ʢจ຺ʣΛఆΊͯɼจ຺͝ͱʹదͨ͠ਪનख๏Λ͍͚Δ͜ͱͰਪનγ εςϜશମͰར༻ऀͷཁٻΛຬͨ͢Λબఆ͢ΔՄೳੑΛߴΊ͍ͨ
14 ՝ᶄ ༏ྼͷมԽ͢Δ൚༻తͰ໌֬ͳج४͕ͳ͍ • ༏ྼࠩͷج४ʹ͍ͭͯͷҰൠతͳ͜Ε·ͰͷใࠂධՁߟ͕͋Δͷ ͷจ຺ґଘͷͨΊ൚༻తͰ໌֬ͳج४ଘࡏ͠ͳ͍ • Ұൠతͳߟʹج͖ͮͭͭɼ࣮ڥͰͷධՁʹΑ͍͚ͬͯͷج४ ΛٻΊΔඞཁ͕͋Δ
• ϋΠϒϦουܕਪન • ਪનख๏ΛΈ߹Θ֤ͤͯख๏ͷॴΛิ͏ • ߪങཤྺ͕ੵ͞ΕΔ·Ͱ༰ϕʔεΛॏࢹɼੵޙʹڠௐܕΛॏࢹ 15 ՝ᶄ ༏ྼͷมԽ͢Δ൚༻తͰ໌֬ͳج४͕ͳ͍ $53
)JTUPSZDPVOU -PX .JEEMF )JHI $POUFOUCBTF $PDPSBCPSBUFCBTF ڠௐܕਪન͕ߪങཤྺͷੵʹΑͬͯਫ਼্͕͠༰ϕʔεܕ ਪનͷਫ਼ͱٯస͢Δ͜ͱΛදݱͨࣜ͠ਤ ߪങཤྺͷੵ͕۩ମతʹԿ݅ʹୡͨ࣌͠ʹ༰ϕʔεܕਪનͱ Γସ͑Δ͖͔࣮ڥͰͷධՁ͕ඞཁ
16 ՝ᶅ ༏ྼ͕ܧଓతʹมԽ͢Δ ECαΠτɼ࣮ڥͰͷධՁʹΑͬͯಘΒΕͨ݅͝ͱͷޮՌࠩʹج͍ͮͨਪ નख๏ͷ͍͚ʹΑͬͯਪનγεςϜͷޮՌΛܧଓతʹ࠷େԽ͍ͨ͠ 1. จ຺ͷΓ͚ 2. ৽͍͠ਪનख๏ͷಋೖ 3.
ಋೖޙͷ࠶ܭଌɼޮՌఆɼޮՌతͳख๏ͷద༻ ͜ΕΒΛఆظత͔ͭ࠷ͰߦΘͳ͚Εӡ༻ڥͰػձଛࣦ͕ൃੜ͢Δ
3. ఏҊख๏
• ᶃ ਪનख๏ͷ༏ྼ͕จ຺ʹΑͬͯมԽ͢Δ • จ຺ΛఆΊͯɼఆΊͨจ຺͝ͱʹਪનख๏Λ͍͚Δ • ᶄ ༏ྼͷมԽ͢Δ൚༻తͰ໌֬ͳج४͕ͳ͍ • ఆΊͨจ຺͝ͱʹ࣮ڥͰͷධՁΛߦ͏
• ᶅ ༏ྼ͕ܧଓతʹมԽ͢Δ • จ຺ਪનख๏ͷಋೖޙʹ࣌ؒࠩͳ͘దԠ͢Δ 18 ՝ͷཧ
• ར༻ऀͷཁٻΛຬͨ͢Λબఆ͢ΔՄೳੑͷߴ͍ਪનख๏Λӡ༻ڥͰػձ ଛࣦ͕ൃੜ͠ͳ͍Α͏ࣗಈత͔ͭܧଓతʹར༻͍ͨ͠ 19 ఏҊख๏ 1. จ຺ͷఆٛͱಋೖ 2. ৽͍͠ਪનख๏ͷಋೖ 3.
ಋೖޙͷ࠶ܭଌɼޮՌఆɼޮՌతͳख๏ͷద༻ • ࣄલʹఆΊͨจ຺͝ͱʹਪનख๏ͷબΛࣗಈత͔ͭܧଓతʹ࠷దԽ͢Δਪન γεςϜΛఏҊ
20 ਪનख๏ͷಋೖ • ධՁରͷਪનख๏ΛਪનγεςϜ͕Ձʹѻ͑ΔΑ͏ڞ௨ͷΠϯλʔϑΣʔ εΛ࣋ͭϞδϡʔϧͱͯ͠ఆٛ • ਪનॲཧڞ௨͢ΔϑΟϧλʹΑͬͯߏ͞ΕΔ • Profileʢར༻ऀͷใΛऩूʣ •
AssociationʢϓϩϑΝΠϧͱ݅ͷඥ͚ʣ • Searchʢ݅ʹै͍ީิΛݕࡧɼฒସ͑ʣ • ϑΟϧλͷڞ௨ར༻ʹΑΓอकੑͷ্
• ਪન݁Ռʹର͢Δར༻ऀͷԠΛܭଌ͢ΔͨΊͷϩάઃܭ • ར༻ऀ͝ͱͷϦΫΤετΛه • ར༻ऀ͝ͱͷਪનϦΫΤετʹର͢Δਪન݁ՌΛه • ਪનϦΫΤετͷޙͷߦಈ͕ਪન݁Ռͷʹؔ͢Δߦಈ͔Λൺֱ 21 จ຺͝ͱͷܭଌͱධՁ
5JNF $POUFYU .FUIPE 6TFS 1BUI 1BSBNT 3FTQPOTF $IBJS JNBHF " SFDPNNFOE " TIPX $IBJS DG # SFDPNNFOE # TIPX ਪનͷडೖ
• ෳͷਪનख๏͔ΒಘΒΕΔޮՌΛ࠷େԽ͢Δ • ଟόϯσΟοτͱͯ͠ղऍ͠ɼෳͷਪનख๏ͷޮՌʢΫϦοΫߪ ೖʣΛ࠷େԽ͢ΔͨΊEpsilon-GreedyΞϧΰϦζϜΛ࠾༻ • A/Bςετʹ͓͚ΔධՁͷख๏ར༻࣌ͷػձଛࣦΛճආ͢ΔͨΊͷख๏ • ࠷ॳA/BςετͷΑ͏ʹಉසͰΓସ͑Δ͕ධՁͷੵʢใु:rewardʣ ʹ͍ར༻සʹॏΈ͚͕ͳ͞ΕΔ
22 จ຺͝ͱͷධՁ Џ ׆༻ ୳ࡧ &QTJMPO(SFFEZΞϧΰϦζϜ
23 ධՁ݁Ռͷө ਪનγεςϜɼଟόϯσΟοτͱͯ͠ѻͬͨจ຺͝ͱͷޮՌతͳਪનख ๏ͷબ݁ՌΛఆظతʹऔΓࠐΈɼEpsilon-GreedyΞϧΰϦζϜͷॏΈ͚ʹ ै͍׆༻ํΛมߋ͢Δ
Synapse 24 Context Routing Context Context Method Method Method Method
Matching Process 0.33 0.33 0.33 Search Result Bandit Activity log Rewards Algorithms Epsilon- Greedy Softmax Feedback
Synapse 25 Context Routing Context Context Method Method Method Method
Matching Process 0.1 0.8 0.1 Search Result Bandit Activity log Rewards Algorithms Epsilon- Greedy Softmax Feedback
4. ධՁ
• ECαΠτͰར༻தͷਪનख๏ͷΫϦοΫ࣮ʹΑΔఏҊख๏ͷޮՌ༧ଌ • ΫϦοΫ࣮ɿӾཡதͷʹର͢ΔਪનΛఏҊ͢Δػೳ • ਪનख๏ɿྨࣅը૾ɼྨࣅςΩετɼڠௐܕਪનʢϓϦϛςΟϒɼLLRʣɼ σϞάϥϑΟοΫ • ϞϯςΧϧϩ๏ʹΑΔྦྷੵใु༧ଌΛൺֱ •
ࣄલʹఆΊΔจ຺ͱͯ͠ӾཡதͷͷΧςΰϦΛ࠾༻ • ࠷దԽͷޮՌଌఆɿ࠷దԽʹΑΔྦྷੵใु༧ଌͷมԽΛൺֱ • จ຺ͷޮՌଌఆɿจ຺͝ͱͷ࠷దԽͷ༗ແͰྦྷੵใु༧ଌͷมԽΛൺֱ 27 จ຺Λߟྀͨ͠ਪનख๏ͷબͷ࠷దԽ
จ຺͝ͱͷਪનख๏ͷޮՌͷࠩ 28 • จ຺ɼར༻ऀ͕ͲͷΧ ςΰϦΛݟ͍ͯΔ͔ • ਪનख๏͔ΒͷఏҊʹର͢Δ ΫϦοΫΛൺֱ • ΧςΰϦ͝ͱʹਪનख๏ͷޮ
Ռͷ͕ࠩ͋Δ͜ͱ͕ݟͯऔΕ Δ ΧςΰϦར༻ऀͷจ຺ͷ͏ͪγεςϜ͕ ѲͰ͖ΔͷͰଞͷECαΠτͰల։͍͢͠ɽ
ྦྷੵใु༧ଌ 29 • ࠷దԽΛߦͳ͍ͬͯͳ͍ͷ(1. No optimization) ͱൺֱͯ͠ ࠷ద ԽΛ͓͜ͳͬͨͷʢ2. Overall
optimization, 3. Category-wise optimizationʣͷྦྷੵใु༧ଌ͕ ߴ͍ • ࠷ऴతͳྦྷੵใु༧ଌจ຺ߟྀ ͨ͠࠷దԽ(3. Category-wize optimization)͕࠷ߴ͍
ྦྷੵใु༧ଌʢ্ཱ͕ͪΓʣ 30 • ࠷ॳͷൺֱͷઌ಄1000ճͷΈΛൺ ֱͨ͠ͷ • จ຺ߟྀ(3. Category-wise optimization)ͷ߹ɼจ຺͝ͱʹ ֶश͕ߦΘΕΔ͜ͱ͔Β্ཱ͕ͪ
Γʹ͕͔͔࣌ؒͬͨ
ྦྷੵใु༧ଌʢ༏ྼࠩͷগͳ͍ͷʣ 31 • ࠷ॳͷൺֱͷΫϦοΫͷࠩΛҙ ਤతʹΊͨͷ • ࠷ॳͷ࣮ݧͱಉ͡ॱҐ͚ͮʹͳΔ ͕༏ྼࠩͷஅ·Ͱʹଟ͘ͷࢼߦ ճΛཁͨ͠
• ਪનख๏ͷ༏ྼΛॿ͢Δదͳ݅Λબఆͯ͠ɼ͜ΕʹԠͨ͡ਪનख๏ͷબ ͷ࠷దԽΛߦ͏͜ͱͰྦྷੵใुֹͷ্ʹͭͳ͕Δ • ຊݚڀڥͷมԽͷଟ͍ঢ়گΛҙਤ͍ͯ͠Δ͜ͱ͔Βɼগͳ͍ࢼߦճͰͷ ࠷దԽΛਤΕΔΑ͏ͳํࡦʹΑΔվળ͕ظͰ͖Δ • ࢼߦճͷ૿Ճʹ͍୳ࡧΛΊΔʢΞχʔϦϯάʣ • ଞͷόϯσΟοτΞϧΰϦζϜʢUCB,
softmax…) • จ຺͖όϯσΟοτ 32 ධՁ
5. ·ͱΊ
• ར༻ऀͷจ຺ʹԠͯ͡ਪનख๏ͷಘखෆಘख͕͋Δ͜ͱ͕Θ͔ͬͨ • ఏҊख๏ʹΑΓख๏ಋೖͱจ຺ʹԠͨ͡࠷దͳख๏બఆ͕༰қʹͳΓɼػձଛ ࣦͷͳ͍ਪનγεςϜΛޮతͳߏங͕Մೳͱͳͬͨ • ݱࡏɼจ຺ΛࣄલʹఆΊΔඞཁ͕͋ΔͨΊɼಘखෆಘख͕ੜ͡Δจ຺ʹ͍ͭͯ ௐࠪΛਐΊΔ • ಘखෆಘखΛิ͍߹͑ΔΑ͏ʹͳͬͨ͜ͱͰɼݶఆతͰ͋ͬͯޮՌͷߴ͍ਪ
નख๏ͷ༗༻ੑ͕૿͢͜ͱ͕ߟ͑ΒΕΔͨΊɼͦͷΑ͏ͳख๏ͷݕ౼ΛਐΊΔɽ 34 ·ͱΊ
None