You are on page 1of 17

Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

BAB I PENDAHULUAN

1. Latar Belakang

Karena lajunya perkembangan teknologi komunikasi, ilmu-ilmu pada bidang tersebut


juga ikut berkembang. Salah satu cabang ilmu yang berkembang saat ini adalah Information
Retrieval. Information Retrieval merupakan ilmu yang mengenai pencarian dokumen, informasi
di dalam dokumen, dan metadata untuk dokumen, serta mencari relational databases dan
World Wide Web.

Klasifikasi dokumen merupakan salah satu bagian dari Information Retrieval. Pada
Information Retrival klasifikasi masih dibagi menjadi 2 cabang yakni Clustering (Klasifikasi
dokumen tanpa penentuan kelas awal) dan Classification (Klasifikasi dokumen ke dalam kelas
yang telah ditentukan).

Pada Era sebelum berkembangnya komputer, pada saat memklasifikasi dokumen


manusia cenderung membaca dokumen tersebut satu per satu dan memutuskan kelas yang
sesuai untuk dokumen tersebut. Pada manusia untuk membaca 300 kata dan benar-benar
memahami apa yang dibacanya, rata-rata diperlukan waktu lebih kurang 1 menit. Bayangkan
bila ada 3000 dokumen, dan tiap dokumen terdiri dari 300 kata. Maka manusia memerlukan
waktu 50 jam untuk membaca dokumen tersebut. 50 jam tersebut blum ditambah waktu makan
dan istirahat

Tetapi dengan berkembangnya komputer, dengan menggunakan beberapa metode


klasifikasi 3000 dokumen bisa dilakukan hanya dalam hitungan menit. Telah terdapat program
yang dapat mengklasifikasi dokumen secara gratis pada internet. Salah satu dari mereka adalah
Rainbow.

Berhubung dengan pengguna internet di Indonesia yang terus meningkat, klasifikasi


dokumen bahasa Indonesia menjadi sesuatu yang sangat penting. Namun, kebanyakan dari
program yang tersedia hanya dapat mengklasifikasi dokumen berupa bahasa Inggris (ini
disebabkan Stemmer dan StopWord yang digunakan adalah bahasa Inggris). Bila menggunakan
program tersebut untuk mengklasifikasi dokumen bahasa indonesia, mempunyai kemungkinan
bahwa akurasi untuk klasifikasi bisa menurun dan waktu untuk klasifikasi akan meningkat.

Pada kesempatan ini, penulis ingin mengubah salah satu program tersebut yakni
Rainbow, agar bisa mengklasifikasi dokumen bahasa indonesia dengan mengubah Stemmer dan
Stopwords dari program Rainbow.

1
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

2 . Tujuan

Tujuan dari Proyek ini adalah membuat sebuah program yang dapat mengklasifikasi
dokumen bahasa Indonesia (dengan cara memodifikasi Stemmer dan Stopword yang digunakan
kedalam bahasa Indonesia) dengan menggunakan program Rainbow sebagai dasar konsep
pembuatan progarm.

2
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

BAB II ISI

1. Rainbow

Rainbow merupakan sebuah program untuk mengklasifikasi dokumen yang


didalamnya terdapat beberapa jenis metode untuk klasifikasi. Rainbow didasari dengan
Library Bag of Words (libbow). Program ini dibuat oleh Prof. Andrew McCallum beserta
beberapa anak muridnya. Program Rainbow ini diciptakan pada tahun 1996 dan telah
mengalami beberapa perubahan. Perubahan terakhir terjadi pada tahun 1998.

Program Rainbow biasanya memklasifikasi data menurut atribut yang dimiliki data
tersebut dan dikategorikan ke dalam kelas yang sesuai dengan data tersebut. Dengan adanya
program ini maka tidak perlu lagi membaca dokumen satu per satu dan mengklasifikasinya.
Program Rainbow dapat mengklasifikasi ribuan dokumen hanya dalam hitungan menit.
Program ini bertujuan untuk mendukung perkembangan di bidang Information Retrieval
dengan menyajikan sarana untuk mengklasifikasikan dokumen agar kecepatan pada proses
retrieval dapat ditingkatkan lagi.

Program Rainbow bisa didapatkan pada http://www.cs.cmu.edu/~mccallum/bow/src.


Khusus untuk pengguna Ubuntu programnya bisa didapatkan menggunakan synaptic package
manager (Cara menggunakannya ada pada Bab 3.2 halaman 2).

Program Rainbow merupakan Program yang bersifat Open Source. Ini berarti program
ini tersedia dalam bentuk source code dan diizinkan untuk mempelajari, mengubah dan
memperbaik program ini sesuai keperluan dengan hukum yang berlaku. Bahasa Pemrograman
yang digunakan untuk membuat Program Rainbow adalah bahasa Pemrograman C.

