Pengindeksan Dan Fail Songsang (inverted File)

30
Pengindeksan Dan Fail Songsang (inverted File)

description

Pengindeksan Dan Fail Songsang (inverted File). Posting List panjang. Posting List pendek. Disebabkan saiznya posting list disiimpan dalam disk. Terbaik jika indeks disimpan dalam ingatan utama. Indeks Songsang. - PowerPoint PPT Presentation

Transcript of Pengindeksan Dan Fail Songsang (inverted File)

Page 1: Pengindeksan  Dan  Fail Songsang (inverted File)

Pengindeksan Dan

Fail Songsang (inverted File)

Page 2: Pengindeksan  Dan  Fail Songsang (inverted File)

Indeks Songsang 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

Page 3: Pengindeksan  Dan  Fail Songsang (inverted File)

Pembinaan indeks Setiap dokumen diwakilkan dalam bentuk vektor

• <term1, term2, term3, …, termn>

• Setiap kemasukkan data menggambarkan bilangan sesuatu term itu ujud pada satu-satu dokumen

Termsnova galaxy heat h’wood film role diet fur

10 5 3

5 10

10 8 7

9 10 5

10 10

9 10

5 7 9

6 10 2 8

7 5 1 3

ABCDEFGHI

Document ids

Page 4: Pengindeksan  Dan  Fail Songsang (inverted File)

Indeks Songsang

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.docs t1 t2 t3D1 1 0 1D2 1 0 0D3 0 1 1D4 1 0 0D5 1 1 1D6 1 1 0D7 0 1 0D8 0 1 0D9 0 0 1

D10 0 1 1

Terms D1 D2 D3 D4 D5 D6 D7 …

t1 1 1 0 1 1 1 0t2 0 0 1 0 1 1 1t3 1 0 1 0 1 0 0

Page 5: Pengindeksan  Dan  Fail Songsang (inverted File)

Pembinaan Fail Songsang Dokumen dihuraikan bagi menghasilkan token dan ia

disimpan bersama dengan ID dokumen

Now is the timefor all good men

to come to the aidof their country

Doc 1

It was a dark andstormy night in

the country manor. The time was past midnight

Doc 2

Term Doc #now 1is 1the 1time 1for 1all 1good 1men 1to 1come 1to 1the 1aid 1of 1their 1country 1it 2was 2a 2dark 2and 2stormy 2night 2in 2the 2country 2manor 2the 2time 2was 2past 2midnight 2

Page 6: Pengindeksan  Dan  Fail Songsang (inverted File)

Setelah selesai semua dokumen dihuraikan, maka fail songsang diisih dalam bentuk tersusun.

Term Doc #a 2aid 1all 1and 2come 1country 1country 2dark 2for 1good 1in 2is 1it 2manor 2men 1midnight 2night 2now 1of 1past 2stormy 2the 1the 1the 2the 2their 1time 1time 2to 1to 1was 2was 2

Term Doc #now 1is 1the 1time 1for 1all 1good 1men 1to 1come 1to 1the 1aid 1of 1their 1country 1it 2was 2a 2dark 2and 2stormy 2night 2in 2the 2country 2manor 2the 2time 2was 2past 2midnight 2

Pembinaan Fail Songsang

Page 7: Pengindeksan  Dan  Fail Songsang (inverted File)

Term yang berulang pada sesuatu dokumen akan dicantumkan (tambah nilai kekerapan)

Term Doc # Freqa 2 1aid 1 1all 1 1and 2 1come 1 1country 1 1country 2 1dark 2 1for 1 1good 1 1in 2 1is 1 1it 2 1manor 2 1men 1 1midnight 2 1night 2 1now 1 1of 1 1past 2 1stormy 2 1the 1 2the 2 2their 1 1time 1 1time 2 1to 1 2was 2 2

Term Doc #a 2aid 1all 1and 2come 1country 1country 2dark 2for 1good 1in 2is 1it 2manor 2men 1midnight 2night 2now 1of 1past 2stormy 2the 1the 1the 2the 2their 1time 1time 2to 1to 1was 2was 2

Pembinaan Fail Songsang

Page 8: Pengindeksan  Dan  Fail Songsang (inverted File)

Kemudian fail boleh dipecahkan kepada dua iaitu

• Fail Dictionary dan

• Fail Postings

Pembinaan Fail Songsang

Page 9: Pengindeksan  Dan  Fail Songsang (inverted File)

Dictionary PostingsTerm Doc # Freqa 2 1aid 1 1all 1 1and 2 1come 1 1country 1 1country 2 1dark 2 1for 1 1good 1 1in 2 1is 1 1it 2 1manor 2 1men 1 1midnight 2 1night 2 1now 1 1of 1 1past 2 1stormy 2 1the 1 2the 2 2their 1 1time 1 1time 2 1to 1 2was 2 2

Doc # Freq2 11 11 12 11 11 12 12 11 11 12 11 12 12 11 12 12 11 11 12 12 11 22 21 11 12 11 22 2

