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
130
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
360
Go Templateを使った フロントエンド開発を採用した 経緯と所感
po3rin
1
340
検索基盤移行時の思考
po3rin
0
4.3k
Go1.19で採用された Pattern-defeating Quicksort の紹介
po3rin
7
6.1k
Elasticsearchを負荷から守るesguard
po3rin
0
300
Sudachi×Elasticsearchへの移行と医療検索システム精度改善
po3rin
1
930
eskeeperを使ったファイル定義によるindex管理
po3rin
2
520
Handling Temporal Query for Health Search with ja-timex
po3rin
3
350
医療検索における婉曲表現変換
po3rin
2
800
Other Decks in Programming
See All in Programming
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
180
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
16
7.6k
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
24
9.7k
PHPUnitの限界をPlaywrightで補完するテストアプローチ
yuzneri
0
140
Goで作る、開発・CI環境
sin392
0
270
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
880
可変変数との向き合い方 $$変数名が踊り出す$$ / php conference Variable variables
gunji
0
190
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
8.8k
Model Pollution
hschwentner
1
160
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
520
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
4
1.3k
AIともっと楽するE2Eテスト
myohei
9
3k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
We Have a Design System, Now What?
morganepeng
53
7.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Designing for humans not robots
tammielis
253
25k
Music & Morning Musume
bryan
46
6.7k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Why Our Code Smells
bkeepers
PRO
337
57k
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