Klasifikasi Dokumen Teks Berbahasa Indonesia

advertisement
Tabel 3 Contoh pembobotan idf
Term
Df
METODOLOGI PENELITIAN
Idf
Mobil
25 125
1,5
Auto
6 700
2,08
18 165
1,62
Asuransi
Penelitian ini dilakukan dalam beberapa
tahap seperti yang digambarkan pada Gambar 3.
Secara garis besar tahapannya adalah studi
pustaka, pengadaan data, implementasi sistem,
praproses data, pelatihan, klasifikasi, uji
Cochran, dan 3-fold cross validation.
Pembobotan tf.idf
didapatkan dengan
mengalikan tf dengan idf. Pada Tabel 3 terlihat
bahwa skor tinggi akan muncul bila term
muncul dalam sedikit dokumen dan akan
semakin kecil bila term semakin sering muncul
dalam dokumen (Manning 2008).
Pembobotan terbaik saat ini untuk
klasifikasi dokumen teks adalah pembobotan
tf.rf yaitu salah satu pembobotan supervised
learning yang baru dikembangkan pada tahun
2007. Namun, pembobotan tf.rf rumit untuk
digunakan. Pembobotan tf.idf memiliki kinerja
di atas pembobotan tf dan mendekati tf.rf (Lan
et al 2007).
Panjang Vektor
Panjang vektor (vector norm) suatu vektor
C=[x1,x2,…,xn] dapat dihitung sebagai panjang
dari sembarang segmen garis berarah (Leon
2001). Panjang segmen garis dari [0,0,…,0] ke
[x1,x2,…,xn] adalah:
Proyeksi Vektor
Proyeksi sebuah vektor A terhadap vektor B
adalah membentuk sebuah vektor C yang
memiliki arah atau kemiringan yang sama
dengan vektor B dan memiliki panjang |C| = A
cos è (è merupakan sudut apit antara vektor A
dan vektor B). Vektor C merupakan proyeksi
vektor A terhadap vektor B, maka vektor C
dikatakan sebagai suatu transformasi linear
(Leon 2001). Ilustrasi proyeksi vektor A
terhadap vektor B dapat dilihat pada Gambar 2.
Untuk menghitung vektor C hasil proyeksi
A terhadap B dapat digunakan rumus
.
Gambar 2 Proyeksi vektor.
Gambar 3 Metodologi penelitian.
Studi Pustaka
Pada tahap ini dilakukan pengumpulan
informasi
tentang
klasifikasi
dokumen
menggunakan MCA. Literatur yang digunakan
berupa buku, jurnal, dan artikel-artikel dari
Internet.
Pengumpulan Data
Data yang digunakan dalam penelitian ini
merupakan data berita digital sebanyak 750
dokumen yang bersumber dari Media Indonesia
Online.
Klasifikasi
dokumen
menggunakan
klasifikasi secara manual oleh Media Indonesia.
Data tersebut diklasifikasikan menjadi lima
kelas dokumen berita, yaitu kelas pendidikan,
ekonomi, lingkungan, bulutangkis, dan kriminal
dengan masing-masing anggota setiap kelas
berjumlah 150 dokumen. Setiap kelas dokumen
diambil dalam rentang waktu terbitan yang
4
berbeda, Tabel 4 menunjukkan perbedaan
rentang waktu pengambilan dokumen.
Tabel 4 Kelas data
Kelas
Pendidikan
Ekonomi
Terbitan
25 Januari 2009 – 25 Maret
2009
7 Mei 2009 – 31 Mei 2009
Lingkungan
21 Februari 2009 – 23 April
2009
Bulutangkis
15 November 2008 – 26 April
2009
Kriminal
24 April 2009 – 1 Mei 2009
Setiap dokumen direpresentasikan dalam
format XML dengan bentuk sebagai berikut:
Stoplist yang digunakan dalam penelitian ini
terdiri atas 263 kata yang diambil dari
penelitian Ridha (2002), stoplist dapat dilihat
pada Lampiran 3.
Stemmer yang digunakan dalam penelitian
ini menggunakan algoritme stemming untuk
berbahasa Indonesia yang telah dikembangkan
dengan mengikuti aturan tata bahasa Indonesia
serta penambahan teknik pengecekan kamus
(Adisantoso & Haryo 2009).
Perlakuan Pertama
Pada tahap ini semua teks dalam setiap
dokumen dipilah menjadi sekumpulan token.
Token hanya dimulai oleh huruf dengan batas
minimal terdiri dari 3 karakter. Pemisah kata
yang digunakan adalah white space, koma (,),
titik (.), dan titik dua (:).
<DOC>
<DOCNO> … </DOCNO>
<TITLE> … </TITLE>
<AUTHOR> … </AUTHOR>
<DATE> … </DATE>
<TEXT> …
</TEXT>
</DOCNO>.
Contoh dokumen dalam format XML dapat
dilihat pada Lampiran 2.
Implementasi Sistem
Implementasi sistem terbagi menjadi dua,
yaitu implementasi praproses dan implementasi
klasifikasi MCA. Implementasi praproses
meliputi pembuatan modul untuk tokenisasi dan
pembuangan stop word dengan menggunakan
bahasa PHP, implementasi klasifikasi MCA
menggunakan perangkat lunak MATLAB 7.0.1.
Gambar 4 Alur klasifikasi.
Perlakuan Kedua
Klasifikasi MCA
Pada perlakuan kedua akan dilakukan
pembuangan stop word. Semua kata-kata yang
akan dibuang didaftarkan dalam daftar stoplist.
Tahapan ini meliputi tiga tahap utama yaitu
praproses, pelatihan, dan klasifikasi. Alur
klasifikasi MCA dapat dilihat pada Gambar 4.
Perlakuan Ketiga
Praproses
Setelah data terkumpul, dilakukan praproses
data dengan empat perlakuan, meliputi parsing,
pembuangan stop word, stemming serta
pembuangan stop word dan stemming.
Pembobotan
dokumen
menggunakan
pembobotan tf.idf. Sebelum dilakukan empat
perlakuan tersebut, semua isi dokumen diubah
dalam lower case.
Pada perlakuan ketiga dilakukan proses
stemming. Pada perlakuan ini tidak ada
pembuangan kata-kata yang terdaftar dalam
stoplist.
Perlakuan Keempat
Perlakuan
terakhir
merupakan
penggabungan dari perlakuan kedua dan ketiga
yaitu hanya kata-kata di luar daftar stoplist
yang akan di-stemm.
5
Dalam penelitian ini jumlah token yang
digunakan sebagai penciri dibatasi sebanyak n
buah token dengan frekuensi tertinggi. Hasil
dari praproses ini setiap dokumen akan
direpresentasikan dalam bentuk vektor, yaitu
setiap dokumen berbentuk vektor kolom dengan
baris berisi bobot dari term (wi). Setiap kelas
direpresentasikan dengan menggabungkan
setiap vektor kolom anggota kelas tersebut
membentuk vektor kelas, dapat divisualisasikan
pada Gambar 5.
Klasifikasi
Proses klasifikasi dilakukan dengan cara
menghitung vektor proyeksi dari vektor
dokumen terhadap setiap vektor kelas yang ada.
Setelah itu norm dari vektor–vektor proyeksi
tersebut dihitung. Vektor proyeksi yang
memiliki norm terkecil menunjukkan kelas dari
dokumen tersebut. Berikut adalah algoritme
klasifikasi yang digunakan:
1.
Proyeksikan vektor dokumen ke dalam
setiap vektor kelas.
2.
Hitung nilai norm dari setiap vektor
proyeksi yang dihasilkan.
3.
Urutkan nilai norm yang didapatkan.
4.
Nilai norm terkecil menunjukkan kelas dari
dokumen tersebut.
Akurasi
Untuk menghitung tingkat akurasi hasil
klasifikasi yang terbentuk digunakan confusion
matrix. Dari confusion matrix perhitungan
akurasi diperoleh dengan membandingkan
antara jumlah data uji yang diklasifikasikan
benar dengan total data uji. Rumus yang
digunakan adalah:
.
Uji Cochran
Gambar 5 Ilustrasi kelas.
Data Latih dan Data Uji
Setelah data terkumpul, data tersebut dibagi
ke dalam data latih dan data uji dengan proporsi
data latih lebih banyak dari data uji. Dari setiap
kelas, masing-masing 100 dokumen menjadi
data latih dan 50 dokumen akan menjadi data
uji, sehingga total data latih sebanyak 500
dokumen dan 250 dokumen menjadi data uji.
Uji Cochran dilakukan untuk mengetahui
beda nyata akurasi antar empat buah perlakuan
praproses.
Perlakuan
tersebut
meliputi
tokenisasi, pembuangan stop word, stemming,
serta pembuangan stop word dan stemming.
Dalam uji Cochran ini hipotesis yang
digunakan adalah sebagai berikut:
H0: Keempat perlakuan memberikan hasil
akurasi yang sama.
H1: Keempat perlakuan berbeda
akurasi klasifikasi.
hal
Taraf nyata á/2 = 0,05.
Pelatihan
Pada tahap pelatihan, masing-masing kelas
dokumen dari data latih akan dihitung
komponen minornya dengan menggunakan
algoritme MCA, hasilnya berupa sebuah vektor
baris MCA. Dengan demikian akan terdapat
lima
buah
vektor
kolom
untuk
merepresentasikan nilai komponen minor
masing-masing kelas.
dalam
.
Hipotesis H0 akan ditolak jika Q lebih besar
dari
.
3-Fold Cross Validation
Proses 3-fold cross validation dilakukan
untuk menguji akurasi algoritme dengan data
latih yang berbeda. Data akan dibagi menjadi
6
Download