Anda di halaman 1dari 8

IV BAB

Metode Information Retrival (IR)

 Indexing Pada IR
Indexing: merupakan proses penyusunan index dari seluruh dokumen pada
korpus, yang terdiri dari kata-kata (token)
Korpus: ialah kumpulan dokumen yang disalin ke mesin IR Misalnya Google
“menjepret” seluruh halaman website yang bisa diakses umum (tanpa login
terlebih dahulu) kemudian menyalinnya ke mesin IR di ruang servernya google.
Bagaimana mesin Information Retrieval menyalin dokumen-dokumen yang
berada di dunia maya ?. mesin IR memiliki robot (BOT) sejenis program yang
bisa disebut juga dengan crawler, program tersebut yang kemudian berfungsi
untuk menyalin dokumen / informasi yang berada disalasatu sumber misal website
kepada server IR tersebut.
Selain melakukan crawling BOT tersebut juga melakukan indexing (pemberian
index atau pembaharuan index), index bersisi kata - kata (token) yang terdapat
dalam suatu web/blog, lebih simplenya ketika kita akan memposting suatu
informasi melualui blog kita selalu di minta memasukan TAG dalam artikel yang
akan kita posting, begitulah gambaran indexing dalam google, jadi index yang
berada di mesin pencari merupakan kumpulan miliyaran tag tag informasi.
Proses indexing digunakan untuk membentuk basisdata terhadap koleksi dokumen
yang dimasuk, dengan kata lain, indexing ialah proses persiapan yang dilakukan
kepada dokumen sehingga dokumen siap untuk diproses. Proses indexing sendiri
meliputi 2 proses, Term indexing dan document indexing. Hasil Term indexing
akan menghasilkan koleksi kata yang akan digunakan dalam meningkatkan
performansi pencarian pada tahapan selanjutnya.
Tahap dalam proses indexing ialah:
-Word Token, yakni mengubah dokumen menjadi kumpulan term dengan cara
menghapus semua karakter dalam tanda baca yang terdapat kepada dokumen dan
mengubah kumpulan term menjadi lowercase.
-Stopword Removal. Proses penghapusan kata-kata yang sering ditampilkan
dalam dokumen seperti: and, or, not dan sebagainya.
-Stemming. Proses mengubah suatu kata bentukan menjadi kata dasar.
Term Weighting. Proses pembobotan setiap term di dalam dokumen.
 Macam-Macam metode IR

1.Inverted Index
Inverted index adalah sebuah struktur data index yang dibangun untuk
memudahkan query pencarian yang memotong tiap kata (term) yang berbeda dari
suatu daftar term dokumen. Inverted index memiliki tujuan untuk meningkatkan
kecepatan dan efisiensi dalam melakukan pencarian pada sekumpulan dokumen
dan menemukan dokumen-dokumen yang mengandung query user (CatenaCraig,
Macdonald, & Ounis, 2014).
Information need merupakan topik dimana user ingin tahu lebih jauh, sedangkan
query merupakan cara user berkomunikasi dengan komputer untuk memperoleh
informasi yang diinginkan. Oleh karena itu, agar hasil yang diperoleh memiliki
hasil yang baik dilakukan pengujian pada sistem IR. Pengujian efektifitas system
IR menggunakan dua acara yaitu precision dan recall. Precision adalah tingkat
ketepatan antara informasi yang diminta oleh pengguna dengan jawaban yang
diberikan oleh system

2.Boolean Retrieval
Boolean Retrieval merupakan proses pencarian informasi dari query yang
menggunakan ekspresi Boolean (Bucher et al., 2010). Dengan ekspresi boolean
dengan menggunakan operator logika AND, OR dan NOT. Dalam menentukan
hasil perhitungannya hanya berupa nilai binary (1 atau 0). Hasil boolean retrieval
yang ada hanya dokumen relevan atau tidak sama sekali. Sehingga keunggulan
dari boolean retrieval tidak menghasilkan dokumen yang sama.
Dalam pengerjaan operator boolean (AND, NOT, OR) ada urutan pengerjaannya
(operator precedence). Dalam implementasinya akan memprioritaskan yang
berada dalam kurung (), baru selanjutnya NOT, AND, dan OR. Boolean retrival
melakukan perbaikan karena datanya terlalu besar bila tersimpan dalam komputer,
seperti ini kita perlu memenuhi peraturannya diantaranya kecepatan dalam
pemrosesan dokumen yang sangat banyak, fleksibilitas dan perangkingan. Berikut
adalah penjelasan dari operator pada model boolean retrieval antara lain:

