Search Engines
Information Retrieval in Practice
All slides ©Addison Wesley, 2008
Search Engine Architecture
• Arsitektur dari mesin pencari ditentukan oleh2 persyaratan
– efektivitas (kualitas hasil)
– efisiensi (waktu respon dan throughput)
Indexing Process
Indexing Process
• Text acquisition
– mengidentifikasi dan menyimpan dokumen untukmengindeks
• Text transformation
– mengubah dokumen ke dalam istilah indeks atau fitur
• Index creation
– mengambil istilah indeks dan menciptakan strukturdata (indeks) untuk mendukung pencarian cepat
Query Process
Query Process
• User interaction– mendukung penciptaan dan perbaikan query,
menampilkan hasil
• Ranking– menggunakan query dan indeks untuk
menghasilkan daftar peringkat dokumen
• Evaluation– memonitor dan mengukur efektivitas dan efisiensi
(terutama offline)
Details: Text Acquisition
• Crawler
– Mengidentifikasi dan memperoleh dokumen
– Web crawler mengikuti link untuk menemukandokumen
– Efisien harus menemukan sejumlah besarhalaman web (coverage) dan menjaga mereka up-to-date (kesegaran)
Text Acquisition
• Conversion
– Mengkonversi berbagai dokumen ke dalam teksyang konsisten ditambah Format metadata
• misalnya HTML, XML, Word, PDF, dll → XML
– Mengkonversi pengkodean teks untuk bahasayang berbeda
• Menggunakan standar Unicode seperti UTF-8
Text Acquisition
• Menyimpan data Dokumen
– Stores teks, metadata, dan konten terkait lainnyauntuk dokumen
• Metadata adalah informasi tentang dokumen sepertitipe dan tanggal pembuatan
• Konten lain termasuk link, anchor text
– Bisa menggunakan sistem database relasional
Text Transformation• Parser
– Pengolahan urutan token teks dalam dokumenuntuk mengenali elemen struktur
– Tokenizer mengakui "kata" dalam teks• harus mempertimbangkan isu-isu seperti kapitalisasi,
tanda hubung, apostrof, karakter non-alpha, pemisah
– Bahasa markup seperti HTML, XML seringdigunakan untuk menentukan struktur• Tag digunakan untuk menentukan elemen dokumen
– Misalnya, <h2> Ikhtisar </ h2>
• Dokumen parser menggunakan sintaks bahasa markup (atau format lainnya) untuk mengidentifikasi struktur
Text Transformation
• Stopping
– Hapus kata-kata umum
• misalnya, "dan", "atau", "yang", "di“
• Stemming
– Kata kelompok berasal dari batang umum
• e.g., “computer”, “computers”, “computing”, “compute”
Text Transformation
• Link Analysis
– Memanfaatkan link dan anchor teks dalamhalaman web
– Anchor teks secara signifikan dapat meningkatkanrepresentasi halaman ditunjukkan oleh link
Text Transformation
• Information Extraction– Identifikasi kelas istilah indeks yang penting untuk
beberapa aplikasi
– misalnya, recognizers bernama entitasmengidentifikasi kelas seperti orang, lokasi, perusahaan, tanggal, dll
• Classifier– Mengidentifikasi metadata kelas terkait untuk
dokumen• yaitu, memberikan label ke dokumen
• mis., topik, tingkat membaca, sentimen
Index Creation
• Document Statistics
– Mengumpulkan jumlah dan posisi kata-kata dan fitur lainnya
– Digunakan dalam algoritma peringkat
• Weighting
– Menghitung bobot untuk istilah indeks
– Digunakan dalam algoritma peringkat
Index Creation
• Inversion
– Inti dari proses pengindeksan
– Mengubah informasi dokumen panjang untukistilah-dokumen untuk mengindeks
• Sulit untuk jumlah yang sangat besar dokumen
Index Creation
• Index Distribution
– Salurkan indeks di beberapa komputer dan / ataubeberapa situs
– Penting untuk pemrosesan query cepat dengansejumlah besar dokumen
User Interaction
• Query input
– Menyediakan antarmuka dan parser untuk bahasaquery
– Kebanyakan query web sangat sederhana, aplikasilain dapat menggunakan form
– Bahasa query yang digunakan untukmenggambarkan pertanyaan lebih kompleks
User Interaction
• Query transformation
– Spell checking dan saran permintaan memberikanalternatif untuk query
– Ekspansi permintaan dan umpan balik relevansimemodifikasi query asli
User Interaction
• Results output
– Membangun tampilan dokumen peringkat untukquery
– Highlight kata-kata penting
– Mengambil iklan yang sesuai dalam berbagaiaplikasi
Ranking
• Scoring
– Menghitung skor untuk dokumen menggunakanalgoritma peringkat
– Komponen inti dari search engine
Ranking
• Performance optimization
– Merancang algoritma peringkat untuk proses yang efisien
• Distribution
– Pengolahan Query dalam lingkungan terdistribusi
Evaluation
• Logging– Logging permintaan pengguna dan interaksi sangat
penting untuk meningkatkan efektivitas dan efisiensi pencarian
– Query logs dan data klik per tayang yang digunakanuntuk saran query, memeriksa ejaan, query caching, peringkat, pencarian iklan, dan komponen lainnya
• Ranking analysis– Mengukur efektivitas dan tuning peringkat
• Performance analysis– Mengukur dan efisiensi sistem tuning