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
120
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
270
Go Templateを使った フロントエンド開発を採用した 経緯と所感
po3rin
0
280
検索基盤移行時の思考
po3rin
0
4.2k
Go1.19で採用された Pattern-defeating Quicksort の紹介
po3rin
7
5.5k
Elasticsearchを負荷から守るesguard
po3rin
0
230
Sudachi×Elasticsearchへの移行と医療検索システム精度改善
po3rin
1
820
eskeeperを使ったファイル定義によるindex管理
po3rin
2
450
M3 情報検索/推薦論文輪読会 ~SIGIR祭~ (SIGIR2021: Session 6D – IR Models)
po3rin
0
76
Handling Temporal Query for Health Search with ja-timex
po3rin
3
300
Other Decks in Programming
See All in Programming
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
satoshi256kbyte
5
430
RubyLSPのマルチバイト文字対応
notfounds
0
120
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
520
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.7k
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
230
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
340
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
950
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
Contemporary Test Cases
maaretp
0
140
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
120
初めてDefinitelyTypedにPRを出した話
syumai
0
420
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
It's Worth the Effort
3n
183
27k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Practical Orchestrator
shlominoach
186
10k
Become a Pro
speakerdeck
PRO
25
5k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Teambox: Starting and Learning
jrom
133
8.8k
Visualization
eitanlees
145
15k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
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