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
The first step of the Top-k Selection algorith...
Search
po3rin
December 18, 2020
Programming
0
160
The first step of the Top-k Selection algorithm in search
po3rin
December 18, 2020
Tweet
Share
More Decks by po3rin
See All by po3rin
M3におけるCI/CDパイプラインを新鮮に保つ仕組み
po3rin
0
330
Go Templateを使った フロントエンド開発を採用した 経緯と所感
po3rin
1
320
検索基盤移行時の思考
po3rin
0
4.3k
Go1.19で採用された Pattern-defeating Quicksort の紹介
po3rin
7
5.9k
Elasticsearchを負荷から守るesguard
po3rin
0
270
Sudachi×Elasticsearchへの移行と医療検索システム精度改善
po3rin
1
880
eskeeperを使ったファイル定義によるindex管理
po3rin
2
490
M3 情報検索/推薦論文輪読会 ~SIGIR祭~ (SIGIR2021: Session 6D – IR Models)
po3rin
0
110
Handling Temporal Query for Health Search with ja-timex
po3rin
3
340
Other Decks in Programming
See All in Programming
PHPUnit 高速化テクニック / PHPUnit Speedup Techniques
pinkumohikan
1
1.3k
List とは何か? / PHPerKaigi 2025
meihei3
0
590
AHC 044 混合整数計画ソルバー解法
kiri8128
0
320
AWS で実現する安全な AI エージェントの作り方 〜 Bedrock Engineer の実装例を添えて 〜 / how-to-build-secure-ai-agents
gawa
4
290
The Weight of Data: Rethinking Cloud-Native Systems for the Age of AI
hollycummins
0
230
複数ドメインに散らばってしまった画像…! 運用中のPHPアプリに後からCDNを導入する…!
suguruooki
0
450
Chrome Extension Techniques from Hell
moznion
1
150
DataStoreをテストする
mkeeda
0
260
ミリしらMCP勉強会
watany
4
690
snacks.nvim内のセットアップ不要なプラグインを紹介 / introduce_snacks_nvim
uhooi
0
370
AIコードエディタの基盤となるLLMのFlutter性能評価
alquist4121
0
180
Defying Front-End Inertia: Inertia.js on Rails
skryukov
0
410
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
22
2.6k
Code Review Best Practice
trishagee
67
18k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
GraphQLの誤解/rethinking-graphql
sonatard
70
10k
Documentation Writing (for coders)
carmenintech
69
4.7k
The Invisible Side of Design
smashingmag
299
50k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Transcript
The first step of the Top-k Selection algorithm in search
M3 tecktalk #164 hiromu-nakamura @po3rin
தଜ߂ ΤϜεϦʔͷ"*ɾػցֶशνʔϜͰݕࡧج൫पΓ Λ୲͍ͯ͠Δɻ(P͕͖ɻ ֤छΞΧϯτQPSJOͰͬͯ·͢ɻ )*SPNV/BLBNVSB
None
ݕࡧΤϯδϯΫΤϦΛड͚औΓɺυΩϡϝϯτ͝ͱʹ είΞܭࢉΛείΞ্ҐL݅Λฦ͢ɻ 4FBSDI&OHJOF ΫΤϦ L݅ͷείΞॱυ Ωϡϝϯτ
&MBTUJDTFBSDIͳͲͷݕࡧΤϯδϯɺ୯ޠͷҐஔใΛ ֨ೲ͢ΔͨΊͷࡧҾσʔλߏͰ͋ΔసஔΠϯσοΫε Λ࠾༻͍ͯ͠Δɻ 4FBSDI&OHJOF %ࢲমΛ৯Δ %ࢲαϥμ৯Δ ʮমʯ % సஔΠϯσοΫε
ݕࡧʹ͓͚ΔυΩϡϝϯτͷείΞϦϯάʹ0LBQJ #.ͳͲදతͳͷ͕͋ΔLɻ͜ΕΛݕࡧʹώοτ ͢ΔυΩϡϝϯτʹରͯ͠ܭࢉ͍ͯ͘͠ɻ 4DPSJOH
υΩϡϝϯτશͯͷείΞϦϯά͕ऴ͔ྃͯ͠ΒͦΕΒΛฒ ͼସ͑ΔͷϥϯΩϯά্ҐL൪·Ͱͷ݁Ռʹڵຯ͕͋Δ ߹ඇޮɻͦ͜Ͱݕࡧʹ͓͚ΔLݸͷ࠷େཁૉʢ·ͨ࠷খ ཁૉʣΛબ͢ΔΛߟ͑Δɻ 5PQLTFMFDUJPO
5PQL TFMFDUJPO ೋώʔϓʹυΩϡϝϯτͱείΞΛอ͍࣋ͯ͘͜͠ͱͰ࠷ ऴతͳιʔτͷίετΛεϧʔͰ͖Δɻώʔϓʹ֨ೲ͢Δ͔ ࠜͷείΞ͚ͩݟΕྑ͍ɻ ೋώʔϓ
5PQL TFMFDUJPO ࠓ·Ͱݕࡧʹώοτͨ͠શͯͷυΩϡϝϯτͷείΞΛܭࢉ ͍͕ͯͨ͠ɺ࣮είΞΛܭࢉ͠ͳͯ͘ɺ͋ΔυΩϡϝϯ τ͕UPQLʹೖΒͳ͍͜ͱΛ֬ఆͰ͖Δํ๏͕͋ΔɻͦΕ͕ NBYTDPSFͱݺΕΔख๏Ͱ͢ɻ .BYTDPSF
ͷׂΫΤϦλʔϜͦΕͧΕͷείΞͷߩݙͷ্ݶ Λܾఆ͢Δ͜ͱɻ ͷܦݧతॳظΛ࠾༻͢Δͱɺ5' ্ࣜͷୈҼࢠ ͭ·ΓΛ͑ͳ͍ɻ*%'ࣄલ ʹܭࢉͰ͖Δɻ͜ΕʹΑΓ֤λʔϜ͕د༩͢Δ࠷େείΞ ࣄલʹܾఆͰ͖ΔɻͦͷͨΊϥϯΩϯά্ҐʹݱΕͳ͍υ Ωϡϝϯτ͋Β͔͡ΊΘ͔Δɻ k1
k1 k1 + 1 4DPSJOH 5PQL TFMFDUJPO
4DPSJOH λʔϜ .BY4DPSF UIF TFBSDI FOHJOF
͜ͷ࣌ͰzUIFzؚ͔͠·ͳ͍ϙεςΟϯάϦετͷείΞܭ ࢉແࢹͰ͖ΔɻͳͥͳΒ࠷େείΞݱࡏͷώʔϓͷࠜ ͷείΞΛ͑ͳ͍͔Βɻ 5PQL TFMFDUJPO
4DPSJOH λʔϜ .BY4DPSF UIF TFBSDI FOHJOF
͜ͷ࣌ͰzUIFzͱzTFBSDIzؚ͔͠·ͳ͍υΩϡϝϯτͷε ίΞܭࢉແࢹͰ͖ΔɻͳͥͳΒ࠷େείΞ ݱࡏͷ ώʔϓͷࠜͷείΞΛ͑ͳ͍͔Βɻ 5PQL TFMFDUJPO
*OUFSWBMCBTFEQSVOJOH TFBSDI FOHJOF %PDVNFOU ◾◾◾◾◾◾ ◾◾◾◾◾ NBY NBY
TDPSF ͜ͷ࣌ͰzFOHJOFz͚͔ͩ͠ग़ݱ͍ͯ͠ͳ͍υΩϡϝϯτແࢹͰ͖Δ ͜ͷ࣌ͰzTFBSDIz͚͔ͩ͠ग़ݱ͍ͯ͠ͳ͍υΩϡϝϯτແࢹͰ͖Δ XBMLEPDT
*OUFSWBMCBTFEQSVOJOH ࣮ફͰϙεςΟϯάϦετѹॖ͞Ε͍ͯΔͷͰϒϩοΫ αΠζ͝ͱʹNBYTDPSFΛอ࣋͠ ֤ϒϩοΫͷ۠ΓͷΠϯ λʔόϧʹ6QQFS#PVOE4DPSF 6#4 Λܭࢉ͓ͯ͘͠ɻ͜Ε ʹΑΓϒϩοΫղౚΛεΩοϓͰ͖Δɻ TFBSDI FOHJOF
%PDVNFOU ◾◾◾◾◾◾ ◾◾◾◾ NBY NBY NBY NBY NBY 6#4
$PODMVTJPO 5PQLTFMFDUJPOͰೋώʔϓͳͲͷσʔλߏ͕ར༻Ͱ͖Δɻ ݕࡧείΞʹ͓͚Δ֤λʔϜ͕ߩݙ͢ΔNBYTDPSFࣄલʹܭࢉͰ͖ΔͷͰείΞܭࢉΛεΩοϓͰ͖Δɻ *OUFSWBMCBTFEQSVOJOHΛར༻͢Δ͜ͱͰѹॖΠϯσοΫεείΞܭࢉΛޮతʹߦ͑Δɻ -VDFOFͰߋʹൃలܥͷ8"/%ͱ͍͏ΞϧΰϦζϜ͕ಋೖ͞Ε͍ͯΔɻ
ࢀߟ -VDFOFͷ5PQLΫΤϦϓϩηογϯά࠷దԽ .BY4DPSFΞϧΰϦζϜฤ IUUQTMJOLNFEJVNDPN&I%"D$HRKDC 0LBQJ#. IUUQTKBXJLJQFEJBPSHXJLJ0LBQJ@#. ใݕࡧݕࡧΤϯδϯͷ࣮ͱධՁ UUQTXXXBNB[PODPKQEQSFGDN@TX@FN@S@NU@EQ@$H'C&;7('9
The first step of the Top-k algorithm in search M3
tecktalk #164 hiromu-nakamura @po3rin