Ringkasan CH 4 Index Construction

download Ringkasan CH 4 Index Construction

of 4

description

Ringkasan Index Construction, Information Retrieval

Transcript of Ringkasan CH 4 Index Construction

  • RANGKUMAN BAB 4 Sistem Temu Balik Informasi

    Yusuf Syaifudin [email protected]

    11/313303/PA/13672

  • BAB 4 Kontsruksi Indeks

    Bab ini akan menjelaskan bagaimana membanguan sebuah konstruksi dalam melakukan indeks

    (membangun indeks atau indexing).

    4. 1 Hardware Basics Ketika membangun sebuah sistem pencarian informasi (IR), banyak keputusan didasarkan pada

    karakteristik perangkat keras komputer di mana sistem berjalan. Oleh karena itu bab ini dimulai

    dengan tinjauan singkat tentang perangkat keras komputer. Daftar dasar-dasar hardware yang

    dibutuhkan dalam buku ini untuk memotivasi desain sistem temu balik informasi ialah sebagai berikut:

    Akses ke data dalam memori jauh lebih cepat daripada akses ke data pada disk. Dibutuhkan

    beberapa clock cycle (mungkin 5 10-9 detik) untuk mengakses byte dalam memori, tetapi

    lebih lama untuk mentransfer dari disk (sekitar 2 10 detik). Konsekuensinya, kita ingin

    menyimpan data kedalam disk sebanyak yang mungkin dilakukan.

    Ketika melakukan pembacaan atau penulisan data pada sebuah disk, dibutuhkan waktu untuk

    kepala disk untuk pindah ke bagian dari disk dimana data berada. Ini disebut seek time dan

    rata-rata 5 ms untuk beberapa disk. Tidak ada data yang ditransfer selama melakukan

    pencarian. Untuk memaksimalkan kecepatan transfer data, potongan data yang akan dibaca

    bersama harus disimpan secara berdampingan pada disk.

    Sistem operasi umumnya membaca dan menulis seluruh blok. Dengan demikian, membaca

    satu byte dari disk dapat mengambil waktu sebanyak membaca seluruh blok.

    Transfer data dari disk ke memori ditangani oleh systembus, bukan oleh prosesor. Ini berarti

    bahwa prosesor tersedia untuk memproses data selama disk I/O. Kita dapat memanfaatkan

    fakta ini untuk mempercepat transfer data dengan menyimpan data terkompresi pada disk.

    Dengan asumsi algoritma dekompresi yang efisien, total waktu membaca dan kemudian

    dekompresi data terkompresi biasanya kurang dari membaca data terkompresi.

    Server yang digunakan dalam sistem temu balik informasi biasanya memiliki beberapa

    gigabyte (GB) dari memori utama, kadang-kadang puluhan GB. Ruang disk yang tersedia

    adalah beberapa kali lipat lebih besar.

    4.2 Blocked sort-based indexing

    Disini, kumpulan dari koleksi teks akan dibagi kedalam bentuk blok-blok yang lebih kecil. Setiap blok

    dapat diletakkan didalam memori utama. Dalam memori utama tersebut, akan terdapat pasangan

    antara TermID dengan DocID. Hal ini akan menghasilkan data yang terurut sebagian. Kemudian

    lakukan penggabungan pada hasil dari data yang terurut sebagian tersebut kedalam hasil akhir:

    BSBINDEXCONSTRUCTION()

    1 n 0

    2 while (all documents have not been processed)

    3 do n n +1

    4 block PARSENEXTBLOCK()

    5 BSBI-INVERT(block)

    6 WRITEBLOCKTODISK(block, fn)

    7 MERGEBLOCKS( f1, . . . , fn; f merged)

  • Contoh:

    Penggabungan dalam blocked sort-based indexing. Dua blok ("daftar posting yang akan digabung")

    diambil dari disk ke memori, bergabung dalam memori ("daftar postingan digabung") dan ditulis

    kembali ke disk.

    4.3 Single-pass in-memory indexing Untuk setiap koleksi teks yang sangat besar, daftar blok mungkin tidak dapat disimpan dalam memori

    utama. Single-pass in-memory indexing memiliki ide untuk membuat sebuah daftar dari setiap blok

    menggunakan fungsi hash.

    SPIMI-Invert(token stream)

    1 output le NEWFILE()

    2 dictionary NEWHASH()

    3 while (free memory available)

    4 do token next(token stream)

    5 if term(token) / dictionary 6 then postings list

    ADDTODICTIONARY(dictionary,term(token))

    7 else postings list

    GETPOSTINGSLIST(dictionary,term(token))

    8 if full (postings list)

    9 then postings list DOUBLEPOSTINGSLIST(dictionary,

    term(token)) 10 ADDTOPOSTINGSLIST(postings list,docID(token))

    11 sorted terms SORTTERMS(dictionary )

    12 WRITEBLOCKTODISK(sorted terms,dictionary ,output le)

    13 return output le

  • 4.4 Distributed Indexing Untuk pengindeksan dalam skala web, harus dibutuhkan komputer dengan sistem terdistribusi. Setiap

    komputer tentu akan memiliki kerawanan dalam kesalahan. Ide dari distributed indexing ini ialah

    menjaga mesin (komputer) utama untuk mengalihkan pekerjaan pengindeksan ke mesin lain yang

    dianggap aman. Mesin utama akan memberikan tugas masing-masing ke mesin yang sedang tidak

    digunakan. Ini akan menjadikan pengindeksan dilakukan dalam sekumpulan pekerjaan yang bersifat

    parallel.

    4.5 Dynamic Indexing Sampai dibagian distributed indexing kita masih mengasumsikan bahwa koleksi dari indeks ialah

    bersifat statis. Namun sangatlah aneh jika dokumen harus di masukkan, hapus atau dimodifikasi

    namun masih menggunakan tipe statis. Ini berarti seharusnya koleksi index dan posting harus bersifat

    dinamis.

    Pencapaian sederhana dari cara ini ialah dengan menjaga index utama yang besar didalam disk.

    Dokumen baru akan dimasukkan kedalam index yang lebih kecil sebagai pembantu. Dalam proses

    pencariannya, akan dicari dari kedua kumpulan tersebut (indeks utama dan index pembantu)

    kemudian digabungkan menjadi satu. Namun, dynamic indexing memiliki masalah ketika

    penggabungan dilakuakn secara sering. Akan terjadi penurunan performa ketika penggabungan

    dilakukan.