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
M3 情報検索/推薦論文輪読会 ~SIGIR祭~ (SIGIR2021: Session 6...
Search
po3rin
August 16, 2021
Programming
0
83
M3 情報検索/推薦論文輪読会 ~SIGIR祭~ (SIGIR2021: Session 6D – IR Models)
po3rin
August 16, 2021
Tweet
Share
More Decks by po3rin
See All by po3rin
M3におけるCI/CDパイプラインを新鮮に保つ仕組み
po3rin
0
280
Go Templateを使った フロントエンド開発を採用した 経緯と所感
po3rin
0
290
検索基盤移行時の思考
po3rin
0
4.2k
Go1.19で採用された Pattern-defeating Quicksort の紹介
po3rin
7
5.6k
Elasticsearchを負荷から守るesguard
po3rin
0
240
Sudachi×Elasticsearchへの移行と医療検索システム精度改善
po3rin
1
840
eskeeperを使ったファイル定義によるindex管理
po3rin
2
460
Handling Temporal Query for Health Search with ja-timex
po3rin
3
310
医療検索における婉曲表現変換
po3rin
2
760
Other Decks in Programming
See All in Programming
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
Go の GC の不得意な部分を克服したい
taiyow
3
790
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
テストコード文化を0から作り、変化し続けた組織
kazatohiei
2
1.5k
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
360
return文におけるstd::moveについて
onihusube
1
1.1k
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
190
Zoneless Testing
rainerhahnekamp
0
120
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
280
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
480
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
190
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Become a Pro
speakerdeck
PRO
26
5k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Making Projects Easy
brettharned
116
5.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Code Review Best Practice
trishagee
65
17k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Speed Design
sergeychernyshev
25
670
A Modern Web Designer's Workflow
chriscoyier
693
190k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Building Your Own Lightsaber
phodgson
103
6.1k
Transcript
hiromu-nakamura @po3rin 4*(*3 4FTTJPO%r*3.PEFMT M3 ใݕࡧ/ਪનจྠಡձ ~SIGIRࡇ~
தଜ߂ ΤϜεϦʔͷ"*ɾػցֶशνʔϜͰݕࡧج൫पΓ Λ୲͍ͯ͠Δɻ(P͕͖ɻ ֤छΞΧϯτQPSJOͰͬͯ·͢ɻ )*SPNV/BLBNVSB
5*-%&5FSN*OEFQFOEFOU-JLFMJIPPENP%&MGPS1BTTBHF3FSBOLJOH ༻ޠʹґଘͤͣɺΫΤϦϞσϧͱυΩϡϝϯτϞσϧͷ྆ํͰݕࡧ݁ՌΛϦϥϯΩϯά͢ΔϞσϧΛఏҊ 1BUICBTFE%FFQ/FUXPSLGPS$BOEJEBUF*UFN.BUDIJOHJO3FDPNNFOEFST ΫΤύʔιφϥΠζͱμΠόʔγςΟͷ྆ํΛΈࠐΜͰਪનͷύϑΥʔϚϯεΛ্ͤ͞Δύεϕʔεͷ σΟʔϓωοτϫʔΫʢ1%/ʣ 0QUJNJ[JOH%FOTF3FUSJFWBM.PEFM5SBJOJOHXJUI)BSE/FHBUJWFT %3ͷͨΊͷ҆ఆֶशΞϧΰϦζϜʢ45"3ʣͱϥϯΩϯάύϑΥʔϚϯεΛ࠷దԽ͢ΔͨΊͷ ΫΤϦଆͷֶशΞϧΰϦζϜʢ"%03&ʣΛఏҊ #1301#PPUTUSBQQFE1SFUSBJOJOHXJUI3FQSFTFOUBUJWF8PSET1SFEJDUJPOGPS"EIPD3FUSJFWBM ΞυϗοΫݕࡧ༻ͷ#&35ʹجͮ͘ϒʔτετϥοϓࣄલτϨʔχϯάํ๏ʢ#1301ʣΛఏҊ
8FJHIUJOH1BTTBHFT&OIBODFT"DDVSBDZ ΩʔϫʔυີΛར༻ͯ͠ύοηʔδͷؔ࿈ੑΛ׆༻͠ɺશମతͳݕࡧΛେ෯ʹվળ͢Δํ๏Λ࣮ݧతʹࣔ͠ɺ #.1ͱ͍͏৽͍͠ख๏ΛఏҊɻ
ઃఆ ΞυϗοΫݕࡧʹ͓͍ͯ#.͕ओྲྀ͕ͩɺ୯ޠͷॏཁ͚ͩ͡Όͳͯ͘ɺจͷॏཁߟྀ͍ͨ͠ΑͶ ΩʔΞΠσΞ จ͝ͱͷ༻ޠසͷՃॏઢܗ݁߹Λ࡞ͯ͠JOEFY͓ͯ͘͠ 8FJHIUJOH1BTTBHFT&OIBODFT"DDVSBDZ
8FJHIUJOH1BTTBHFT&OIBODFT"DDVSBDZ ઃఆ ΞυϗοΫݕࡧʹ͓͍ͯ#.͕ओྲྀ͕ͩɺ୯ޠͷॏཁ͚ͩ͡Όͳͯ͘ɺจͷॏཁߟྀ͍ͨ͠ΑͶ ΩʔΞΠσΞ ॏཁͳจʹग़ݱ͢Δ୯ޠʹॏΈΛ༩͑ͯ#.Λ֦ுɻ
5*-%&5FSN*OEFQFOEFOU-JLFMJIPPENP%&MGPS1BTTBHF3FSBOLJOH ઃఆ ਂݴޠϞσϧͷ3FSBOLJOHޮՌ͍͍͕ɺ࣮ઓͰΫΤϦ࣌ͷߴՁͳਪεςοϓ͕ωοΫ #&35SFSBOLFSʹ ΑΔՃͷϨΠςϯγʔɺߴੑೳ(16Ͱ ϛϦඵͷΦʔμʔ ΩʔΞΠσΞ λʔϜඇґଘͳΫΤϦΛԾఆ͢Δ ΦϑϥΠϯͰࣄલʹܭࢉͯ͠ΠϯσοΫε࣌ʹυΩϡϝϯτͱҰॹʹޠኮͷ֬Λอଘ
5*-%&5FSN*OEFQFOEFOU-JLFMJIPPENP%&MGPS1BTTBHF3FSBOLJOH ࣄલࣝ දݱϕʔεޮ͍͍͕ɺ༗ޮੑ·͊·͊ɺޮ΅ͪ ΅ͪ B ɻ ਂݴޠϞσϧ C D ΛͬͨΫΤϦϞσϧ༗ޮੑߴ
͍͚Ͳίετߴ͍
ࢀߟࢿྉϦϯΫ IUUQTJQTKJYTROJJBDKQFK BDUJPOSFQPTJUPSZ@BDUJPO@DPNNPO@EPXOMPBEJUFN@JEJUFN@OPBUUSJCVUF@JEpMF@OP ͜͜Ͱ2- 2VFSZ-JLFMJIPPE ͷ͓͞Β͍
5*-%&5FSN*OEFQFOEFOU-JLFMJIPPENP%&MGPS1BTTBHF3FSBOLJOH λʔϜಠཱੑͷԾఆ ɺΫΤϦϞσϧ 2- υΩϡϝϯτλʔϜͱΫΤϦ͕૬ޓʹґଘ͢Δͷͱͯ͠ϞσϧԽ͞ΕͯɺೖྗʹυΩϡ ϝϯτͱΫΤϦͷ྆ํ͕ඞཁͳ͜ͱ 5*-%&ೖྗͱͯ͠ΫΤϦςΩετ·ͨυΩϡϝϯτςΩετͷΈΛඞཁͱ͢Δɻग़ྗਂݴޠϞσϧͷޠኮʹؚ·Ε Δͯ͢ͷτʔΫϯͷର֬ɻ2-ͱ%-Λ྆ํಉ࣌ʹֶशՄೳɻ ֶश#&35ΛpOFUVOJOHɺ5*-%&2-Λ͏߹ɺΫΤϦ࣌#&35τʔΫφΠβʔͰׂ͢Δεςοϓ͕૿͑Δͩ ͚ɻ֤λʔϜͷࣄલʹJOEFY͓͚ͯ͠Δ
#&35ͰΫΤϦϞσϧΛ࡞ΔՕॴಉ͡ηογϣϯͰΧϯλʔ৯ΒͬͯΔ
ઃఆ ΞΠςϜϕʔεͷڠௐੑϑΟϧλϦϯά $3 ύʔιφϥΠζʹରԠ͢Δͷ͕͘͠ɺຒΊࠐΈख๏  ΞΠςϜؒͷڞىใ Λ໌ࣔతʹ౷߹͢Δ͜ͱ͕͍ͨ͠Ίɺଟ༷ੑΛຬͨ͢ͷ͕ࠔɻ ΩʔΞΠσΞ ϢʔβɺӾཡΞΠςϜɺλʔήοτΞΠςϜΛϗοϓύεʹɻ w
͜ͷΞΠσΞͰΞΠςϜϕʔε$3ͱͷརΛऔΓೖΕΔ1%/ 1BUICBTFE%FFQ/FUXPSL ΛఏҊɻ 1BUICBTFE%FFQ/FUXPSLGPS$BOEJEBUF*UFN.BUDIJOHJO3FDPNNFOEFST
1BUICBTFE%FFQ/FUXPSLGPS$BOEJEBUF*UFN.BUDIJOHJO3FDPNNFOEFST 1%/PWFSWJFX ຒΊࠐΈࢄԽʹΑΓɺີͳಛྔΛ PCFIPUεΩʔϜʹม 5SJHHFS/FUϢʔβʔͱͦͷτϦΨʔΞ ΠςϜ͔ΒᅂείΞΛܭࢉɻ 4JNJMBSJUZ/FUΞΠςϜͷϓϩϑΝΠϧ ͱڞىใʹج͍ͮͯɺ֤ΞΠςϜͱλʔ ήοτΞΠςϜؒͷؔ࿈ੑΛܭࢉ
1BUICBTFE%FFQ/FUXPSLGPS$BOEJEBUF*UFN.BUDIJOHJO3FDPNNFOEFST 1%/ΛγεςϜʹΈࠐΉ 4UFQJOEFY ֤ΞΠςϜͷྨࣅΛ4JNJMBSJUZ/FUXPSLͰܭࢉͯ͠ UPQLΛؔ࿈είΞͱͱʹJOEFY͓ͯ͘͠ 4UFQτϦΨʔநग़ ΞϓϦΛ։͍ͨΒϢʔβʔ͕ΞΫγϣϯͨͯ͢͠ͷ ΞΠςϜΛ5SJH/FUΛ༻ͯ͠είΞϦϯά͠·͢ UPQNͷτϦΨʔΛฦ͢ɻ 4UFQSFUSJFWBM
NºLͷΞΠςϜΛ͖࣋ͬͯͯείΞϦϯάͯ͠Ϣʔ βʔʹ্Ґ݅Λฦ͢ɻ
ઃఆ %3 %FOTF3FUSJFWBM ϞσϧͷओྲྀͷֶशϞσϧͷ/FHBUJWF4BNQMJOHෆ҆ఆͳ4UBUJD)BSE /FHBUJWF4BNQMJOHΛ࠾༻͍ͯ͠Δɻ ΩʔΞΠσΞ /FHBUJWF4BNQMJOHʹযΛͯɺ৽ֶ͍͠शख๏ ຒΊࠐΈֶशͱɺΫΤϦΤϯίʔμֶश ΛఏҊɻ 0QUJNJ[JOH%FOTF3FUSJFWBM.PEFM5SBJOJOHXJUI)BSE/FHBUJWFT
લఏ ϥϯΩϯάֶशͰωΨςΟϒαϯϓϦϯάΛͲͷΑ͏ʹߦ͏͔͕ͱͳΔɻ 3BOEBN/FHBUJWF4BNQMJOHద߹จॻ͕Լͷํʹ͋Δͷ͕ࢧతʹͳΓɺ্Ґ͕͏·ֶ͘शͰ͖ͳ͍ͱ͍͏͕͋Δɻ ओྲྀͷ4UBUJD)BSE/FHBUJWF4BNQMJOHXBSNVQઓུͳͲΛͬͯ/FHBUJWF4BNQMJOHΛݻఆ͓ͯ͘͠ɻֶश͕3BOEBN /FHBUJWF4BNQMJOHʹൺͯ҆ఆ͠ͳ͍ ֶशதʹωΨςΟϒαϯϓϦϯά͕มԽ͍ͯ͘͠ͷ͕%ZOBNJD)BSE/FHBUJWF4BNQMJOH 0QUJNJ[JOH%FOTF3FUSJFWBM.PEFM5SBJOJOHXJUI)BSE/FHBUJWFT
ఏҊ 45"3 B4UBCMF5SBJOJOH"MHPSJUINGPSEFOTF3FUSJFWBM 4UBUJD)BSEOFHBUJWF XBSNVQख๏ ʹ/FHBUJWF3BOEPN4BNQMJOH߹Θͤͯ༻ֶͯ͠शϓϩηεΛ ҆ఆͤ͞ɺ4UBUJD/FHBUJWF4BNQMJOHͷ࠷ѱͷύλʔϯ ..3͕΄΅θϩʹͳΔՄೳੑ
Λճආ ͓·͚ʹ͢Ͱʹܭࢉͨ͠จॻϕΫτϧΛ࠶ར༻ͯ͠ޮΞοϓ 0QUJNJ[JOH%FOTF3FUSJFWBM.PEFM5SBJOJOHXJUI)BSE/FHBUJWFT
ఏҊ "%03& "MHPSJUINGPS%JSFDUMZ0QUJNJ[JOH3BOLJOHQ&SGPSNBODF %ZOBNJD)BSE/FHBUJWF4BNQMJOHΛར༻ͯ͠ɺϥϯΩϯάύϑΥʔϚϯεΛ࠷దԽ ࣄલʹτϨʔχϯά͞ΕͨυΩϡϝϯτΤϯίʔμʔΛͬͯɺΫΤϦΤϯίʔμʔΛτϨʔχϯά ͍ΫΤϦͰυΩϡϝϯτͷ ຒΊࠐΈʹ͍ۙࢄදݱ͕ಘΒΕΔ
࣮ݧͰυΩϡϝϯτΤϯίʔμʹ45"3Ͱֶशͨ͠ϞσϧΛར༻ 0QUJNJ[JOH%FOTF3FUSJFWBM.PEFM5SBJOJOHXJUI)BSE/FHBUJWFT
ઃఆ ࠷ۙɺใݕࡧʹ߹ΘͤͨࣄલτϨʔχϯάํ๏͕ݕ౼͞Ε͓ͯΓɺಉஶऀ͕͞·͟·ͳΞυϗοΫݕࡧϕϯνϚʔΫͰ405"Λୡ ͨ͠1301ͱ͍͏ख๏͕͋Δɻ 1301301 දޠਪఆ λεΫߏஙϓϩηεͰ࠾༻͞ΕͨݹయతͳϢχάϥϜݴޠϞσϧʹΑͬͯޮՌ੍͕ݶ͞Εͯ͠·͏ ಠཱੑ ͷԾఆ ɻ ΩʔΞΠσΞ
1301λεΫߏங༻ͷϢχάϥϜݴޠϞσϧΛ#&35Ͱஔ͖͑ #&35ͷ"UUFOUJPOΛ׆༻ͯ͠υΩϡϝϯτ͔Βදతͳ୯ޠΛαϯϓϦϯά͢Δ #1301#PPUTUSBQQFE1SFUSBJOJOHXJUI3FQSFTFOUBUJWF8PSET1SFEJDUJPOGPS"EIPD3FUSJFWBM
3FGFSFODF 13011SFUSBJOJOHXJUI3FQSFTFOUBUJWF8PSET1SFEJDUJPOGPS"EIPD3FUSJFWBM ઃఆ ࠓ·ͰΞυϗοΫݕࡧʹ͚ͨࣄલτϨʔχϯάϞσϧֶ श΄ͱΜͲͳ͍ ఏҊख๏ ΞυϗοΫݕࡧͷͨΊͷॏཁޠ༧ଌʢ301ʣʹΑΔࣄલτ ϨʔχϯάΛఏҊɻ1301ΫΤϦϞσϧ͕ϕʔεͷ ख๏ɻ
ϦϥϯΩϯάλεΫͰpOFUVOJOHͯ͠1SFWJPVT405"Λ ͑ͨɻ ΫΤϦϞσϧ σΟϦΫϨࣄલฏԽΛ༻ͨ͠ଟ߲ϢχάϥϜݴޠϞσϧ ୯ޠηοτ4ͷϖΞΛαϯϓϦϯά ΫΤϦͷ͞ϙΞιϯͰαϯϓϧ 5SBOTGPSNFSϞσϧΛࣄલֶश ͭͷ୯ޠηοτؒͷQBJSXJTFQSFGFSFODFΛ༧ଌ͢ΔΑ͏ʹ υΩϡϝϯτ%
#1301#PPUTUSBQQFE1SFUSBJOJOHXJUI3FQSFTFOUBUJWF8PSET1SFEJDUJPOGPS"EIPD3FUSJFWBM ͨͩͨͩ#&35Ͱஔ͖͑ͯҰൠతͳ୯ޠʢJOɺUIFɺPGͳͲʣΛ༏ઌͯ͠͠·͏ͷͰɺݕࡧͷͨΊͷࣄલֶशʹ͔ͳ͍ɻ ͦ͜ͰυΩϡϝϯτͷ༻ޠͷͱϥϯμϜͳ༻ޠͷͷؒͷΫϩεΤϯτϩϐʔΛܭࢉͯ͠ɺରরతͳ༻ޠͷΛऔಘ͢Δɻ
ิεϥΠυ
5*-%&5FSN*OEFQFOEFOU-JLFMJIPPENP%&MGPS1BTTBHF3FSBOLJOH
جૅࣝ -FBSOJOHUPSBOLͷతؔ ϥϯΩϯάֶशΛ࠷γϯϓϧʹهड़ͯ͠ΈΔɻRΫΤϦ EυΩϡϝϯτ ؔ࿈ؔ -ଛࣦؔ ࢦࣔ ؔͱ͢Δͱ
0QUJNJ[JOH%FOTF3FUSJFWBM.PEFM5SBJOJOHXJUI)BSE/FHBUJWFT ԼهͷతؔͰશͯͷEͰ࠷దԽ͢Δͷίετ͕๏֎ͳͷͰɺͲ͔͜Β/FHBUJWF%PDVNFOUΛαϯϓϦϯά͢Δ͔͕ ॏཁͱͳΔɻҟͳΔαϯϓϦϯάઓུɺ/FHBUJWF%PDVNFOU͝ͱʹҟͳΔॏΈX E Λઃఆ͢Δͷͱݟͳͯ͠తؔ ΛԼهͷΑ͏ʹܗࣜԽͰ͖Δɻ% ద߹จॻɺ%ඇద߹จॻɺXॏΈ
جૅࣝ /FHBUJWF4BNQMJOH ωΨςΟϒυΩϡϝϯτΛͲͷΑ͏ʹαϯϓϦϯά͢Δ͔Ͱ͋Γɺྫ͑ϥϯμϜαϯϓϦϯά͕͋͛Β ΕΔɻ 3BOEPNOFHBUJWFTBNQMJOHϖΞϫΠζΤϥʔͷ߹ܭΛ࠷খԽ͢Δ͜ͱʹؼண͢Δɻ ͔͠͠ɺК E E ͷυΩϡϝϯτҐஔɺ͕େ͖͍ͷ͕ࢧతʹͳΓɻ্ҐυΩϡϝϯτͷਫ਼্ʹد༩͠
ͮΒ͍ 0QUJNJ[JOH%FOTF3FUSJFWBM.PEFM5SBJOJOHXJUI)BSE/FHBUJWFT
جૅࣝ )BSE/FHBUJWF4BNQMJOH ্Ґ,ͷυΩϡϝϯτΛωΨͱͯ͠αϯϓϦϯά͢ΔɻશମͷϖΞϫΠζΤϥʔͰͳ͘ɺUPQLͷϖΞϫΠζΤ ϥʔͷܭࢉʹͳΔɻϋʔυωΨςΟϒαϯϓϦϯάɺ্ҐͷύϑΥʔϚϯεΛڧௐ͠ɺϢʔβʔΤΫεϖϦΤ ϯεධՁࢦඪʹ΄ͱΜͲӨڹΛ༩͑ͳ͍ԼҐͷϖΞΛແࢹͰ͖Δɻ 0QUJNJ[JOH%FOTF3FUSJFWBM.PEFM5SBJOJOHXJUI)BSE/FHBUJWFT
جૅࣝ ੩తWTಈత )BSE/FHBUJWF4BNQMJOH͕༗༻͕ͩɺ͞Βʹ)BSE/FHBUJWFֶशதʹมԽ͢ΔͨΊʹʹ੩తͱಈతʹ͚Β ΕΔɻಈతֶशதʹ)BSE4BNQMJOH͕มΘ͍ͬͯ͘ɻ੩త3FUSJFWBSख๏ɺ·ͨΥʔϜΞοϓ%3ϞσϧΛ ༻ͯ͠ɺτϨʔχϯάதʹमਖ਼͞ΕͨϋʔυωΨͱ্ͯ͠ҐͷυΩϡϝϯτΛࣄલʹऔಘ͓ͯ͘͠ɻ جຊతʹಈతͷํ͕ϕετ 0QUJNJ[JOH%FOTF3FUSJFWBM.PEFM5SBJOJOHXJUI)BSE/FHBUJWFT