ISSN : 2088-9984
Seminar Nasional dan ExpoTeknik Elektro 2011
Analisa dan Evaluasi Afiks Stemming untuk Bahasa Indonesia Jiwa Malem Marsya1) dan Taufik Fuadi Abidin2) 1)
Data Mining and IR Research Group FMIPA Universitas Syiah Kuala Banda Aceh, Indonesia e-mail :
[email protected] 2)
Program Studi Informatika FMIPA Universitas Syiah Kuala Banda Aceh, Indonesia
e-mail :
[email protected] kecil. Penelitian tentang algoritma stemming untuk Bahasa Indonesia sebelumnya pernah dilakukan oleh Nazief dan Adriani dari Universitas Indonesia pada tahun 1996, hanya saja laporan secara teknisnya tidak dipublikasikan. Tahun 2001, Vega dari Universitas Nasional Singapura juga melakukan penelitian tentang hal ini, dan pada tahun 2002, penelitian sejenis juga dilakukan oleh Arifin dan Setiono dari Institut Teknologi Sepuluh November, Surabaya. Dalam penelitian ini, afiks stemming untuk Bahasa Indonesia dianalisa dan prototipe dari algoritma stemming tersebut dirancang dan diimplementasikan.
ABSTRAK Stemming adalah proses pemotongan imbuhan dari suatu kata ke bentuk asal atau kata dasarnya. Proses ini sering digunakan pada pengerjaan pencarian informasi. Paper ini menjelaskan tentang analisa dan evaluasi dari algoritma pemotongan imbuhan (stemming) untuk Bahasa Indonesia. Hasil percobaan menunjukkan bahwa pemotongan sufiks (imbuhan berupa akhiran) terlebih dahulu memiliki hasil yang lebih baik daripada pemotongan afiks (imbuhan berupa awalan) terlebih dahulu, dan pemotongan sufiks “-an” diikuti dengan pemotongan sufiks “-kan” lebih baik dibandingkan pemotongan sufiks “-kan” terlebih dahulu. Hasil percobaan menunjukkan bahwa dari 21.303 testing set, 99,09% terstem dengan benar sementara 0,91% tidak.
2. Imbuhan Bahasa Indonesia Imbuhan adalah morfem terikat yang digunakan dalam bentuk dasar untuk membentuk suatu kata. Imbuhan terdiri dari awalan (prefiks), sisipan (infiks), akhiran (sufiks), dan awalan-akhiran (konfiks). Imbuhan juga memiliki sifat derivatif dan inflektif. Imbuhan yang bersifat derivatif akan mengubah makna dari kata dasar ang diberikan imbuhan, sedangkan inflektif tidak. Untuk lebih jelasnya dapat dilihat pada Tabel 1. Dari definisi tentang imbuhan yang bersifat inflektif dan derivatif maka secara umum struktur kata pada Bahasa Indonesia dapat dilihat sebagai berikut:
Kata Kunci
Algoritma pemotongan imbuhan, stemming, stemmer.
1. Pendahuluan Belum banyaknya mesin pencari yang efektif untuk menggali informasi dari halaman-halaman web berbahasa Indonesia dikarenakan fasilitas-fasilitas pendukung dari sebuah mesin pencari masih terbatas. Salah satu dari fasilitas pendukung tersebut adalah stemmer. Stemmer dibutuhkan karena banyak kata dalam Bahasa Indonesia memiliki kata dasar yang sama namun imbuhannya berbeda. Stemmer merupakan algoritma yang menjalankan proses stemming. Stemming adalah proses mengembalikan kata ke dalam bentuk dasarnya dengan cara memotong imbuhan pada kata tersebut, baik itu berupa awalan, akhiran, maupun sisipan. Proses pemotongan tersebut harus disesuaikan dengan aturan-aturan yang berlaku dalam bahasa yang digunakan. Dewasa ini, algoritma stemmer terus dikembangkan agar kesalahan semakin
[awalan derivatif] + [awalan derivatif] + kata dasar + [akhiran derivatif] + [pengganti kepemilikan] + [partikel] dimana imbuhan yang terdapat di dalam […] merupakan kejadian yang mungkin muncul [3].
46
Seminar Nasional dan ExpoTeknik Elektro 2011
B9
Tabel 1. Imbuhan pada Bahasa Indonesia
Imbuhan
Kata dasar Berawalan huruf ‘m’, ‘n’, ‘l’, ‘r’, ‘ng’, ‘ny’, ‘w’, ‘y’ Berawalan huruf ‘p’, ‘b’, ‘f’
me-
berawalan huruf ‘t’, ‘d’, ‘j’, ‘c’ berawalan huruf ‘s’ bersuku satu berawalan huruf ‘a’, ‘i’, ‘u’, ‘e’, ‘o’, ‘g’, ‘h’, dan ‘k’
Bunyi Hilang
Alomorf
memmen-
‘k’, ‘p’, ‘t’, dan ‘s’
pe-
sama dengan imbuhan me-
ber-
ter-
berawalan huruf ‘r’ kata ‘ajar’ berawalan huruf ‘r’ atau bersuku awal ‘er’ kata ‘ajar’ berawalan huruf ‘r’ atau (terkadang) bersuku awal ’er’
menganga menyanyi
paksa protes fitnah
memaksa memprotes memfitnah menulis mencapai
tulis capai sapu
menyapu
menge-
bom
mengebom
meng-
ambil olah kunci
mengambil mengolah mengunci
rusak nyanyi paksa protes fitnah tulis capai sapu bom ambil olah kunci
perusak penyanyi pemaksa pemprotes pemfitnah penulis pencapai penyapu pengebom pengambil pengolah pengunci
pe-
redam
peredam
pel-
ajar
pelajar
be-
kerja runding
bekerja berunding
bel-
ajar
belajar
te-
rasa pergok
terasa terpergok
kadang sudut makan tua sama
terkadang tersudut dimakan ketua sesame
penpeny penge-
sama dengan imbuhan me-
pengper-
nganga nyanyi
meny-
pemAwalan
Contoh Kata Dasar Diimbuhkan
yang lainnya di-, ke-, se-
47
Sifat
Derivatif
B9
Seminar Nasional dan ExpoTeknik Elektro 2011
Tabel 1. Imbuhan pada Bahasa Indonesia (lanjutan)
Imbuhan
Kata dasar
Alomorf
Bunyi Hilang
-i, -an, -kan Akhiran
-kah, -lah, -tah, -pun -ku, -mu, -nya
3. Percobaan
Kata Dasar main teman buat
Contoh Diimbuhkan mainan temani buatkan
bukan kapan
bukankah kapanpun
milik
milikku
Sifat Derivatif
Inflektif
kata dengan huruf awalan ‘J’ dan ‘P’ tidak ditemukan dalam Kamus Besar Bahasa Indonesia.
3.1 Data
3.3 Algoritma Stemming
Data yang digunakan dalam penelitian ini adalah katakata yang berasal dari halaman-halaman web Wikipedia Bahasa Indonesia versi Juni 2008 yang diunduh dari situs download.wikimedia.org pada tanggal 20 Juli 2008. Dari data tersebut diperoleh 852.278 kata yang unik yang kemudian dibersihkan secara manual dari kata-kata seperti nama orang, bahasa asing dan istilah. Dari proses pembersihan tersebut didapatkan 26.303 kata Bahasa Indonesia yang dapat digunakan. Dari Jumlah tersebut, 5.000 kata dijadikan sebagai training set dan sisanya sebagai testing set untuk ujicoba proses stemming.
Algoritma stemming yang dipakai dalam penelitian ini menggunakan dua proses yang berbeda yaitu proses stemming yang melakukan pemotongan awalan terlebih dahulu dilanjutkan dengan pemotongan akhiran (Proses 1) dan proses stemming yang melakukan pemotongan akhiran terlebih dahulu dilanjutkan dengan pemotongan awalan (Proses 2). Secara garis besar alir proses stemming diperlihatkan pada Gambar 1. Untuk lebih jelasnya, perbedaan kombinasi pemotongan imbuhan antara proses 1 dan proses 2 dapat dilihat pada Tabel 2 dengan awalan derivatif sebagai AW, akhiran derivatif sebagai AK, pengganti kepemilikan sebagai PK dan partikel sebagai P. Proses pemotongan akhiran dilakukan dengan dua model pemotongan, yakni model pemotongan A yang melakukan pemotongan imbuhan akhiran “–an” terlebih dahulu dilanjutkan dengan pemotongan imbuhan akhiran “–kan” dan model pemotongan B yang melakukan pemotongan imbuhan akhiran “–kan” terlebih dahulu dilanjutkan dengan pemotongan imbuhan akhiran “–an”. Setiap pemotongan imbuhan dilakukan, kata baru yang diperoleh diperiksa apakah terdapat dalam kamus kata dasar atau tidak. Jika kata dasar tersebut ditemukan maka hasil stemming ditampilkan dan proses stemming berakhir, namun jika tidak ditemukan maka kata akan dikembalikan pada bentuk semula sebelum proses stemming selanjutnya dilakukan.
3.2 Kamus Dari proses stemming yang pernah dilakukan sebelumnya oleh Nazief dan Adriani, juga Arifin dan Setiono, dapat disimpulkan bahwa dibutuhkan sebuah kamus kata dasar untuk mendapatkan hasil stemming yang baik. Kamus kata dasar tersebut dibutuhkan untuk memeriksa apakah kata dasar yang melalui proses stemming benar dan ditemukan pada kamus saat proses stemming dilakukan. Pada penelitian ini, kamus kata dasar dibangkitkan dari kata-kata yang diambil dari daftar kata dasar pada kamus Stardict, yang dapat diunduh dari situs stardict.sourceforge.net, dan Kamus Besar Bahasa Indonesia (KBBI). Total kata dasar dalam kamus adalah sebanyak 21.291 kata (18.747 kata dari Kamus Besar Bahasa Indonesia dan 8.869 kata dari Stardict). Beberapa kata dasar yang sama juga ditemukan pada Kamus Besar Bahasa Indonesia dan kamus Stardict. Kamus gabungan yang dibangkitkan tersebut memiliki kekurangan karena
48
Seminar Nasional dan ExpoTeknik Elektro 2011
B9
Mulai Pengambilan Kata Proses (1)
Pemotongan Akhiran
Pemotongan Awalan
Pemotongan Awalan
Pemotongan Akhiran
Proses (2)
Pengembalian Kata Selesai Gambar 1. Diagram alir algoritma proses stemming yang dibuat
Tabel 2. Perbedaan pemotongan imbuhan antara Proses 1 dan Proses 2
Urut
Proses 1
Proses 2
1
AW+AW+AW+kata dasar+AK+PK+P
AW+AW+AW+kata dasar+AK+PK+P
2
AW+AW+kata dasar+AK+PK+P
AW+AW+AW+kata dasar+AK+PK
3
AW+kata dasar+AK+PK+P
AW+AW+AW+kata dasar+AK
4
kata dasar+AK+PK+P
AW+AW+AW+kata dasar
5
AW+AW+AW+kata dasar+AK+PK
AW+AW+kata dasar+AK+PK+P
6
AW+AW+kata dasar+AK+PK
AW+AW+kata dasar+AK+PK
7
AW+kata dasar+AK+PK
AW+AW+kata dasar+AK
8
kata dasar+AK+PK
AW+AW+kata dasar
9
AW+AW+AW+kata dasar+AK
AW+kata dasar+AK+PK+P
10
AW+AW+kata dasar+AK
AW+kata dasar+AK+PK
11
AW+kata dasar+AK
AW+kata dasar+AK
12
kata dasar+AK
AW+kata dasar
13
AW+AW+AW+kata dasar
kata dasar+AK+PK+P
14
AW+AW+kata dasar
kata dasar+AK+PK
15
AW+kata dasar
kata dasar+AK
16
kata dasar
kata dasar
49
B9
Seminar Nasional dan ExpoTeknik Elektro 2011
3.4 Akurasi Algoritma
berimbuhan yang melalui Proses 1, diperoleh 3.431 kata yang hasil stemmingnya benar dan 100 kata yang hasil stemmingnya salah, sedangkan pada Proses 2 dengan 3.531 kata berimbuhan, diperoleh 3.450 kata yang hasil stemmingnya benar dan 81 kata Tabel 3 dan Tabel 4 memperlihatkan hasil training dan testing set.
Untuk menguji keakuratan algoritma stemming yang dibuat, beberapa sampel kata diambil. Sampel yang telah melalui proses stemming akan diperiksa secara manual untuk mengetahui jumlah kata hasil stemming yang salah. Sampel yang digunakan terbagi 2 kelompok yaitu training set dan testing set. Training set merupakan sampel dalam jumlah kecil yang digunakan untuk menguji algoritma yang dibuat. Tingkat keakuratan algoritma dihitung menggunakan aturan berikut: Akurasi = (RW / W ) * 100%
Tabel 3. Jumlah kata hasil percobaan stemming terhadap training set dengan pemotongan akhiran model A dan B.
Model A (kata)
Deskripsi
……. (1)
Terstem Kata dasar Kata berimbuhan o Hasil benar o Hasil salah
dimana W adalah jumlah kata yang terstem dan RW adalah jumlah kata yang distemming dengan benar. Akurasi dinyatakan dalam persen (%). Perbaikan pada algoritma akan dilakukan jika akurasi algoritma belum memenuhi syarat batas (threshold) yang telah ditentukan. Jika akurasi sudah memenuhi syarat batas maka algoritma tersebut diuji menggunakan testing set yaitu sampel kata dengan jumlah yang lebih besar yang tidak termasuk dalam training set. Pengambilan sampel training set dilakukan secara acak. Hal ini dilakukan untuk menghindari terjadinya pengambilan sampel yang hanya sesuai dengan algoritma yang diajukan.
Tidak terstem
Model B (kata)
Proses 1
Proses 2
Proses 1
Proses 2
846
846
846
846
3.430 101
3.448 83
3.431 100
3.450 81
623
623
623
623
Tabel 4. Jumlah kata hasil percobaan stemming terhadap testing set dengan pemotongan akhiran model A dan B.
Deskripsi
4. Hasil Percobaan
Terstem Kata dasar Kata berimbuhan o Hasil benar o Hasil salah
Pada percobaan proses stemming menggunakan training set, pemotongan akhiran ”–an” dilakukan terlebih dahulu, kemudian dilanjutkan dengan pemotongan akhiran ”–kan” dilakukan bila kata tidak ditemukan (model A). Diperoleh 623 kata yang tidak terstem dan 4.377 kata yang terstem. Dari 4.377 kata yang terstem, jumlah kata berimbuhan yang melalui Proses 1 (pemotongan dilakukan terhadap awalan terlebih dahulu dilanjutkan dengan pemotongan akhiran) dan Proses 2 (pemotongan dilakukan terhadap akhiran terlebih dahulu dilanjutkan dengan pemotongan awalan) adalah sebanyak 3.531 kata dan untuk kata dasar berjumlah 846 kata. Dari 3.531 kata berimbuhan yang melalui Proses 1, didapatkan 3.430 kata yang hasil stemmingnya benar dan 101 kata yang hasil stemmingnya salah, sedangkan pada Proses 2 dengan 3.531 kata berimbuhan, didapatkan 3.448 kata dengan hasil stemming benar dan 83 kata dengan hasil salah. Pada percobaan dengan proses pemotongan pada akhiran ”-kan” terlebih dahulu, kemudian dilanjutkan dengan pemotongan akhiran ”-an” (model B), diperoleh 623 kata yang tidak terstem dan 4.377 kata yang terstem. Dari 4.377 kata yang terstem, jumlah kata berimbuhan yang melalui Proses 1 dan Proses 2 adalah 3.531 kata dan untuk kata dasar berjumlah 846 kata. Dari 3.531 kata
Tidak terstem
Model A (kata)
Model B (kata)
Proses 1
Proses 2
Proses 1
Proses 2
3.541
3.541
3.541
3.541
14.844 233
14.908 169
14.827 250
14.895 182
2.685
2.685
2.685
2.685
Dengan aturan untuk menghitung akurasi algoritma pada rumus (1), maka didapatkan hasil sebagaimana dipaparkan pada Tabel 5. Tabel 5. Akurasi dari setiap proses pemotongan terhadap training set dan testing set untuk masing-masing model pemotongan akhiran.
Deskripsi Akurasi (%) Deskripsi Akurasi (%)
50
Training set (5.000 kata) Model A Model B Proses Proses 2 Proses 1 Proses 2 1 97,69 98,10 97,71 98,15 Testing set (21.303 kata) Model A Model B Proses Proses 2 Proses 1 Proses 2 1 98,74 99,09 98,66 99,02
Seminar Nasional dan ExpoTeknik Elektro 2011
B9
5. Kesimpulan
[2]
Proses stemming yang dilakukan pada penelitian ini tidak memperdulikan makna sebuah kata berimbuhan di dalam suatu kalimat. Keberhasilan proses stemming yang dilakukan sangat bergantung pada kamus kata dasar yang digunakan. Algoritma yang digunakan berupa kombinasi pemotongan imbuhan awalan dan akhiran dengan mengikuti aturan pemberian imbuhan tersebut, sebagaimana yang telah terlihat pada Tabel 2. Keakuratan antara pemotongan dengan model pemotongan A (jika kata berimbuhan akhiran “–kan” maka dilakukan pemotongan terhadap “–an” terlebih dahulu, jika kata dasarnya tidak ditemukan maka dilakukan pemotongan terhadap akhiran “–k” yang tersisa) dan model pemotongan B (jika kata berimbuhan akhiran “– kan” maka dilakukan pemotongan terhadap “–kan” terlebih dahulu, jika kata dasarnya tidak ditemukan maka dilakukan pengembalian terhadap huruf “k” pada akhiran “-kan”) tidak memiliki perbedaan yang besar. Perbedaan keakuratan antara pemotongan imbuhan Proses 1 (pemotongan dilakukan terhadap awalan terlebih dahulu, lalu dilanjutkan dengan pemotongan akhiran) dan Proses 2 (pemotongan dilakukan terhadap akhiran terlebih dahulu, lalu dilanjutkan dengan pemotongan awalan) untuk masing-masing model pemotongan tidak memiliki perbedaan yang signifikan. Dari penelitian ini dapat dilihat bahwa proses pemotongan yang berbeda memungkinkan terjadinya hasil stemming yang berbeda pula. Perbedaan tersebut disebabkan kata dasar ditemukan pada kamus kata dasar saat proses pemotongan dilakukan terhadap kata berimbuhan. Contohnya pada kata ”diberikannyalah” yang jika melalui Proses 1 menghasilkan kata ”ikan” dan Proses 2 menghasilkan kata ”beri”. Percobaan yang dilakukan pada penelitian ini menunjukkan bahwa pemotongan sufiks terlebih dahulu (Proses 1) memiliki hasil yang lebih baik daripada pemotongan afiks terlebih dahulu (Proses 2), dan pemotongan sufiks “-an” diikuti dengan pemotongan sufiks “-kan” (model A) lebih baik dibandingkan pemotongan sufiks “-kan” terlebih dahulu (model B). Proses stemming pada Bahasa Indonesia yang dilakukan pada penelitian ini masih memerlukan perbaikan terutama pada bagian pemotongan awalan yang perubahan bunyi dan untuk kata gabungan yang tidak memiliki kata dasar pada kamus. Algoritma stemming yang dibuat juga belum bisa memotong imbuhan berupa sisipan.
[3]
REFERENSI [1] Asian, J., Williams, H. E., Tahaghoghi, S.M.M.,2005, Stemming Indonesian, Australian Computer Society Inc., Australia.
51
Chaer, A., 1998, Tata Bahasa Praktis BahasaIndonesia, Rineka Cipta, Jakarta. Tala, F. Z., 2003, A Study of Stemming Effects on Information Retrieval in Bahasa Indonesia, Universiteit van Amsterdam, the Netherland.