3.Tokenization
Tokenization adalah metode pemecah teks menjadi token-token yang berurutan.
Proses tokenization primitif biasanya hanya memecah teks dengan whitespace
sebagai pembagi, lalu mengubahnya menjadi huruf kecil supaya seragam.
Tokenisasi secara garis besar memecah sekumpulan karakter dalam suatu teks ke
dalam satuan kata, bagaimana membedakan karakter-karakter tertentu yang dapat
diperlakukan sebagai pemisah kata atau bukan. Sebagai contoh karakter
whitespace, seperti enter, tabulasi, spasi dianggap sebagai pemisah kata. Namun
untuk karakter petik tunggal (‘), titik (.), semikolon (;), titk dua (:) atau lainnya,
dapat memiliki peran yang cukup banyak sebagai pemisah kata.

4.Stemming and Lemmatization


Stemming adalah proses untuk mendapatkan kata dasar dengan cara menghapus
imbuhan kata. Proses stem adalah bagian dari pra-pemrosesan dokumen teks
dalam pencarian informasi. Stemming merupakan sebuah proses yang bertujuan
untuk mereduksi jumlah variasi dalam representasi dari sebuah kata (Kowalski,
2011). Resiko dari proses stemming adalah hilangnya informasi dari kata yang di-
stem. Hal ini menghasilkan menurunnya akurasi atau presisi. Sedangkan untuk
keuntungannya adalah, proses stemming bisa meningkatkan kemampuan untuk
melakukan recall.
Tujuan dari stemming adalah untuk meningkatkan akurasi pencarian teks (D.
Sharma, 2012). untuk meningkatkan performace dan mengurangi penggunakan
resource dari sistem dengan mengurangi jumlah unique word yang harus
diakomodasikan oleh sistem. Stemming juga diperlukan dalam mengompresi
algoritma teks (Sinaga, Adiwijaya, & Nugroho, 2015). Jadi, secara umum,
algoritma stemming mengerjakan transformasi dari sebuah kata menjadi sebuah
standar representasi morfologi (yang dikenal sebagai stem
Lemmatization adalah proses menemukan bentuk dasar dari sebuah kata (Ingason,
Helgadóttir, Loftsson, & Rögnvaldsson, 2008). Lemmatization adalah proses
normalisasi pada teks/kata dengan berdasarkan pada bentuk dasar yang
merupakan bentuk lemma-nya. Normalisasi adalah mengidentifikasikan dan
menghapus prefiks serta suffiks dari sebuah kata.

5.Dictionaries
Dua kelas utama struktur data: hash dan tree. Kriteria untuk kapan menggunakan
hash vs. tree yaitu apakah ada jumlah syarat yang tetap atau apakah akan terus
bertambah?; Apa frekuensi relatif dengan berbagai tombol tersebut akan diakses?
Berapa banyak istilah yang mungkin kita miliki?. Hash digunakan untuk setiap
istilah kosakata digabungkan menjadi bilangan bulat, mencoba menghindari
tabrakan. Pada waktu permintaan, lakukan hal berikut: istilah permintaan hash,
atasi tabrakan, cari entri dalam array lebar tetap. Keuntungannya pencarian cepat
(lebih cepat daripada di search tree) dan waktu pencarian konstan. Kekurangan
hash yaitu tidak ada cara untuk menemukan varian minor (resume vs. resume),
tidak punya pencarian awalan (semua istilah dimulai dengan automat), perlu
mengulang semuanya secara berkala jika vocabulary kata tetap ada pertumbuhan.
6.Wilcard Queries
Wilcard Queries digunakan dalam salah satu situasi berikut: (1) user tidak yakin
akan ejaan istilah query, missal: Sydney vs Sidney, yang mengarah ke wildcard
query S * dney); (2) user mengetahui beberapa varian ejaan istilah dan mencari
dokumen yang berisi salah satu varian (missal: Warna vs. warna); (3) user
mencari dokumen yang berisi varian istilah yang akan ditangkap dengan proses
stemming, tetapi tidak yakin apakah mesin pencari melakukan stemming (missal:

7.Vector Space Model


Vector space model (VSM) adalah teknik dasar dalam perolehan informasi yang
dapat digunakan untuk penilaian relevansi dokumen terhadap kata kunci pencarian
(query) pada mesin pencari, klasifikasi dokumen, dan pengelompokan dokumen
(Adriani, M., Asian, J., Nazief, B., & et al.,2007). Vector space model merupakan
representasi kumpulan dokumen sebagai vektor dalam sebuah ruang vector
(Akerkar, R., 2005). Dalam Vector Space Model, koleksi dokumen
direpresentasikan sebagai sebuah matrik term-document (matrik term-frequency).
Setiap sel dalam matrik bersesuaian dengan bobot yang diberikan dari suatu term
dalam dokmen yang ditentukan. Nilai nol berarti bahwa term tersebut tidak hadir
dalam dokumen .

 Metode Binary
• Penjelasan metode Binary
-Binary tree merupakan struktur tree paling sederhana dan efisien untuk
melakukan pencarian. Keuntungan dari binary tree adalah dapat memecahkan
masalah awalan (istilah dimulai dengan automat). Kekurangan dari binary tree
adalah lebih lambat: O (logM) dalam balance tree (M adalah ukuran kosakata),
menyeimbangkan embali binary tree itu mahal.

• Contoh perhitungan metode Binary


Binary Search merupakan sebuah teknik pencarian data dengancara berulang kali
membagi separuh dari jumlah data yang dicari sampai sehingga memperkecil
lokasi pencarian menjadi satu data. Dengan teknik ini kita akanmembuang
setengah dari jumlah data. Apabila ditemukan kecocokan data maka program akan
mengembalikan output, jika tidak pencarian akan terus berlanjut hingga akhir dari
pembagian jumlah data tersebut. Algotihma ini biasanya banyak digunakan untuk
mencari di program dengan jumlah data yang banyak, dimana kompleksitas dari
algorithma ini adalah Ο(log n) di mana n adalah jumlah item. Pada saat
menggunakan binary search, data yang berada di dalam array harus diurutkan
terlebih dahulu.
Misalkan kita memiliki int arr[] = {70, 60, 30, 50, 40,20}, data para int arr harus
diurutkan terlebih dahulu menggunakan teknik sorting seperti bubble sort.
Sehingga array kita akan menjadi int arr[] = {20,30,40,50,60,70}. Apabila angka
yang dicari adalah angka 40, berikut gambaran dari implementasi BinarySearch:

1st Cycle:
(20,30,40,50,60,70)
LOW = 0
HIGH = N
MID = (LOW + HIGH)/2 = (0+6)/2 = 3
(arr[MID] == 40)
(20,30,40,50,60,70)
(50==40) // FALSE
HIGH = MID-1
*Array di mulai dari index ke 0, maka index ke 3 berisi nilai 50.

2nd Cycle:
(20,30,40,50,60,70)
MID = (LOW + HIGH)/2 = (0+2)/2 = 1
(arr[MID] == 40)
(20,30,40,50,60,70)
(30==40) // FALSE
LOW = MID+1

3rd Cycle:
(20,30,40,50,60,70)
MID = (LOW + HIGH)/2 = (2+2)/2=2
(arr[MID] == 40)
(20,30,40,50,60,70)
(40==40) // TRUE
Jika data ditemukan, maka program akan keluar dari looping. Jika kita ingin
menampilkan index dari data yang dicari, kita tinggal menyimpan index dari array
tersebut dan menampilkan nya.

Berikut implementasi dari Binary Search menggunakan Bahasa C:


 Metode Inverted Index
• Penjelasan metode Inverted Index
Inverted index atau inverted file merupakan struktur data pokok yang terdapat di
sistem pemerolehaninformasi[4]. Inverted index digunakan untuk mempercepat
proses pencarian terms pada koleksi dokumen[5]. Inverted index memiliki dua
komponen pokok yaitu dictionary dan postings lists. Untuk setiap term dalam
koleksi, terdapat posting list yang mengandung informasi mengenai term’s
occurences di koleksi. Informasi yang ditemukan oleh posting list akan digunakan
oleh sistem untuk memproses query pencarian[4].
Membangun Inverted Index
Tujuan dari membangun inverted index ini adalah untuk memperoleh kecepatan
dalam pengindeksan saat melakukan proses pemerolehan (retrieval). Langkah
utama dalam membangun inverted index[7] yaitu :
1.Kumpulkan dokumen-dokumen untuk diindekskan :
2. Lakukan proses tokenization pada text, kemudian kembalikan setiap dokumen
ke dalam list :
3. Lakukan proses berdasarkan ilmu bahasa, kemudian menghasilkan suatu list
dari tokens yang sudah ternormalisasi, yang mengindekskan istilah-istilah
Lakukan pengindeksan terhadap dokumen-dokumen yang mengandung istilah-
istilah tersebut dengan membuat inverted index yang terdiri dari dictionary dan
postings yang direpresentasikan
• Contoh Perhitungan metode Inverted Index
1.Pada proses pencarian ke struktur data inverted index, operasi yang digunakan
adalah OR. Berikut ini pada
merupakan gambaran umum dari proses operasi ORTerdapat query =
"information or retrieval" dengan menggunakan contoh dokumen pada Gambar 5,
maka hasilnya adalah : {doc1, doc3} {doc1, doc2, doc4} = {doc1, doc2, doc3,
doc4}. Jadi semua dokumen yang mengandung kata “information” atau
“retrieval” akan ditampilkan, yaitu doc1,doc2,doc3, dan doc4, sedangkan doc5
tidak ditampilkan karena tidak mengandung salah satu kata dari query tersebut.
II.3. Pembobotan TF-IDF
TF-IDF atau Term Frequency (TF) dan Inverse Document Frequency (IDF)
merupakan dasar dari skema pembobotan istilah yang paling populer di
pemerolehan informasi[3]. Teknik pembobotan TF-IDF menurut Savoy (1993)
2. Incident Matrix
Contoh nya:
Jika kita ingin mengetahui dalam document mana saja kah kata tertentu, misalnya
Indonesia berada? Caranya adalah kita melihat kata Indonesia dalam incident
matrix kemudian melihat dalam matrix itu dalam dokumen mana saja kata
Indonesia berada. Dalam prakteknya incident matrix sangat memboroskan memori
karena seperti kita perkirakan, jumlah keberadaan sangat sedikit, atau dengan kata
lain banyak jumlah nol dibanding satu.

Berikut ini contoh soal dari buku referensi Information Retrieval karya Manning,
dkk tentang pembuatan incident matrix dan inverted index. Jawaban soal dapat
Anda lihat di situs ini, walaupun baru bab 1 saja yang diselesaikan.
Doc 1 – breakthrough drug for schizophrenia
Doc 2 – new schizophrenia drug
Doc 3 – new approach for treatment of schizophrenia
Doc 4 – new hopes for schizophrenia patients
Perhatikan soal di atas, dimana misalnya kita memiliki empat dokumen. Dokumen
satu berisi kata breakthrough, drug, for, schizophrenia. Tentu saja ini hanya
perumpamaan, karena satu dokument tentu bisa saja hingga berjuta-juta kata.
Bagaimana cara membuat incident matrixnya? Sesuai dengan namanya, incident
matrix berarti matriks yang berisi keberadaan suatu kata dalam dokumen. Jadi kita
cari kata ‘breakthrough‘ ada di dokumen satu, ‘drug‘ di dokumen satu dan dua,
dan seterusnya.

Anda mungkin juga menyukai