Professional Documents
Culture Documents
BAB I PENDAHULUAN
1. Latar Belakang
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 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
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 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”
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.
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.
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.
4
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”
5
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”
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∨¿ ¿
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 Imbuhan
Pembentukan Vocabulary
Indexing
Selesai
7
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”
Mulai
Tokenisasi
Pembuangan Imbuhan
Selesai
8
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”
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
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
10
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”
11
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”
Pada program Rainbow hasil klasifikasi dari 15 dokumen ada 14 artikel yang benar dengan
persentase benar 93.33%
Pada program yang dibuat hasil klasifikasi dari 15 dokumen ada 14 artikel yang benar
diklasifikasi dengan persentase benar 93.33%
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.
14
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”
15
Laporan Tugas Information Retrieval “Rainbow dengan Stemmer Bahasa Indonesia”
DAFTAR PUSTAKA
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