Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
大規模サービス技術入門 第9回
Search
kitah
October 26, 2018
Programming
28
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
大規模サービス技術入門 第9回
kitah
October 26, 2018
More Decks by kitah
See All by kitah
大規模サービス技術入門 第3回
changkitah3_
0
23
大規模サービス技術入門 特別編
changkitah3_
0
39
Other Decks in Programming
See All in Programming
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
170
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
220
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
790
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
320
AWSに止められる覚悟してますか?
morizo_1984
2
540
Event is what happens
moro
2
860
残高管理から台帳サービスへの進化
artoy
1
200
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
Featured
See All Featured
Speed Design
sergeychernyshev
33
2.2k
Thoughts on Productivity
jonyablonski
76
5.4k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
ラッコキーワード サービス紹介資料
rakko
1
5.4M
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
Done Done
chrislema
187
17k
A Tale of Four Properties
chriscoyier
163
24k
Product Roadmaps are Hard
iamctodd
55
13k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
A Soul's Torment
seathinner
8
3.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Transcript
େنαʔϏεٕज़ೖ ୈճ
ୈճ શจݕࡧٕज़ʹઓ େنσʔλॲཧͷϊϋຬࡌ
ͳͥݕࡧͳͷ͔ • ༷ʑͳΞϧΰϦζϜ͕Ԡ༻͞Εͯ໘ന͍ • ͘͠ΈͷԠ༻͕ར͖͍͢ • େنσʔλΛ૬खʹ͢Δ࣌ɺݕࡧΤϯδϯ ͷϊϋΛͬͯΔͱղܾʹཱͭ
• શจݕࡧٕज़ͷԠ༻ൣғ (-> Lesson 24) • ݕࡧγεςϜͷΞʔΩςΫνϟ (-> Lesson 25)
• ݕࡧΤϯδϯͷ෦ߏ (-> Lesson 26) ࠓճͷ༰
-FTTPO શจݕࡧٕज़ͷԠ༻ൣғ
• ͯͳͰ࣮ࡍʹӡ༻͍ͯ͠ΔݕࡧΤϯδϯͷ ֓ཁ • ॏཁͳཁૉͷҰͭͰ͋ΔʮసஔΠϯσοΫεʯ ʹ͍ͭͯ ͯͳͷσʔλͰݕࡧΤϯδϯΛ࡞Δ
• ͯͳμΠΞϦʔͷશจΛݕࡧରͱ͠ɺ ͯͳΩʔϫʔυͰݕࡧՄೳʹ͢Δͱ͍͏γε ςϜ • ͯͳΩʔϫʔυʹؚ·Ε͍ͯΔݴ༿ͷΈݕ ࡧͰ͖ΔγεςϜ ͯͳμΠΞϦʔͷશจݕࡧ ͯͳμΠΞϦʔΛରͱͨ͠ݕࡧΤϯδϯͱ
• ௨শʮؚΉϒϩάʯͷػೳ • ϖʔδͷຊจʹʮPerlʯؚ͕·Ε͍ͯΔϒϩά ͷҰཡ ΩʔϫʔυΛؚΉϒϩά
• ϒϩά͕ॻ͔ΕΔͱͦͷهࣄʹؚ·Ε͍ͯΔΩʔ ϫʔυΛશ෦நग़ • ୯ޠͱϒϩάͷඥ͚ΛDBͷϨίʔυͱͯ͠อଘ • ͔͠͠ɺεέʔϥϏϦςΟతʹഁͪ͠Όͬͨ • Ϩίʔυ͕ଟ͗ͯ͢ॏ͔ͬͨΓɺݟΕͳ͍σʔ λ͕͋ͬͨ
ҎલRDB(ؔσʔλϕʔε)Ͱॲཧ͍ͯͨ͠
• ͦ͜ͰݕࡧΤϯδϯΛ࡞Δ͜ͱʹ • Ϣʔβ͕ݕࡧΫΤϦΛ͛ΔͷͰͳ͘ɺϖʔ δͷΩʔϫʔυ໊͔Β͛ΒΕͯ͘Δ • ͦΕΛݕࡧγεςϜʹೖྗͯ݁͠ՌΛಘΔ • ॱʹग़ྗ͢Δ͜ͱͰߴԽ ݕࡧٕज़ͷԠ༻
• ʮؚΉϒϩάʯػೳ • DBͰॲཧͰ͖ͳ͍ -> ݕࡧΤϯδϯΛ࣮ • αʔϏεʹಛԽ༷ͨ͠ʹͯ͠ߴԽ • C++Ͱ࣮ɺThriftͰPerlͱ௨৴
ݕࡧγεςϜΛݕࡧҎ֎ʹԠ༻
• ϚΠϒοΫϚʔΫݕࡧ ͯͳϒοΫϚʔΫͷશจݕࡧ
• ݸਓ͕ϒοΫϚʔΫͨ͠σʔλ͔Βݕࡧ͢Δ γεςϜ • DBతͳݶք͕͋ͬͨͨΊখ͞ͳσʔλΛݕࡧ ͢ΔγεςϜͱͯࣗͨͪ͠Ͱ࣮ • ݸਓ୯Ґͱݴͬͯ1ͭͷςʔϒϧʹશϢʔβ ͷσʔλ͕ೖ͍ͬͯΔ͔Β͕͔͔࣌ؒΔ ͯͳϒοΫϚʔΫͷશจݕࡧ
μΠΞϦʔશจݕࡧͱͷҧ͍
• Ϣʔβ͝ͱʹݕࡧΠϯσοΫεΛ༻ҙ͢Δ • ݕࡧ͢Δͱ͖ɺϢʔβͷΠϯσοΫε͔Β ͷΈݕࡧ͢Δ • ΑͬͯɺίϯύΫτͳ࣮Ͱ༻ҙͰ͖ɺ؆୯ͳ ࣮ͰཁٻΛຬͨͤΔ • ࣗલ࣮͢ΔͨΊରԠͷ෯͕͕Δ
ͯͳϒοΫϚʔΫͷશจݕࡧ
-FTTPO ݕࡧγεςϜͷΞʔΩςΫνϟ
(1) Ϋϩʔϧ (2) ֨ೲ (3) ΠϯσΫγϯά (4) ݕࡧ (5) είΞϦϯά
(6) ݁Ռදࣔ ݕࡧγεςϜ͕Ͱ͖Δ·Ͱ
• ݕࡧ͢ΔରͷυΩϡϝϯτΛ࣋ͬͯ͘Δ͜ ͱ • ରͷυΩϡϝϯτ͕Webʹ͋ͬͨΒɺWeb ΫϩʔϥΛॻ͍ͯେྔͷυΩϡϝϯτΛऔಘ ͢Δඞཁ͕͋Δ • Ϋϩʔϥʔͱ͍͏ϩϘοτ(GoogleBotͱ͔)͕ ใΛ͔͖ूΊͯ͘Δ
(1) Ϋϩʔϧ
• औ͖ͬͯͨυΩϡϝϯτΛอଘ͢Δ͜ͱ • Ͳ͏ͬͯอଘ͢Δͷ͔ɺͱ͍͏͕͋Δ (2) ֨ೲ
• औ͖ͬͯͨυΩϡϝϯτ͔ΒΠϯσοΫεΛ ߏங͢Δ͜ͱ • ݕࡧΤϯδϯͷӡӦϓϩηεͷதͰʮใ࡞ ʯʮొʯͷׂΛ୲͏ (3) ΠϯσΫγϯά
• ΫΤϦΛؚΉυΩϡϝϯτ͕ݕࡧ݁Ռͱͯ͠ ฦͬͯ͘Δ • ཉ͍͠Ͱ͋Ζ͏ݕࡧ݁ՌΛͲͷΑ͏ͳॱ൪Ͱ දࣔͯ͠Δ͔͕ॏཁ (4) ݕࡧ
• ݕࡧͷࡍʹɺॱ൪Λܾఆ͢ΔͨΊʹWebϖʔ δͱΩʔϫʔυͷద߹ΛείΞͱͯ͠ࢉग़ ͢Δ (5) είΞϦϯά
• είΞϦϯάޙʹͦͷ݁ՌΛදࣔ͢Δ • ͜͜ͰεχϖοτΛදࣔͨ͠Γɺߴʹද ࣔͨ͠Γ͢ΔͳͲͷཁ͕݅͋Δ (6) ݁Ռදࣔ εχϖοτ
• (3) ΠϯσΫγϯά • (4) ݕࡧ • ଞΛ۷ΓԼ͔͛ͨͬͨΒʮIntroduction to Information
RetrievalʯΛಡ͏ʂ ࠓճͷղઆର
• ΠϯσΫγϯάͱݕࡧΛ࣮ߦ͢ΔݕࡧΤϯδϯγεςϜҰཡ • grep • Namazu • Hyper Estraier •
Apache Lucene (Wikipediaͱ͔ʹΘΕͯΔ) • Shunsaku • Senna (DBͷதΛݕࡧͰ͖Δ) • Sedue (ͯͳϒοΫϚʔΫશମΛݕࡧ͢Δͱ͜ΖͰ༻) • Lux ݕࡧΤϯδϯ͍Ζ͍Ζ
• grepܕ • grep, Shunsaku • Suffixܕ • Sedue •
సஔΠϯσοΫεܕ • ࠓͷओྲྀ શจݕࡧͷछྨ
• ݕࡧରͷυΩϡϝϯτΛઌ಄͔Βશ෦ಡΜ Ͱ͍͘୯७ͳΞʔΩςΫνϟ • ݕࡧରͷςΩετͷ͞Λmɺ୳ࡧޙͷ ͞Λnͱ͢ΔͱɺO(mn) • KMP๏Λ͏ͱɺO(m+n) • BM๏ͩͱɺ࠷ѱ࣌O(mn)ɺ࠷ྑ࣌O(n/m)
grepܕ
• KMP๏ͱAC๏ࣅͯΔɻେମΦʔμʔ͕ಉ͡ • ݕࡧରΛઌ಄͔Βશ෦ಡΜͰ͍ΔͷͰɺ grepܕΦʔμʔ͕େ͖͍͕ɺଈ࣌ੑݕࡧ ࿙Ε͕ͳ͍Ͱ༏Ε͍ͯΔ • ฒྻԽ؆୯ • ΫΤϦͷ֦ு༰қ
grepܕ
• ࣄલʹશͯͷυΩϡϝϯτΛݕࡧՄೳͳܗʹ ͯ͠ɺϝϞϦ্ʹશ෦ࡌͤΔํ๏ • TrieSuffix ArrayɺSuffix TreeͳͲͷσʔλߏ • ใྔ͕େ͖͍͔Β࣮ͮ͠Β͍
• SedueCompressed Suffix ArrayΛ༻͠ ͯɺ͔ͳΓѹॖ͍ͯ͠Δ Suffixܕ
• ࠓͷओྲྀ • ࣄલʹશͯͷυΩϡϝϯτʹ͍ͭͯࡧҾσʔ λΛ༻ҙͯ͠ɺͦΕΛ͏ํ๏ • όϥϯε͕͍͍ΞʔΩςΫνϟ • ଈ࣌ੑʹ༏Εͳ͍ •
࣮ํ๏ʹΑͬͯɺݕࡧ࿙Ε͕ సஔΠϯσοΫεܕ
-FTTPO ݕࡧΤϯδϯͷ෦ߏ
• ෦ߏେ͖͚ͯ͘2ͭ • Dictionary • Postings సஔΠϯσοΫεͷߏ
• 1ݕࡧ͍ͨ͠ରυΩϡϝϯτ • 21ΛΠϯσοΫεԽͨ͠ͷ సஔΠϯσοΫεͷߏ
• termͷू߹͕Dictionary • ӈଆͷྻ͕Postings సஔΠϯσοΫεͷߏ term Dictionary Postings
• ʮͯͳʯΛؚΜͰ͍ΔυΩϡϝϯτΛ୳͍ͨ͠ • Dictionary͔ΒʮͯͳʯΛ୳ͯ͠ɺʮͯͳʯʹඥ ͘PostingsΛड͚औΔ సஔΠϯσοΫεͷߏ term Dictionary Postings
• సஔΠϯσοΫε = Dictionary + Postings • termυΩϡϝϯτதͷ୯ޠ • termΛؚΉυΩϡϝϯτΛଈ࣌ʹൃݟ
• DictionaryΛߏ͢Δํ๏͍Ζ͍Ζ͋Δ సஔΠϯσοΫεͷߏ
• termΛͲ͏ͬͯબͿ͔ (1) ݴޠͷ୯ޠΛtermʹ͢Δ • ܾΊ͍ͯͨࣙॻΛ͏ • AC๏ͱ͔Ͱ୯ޠΛΓ͚Δ • ܗଶૉղੳ
(2) n-gramͰจࣈΛ۠ͬͯtermͱ͢Δ Dictionaryͷ࡞Γํ
• ӳޠͩͬͨΒεϖʔε۠ΓͰॻ͍ͯ͋Δ୯ޠ Ͱׂ • ຊޠεϖʔεͳ͍͠ɺͲ͜ʹ୯ޠͷ۠ Γ͕͋Δ͔Θ͔Βͳ͍ • ຊޠͷ߹ (1) ࣙॻ+AC๏
(2) ܗଶૉղੳ ݴޠͷ୯ޠΛtermʹ͢Δ2ͭͷํ๏
• ࣙॻ͕ݕࡧγεςϜͷ୯ޠۭؒʹͳΔ • ΑͬͯɺࣙॻʹೖͬͯΔ୯ޠ͔͠ݕࡧͰ͖ͳ͍ • ʮؚΉهʯͷػೳɺͯͳΩʔϫʔυΛ ࣙॻʹͯ͠ɺͯͳμΠΞϦʔͷશϒϩάهࣄ ͔Β୯ޠΛநग़͠ɺDictionaryͱ͍ͯ͠Δ ᶃ ࣙॻͱAC๏Λ͏ํ๏
• ܗଶૉղੳͱɺ͋ΔจষɾϑϨʔζΛʮҙ ຯΛ࣋ͭ࠷খݶͷ୯Ґʢʹ୯ޠʣʯʹղ͠ɺ จষϑϨʔζͷ༰Λஅ͢ΔͨΊʹ༻͍ ΒΕΔ • ࠷ٻΊΒΕΔػೳʮ͔ͪॻ͖ʯ • ྫ ʮ͢ͷ͏ͪʯ
• ͜ΕΛʮ͢ʯʮʯʹࢺղ͢Δ ᶄ ܗଶૉղੳΛ͏ํ๏
• ͔ͪॻ͖Ͱղ֤ͨ͠୯ޠΛʮܗଶૉʯ • ͢ͷ͏ͪ • ͢ ໊ࢺ • ෭ࢺ
• ໊ࢺ • ෭ࢺ • ໊ࢺ • ͷ ෭ࢺ • ͏ͪ ໊ࢺ ᶄ ܗଶૉղੳΛ͏ํ๏
• ࢺͷਪఆɺຆͲͷ߹෦Ͱ͍࣋ͬͯ Δܗଶૉղੳ༻ͷࣙॻͰߦ͏ • ࣙॻʹͳͯ͘Θ͔Βͳ͍Α͏ͳ୯ޠݴ༿ͷ ฒͼͷύλʔϯͰ༧ଌ͢Δ • ΦʔϓϯιʔεͷʮMeCabʯͱ͔͕͑·͢ ᶄ ܗଶૉղੳΛ͏ํ๏
• ܗଶૉղੳ • ࢺͷਪఆ • ࣙॻΛ͍࣋ͬͯΔ • ࣙॻʹͳ͍୯ޠ༧ଌͰ͖Δ(ͷ͋Δ) • ୯ޠͷฒͼΛߟྀʹೖΕΔ
• ୯ޠͷฒͼΛػցֶश͢Δ(߹͋Δ) • ࣙॻΛΧελϚΠζͰ͖Δ ᶄ ܗଶૉղੳΛ͏ํ๏
• ʮGears of WarʯΛݕࡧ͍ͨ͠ • ʮGearsʯͰݕࡧ͢Δͱਖ਼͘͠ώοτ • ʮGearʯͱݕࡧ͢ΔͱʮMetal Gearʯ͕ώο τͯ͠͠·͏
• ʮGearsʯͱ͍͏୯ޠʹʮGearʯؚ͕·Εͯ ͍Δ͕ɺ͜ͷ෦͕ࣙॻʹͳ͍͔Βൃੜͨ͠ ݕࡧ࿙Ε
• ώοτ͢Δ͔ώοτ͠ͳ͍͔ݕࡧΤϯδϯ ͷઃܭࢥͰมΘΔ • ׆༻͞Εͨ୯ޠͰಉ͡ͷͱΈͳͯ͠ώο τ͍͕ͤͨ࣌͋͞Δ • ʮMeCabʯͷΑ͏ͳܗଶૉղੳΛ͏ͱ୯ޠ ͷେݩͷ෦͕Θ͔Δ ݕࡧ࿙Ε
• n-gramςΩετΛnࣈͣͭΓग़ͨ͠ͷ • ྫ abracadabraͷ3-gram • abr, bra, rac, …
ҰจࣈͣͭͣΒ͢ • ͜ͷn-gramͰΓग़ͨ͠୯ҐΛɺDictionary ͷtermͱͯ͠ѻ͏ํ๏͕͋Δ n-gramΛtermͱͯ͠ѻ͏
• 2-gramͰʮͯͳͷϚείοτͰ͋Δ͠ͳ Μ౦ژʹډͳ͍ʯΛׂͯ͠ɺసஔΠϯσο ΫεΛ࡞ n-gramΛtermͱͯ͠ѻ͏
• n-gramΛDictionaryͱͯ͠͏߹ɺΫΤϦಉ ͡ϧʔϧͰׂ͢Δ • ʮͯͳʯͱݕࡧ͍ͨ࣌͠ɺΫΤϦΛʮͯʯͱ ʮͯͳʯʹׂ͢Δ • ͜ͷ2ޠͰసஔΠϯσοΫεΛҾ͘ͱɺ2ͭͷ Postings͕ಘΒΕΔ •
ͦͷ݁Ռɺ྆ํʹؚ·ΕΔڞ௨ͷυΩϡϝϯτ൪ ߸͕ʮͯͳʯΛؚΉυΩϡϝϯτ ΫΤϦಉ͡ϧʔϧͰׂ͢Δ
• ޡͬͨݕࡧ͕ߦΘΕΔͱ͖͕͋Δ • ʮ౦ژʯ • ʮ౦ژʯΛ2-gramͰׂ͢Δͱɺʮ౦ژʯ ͱʮژʯʹׂ͞Εͯ͠·͏ • ʮ౦ژλϫʔͱژλϫʔʯͱ͍͏υΩϡϝ ϯτΛΠϯσΫγϯάͨ࣌͠ɺ”౦ژ”Ͱݕ
ࡧ͢Δͱɺώοτͯ͠͠·͏ n-gramׂͷͱϑΟϧλϦϯά
• ͜ͷΛճආ͢ΔͨΊʹʮϑΟϧλϦϯάʯ • ʮ౦ژλϫʔͱژλϫʔʯʹ”౦ژ”͕ຊ ʹؚ·Ε͍ͯΔͷ͔Λ࣮ࡍʹฦ͖ͬͯͨจ ষΛௐͯޡΓͳͷ͔Λஅ͢Δ n-gramׂͷͱϑΟϧλϦϯά
• ϑΟϧλϦϯάͰޡΓഉআՄೳ • ฦ͖ͬͯͨ݁ՌΛࠪ͢Δඞཁ͕͋ΔͨΊɺ ݁Ռ͕େ͖͘ͳΔͱݕࡧ͕͔͔࣌ؒΔ • ͯͳϒοΫϚʔΫͷݕࡧͰɺ୯ޠϕʔε ͷసஔΠϯσοΫεͱn-gramϕʔεͷసஔΠ ϯσοΫεͷ྆ํΛ༻ n-gramׂͷͱϑΟϧλϦϯά
• λΠτϧɺίϝϯτɺURLΛରʹݕࡧ • n-gramΛ͏΄͏͕ݕࡧ࿙Ε͕ͳ͘ɺ ϑΟϧλϦϯά͕؆୯ • υΩϡϝϯτຊจͰɺ୯ޠϕʔε • ͜ͷ2ͭͷΠϯσοΫεʹΫΤϦΛ͛ͯ݁Ռ ΛϚʔδ͢Δ
n-gramׂͷͱϑΟϧλϦϯά
• Ͳͷ͘Β͍ɺͲͷΑ͏ͳ݁Ռ͕ग़͖ͯͨΒଥ ͳͷ͔ • ఆྔతͳධՁͱͯ͠ɺ࠶ݱͱద߹ • ࠶ݱŋŋŋͲΕ͚ͩͷྔɺ݁ՌΛฦ͍ͯ͠Δ͔ • ద߹ŋŋŋݕࡧ݁Ռͱͯ͠ฦͨ͠ͷͷ͏͖ͪ ͪΜͱଥͳͷ͕ฦ͍ͤͯΔ͔
࠶ݱ(Recall)ͱద߹(Precision)
• A: ݕࡧ݁Ռ • B: ద߹͍ͯ͠Δจষ • C: A∧B •
ద߹ = C/A • ࠶ݱ = C/B ࠶ݱ(Recall)ͱద߹(Precision) จষશͯ A B C
• ࠶ݱɺγεςϜશମʹ1000݅ʮͯͳʯ ͱ͍͏จষ͕જΜͰ͍Δ࣌ɺʮͯͳʯͰݕ ࡧ͔ͨ࣌ͦ͜͠ΒԿ݅݁ՌΛฦ٫Ͱ͖͔ͨ • ద߹ɺฦͨ݁͠ՌʹͲΕ͚ͩਖ਼͍݁͠Ռ ͕ೖ͍ͬͯΔ͔ • ਖ਼͘͠ͳ͍݁Ռ͕ଟ͍ͱɺద߹Լ͕Δ •
࠶ݱͱద߹τϨʔυΦϑ ࠶ݱ(Recall)ͱద߹(Precision)
• ݕࡧγεςϜʹಛఆͷΫΤϦΛೖྗͨ͠ͱ͖ͷ ੑೳΛఆྔԽͰ͖Δ • τϨʔυΦϑ͕͋ΔͷͰɺͲ͔ͬͪҰํΛ٘ਜ਼ ʹͭͭ͠νϡʔχϯάͱ͍͏ํ͕Ͱ͖Δ • ܗଶૉղੳͱn-gram • ܗଶૉղੳద߹༏ઌ
• n-gram࠶ݱ༏ઌ ݕࡧγεςϜʹධՁͱ࠶ݱ/ద߹
• ݕࡧΤϯδϯŋŋŋgrepܕɺSuffixܕɺసஔΠϯ σοΫεܕ • సஔΠϯσοΫεܕ͕ओྲྀ • సஔΠϯσοΫεܕ = Dictionary +
Postings • DictionaryΛ࡞Δํ๏ŋŋŋܗଶૉղੳɺn-gram ͜͜·Ͱͷখ·ͱΊ
• Postingsͦͷ୯ޠΛؚΉυΩϡϝϯτ൪߸ Λ͍࣋ͬͯΔྻ Postingsͷ࡞Γํ term Dictionary Postings
• ୯७ʹจষID͚ͩอ͍࣋ͯ͠Δ͕ɺtermͷग़ ݱҐஔΛอ࣋͢Δ߹͋Δ • ग़ݱҐஔΛ͍ͬͯΔͱɺεχϖοτΛग़͢ ࣌ʹɺͲ͜ʹؚ·Ε͍ͯΔ͔Θ͔Δ͔Βخ͠ ͍ • είΞϦϯάʹʹཱͭ •
n-gramͷϑΟϧλϦϯά࣌ʹ͑Δ Postingsͷ࡞Γํ
• ग़ݱҐஔอ࣋͢Δ • Full Inverted Index • εχϖοτɺείΞϦϯάɺϑΟϧλϦϯά ͕؆୯ •
จষIDͷΈอ࣋͢Δͷ • Inverted File Index • αΠζ͕খ͍͞ɺ࣮͕؆୯ Postingsͷ࡞Γํ
• ͜ͷΓํΛInverted File Index • αΠζ͕খͯ͘͞ɺ࣮͕؆୯ • จষIDΛιʔτ͓͚ͯ͠VB CodeͰѹॖͰ ͖Δ
• จষIDͷѹॖʹVB Code͕Α͘ΘΕΔ จষIDͷΈΛอ࣋͢ΔλΠϓ
• సஔΠϯσοΫεɺtermͱkeyͱvalue͕͋ Δ • ϋογϡͷkeyɺvalueͷΑ͏ʹͳ͍ͬͯΔ • ͔ͩΒkey-valueετΞʹอଘ͢Δͷʹ͍ͯ ͍Δ จষIDͷΈΛอ࣋͢ΔλΠϓ
• ݕࡧΤϯδϯkey-valueετΞΛಠࣗʹ࣋ͬ ͍ͯΔ͜ͱ͕ଟ͍ • termΛKeyɺѹॖ͞ΕͨυΩϡϝϯτIDͷ ྻΛValueͱ͍͍ͯͯ͠ จষIDͷΈΛอ࣋͢ΔλΠϓ
• จষIDͷॱ • ιʔτ͢Δ —> VB Code • ͦͦ͜͜ͷѹॖͱߴల։ੑೳ •
ߏ:term => ѹॖ͞ΕͨPosting List • key-valueετΞʹ͍͍ͯΔ Postingsͱσʔλߏ
• GoogleʮυΩϡϝϯτͷॏཁੑʯͰϥϯΫ Λ͚ͨ • ݕࡧͨ͠୯ޠͷॏཁͰϥϯΩϯάΛ͚ͭͨ ͔ͬͨΒTF/IDF(୯ޠͷग़ݱසͱٯग़ݱස) Λࢦඪͱͯ͑͠Δ • ͍ΖΜͳํ๏͕͋Δ είΞϦϯάʹ͍ͭͯͷิ