• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

2.1 Information Retrieval

Information Retrieval merupakan sekumpulan algoritma dan teknologi

untuk melakukan pemrosesan, penyimpanan, dan menemukan kembali informasi

(tertstruktur) pada suatu koleksi data yang besar (Manning, 2008). Data yang

digunakan dapat berupa teks, tabel, gambar maupun video. Sistem IR yang baik

memungkinkan pengguna menentukan secara cepat dan akurat apakah isi dari

dokumen yang diterima memenuhi kebutuhannya.

2.1.1 Arsitektur Information Retrieval

2.1.1.1 Proses Retrieval

Proses information retrieval secara garis besar digambarkan dalam

8 Gambar 2.1 Proses Information Retrieval (Manning, 2008)

Secara detail, penjelasan mengenai arsitektur information retrieval

terdiri dari beberapa langkah, yaitu :

1. Langkah pertama dalam proses retrieval adalah merancang dan

memodelkan bentuk dari data yang akan digunakan untuk

keperluan informationretrieval.

• Penentuan jenis dokumen yang akan digunakan (Semi Structured dan Unstructured)

Semistructured (dokumen yang memiliki struktur tree, misalnya dokumen XML)

biasanya memberikan tag tertentu pada term

9  Unstructured (dokumen yang tidak memiliki pola, misalnya artikel atau paragraf) proses

ini akan dilewati dan term pada dokumen

akan dibiarkan tanpa imbuhan tag.

• Operasi dasar yang akan dilakukan terhadap text pada isi dokumen.

• Sistem akan membentuk indeks dari text.

2. Indeks merupakan bagian yang sangat kritikal karena akan

berpengaruh pada proses pencarian yang cepat dalam volume data

yang sangat besar. Struktur indeks dapat berbeda-beda, namun

yang paling popular untuk digunakan adalah invertedindex.

3. Ketika document data text selesai dibentuk, maka user sudah

dapat melakukan pencarian. Langkah-langkah yang harus

dilakukan pada pencarian adalah sebagai berikut :

 Pada suatu kebutuhan pencarian data atau kebutuhan informasi pengguna akan merepresentasikan kebutuhan

tersebut dengan menggunakan query.

Query Operation akan dilakukan setelah user menginput

query.

 Proses searching pada query akan menghasilkan retrieved documents.

10  Sebelum data dikembalikan ke user, dokumen yang

di-retrieved akan diranking berdasarkan kedekatan dokumen

dengan query.

2.1.1.2 Text Operation

Text Operation berperan penting dalam proses information

retrieval, karena seluruh proses yang berhubungan dengan penggalian

informasi dari sumber dokumen ataupun teks dilakukan pada proses text

operation. Textoperation memilki beberapa langkah yang dapat dilakukan

di dalam sebuah sistem Information Retrieval, berikut adalah

langkah-langkah pada textoperatrion:

 Tokenisasi

 Penghilangan Stop-word

Stemming

Indexing

2.1.1.2.1 Tokenization

Tokenisasi merupakan proses pemenggalan kata dalam suatu

dokumen menjadi potongan – potongan kata yang berdiri sendiri (token). Proses ini juga akan menghilangkan tanda baca atau karakter yang melekat

pada kata tersebut dan semua kata menjadi huruf kecil (Manning, 2008).

Contoh tokenisasi :

• Input :Friends, Romans, Countrymen, Lend, Me, Your, Eyes

11 Terkadang token dapat dikatakan juga sebagai term atau kata. Pemotongan

kumpulan karakter biasanya berdasarkan karakter spasi, namun beberapa

permasalahan yang terjadi dalam proses tokenisasi yaitu terdapat beberapa

kata yang akan berbeda arti bila dipotong berdasarkan spasi seperti San

Fransisco akan memiliki arti yang berbeda bila dipotong menjadi San dan

Fransisco. Setiap dokumen dan query direpresentasikan dengan model

