Pengindeksan Dan Fail Songsang inverted File Indeks Songsang

  • Slides: 30
Download presentation
Pengindeksan Dan Fail Songsang (inverted File)

Pengindeksan Dan Fail Songsang (inverted File)

Indeks Songsang l l Sistem capaian maklumat membangunkan indeks songsang untuk mencari katakunci dalam

Indeks Songsang l l Sistem capaian maklumat membangunkan indeks songsang untuk mencari katakunci dalam koleksi dokumen dengan berkesan. Indeks songsang mengandungi dua komponen iaitu satu senarai bagi setiap katakunci yang dipanggil indeks dan satu senarai yang dipanggil posting list. Posting List panjang Posting List pendek Terbaik jika indeks disimpan dalam ingatan utama Disebabkan saiznya posting list disiimpan dalam disk

Pembinaan indeks l Setiap dokumen diwakilkan dalam bentuk vektor • <term 1, term 2,

Pembinaan indeks l Setiap dokumen diwakilkan dalam bentuk vektor • <term 1, term 2, term 3, …, termn> • Setiap kemasukkan data menggambarkan bilangan sesuatu term itu ujud pada satu-satu dokumen Terms

Indeks Songsang l l Secara konsep, ianya telah dipelajari dalam model ruang vektor dimana

Indeks Songsang l l Secara konsep, ianya telah dipelajari dalam model ruang vektor dimana ianya dijanakan dalam bentuk vektor di antara term vs dokumen. Fail songsang merupakan “songsangan” dari fail vektor dimana lajur menjadi baris dan baris menjadi lajur.

Pembinaan Fail Songsang l Dokumen dihuraikan bagi menghasilkan token dan ia disimpan bersama dengan

Pembinaan Fail Songsang l Dokumen dihuraikan bagi menghasilkan token dan ia disimpan bersama dengan ID dokumen Doc 1 Doc 2 Now is the time for all good men to come to the aid of their country It was a dark and stormy night in the country manor. The time was past midnight

Pembinaan Fail Songsang l Setelah selesai semua dokumen dihuraikan, maka fail songsang diisih dalam

Pembinaan Fail Songsang l Setelah selesai semua dokumen dihuraikan, maka fail songsang diisih dalam bentuk tersusun.