Program Rainbow dapat dijalankan pada sebagian besar sistem UNIX, termasuk Linux,
Solaris, SunOS, Irix dan HPUX. Program Rainbow juga terbukti dapat berjalan diatas
WindowsNT (dengan GNU Enviroment). Sebelumnya penulis pernah menjalankan program
Rainbow pada Sistem Operasi Ubuntu versi Karmic Koala no. Versi 9.10 dengan sedikit
modifikasi.

3
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

2. Program Rainbow dengan Stemmer Bahasa Indonesia

Pada proyek ini, penulis membuat sebuah program yang berfungsi untuk
mengklasifikasi dokumen. Program ini pada dasarnya dibuat berdasarkan program Rainbow
yang telah dijelaskan diatas. Dibawah ini akan menjelaskan mengenai program yang dibuat.

2.1. Sistem Operasi dan Bahasa Pemrograman

Pada pembuatan program ini, penulis menggunakan Sistem Operasi Window 7 Home
Premium 64 bit. Bahasa Pemrograman yang digunakan adalah Java dan Perl. Java Editor yang
digunakan adalah Eclipse Versi Hellion Release dengan Java Development Kit versi 6. Editor
tersebut merupakan freeware sehingga bisa didownload di www.eclipse.org/downloads.
Compiler Perl yang digunakan adalah Active Perl.

2.2. Konsep Dasar dari Program

Program ini dibuat berdasarkan Rainbow khususnya dengan metode Klasifikasi Naive
Bayes. Sebelum melakaukan klasifikasi, program akan memasuki tahap Training. Pada tahap
training program akan mengindeks sejumlah dokumen yang digunakan sebagai set pelatihan.
Pada tahap ini, semua dokumen akan di preprocessing dimana prosesnya meliputi tokenisasi,
pembuangan stop words, pemotongan kata imbuhan. Pada tahap pembuangan kata imbuhan,
digunakan algoritma Fadillah.

Gambar 2.2.1. Flowchart untuk Stemmer Fadillah

4
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

Berikut merupakan Rules yang digunakan saat melakukan pemotongan imbuhan.

Tabel 1: Kelompok rule pertama : inflectional particles

Tabel 2: Kelompok rule kedua :inflectional possesive pronouns

Tabel 3: Kelompok rule ketiga: first order of derivational prefixes

Tabel 4: Kelompok rule keempat: second order of derivational prefixes

5
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

Tabel 5: Kelompok rule kelima: derivational suffixes

Setelah melewati tahap preprocessing maka selanjutnya akan memasuki tahap


indexing. Tahap tersebut meliputi menghitung frekuensi kata dan membentuk sebuah
vocabulary yang didalamnya berisi semua kata yang terdapat dalam dokumen. Pada tahap ini
juga akan memuat file yang didalamnya berisi frekuensi kata dari tiap kelas.

Tahap Selanjutnya adalah tahap perhitungan nilai probabilistik dari tiap kata untuk
tiap kelas. Nilai tersebut yang nantinya akan digunakan dalam penentuan kelas dari artikel
yang ingin diklasifikasi. Rumus untuk menghitung nilai probabilistik adalah :

n k+ 1
P ( W k|V j )= dimana
n+¿ Vocabulary∨¿∗¿ Vocabulary∨¿ ¿

 nk adalah jumlah kata k dalam kelas j


 n = jumlah kata dari kelas tersebut
 |Vocabulary| = jumlah kata yang berbeda dalam vocabulary

Program sudah siap untuk mengklasifikasi dokumen atau tahap uji/Test. Pada saat
program melakukan klasifikasi dokumen, pertama-tama dokumen tersebut memasuki tahap
preprocessing dan indexing. Setelah melakukan indexing maka tiap kata dari dokumen
tersebut akan dibandingkan dengan vocabulary. Bila ada kata yang berada di vocabulary maka
akan diambil nilai probabilistik dari tiap kelas dan melakukan perhitungan dengan metode
Naive Bayes. Rumus yang digunakan untuk menghitung nilai dari tiap kelas adalah

V NB= ∏ P( ai∨v j )
i∈ positions

dimana P(ai|vj) adalah peluang dari kata i yang terdapat untuk dalam vocabulary untuk kelas j.

6
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

Dari kelas yang ada, kelas yang mempunyai nilai yang tertinggi merupakan kelas dari
dokumen tersebut. Berikut merupakan flowchart dari program yang dibuat.

Mulai

Tokenisasi

Pembuangan Stop Words

Pembuangan Imbuhan

Pembentukan Vocabulary

Indexing

Hitungan probabilistik untuk tiap kata

Selesai

Gambar 2.2.2. Flowchart untuk tahap training