bag-of-words, yaitu model yang mengabaikan urutan dari kata – kata dan struktur yang ada di dalam dokumen. Dokumen diubah menjadi sebuah

wadah yang berisi kata – kata yang independen.

2.1.1.2.2 Penghilangan Stop Word

Stop-word didefinisikan sebagai term yang tidak berhubungan

(non-relevant) dengan subjek utama dari data meskipun kata tersebut

sering muncul di dalam dokumen. Penghilangan stop-word tidak bersifat

wajib pada beberapa desain dari modern information retrieval, dimana

memliki cara sendiri untuk menyelesaikan masalah kata-kata yang sering

digunakan dengan menggunakan data statistik. Contoh stop-word dalam

Bahasa Inggris adalah : a, an, the, this, that, these, those, her, his, its, my,

our, their, your, all, few, many, several, some, every, for, and, nor, bit, or, yet, so, also, after, although, if, unless, because, on, beneath, over, of, during, beside, dan etc. Contoh stop-word dalam bahasa Indonesia : yang,

juga, dari, dia, kami, kamu, aku, saya, ini, itu, atau, dan, tersebut, pada,

dengan, adalah, yaitu, ke, tak, tidak, di, pada, jika, maka, ada, pun, lain,

12

Stop-word juga bisa dilakukan dengan memotong kata berdasarkan

distribusi kata (Zipf Distrubution). Zipf Distrubution merupakan

pembagian/distribusi frekuensi kata, dapat digambarkan seperti gambar

2.2. Pada tahap ini dilakukan pemotongan kata yang memiliki frekuensi

sangat tinggi maupun rendah, dengan demikian dapat dikatakan Zipf

Distribution dapat memotong batas kata yang optimum untuk memberikan

ciri atau key word dari suatu dokumen.

Gambar 2.2 Distribusi Zipf (Manning, 2008)

2.1.1.2.3 Stemming

Sebuah kata kerja dalam dokumen sering kali memiliki banyak

bentuk atau tata bahasa yang berbeda, untuk mengatasinya dilakukan

stemming. Tujuan akhir dari stemming adalah mereduksi kata menjadi kata

dasar, proses ini dilakukan dengan pemotongan akhiran dan awalan kata.

Hasil dari langkah stemming diperoleh kelompok kata yang mempunyai

makna serupa tetapi berbeda wujud sintaktis satu dengan lainnya.

Kelompok tersebut dapat direpresentasikan oleh satu kata tertentu.

13 cara kerjanya. Stemming melakukan proses pemotongan akhiran dan

awalan untuk mencapai tujuan tersebut, sedangkan lemmatisasi melihat

penggunaan kata kerja serta analisis morfologi terlebih dahulu sebelum

melakukan pemotongan, hasil dari lemmatisasi biasa disebut dengan

lemma. Misalkan sebuah kata saw, stemming hanya akan mengembalikan

kata see, sedangkan lemmatisasi akan memotongnya ke bentuk see atau

saw tergantung pada penggunaan katanya sebagai verb atau noun. Setiap

bahasa tentunya memiliki norma stemming yang berbeda, maka tahap

stemming untuk Bahasa Jawa tentunya memiliki proses yang berbeda

(Ledy Agusta, 2009), berikut adalah langkah stemming untuk Bahasa

Jawa:

2.1.1.2.3.1 Aturan / Rule Stemming

Sebelum membuat aturan stemming untuk bahasa Jawa, diuraikan

terlebih dahulu penggunaan simbol-simbol dalam membuat stemmerrule

(Widjono, dkk, 2011) :

1. Aturan substitusi/penghapusan menggunakan tanda =>.

ny =>‖‖ (ny dihapus)

ny => s (ny diganti s)

2. Simbol <> digunakan untuk menyatakan tingkat affix yang mempengaruhi

urutan pengecekan di algoritma stemming. Rule yang digunakan adalah