Pembinaan Fail Songsang l Term yang berulang pada sesuatu dokumen akan dicantumkan (tambah nilai

Pembinaan Fail Songsang l Term yang berulang pada sesuatu dokumen akan dicantumkan (tambah nilai kekerapan)

Pembinaan Fail Songsang l Kemudian fail boleh dipecahkan kepada dua iaitu • Fail Dictionary

Pembinaan Fail Songsang l Kemudian fail boleh dipecahkan kepada dua iaitu • Fail Dictionary dan • Fail Postings

Pembinaan Fail Songsang Dictionary Postings

Pembinaan Fail Songsang Dictionary Postings

Fail Songsang Kelebihan l Meningkatkan keberkesanan penggelintaran. Kelemahan l Keperluan menyimpan struktur data yang

Fail Songsang Kelebihan l Meningkatkan keberkesanan penggelintaran. Kelemahan l Keperluan menyimpan struktur data yang saiznya 10 – 100% lebih besar daripada saiz teks dan keperluan untuk menukar indeks jika terdapat penukaran data. l Proses pengemaskinian indeks adalah mahal tetapi tatasusunan yang tersisih mudah dijanakan dan cepat.

Struktur Data yang digunakan pada Fail Songsang l l Tatasusunan Terisih (Sorted Arrays) Pohon

Struktur Data yang digunakan pada Fail Songsang l l Tatasusunan Terisih (Sorted Arrays) Pohon B Struktur Cincangan (Hashing Structures) Tries (digital search trees)

Tatasusunan Terisih l l Fail songsang yang menggunakan metod ini menyimpan katakunci dalam bentuk

Tatasusunan Terisih l l Fail songsang yang menggunakan metod ini menyimpan katakunci dalam bentuk tatasusunan terisih, berserta dengan bilangan dokumen yang mengandungi katakunci tersebut dan hubungan yang menghubungkan ke dokumen-dokumen tersebut. Penggelintaran dalam tatasusunan ini ialah berdasarkan penggelintaran binari. Kebaikan : senang nak diimplementasi Keburukan : pengemaskinian indeks agak mahal

Tatasusunan Terisih Penghasilan tatasusunan fail songsang terisih boleh dibahagi kepada 2 atau 3 langkah:

Tatasusunan Terisih Penghasilan tatasusunan fail songsang terisih boleh dibahagi kepada 2 atau 3 langkah: 1. Teks yang digunakan sebagai input dihuraikan menjadi senarai perkataan-perkataan berserta dengan lokasinya dalam teks (tentukan penggunaan katahenti dan cantasan sama ada perlu dimasukkan atau tidak. Ini bergantung kepada kekangan penggunaan masa dan storan dalam operasi pengindeksan). 2. Senarai perkataan di songsangkan dari senarai perkataan dalam susunan lokasi ke senarai perkataan terisih bagi kegunaan carian. Pengisihan dibuat dalam susunan tertentu beserta semua lokasi yang dikaitkan bagi setiap term/perkataan.

Tatasusunan Terisih 3. Proses lanjutan terhadap fail songsang yang terhasil seperti meletakkan pemberat sebutan

Tatasusunan Terisih 3. Proses lanjutan terhadap fail songsang yang terhasil seperti meletakkan pemberat sebutan atau penyusunan semula atau penggunaan pemadatan (compression) bagi fail. (proses ini adalah opsional)

Pohon B Pohon-B biasanya digunakan untuk tujuan gelintaran data. Ia mesti mempunyai nombor kunci

Pohon B Pohon-B biasanya digunakan untuk tujuan gelintaran data. Ia mesti mempunyai nombor kunci dan anak. Pohon pada order m nerupakan pohon dimana setiap nod mempunyai sebanyak-banyaknya m anak. Bagi setiap nod, jika k merupakan bilangan sebenar anak pada nod, maka k-1 merupakan bilangan kunci pada nod Rujuk rajah dibawah dimana baris pertama menunjukkan nod bagi setiap kunci manakala baris kedua menunjukkan penunjuk ke kunci anak.

Pohon B l Jika pohon gelintar dalam order 4 maka ia harus memenuhi syarat

Pohon B l Jika pohon gelintar dalam order 4 maka ia harus memenuhi syarat berikut l The keys in each node are in ascending order. l Bagi setiap nod jika berikut adalah benar. • Sub pokok bermula dari rekod Node. Branch[0] hanya ada kunci yang kurang dari Node. key[0] • Sub pokok bermula dari rekod Node. Branch[1] hanya ada kunci yang lebih dari Node. key[0] dan pada masa yang sama kurang dari Node. Key[1] • Sub pokok bermula dari rekod Node. Branch[2] hanya ada kunci yang lebih dari Node. key[1] dan pada masa yang sama kurang dari Node. Key[2] • Sub pokok bermula dari rekod Node. Branch[3] hanya ada kunci yang lebih dari Node. key[2]

Pohon B l Berikut merupakan contoh bagi pohon-B dengan order 5. Ini bermaksud semua

Pohon B l Berikut merupakan contoh bagi pohon-B dengan order 5. Ini bermaksud semua nod luar mempunyai sekurang-kurangnya ceil(5/2) = 3 anak. Bilangan maksimum anak bagi nod adalah 5 (4 adalah bilangan maksimum kunci). Setiap nod daun mesti mengandungi sekurangnya 2 kunci.

Pohon B (Kemasukkan Data Baru) l l Katakan kemasukkan data baru akan dibuat ke

Pohon B (Kemasukkan Data Baru) l l Katakan kemasukkan data baru akan dibuat ke atas pohon-B yang kosong di mana ia menggunakan order 5. Diberi huruf-huruf berikut : C N G A H E K Q M F W L T Z D P R X Y S. Ini bermaksud nod boleh mempunyai maksima 5 anak dan 4 kunci. Semua nod selain akar mesti mempunyai minimum 2 kunci. 4 huruf dimasukkan pada nod seperti rajah disebelah

Pohon B (Kemasukkan Data Baru) Masukkan H, Masukkan E, K, dan Q Masukkan M

Pohon B (Kemasukkan Data Baru) Masukkan H, Masukkan E, K, dan Q Masukkan M

Pohon B (Kemasukkan Data Baru) Huruf F, W, L, dan T masuk Z

Pohon B (Kemasukkan Data Baru) Huruf F, W, L, dan T masuk Z

Pohon B (Kemasukkan Data Baru) Masukkan D Masuk S

Pohon B (Kemasukkan Data Baru) Masukkan D Masuk S

Pohon B (Penghapusan Data) Penghapusan huruf H

Pohon B (Penghapusan Data) Penghapusan huruf H

Pohon B (Penghapusan Data) Hapuskan huruf T.

Pohon B (Penghapusan Data) Hapuskan huruf T.

Hashing l l l Fungsi Hash ialah fungsi h(k) yang menukarkan kunci kepada suatu

Hashing l l l Fungsi Hash ialah fungsi h(k) yang menukarkan kunci kepada suatu alamat bagi suatu julat 0 Saiz. Jadual-1 Fungsi hash digunakan untuk memetakan kekunci ke dalam slot di dalam Jadual Hash. Contoh : • Katakan kita menentukan untuk menggunakan 1000 alamat maka jika U merupakan semua kemungkinan set kekunci, maka fungsi hash adalah dari U ke {0, 1, 2, …. . 999} 000 001. . 004 LOWELL. . 290 BALL … k Kod ASCII untuk 2 huruf pertama Hasil darab (d) h(k)= d mod 1000 BALL 66, 65 66. 65 = 4290 … LOWELL 76, 79 76. 79 = 6004 999 TREE 84, 82 84. 82 = 6888 888 TREE

Contoh 2 : Hashing hash function ialah hash(key) = key % prime. • Guna

Contoh 2 : Hashing hash function ialah hash(key) = key % prime. • Guna prime = 101. Ini bermaksud jadual akan memegang sehingga 101 rekod iaitu indeks dari 0 100. • Jika ingin memasukkan 225 ke dalam jadual maka pengiraannya 225 % 101 = 23 Maka data kekunci 225 akan disimpan pada indeks 23 Namun begitu, terdapat kekunci yang berbeza tetapi dihantar alamat yang sama maka akan berlaku perlanggaran (collision) Seperti contoh 1, di mana terdapat dua atau lebih yang bermula dengan 2 huruf pertama yang sama. Maka satu proses yang dinamakan rehashing perlu dilakukan

Rehashing Fungsi Rehash Fungsi kedua yang boleh digunakan untuk memilih lokasi jadual bagi item

Rehashing Fungsi Rehash Fungsi kedua yang boleh digunakan untuk memilih lokasi jadual bagi item baru yang akan dimasukkan. Jika lokasi tersebut juga telah digunakan maka fungsi rehash boleh digunakan bagi mendapat likasi ketiga dan seterusnya. Contoh mudah fungsi rehash : rehash(k) = (k + 1) % prime

Hashing Kaedah untuk mengurangkan perlanggaran l Cuba dapatkan fungsi hash yang terbaik untuk penaburan

Hashing Kaedah untuk mengurangkan perlanggaran l Cuba dapatkan fungsi hash yang terbaik untuk penaburan rekod l Penggunaakn ruang ingatan yang lebih besar. Meningkatkan ruang pengalamatan, contohnya jika keperluan ialah 1000 maka lebihkan sehingga 2000 ruang tambahan. l Letakkan lebih dari satu rekod pada satu alamat (penggunaan buckets)

Hashing (Abu Ata) l l Memudahkan sesuatu alamat disimpan dicapai secara terus serta cepat

Hashing (Abu Ata) l l Memudahkan sesuatu alamat disimpan dicapai secara terus serta cepat dan betul. Dikira berdasarkan Kod ASCII bagi sesuatu huruf dan dijadi penghubung antara huruf-huruf perkataan yang diindeks Hubungan dikira berdasarkan susunan huruf antara set huruf dan untuk huruf berikutnya berdasarkan susunan huruf yang bersebelahan. Mungkin berlaku perlanggaran. Cincangan semula dilakukan dan satu alamat baru akan dijanakan bagi mendapatkan satu rekod yang kosong.

Hashing (Abu Ata) 1. Semua huruf ditukar kepada huruf kecil 2. Set 26 huruf

Hashing (Abu Ata) 1. Semua huruf ditukar kepada huruf kecil 2. Set 26 huruf abjad diberi nilai berdasarkan susunan jujukan dalam set abjad contoh : a=1, b=2, c=3 ……. . , y=25, z=26 3. Huruf bagi suatu perkataan dan huruf yang berikutnya dan pengiraan adalah seperti berikut i. Kedudukan huruf pertama dalam set abjad (peraturan 2) ii. Kedudukan huruf kedua dalam set abjad (peraturan 2) iii. Keputusan pada (i) di darab dengan 26 iv. Campur keputusan pada (ii) dan (iii) 4. Campur keputusan bagi peraturan di 2 dengan peraturan di 3

Tugasan l l l Apakah Trie dan Patricia. Dapatkan perbezaan antara Trie dan Patricia.

Tugasan l l l Apakah Trie dan Patricia. Dapatkan perbezaan antara Trie dan Patricia. Terangkan bagaimana ianya digunakan dalam pengimplementasian kamus.