7
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

Mulai

Tokenisasi

Pembuangan Stop Words

Pembuangan Imbuhan

Perbandingan dengan Vocabulary

Pemgambilan nilai Probabilistik

Perhitungan nilai Naive Bayes

Selesai

Gambar 2.2.3. Flowchart untuk tahap testing

8
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

2.3. Cara Penggunaan Program

2.3.1.Dokumen yang digunakan

Dokumen yang digunakan adalah dokumen dalam format teks. Dokumen untuk
traning berbentuk sebuah direktori yang dalamnya terdapat beberapa direktori yang
merepresentasi tiap kelas. Dalam direktori tersebut mengandung artikel-artikel sesuai
kelasnya. Dokumen yang digunakan untuk pengujian berbentuk sebuah direktori yang
didalamnya terdapat artikel yang ingin diklasifikasi. Dokumen dikumpulkan dengan cara
mencopy dari website media massa dengan hanya mencopy bagian dari artikel. Jadi tidak
diperlukan Preprocessing untuk mengubah artikel ke dalam bentuk yang diinginkan.

Pada pengujian program digunakan artikel dari media massa kompas sebanyak 3000 artikel
dengan 3 kelas.

Direktori utama

Direktori yang Direktori yang Direktori yang


dalamnya berisi dalamnya berisi dalamnya berisi
artikel-artikel artikel-artikel artikel-artikel

Gambar 2.3.1.1 Illustrasi bentuk dokumen yang digunakan

2.3.2.Cara Penggunaan

Pada saat menjalankan program, akan muncul sebuah tampilan yang berupa pembuka
(Opening). Setelah selesai menjalankan program maka akan muncul sebuah tampilan yang
berfungsi untuk menentukan model yang akan digunakan. Terdapat 2 buah pilihan yakni
model baru dan model yang telah ada.

Model baru digunakan apabila ingin membuat model baru dengan menggunakan data
training yang disediakan user. Bila user memilih pilihan ini, maka akan diminta untuk
memasukkan link untuk data training yang digunakan untuk membangun model baru. Bila
user memilih pilihan kedua, maka akan muncul sebuah text box yang dalamnya berisi detil

9
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

tentang model yang ada. Detil itu berupa jumlah kata unik dan jenis kelas yang ada pada
model tersebut.

Setelah menentukan kelas yang digunakan, selanjutnya adalah tahap klasifikasi. User
akan diminta memasukkan link untuk dokumen yang akan diuji, Setelah beberapa menit, maka
akan muncul hasil klasifikasi dari dokumen tersebut.

Gambar 2.3.2.1. Tampilan program saat dijalankan (Opening) Gambar 2.3.2.2 Tampilan program saat melakukan pilihan
model

Gambar 2.3.2.3 Tampilan


Gambar
program
2.3.2.4
untuk
Tampilan
detil model
program untuk klasifikasi dokumen

10
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

Gambar 2.3.2.5 Tampilan program untuk hasil klasifikasi

3. Perbandingan Program Rainbow dengan program yang dibuat

3.1.Perbandingan Hasil Klasifikasi

Perbandingan dengan 15 artikel yang tidak terdapat didalam data training

Nama Artikel Jenis Artikel Hasil Klasifikasi di Hasil Klasifikasi di


Rainbow Program yang
dibuat

Bisnis 1 Bisnis Bisnis Bisnis

Bisnis 2 Bisnis Bisnis Bisnis

Bisnis 3 Bisnis Bisnis Bisnis

Bisnis 4 Bisnis Bisnis Bisnis

Bisnis 5 Bisnis Bisnis Bisnis

Internasional 1 Internasional Internasional Internasional

Internasional 2 Internasional Internasional Internasional

Internasional 3 Internasional Internasional Internasional

Internasional 4 Internasional Internasional Internasional

Internasional 5 Internasional Internasional Internasional

Olahraga 1 Olahraga Olahraga Olahraga

Olahraga 2 Olahraga Internasional Internasional

Olahraga 3 Olahraga Olahraga Olahraga

Olahraga 4 Olahraga Olahraga Olahraga

Olahraga 5 Olahraga Olahraga Olahraga

11
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

Gambar 3.1.1 Hasil klasifikasi Program Rainbow

Pada program Rainbow hasil klasifikasi dari 15 dokumen ada 14 artikel yang benar dengan
persentase benar 93.33%

Gambar 3.1.2 Hasil klasifikasi Program yang dibuat

Gambar 3.1.1 Hasil klasifikasi Program yang dibuat


12
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

Pada program yang dibuat hasil klasifikasi dari 15 dokumen ada 14 artikel yang benar
diklasifikasi dengan persentase benar 93.33%

Perbandingan dengan 3000 artikel yang ada didalam data training