14 Tabel 2.1 Rule untuk Suffix

SUFFIX

<1> e=>"",n=>"",a=>"",i=>"",ing=>"", ku=>"",mu=>""

<2> ke=>"", ki=>"",wa=>"", ya=>"",na=>"",ne=>"",en=>"",an=>"",ni=>"",nira=>"", ipun=>"", on=>"u", ning=>""

<3> ake=>"", en=>"i", kna=>"n", kno=>"n", ana=>"", ono=>"", ane=>"", kne=>"", nan=>"", yan=>"", nipun=>"", oni=>"u", eni=>"i"

<4> kake=>"n", ken=>"" ,kke=>"",nana=>"",nono=>"", nane=>"", nen=>"",kna=>"",kno=>"", ekne=>"i", onan=>"u",enan=>"i" <5> kake=>"",kken=>"",aken=>"",kke=>"n",enana=>"i",enono=>"i",onen=>"u",enen=>"i",onana=> "u",onono=>"u", ekna=>"i",ekno=>"i",okno=>"u",okna=>"u" <6> ekken=>"i",kaken=>"n",okken=>"u",ekake=>"i",ekke=>"i",okake=>"u",okke=>"u", kaken=>"", kken=>"n" <7> ekaken=>"i",okaken=>"u"

Tabel 2.2 Rule untuk Prefix PREFIX <1> dipun=>"",peng=>"",peny=>"",pem=>"",pam=>"",pany=>"",pra=>"",kuma=>"",kapi=>"", bok=>"",mbok=>"",dak=>"",tak=>"",kok=>"",tok=>"",ing=>"",ang=>"",any=>"", am=>"", sak=>"", se=>"",su=>"",mang=>"",meng=>"",nge=>"",nya=>"",pi=>"",ge=>"",ke=>"",u=>"", po=>"u",ke=>"u" <2> mer=>"",mra=>"",mi=>"",sa=>"",ku=>"",an=>"",ka=>"",ny=>"s",ng=>"k",di=>"",peng=>" k",pang=>"k",pany=>"c", pam=>"p",ke=>"i",mang=>"k",meng=>"k"

15 <4> n=>"t", pan=>"s", pen=>"s",man=>"s",men=>"s" <5> pan=>"",pen=>"",man=>"t",men=>"t",n=>"" <6> pa=>"",pe=>"",man=>"",men=>"" <7> p=>"",ma=>"",me=>"" <8> m=>"w" <9> m=>"p" <10> m=>""

Tabel 2.3 Rule untuk Infix INFIX

<1> gum=>"b",gem=>"b",kum=>"p",kem=>"p"

<2> kum=>"w", kem=>‖w‖

2.1.1.2.3.2 Algoritma Stemming

Algoritma untuk melakukan proses stemming terhadap kata tunggal atau

duplikasi.

1. Kata berimbuhan adalah word. Kata sebagai hasil adalah stemW

2. Cek jumlah karakter word, jika < 2. Keluar.

3. Jika word mengandung ―-―, maka pecah kata berdasar ―-― menjadi w1

dan w2. Dan lakukan langkah 4-13

4. w11 = w1 tanpa vokal dan w21 = w2 tanpa vokal.

5. Jika w11 = w21 dan panjang w1=w2 maka lakukan langkah 6-8

6. Jika w2 ada di kamus maka stemW=w2 dan keluar.

16 8. Jika w22 ada di kamus maka stemW=w22, jika tidak

stemW=w1-w2 dan keluar.

9. Jika w11 != w21, lakukan langkah 10-13

10.ws11=hilangkan imbuhan(w1) dan ws21 = hilangkan

imbuhan(w2).

11.Cek ws21 di kamus, jika ada maka stemW=ws21 dan

keluar.

12.Cek ws11 di kamus, jika ada maka stemW=ws11 dan

keluar.

13.Jika tidak maka stemW=ws11-ws21 dan keluar.

