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
recommendation system with document similarity
Search
yoppi
January 27, 2018
Programming
0
3.1k
recommendation system with document similarity
yoppi
January 27, 2018
Tweet
Share
More Decks by yoppi
See All by yoppi
Applying oCPC algorithm for production
yoppi
2
740
solving of multi-armed bandit problem in advertisement recommendation
yoppi
2
7.4k
RailsはRubyだ
yoppi
0
240
Other Decks in Programming
See All in Programming
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
360
推しメソッドsource_locationのしくみを探る - はじめてRubyのコードを読んでみた
nobu09
2
160
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.2k
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
1k
Rubyと自由とAIと
yotii23
6
1.6k
ナレッジイネイブリングにAIを活用してみる ゆるSRE勉強会 #9
nealle
0
140
Better Code Design in PHP
afilina
0
160
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
150
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.1k
sappoRo.R #12 初心者セッション
kosugitti
0
270
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
860
Introduction to kotlinx.rpc
arawn
0
750
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
We Have a Design System, Now What?
morganepeng
51
7.4k
Site-Speed That Sticks
csswizardry
4
400
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
360
Large-scale JavaScript Application Architecture
addyosmani
511
110k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
The Invisible Side of Design
smashingmag
299
50k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
640
Adopting Sorbet at Scale
ufuk
74
9.2k
Transcript
จॻؒྨࣅʹΑΔ ϨίϝϯυγεςϜ !ZPQQJCMPH։ൃ෦6;06 4QFFF,BJHJ
ࣗݾհ w !ZPQQJCMPHٛాതҰ w 4QFFFྺϲ݄ͪΐͬͱ%$6;06 w (PϦϦʔεΊͰ͍ͨ w γεςϜϓϩάϥϛϯά͕େ w
ےτϨ
͡Ίʹ w ωΠςΟϒΞυωοτϫʔΫͰ͋Δ6;06ϨίϝϯυΟδΣο τΛఏڙ͍ͯ͠Δ w ϝσΟΞͷهࣄͱࠂओ͔Βೖߘ͞ΕͨࠂͦΕͧΕΛΟδΣο τͰϨίϝϯυ
Ϩίϝϯυهࣄ Ϩίϝϯυࠂ هࣄ
͕ɺهࣄϨίϝϯυͷਫ਼͕Α͘ͳ͍ʢ$53͕͍ʣঢ়ଶͩͬͨ
T
ΞϧΰϦζϜ͕ద༻͞Εͳ͍ϥϯμϜΑΓ͍ɻɻɻ
σΟϨΫλʔʮࠓिதʹهࣄCTR্͓ئ͍͠·͢ʯ yoppiʮ;͊ͬʂʁʢ3͘Β͍͔͠ͳ͍ʂʁʣʯ σΟϨΫλʔʮʢʹͬ͜Γʣʯ yoppiʮɺ͍…ʯ ͱ͍͏͜ͱͰͳΔ͘ޙʑͷվળՄೳʹ͢ΔͨΊʹίΞػೳΛ γϯϓϧʹ࡞ΓͭͭCTR্ΛݟࠐΊΔվળΛ͢Δ͜ͱʹ
• Ϩίϝϯυͬͯʁ • จॻؒྨࣅ • UZOUͰͷద༻ྫ • ͞ΒͳΔվળҊ • ·ͱΊ
࣍
• Ϩίϝϯυͬͯʁ • จॻؒྨࣅ • UZOUͰͷద༻ྫ • ͞ΒͳΔվળҊ • ·ͱΊ
l͋ΔϢʔβ͕ڵຯΛ࣋ͭͱࢥΘΕΔใΛਪન͢Δz
࣮ํ๏ w ڠௐϑΟϧλϦϯά w ίϯςϯπϕʔε
ڠௐϑΟϧλϦϯάͰͷϨίϝϯυ w ʮίϯςϯπʹର͢ΔϢʔβͷධՁʯΛݩʹϨίϝϯυ͢Δ w ΞΫηεཤྺɺߪങཤྺɺϨϏϡʔείΞ w ίϯςϯπࣗମͷσʔλͰͳ͘ϢʔβධՁΛΑΓڧ͍ॏΈͱ͠ ͯଊ͑Δ&$ͰΑ͘ΘΕΔ
ίϯςϯπϕʔεͷϨίϝϯυ w ʮίϯςϯπࣗମͷσʔλʯΛݩʹϨίϝϯυ͢Δ w ίϯςϯπͷλΠτϧɺຊจɺΧςΰϦɺը૾ w Ϣʔβσʔλ͕গͳ͍ঢ়ଶͰϨίϝϯυ͍ͨ͠߹ɺϝσΟΞͰ هࣄΛਪન͢Δ߹ʹΘΕΔ
ࠓճ͢͜ͱ w ڠௐϑΟϧλϦϯά w ίϯςϯπϕʔε
ίϯςϯπϕʔεͰهࣄΛϨίϝϯυ͢Δ w ʮจॻಉ͕࢜ࣅ͍ͯΕϢʔβڵຯΛ࣋ͭͰ͋Ζ͏ʯͱ͍͏Ծ ఆΛݩʹهࣄΛϨίϝϯυ͢Δ w ਓ͕ؒݟΔͱͳΜͱͳ͘ࣅͯΔͬͯஅͰ͖Δ w ܭࢉػͲ͏ͬͯஅ͢ΔͷͩΖ͏͔ʁ
• Ϩίϝϯυͬͯʁ • จॻؒྨࣅ • UZOUͰͷద༻ྫ • ͞ΒͳΔվળҊ • ·ͱΊ
จॻؒྨࣅ w จॻؒͰʮͳΜͱͳ͘ࣅ͍ͯΔʯͷΛද͢ईΛԽͨ͠ ͷ w ͦͷईΛྨࣅʢTJNJMBSJUZʣͱݺͿ w ྫ͑ɺʮྨࣅ͕ߴ͍ͷΛࣅ͍ͯΔʯͱఆٛ͢Εܭࢉػ ͦͷ͔Βࣅ͍ͯΔ͔ࣅ͍ͯͳ͍͔ΛஅͰ͖Δ w
ͦͷईΛଌΔํ๏͕͍͔ͭ͘ఏএ͞Ε͍ͯΔ w ϕΫτϧۭؒϞσϧ w ใݕࡧʢ*3ʣ
ϕΫτϧۭؒϞσϧ w จॻதͷग़ݱ୯ޠΛϕΫτϧͱΈͳͯ͠ʢ͍͍ͩͨʣ5'*%'Λ ϕΫτϧʹ༻͍ͯɺίαΠϯੵͳͲΛܭࢉͯ͠ྨࣅΛܭ ࢉ͢Δ
ϕΫτϧۭؒϞσϧ w $PTJOFྨࣅ w +BDDBSEྨࣅ w %JDFྨࣅ w 0WFSMBQྨࣅ
ใݕࡧʢ*OGPSNBUJPO3FUSJFWBMʣ w େྔͷใʢจॻʣ͔ΒతʢΫΤϦʣʹ߹கͨ͠ͷΛऔΓग़ ͢ w จॻؒͰͷྨࣅͱΈͳ͢߹ɺϨίϝϯυରͱͳΔจॻதͷ ୯ޠΛΫΤϦͱΈͳͯ͠จॻू߹ʹରͯ͠ݕࡧ͢Δ
ใݕࡧʢ*OGPSNBUJPO3FUSJFWBMʣ w #. w &MBTUJDTFBSDIʢ-VDFOFʣͷσϑΥϧτͷྨࣅܭࢉͷϞσϧ ʹ༻͞Ε͍ͯΔ w ϊΠζͷϕΫτϧ͕ͱͯখ͘͞ධՁ͞ΕΔͷͰTUPQXPSET ͳͲΛνϡʔχϯά͠ͳͯ͘σϑΥϧτͰͦͦ͜͜ͳਫ਼ʹ ͳΔ
None
• Ϩίϝϯυͬͯʁ • จॻؒྨࣅ • UZOUͰͷద༻ྫ • ͞ΒͳΔվળҊ • ·ͱΊ
6;06ͷهࣄϨίϝϯυγεςϜ w ίϯςϯπϕʔεͷϨίϝϯυΛ࠾༻ w هࣄ͔ΒಛྔΛநग़ w ϕΫτϧۭؒϞσϧΛ࠾༻ w 0WFSMBQྨࣅʹࣅͨͷ w
هࣄʹର͢ΔهࣄϨίϝϯυ܊Λੜ
ϝσΟΞ ࠂओ ৴αʔόܭଌαʔό ࠂϦΫΤετ ࠂϨεϙϯε ίϯόʔδϣϯ௨ ৴ީิσʔλ ৴σʔλੜόον σʔλΣΞϋε ৴ϩά
3%# όονॲཧ ཧը໘ ৴࣮σʔλ
ίϯςϯπϕʔεΛ࠾༻ͨ͠ܦҢ w ڠௐϑΟϧλϦϯάʢେྔͷʣϢʔβ͕͋ΔఔίϯςϯπΛ ८ճ͢Δঢ়ଶͰͳ͍ͱσʔλ͔ΒϨίϝϯυ͠ʹ͍͘ w ڠௐϑΟϧλϦϯάϩϯάςʔϧʹޮ͖͘͢ɺ&$ͳΒ୯Ձ͕ ߴ͍ͷͰϩϯάςʔϧ෦·ͰΧόʔͰ͖Δͷ༗ҙٛ w 6;06ͷΑ͏ͳωΠςΟϒΞυͩͱภΓ͕͋Δʢདྷ๚ऀ͕ճͰऴ ΘΔ͜ͱ͕ଟ͍ʣ
w ͜ͷΑ͏ͳঢ়گԼͰͱͱ୯Ձ͋ͨΓऩӹ͕͍ͷͰϩϯά ςʔϧ෦ʹ͋·Γࢫຯ͕ͳ͍ʢͱࢥ͏ʣ
ಛྔΛຊจ͔Βநग़͢Δ w λΠτϧ͕Ұ൪ಛΛอ͍࣋ͯ͠Δͣ w ਓ͕ؒλά͚͍ͯ͠Δͱݴ͍͑ͯྑ͍ w ຊจશͯΛ͏ͱϊΠζ͕ଟ͘ͳΔ w ॳظ࣮͕࠾༻ʢTJNJMBSJUZʣ w
ຊจͷจΛ࠾༻ w ಛʹ8FCϝσΟΞͰϢʔβʹ͍࣌ؒͰಡΜͰΒ͏ͨΊʹจ ʹཁ͞Εͨͷ͕ॻ͔Ε͍ͯΔ͜ͱ͕ଟ͍ w χϡʔεܥϝσΟΞݦஶ w ʮจॻཁʯͷͰจΛಛྔܭࢉͷࡍʹॏΈΛڧͯ͘͠ܭ ࢉ͢Δํ๏͕Α͘ݟΒΕΔ
ͦͬͱแΜͰϞϛϞϛ ৴ݰṷͷਖ਼͍͠৯ํ͕ʜ ࢁསͷදతͳ՛ʮ٥伷৴ݰṷʯख࡞ΓͷຯΘ͍ʹ ͩ͜Θ͓ͬͨṷͱ͍͖߳͠ͳคɺೱްͳࠇຶ͕ͨͬ Γೖ͍ͬͯ·͢ɻಛͷࠇຶΛ͔͚ͯ৯Δॠؒ ͳΜͱݴ͑ͳ͍ͤʹแ·Εɺ΄ͬͱҰଉ͖ͭͨ͘ ͳΔͰ͠ΐ͏ɻ࣮٥伷৴ݰṷΛϞνʔϑʹͨ͠େਓ ؾͷʮ৴ݰṷεΠʔπʯ͕͍͔ͭ͋͘Γ·͢ɻͬͦ͞ ͘հ͠·͠ΐ͏ʂʮ৴ݰṷιϑτʯɺ͖ͳคͱೱ
ްͳࠇຶ͕ͨͬΓ͔͔ͬͨ٥伷৴ݰṷͱιϑτΫϦʔ Ϝ͕ίϥϘϨʔγϣϯͨ͠ཉுΓͳ߹ͤɻόχϥΞ Πε͕ઈົʹΈ߹Θͬͨ͞༸ંͷΫηʹͳΔຯ ɺ͔ͳΓ᩵ͳεΠʔπʹ্͕͍ͬͯ·͢ɻࢁས ͷ٥伷ຊࣾʹ͋ΔΞτϨοτɺࢁསݝథਧ ࢢͷதԝߴಓ࿏ऍᷟಊύʔΩϯάΤϦΞͰ৯ ΒΕΔͦ͏Ͱ͢ɻʜ
ͦͬͱแΜͰϞϛϞϛ ৴ݰṷͷਖ਼͍͠৯ํ͕ʜ ࢁསͷදతͳ՛ʮ٥伷৴ݰṷʯख࡞ΓͷຯΘ͍ʹ ͩ͜Θ͓ͬͨṷͱ͍͖߳͠ͳคɺೱްͳࠇຶ͕ͨͬ Γೖ͍ͬͯ·͢ɻಛͷࠇຶΛ͔͚ͯ৯Δॠؒ ͳΜͱݴ͑ͳ͍ͤʹแ·Εɺ΄ͬͱҰଉ͖ͭͨ͘ ͳΔͰ͠ΐ͏ɻ࣮٥伷৴ݰṷΛϞνʔϑʹͨ͠େਓ ؾͷʮ৴ݰṷεΠʔπʯ͕͍͔ͭ͋͘Γ·͢ɻͬͦ͞ ͘հ͠·͠ΐ͏ʂʮ৴ݰṷιϑτʯɺ͖ͳคͱೱ
ްͳࠇຶ͕ͨͬΓ͔͔ͬͨ٥伷৴ݰṷͱιϑτΫϦʔ Ϝ͕ίϥϘϨʔγϣϯͨ͠ཉுΓͳ߹ͤɻόχϥΞ Πε͕ઈົʹΈ߹Θͬͨ͞༸ંͷΫηʹͳΔຯ ɺ͔ͳΓ᩵ͳεΠʔπʹ্͕͍ͬͯ·͢ɻࢁས ͷ٥伷ຊࣾʹ͋ΔΞτϨοτɺࢁསݝథਧ ࢢͷதԝߴಓ࿏ऍᷟಊύʔΩϯάΤϦΞͰ৯ ΒΕΔͦ͏Ͱ͢ɻʜ Ϟσϧ࡞ʹར༻
ܗଶૉղੳ w .F$BCΛ࠾༻ w ࣙॻOFPMPHEΛ࠾༻ w IUUQTHJUIVCDPNOFPMPHENFDBCJQBEJDOFPMPHE w 8JLJQFEJBΛϕʔεʹ࡞ΒΕ͍ͯΔ w
8FCϝσΟΞʹରͯ͠εϥϯάΛೝࣝͯ͘͠ΕΔͷͰ༗༻ w TUPQXPSETϝσΟΞຖʹ࠷దԽ͍ͯ͠ͳ͍ w ͋Δఔ͜ΕෆཁͩΖ͏ͱ͍͏ͷΛࣗಈతʹ͍ͯͬͯ͠ ͍Δ
Ϟσϧ࡞ w 0WFSMBQྨࣅΛϕʔεʹͨ͠୯७ͳϞσϧ w 5'ɾ*%'ΛॏΈͱͯ͠ܭࢉ͢Δ͚ͩ w $PTJOFྨࣅΛॳظ࣮ʹద༻ͯͦ͜͠·Ͱ͋Δ݁ՌΛ ಘΒΕͳ͔ͬͨ
ద༻݁Ռ w 6;06Λಋೖ͍ͯ͠ΔશϝσΟΞʹద༻͠ɺ΄΅શͯͷϝσΟΞͰ هࣄ$53ͷ্Λୡ w ճ༡େ෯ʹ্
None
T
None
None
• Ϩίϝϯυͬͯʁ • จॻؒྨࣅ • UZOUͰͷద༻ྫ • ͞ΒͳΔվળҊ • ·ͱΊ
͞ΒͳΔվળҊ w Ϟσϧͷ্ w ͘Β͍Ͱ࡞Γग़ͨ͠ͳΜͪΌͬͯϞσϧͳͷͰਫ਼͕͍͍ͱ ͞Ε͍ͯΔ#.0.CBTFEΛݕূͯ͠Έ͍ͨ w ϝσΟΞຖͷಛྔநग़ͷ্ w ݱࡏຊจ͔Βͷಛྔநग़શϝσΟΞಉ༷ͳͷͰݸʑͷϝσΟ
ΞͰΑΓదͳநग़ํ๏Λݕ౼͢Δ w ଟόϯσΟοτΛద༻ w ΫϦοΫͨ͠ɺ͍ͯ͠ͳ͍ɺͷͱͳΔͷͰ֬ϕϧ ψʔΠͱͳΓଟόϯσΟοτΛద༻Ͱ͖ΔͷͰ͜Ε Λղ͘͜ͱͰϞσϧͷߋ৽͕ՄೳʹͳΔ
• Ϩίϝϯυͬͯʁ • จॻؒྨࣅ • UZOUͰͷద༻ྫ • ͞ΒͳΔվળҊ • ·ͱΊ
·ͱΊ w ίϯςϯπϕʔεͰͷϨίϝϯυͰ$53Λେ෯ʹ͋͛ΒΕͨ w ʮจॻಉ͕࢜ࣅ͍ͯΕϢʔβڵຯΛ࣋ͭͰ͋Ζ͏ʯͱ͍͏ Ծఆ͕ূ໌͞Εͨͱ͍͑Δ w ෳࡶͳϞσϧΛ༻͍ͣͱಛྔͷநग़ஈ֊Ͱ͋Δఔ͠΅Δ͜ ͱͰਫ਼Λग़ͤΔ w
γϯϓϧʹίΞ෦Λ࡞Δ͜ͱͰࠓޙͷվྑͷํཱ͕͍ͯ͢