Analisa danEvaluasi AfiksStemminguntuk Bahasa Indonesia

advertisement
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.
Download