Setelah melakukan percobaan dari 3000 data program Rainbow mengklasifikasi 2963
artikel dengan benar. Persentase keakuratannya adalah 98.77%. Sedangkan pada pengujian
untuk program yang dibuat berhasil mengklasifikasi 2921 artikel dari 3000 artikel dengan
persentase keakuratan 97.36%. Karena hasil klasifikasi yang diluar prediksi maka penulis
mencoba untuk membandingkan lagi program Rainbow dengan program yang dibuat tetapi
tanpa pengunaan Stemmer bahasa Indonesia. Pada pengujian tersebut program tanpa stemmer
berhasil mengklasifikasi 2964 artikel secara benar dengan persentase akurasi 98.80%.

3.2. Kelebihan dan Kelemahan program yang dibuat dibandingkan dengan program
Rainbow

Dengan membandingkan program yang dibuat dengan program Rainbow, ditemukan beberapa
kelebihan dari program yang dibuat yakni adalah

 Program yang dibuat menggunakan bahasa pemrograman Java sehingga dapat berjalan
di multiplatform. Ini maksudnya program ini dapat berjalan di semua Sistem Operasi
yang meng-install Java Runtime Enviroment.
 Program yang dibuat menggunakan Graphical User Interface sehingga memudahkan
user dalam penggunaannya.
 Dari segi keakuratan, program yang dibuat yang diatur tanpa menggunakan Stemmer
bahasa Indonesia keakuratannya lebih tinggi dibandingkan dengan program Rainbow
yang diatur sebagaimana sama-sama tidak menggunakan Stemmer.

Disamping kelebihan yang dimilikinya, program yang dibuat tidak lepas dari kelemahan.
Berikut merupakan kelemahan dari program yang dibuat dibandingkan dengan program
Rainbow :

 Dari segi performansi, program Rainbow lebih unggul dibandingkan program yang
dibuat. Pada saat mengindeks artikel, program yang dibuat membutuhkan waktu yang
lebih lama (3000 dokumen sekitar 25 detik) dibandingkan program Rainbow (3000
dokumen sekitar 3 detik).

13
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

 Pada program yang dibuat fitur yang tersedia lebih sedikit dibandingkan dengan
program Rainbow. Pada program yang dibuat hanya bisa menggunakan metode
klasifikasi Naive Bayes sedangkan pada program Rainbow mendukung beberapa
metode diantaranya Naive Bayes, tf-idf, svm, probabilistic indexing. Pada program
Rainbow juga tersedia mekanisme untuk melakukan evaluasi terhadap sistem yang
dibuat.
 Dari segi keakuratan, program yang telah dibuat dengan menggunakan Stemmer bahasa
Indonesia keakuratannya lebih rendah dibandingkan dengan program Rainbow yang
diatur sebagaimana tidak menggunakan Stemmer.

BAB III KESIMPULAN

Setelah melakukan analisis terhadap pengujian yang dibuat, maka penulis


menyimpulkan bahwa

1. Pemotongan imbuhan menggunakan algoritma Fadillah Z. Tala masih terdapat


banyak kesalahan. Kesalahan tersebut dapat berupa Overstemming maupun
Understemming untuk kebanyakan kata.
2. Pada pengunaan metode Naive Bayes untuk klasifikasi terhadap dokumen,
pemotongan imbuhan/Stemmer dari algoritma Fadillah Z. Tala dan
pembuangan Stopwords tidak mempunyai pengaruh positif terhadap klasifikasi.

14
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

KETERANGAN PEMBUAT PROYEK

15
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

DAFTAR PUSTAKA

1. Grossman, D.A., Frieder O.(2004). information retrieval Algorithm and Heuristics.


Netherlands:Springer.

2. http://www.cs.cmu.edu/~mccallum/bow/

3. http://www.cs.cmu.edu/~mccallum/bow/rainbow/

4. http://en.wikipedia.org/wiki/Naive_Bayes_classifier

5. http://www.cs.put.poznan.pl/mkomosinski/umsn/bayes/Rainbow.ppt

6. http://select.cs.cmu.edu/class/10701-F09/slides/naivebayes.pdf

7. http://lingpipe-blog.com/2009/01/12/naive-bayes-binomial-bags-of-words/

8. http://en.wikipedia.org/wiki/Bag_of_words_model_in_computer_vision#Generative_Mod
els

9. http://en.wikipedia.org/wiki/Bag_of_words_model

16
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”

10. http://www.cs.cmu.edu/afs/cs.cmu.edu/project/theo-20/www/mlc/2002/cotraining-11-
02.pdf

11. http://en.wikipedia.org/wiki/Information_retrieval

12. http://mindbluff.com/askread2.htm#7

17

You might also like