14.stemW = hilangkan imbuhan(stemW). Cek stemW di dictionary. Jika

ada stemW dikembalikan dan keluar.

Algoritma untuk menghilangkan afiks pada kata berimbuhan.

1. Kata yang akan dihilangkan imbuhan adalah word.

2. ws1=hapus suffix (word). Cek di dictionary. Jika ada kembalikan kata.

3. ws1s2=hapus suffix (ws1). Cek di dictionary. Jika ada kembalikan

kata.

4. ws1i1=hapus infix (ws1). Cek di dictionary. Jika ada kembalikan kata.

5. dws1= pengulangan parsial (ws1). Cek di dictionary. Jika ada

kembalikan kata.

6. dws1s2= pengulangan parsial (ws1s2). Cek di dictionary. Jika ada

kembalikan kata.

17 8. dwp1= pengulangan parsial (wp1). Cek di dictionary. Jika ada

kembalikan kata.

9. wp1s1=hapus suffix(wp1). Cek di dictionary. Jika ada kembalikan

kata.

10.dwp1s1= pengulangan parsial (wp1s1). Cek di dictionary. Jika ada

kembalikan kata.

11.wp1s1s2=hapus suffix (wp1s1). Cek di dictionary. Jika ada

kembalikan kata.

12.wp1p2=hapus prefix (wp1). Cek di dictionary. Jika ada kembalikan

kata.

13.wp1p2s1=hapus suffix (wp1p2). Cek di dictionary. Jika ada

kembalikan kata.

14.wp1p2s1s2=hapus suffix (wp1p2s1). Cek di dictionary. Jika ada

kembalikan kata.

15.wi1=hapus infix (word). Cek di dictionary. Jika ada kembalikan kata.

16.wi1s1=hapus suffix (wi1). Cek di dictionary. Jika ada kembalikan kata.

2.1.1.3 Indexing

Proses indexing adalah proses yang merepresentasikan document

collection ke dalam bentuk tertentu untuk memudahkan dan mempercepat

proses pencarian dokumen yang relevan. Pembuatan index dari document

collection adalah tugas pokok pada tahapan pre-processing di dalam

information retrieval. Efektitifitas dan efisiensi information retrieval

18 dokumen satu dengan dokumen yang lain yang berada di dalam satu

collection. Indeks dengan ukuran yang kecil dapat memberikan hasil yang

kurang baik dan bisa saja beberapa dokumen yang seharusnya relevan

terabaikan. Sementara indeks dengan ukuran yang besar memungkinkan

ditemukannya dokumen yang tidak relevan dan menurunkan kecepatan

pencarian. Pembuatan inverted index harus melibatkan konsep linguistic

processing yang bertujuan mengekstrak term-term penting dari dokumen

yang direpresentasikan sebagai bag-of-words.

Pada tahap indexing, dapat dilakukam pengindeksan terhadap term

frekuensi (tf), idf, tf-idf, atau fitur bobot tf-idf dapat dihitung sebagai

berikut: ) df / ( log ) tf log 1 ( w , 10 , i j N i j i    (2.1)

df i = frekuensi dokumen dari kata i

= jumlah dokumen yang berisi kata i

idfi = inverse document frequency dari kata i,

= log10 (N/ df i)

(N: jumlah total dokumen).

W=weight (bobot kata)

 Contoh pembobotan kata pada dokumen:

Diberikan dokumen berisi kata A,B,C dengan frekuensi :

A(3), B(2), C(1)

Misal, ada koleksi berisi 10,000 dokumen dan frekuensi kata A, B, C

19 A(50), B(1300), C(250)

Maka :

A: tf = 3; idf = log(10000/50) = 2.3; tf-idf = 6.9

B: tf = 2; idf = log(10000/1300) = 0.88;tf-idf = 1.77

C: tf = 1; idf = log(10000/250) = 1.6; tf-idf = 1.6

Dokumen terkait