Pemerolehan informasi (Information Retrieval) adalah kumpulan berbagai
algoritma dan teknologi untuk melakukan pemrosesan, penyimpanan, dan temu
kembali informasi pada suatu koleksi data yang besar dan tidak terstruktur
(Manning et al, 2008).
Jenis informasi tersebut beragam, bisa berupa teks dokumen, halaman web,
maupun objek multimedia seperti foto dan video.
2.1.1.
Operasi Teks
2.1.1.1.
Stopword
Stopword adalah suatu kata yang sangat sering muncul dalam berbagai
dokumen adalah diskriminator yang buruk dan tidak berguna dalam temu kembali
informasi. Stopword perlu dieliminasi untuk mengurangi waktu eksekusi query
dengan cara menghindari proses
list yang panjang (Butcher
et al., 2010).
Pembuangan
stopword ini akan mengurangi ukuran indeks, meningkatkan
efisiensi dan keefektifan dari pemerolehan informasi (Croft et al., 2010). Contoh
stopword
dalam bahasa Indonesia, yaitu kata ganti orang (“aku”, “kamu”, “kita”,
dsb.), konjungsi (“dan”, “atau”, dsb.), dan beberapa kata lainnya.
2.1.1.2.
Stemming
Stemming adalah proses pengenalan suatu kata.
Stemming sering
melibatkan pemisahan kata dari imbuhan dan tanda baca (Göker et al, 2009).
Menurut Agusta (2010), pola suatu kata dalam bahasa Indonesia adalah
sebagai berikut :
8
2.1.1.2.1.
Algoritma Nazief – Adriani sebagai Algoritma Stemming
Algoritma Stemming Nazief – Adriani diperkenalkan oleh Nazief dan Adriani
(1996). Algoritma ini memiliki tahap-tahap sebagai berikut ini :
1.
Cari kata yang akan diistem dalam basis data kata dasar. Jika ditemukan maka
diasumsikan kata adalah root word. Maka algoritma berhenti.
2.
Selanjutnya adalah pembuangan Inflection Suffixes (“-lah”, “-kah”, “-ku”, “-
mu”, atau “-nya”). Jika berupaparticles (“-lah”, “-kah”, “-tah” atau “-pun”)
dan terdapat Possesive Pronouns (“-ku”, “-mu”, atau “-nya”), maka langkah
ini diulangi lagi untuk menghapus Possesive Pronouns.
3.
Hapus Derivation Suffixes (“-i”, “-an” atau “-kan”). Jika kata ditemukan di
kamus, maka algoritma berhenti. Jika tidak maka ke langkah 3a berikut ini :
a.
Jika “-an” telah dihapus dan huruf terakhir dari kata tersebut adalah “-k”,
maka “-k” juga ikut dihapus. Jika kata tersebut ditemukan dalam kamus
maka algoritma berhenti. Jika tidak ditemukan maka lakukan langkah 3b.
b.
Akhiran yang dihapus (“-i”, “-an” atau
“-kan”) dikembalikan, lanjut ke
langkah 4.
4.
Hapus Derivation Prefix. Jika pada langkah 3 ada sufiks yang dihapus maka
pergi ke langkah 4a, jika tidak pergi ke langkah 4b.
a.
Periksa tabel kombinasi awalan-akhiran yang tidak diijinkan pada
Tabel 2.1. Jika ditemukan maka algoritma berhenti, jika tidak, pergi ke langkah4b. Tabel kombinasi awalan-akhiran yang tidak diijinkan ditampilkan pada
tabel berikut ini :
Awalan Akhiran yang tidak diizinkan
be-
-i
di-
-an
ke-
-i, -kan
me-
-an
se-
-i, -kan
Tabel 2.1. Tabel kombinasi awalan dan akhiran yang tidak diijinkan
b.
Tentukan tipe awalan kemudian hapus awalan. Jika awalan kedua sama
dengan awalan pertama algoritma berhenti.
9
c.
Jika root word belum juga ditemukan lakukan langkah 5, jika sudah maka
algoritma berhenti..
5.
Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal
diasumsikan sebagai root word. Proses selesai.
Tipe awalan ditentukan melalui langkah-langkah berikut:
1.
Jika awalannya adalah: “di-”, “ke-”, atau “se-” maka tipe awalannya secara
berturut-turut adalah “di-”, “ke-”, atau “se-”.
2.
Jika awalannya adalah “te-”, “me-”, “be-”, atau “pe-” maka dibutuhkan sebuah
proses tambahan untuk menentukan tipe awalannya.
3.
Jika dua karakter pertama bukan “di-”, “ke-”, “se-”, “te-”, “be-”, “me-”, atau
“pe-” maka berhenti.
4.
Dengan melihat Tabel 2.2, jika tipe awalan adalah “none” maka berhenti. Jika
tipe awalan adalah bukan “none” maka awalan dapat dilihat pada
Tabel 2.4.Hapus awalan jika ditemukan.
Tipe-tipe awalan dapat dilihat dalam tabel berikut ini :
Karakter huruf setelah awalan
Tipe awalan
Set 1
Set 2
Set 3
Set 4
“-r-“
“-r-“
–
–
None
“-r-“
–
–
ter-luluh
“-r-“
not (vowel or “-r-”)
“-er-“
vowel
Ter
“-r-“
not (vowel or “-r-”)
“-er-“
not vowel ter-
“-r-“
not (vowel or “-r-”)
not “-er-“
–
Ter
not (vowel or “-r-”)
“-er-“
vowel
–
None
not (vowel or “-r-”)
“-er-“
not vowel
–
Te
Tabel 2.2. Cara Menentukan Tipe Awalan Untuk awalan “te-”
Awalan yang diijinkan dihapus berdasarkan tipe awalannya ditunjukkan
pada tabel berikut ini :
Tipe Awalan Awalan yang harus dihapus
di-
di-
ke-
ke-
se-
se-
10
ter-
ter-
ter-luluh
ter
Tabel 2.3. Awalan yang diijinkan dihapus berdasarkan Tipe Awalannya
2.1.1.3.
Tokenisasi
Tokenisasi adalah proses pemisahan kata dari kumpulannya, sehingga
menghasilkan suatu kata yang berdiri sendiri, baik dalam bentuk perulangan
maupun tunggal. Proses ini juga akan menghilangkan tanda baca maupun karakter
yang ada pada kata tersebut dan semua huruf menjadi huruf kecil. (Manning et al,
2008).
Contoh dari input dan output dari tokenisasi adalah sebagai berikut :
Input : Suatu deret angka genap
Output : suatu, deret, angka, genap
2.1.2.
Term-Document Matrix
Term-document
matrix adalah matriks yang memperlihatkan frekuensi
kemunculan suatu term didalam suatu dokumen. Dalam term-document matrix,
baris-baris menunjukkan
term dalam suatu koleksi dan kolom menunjukkan
dokumen. (Manning et al, 2008).
Contoh perancangan matriks term-document diperlihatkan seperti berikut ini :
doc 1 doc 2 doc 3 doc 4 doc 5 doc 6
term 1 1 2 2 1 1 0 term 2 0 4 4 1 2 0 term 3 2 5 0 1 3 0 term 4 3 1 0 0 1 1 term 5 2 0 2 0 0 1 term 6 1 0 1 1 3 2
Tabel 2.4. Perancangan termdocumentmatrix
Sehingga matriks term-documentnya (matriks M) akan menjadi seperti berikut ini
:
11
[
]
Gambar 2.1. Visualisasi term-documentmatrix
2.1.3.
TF-IDF sebagai Metode Pembobotan
Terms Frequency – Inverse Documents Frequency (TF-IDF) adalah skema
pembobotan
term yang paling populer dalam ranah pemerolehan informasi
(Baeza – Yates, 1999).
Rumus pembobotan TF-IDF menurut Savoy (1993) adalah sebagai berikut :
Persamaan 2.1. Rumus pembobotan TF-IDF (Savoy, 1993)
Dimana,
, dan
Keterangan :
w
= bobot term (T
j) pada dokumen D
i
tf
ij= frekuensi kemunculan term (T
j) pada dokumen D
i
m
= jumlah dokumen D
ipada kumpulan dokumen
df
j= jumlah dokumen yang mengandung term (T
j)
idf
j= invers frekuensi dokumen (inverse document frequency)
max tf
i= frekuensi term terbesar dalam suatu dokumen
Dari penghitungan nilai TF-IDF ini, scoring atau penilaian terhadap
query
12
∑
Persamaan 2.2. Rumus penghitungan skor dan perankingan dokumen terhadap query
2.1.4.
Evaluasi Pemerolehan Informasi
Pengukuran hasil relevansi dapat dilakukan dengan penghitungan
recall dan
precision. Recall digunakan untuk mengukur seberapa baik suatu sistem
melakukan pencarian terhadap dokumen yang relevan terhadap suatu
query
pengguna. Sementara itu, precision digunakan untuk melihat seberapa baik sistem
pemerolehan informasi mengeliminasi dokumen yang tidak relevan (Croft et al.,
2010).
Rumus dari recall dan precision adalah sebagai berikut (Manning et al, 2008) :
∑ ∑
Persamaan 2.3. Rumus penghitungan nilai recall (Manning et al, 2008)
∑ ∑
Persamaan 2.4. Rumus penghitungan nilai precision (Manning et al, 2008)