Term N docs Tot Freqa 1 1aid 1 1all 1 1and 1 1come 1 1country 2 2dark 1 1for 1 1good 1 1in 1 1is 1 1it 1 1manor 1 1men 1 1midnight 1 1night 1 1now 1 1of 1 1past 1 1stormy 1 1the 2 4their 1 1time 2 2to 1 2was 1 2

Pembinaan Fail Songsang

Page 10: Pengindeksan  Dan  Fail Songsang (inverted File)

Kelebihan Meningkatkan keberkesanan penggelintaran.

Kelemahan Keperluan menyimpan struktur data yang saiznya 10 – 100%

lebih besar daripada saiz teks dan keperluan untuk menukar indeks jika terdapat penukaran data.

Proses pengemaskinian indeks adalah mahal tetapi tatasusunan yang tersisih mudah dijanakan dan cepat.

Fail Songsang

Page 11: Pengindeksan  Dan  Fail Songsang (inverted File)

Struktur Data yang digunakan pada Fail Songsang

Tatasusunan Terisih (Sorted Arrays) Pohon B Struktur Cincangan (Hashing Structures) Tries (digital search trees)

Page 12: Pengindeksan  Dan  Fail Songsang (inverted File)

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

Page 13: Pengindeksan  Dan  Fail Songsang (inverted File)

Tatasusunan TerisihPenghasilan 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.

Page 14: Pengindeksan  Dan  Fail Songsang (inverted File)

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)

Tatasusunan Terisih

Page 15: Pengindeksan  Dan  Fail Songsang (inverted File)

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.

Page 16: Pengindeksan  Dan  Fail Songsang (inverted File)

Jika pohon gelintar dalam order 4 maka ia harus memenuhi syarat berikut

The keys in each node are in ascending order. 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

Page 17: Pengindeksan  Dan  Fail Songsang (inverted File)

Pohon B 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 sekurang-kurangnya 2 kunci.

Page 18: Pengindeksan  Dan  Fail Songsang (inverted File)

Pohon B (Kemasukkan Data Baru)

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

Page 19: Pengindeksan  Dan  Fail Songsang (inverted File)

Masukkan H,

Masukkan E, K, dan Q

Masukkan M

Pohon B (Kemasukkan Data Baru)

Page 20: Pengindeksan  Dan  Fail Songsang (inverted File)

Huruf F, W, L, dan T

masuk Z

Pohon B (Kemasukkan Data Baru)

Page 21: Pengindeksan  Dan  Fail Songsang (inverted File)

Masukkan D

Masuk S

Pohon B (Kemasukkan Data Baru)

Page 22: Pengindeksan  Dan  Fail Songsang (inverted File)

Pohon B (Penghapusan Data)

Penghapusan huruf H

Page 23: Pengindeksan  Dan  Fail Songsang (inverted File)

Hapuskan huruf T.

Pohon B (Penghapusan Data)

Page 24: Pengindeksan  Dan  Fail Songsang (inverted File)

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

kepada suatu alamat bagi suatu julat 0 SaizJadual-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}

kKod ASCII untuk 2 huruf pertama

Hasil darab (d)

h(k)= d mod 1000

BALL 66, 65 66.65 = 4290 290

LOWELL 76, 79 76.79 = 6004 004

TREE 84, 82 84.82 = 6888 888

000

001

..

004 LOWELL

..

290 BALL

888 TREE

999

Page 25: Pengindeksan  Dan  Fail Songsang (inverted File)

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

Contoh 2 : Hashing

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

Page 26: Pengindeksan  Dan  Fail Songsang (inverted File)

Rehashing

Contoh mudah fungsi rehash :

rehash(k) = (k + 1) % prime

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.

Page 27: Pengindeksan  Dan  Fail Songsang (inverted File)

Hashing

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

rekod Penggunaakn ruang ingatan yang lebih besar. Meningkatkan

ruang pengalamatan, contohnya jika keperluan ialah 1000 maka lebihkan sehingga 2000 ruang tambahan.

Letakkan lebih dari satu rekod pada satu alamat (penggunaan buckets)

Page 28: Pengindeksan  Dan  Fail Songsang (inverted File)

Hashing (Abu Ata) Memudahkan sesuatu alamat disimpan dan 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.

Page 29: Pengindeksan  Dan  Fail Songsang (inverted File)

1. Semua huruf ditukar kepada huruf kecil2. Set 26 huruf abjad diberi nilai berdasarkan susunan jujukan

dalam set abjad contoh : a=1, b=2, c=3 ……..,y=25,z=263. Huruf bagi suatu perkataan dan huruf yang berikutnya dan

pengiraan adalah seperti berikuti. Kedudukan huruf pertama dalam set abjad (peraturan 2)ii. Kedudukan huruf kedua dalam set abjad (peraturan 2)iii. Keputusan pada (i) di darab dengan 26iv. Campur keputusan pada (ii) dan (iii)

4. Campur keputusan bagi peraturan di 2 dengan peraturan di 3

Hashing (Abu Ata)

Page 30: Pengindeksan  Dan  Fail Songsang (inverted File)

Tugasan

Apakah Trie dan Patricia. Dapatkan perbezaan antara Trie dan

Patricia. Terangkan bagaimana ianya digunakan

dalam pengimplementasian kamus.