Skip to content

Stemming – Bahasa Indonesia

March 2, 2010

Stemming dapat dikatakan sebagai proses membentuk suatu kata menjadi kata dasarnya. Misalnya:

berkata           -> kata
mengakatakan      -> kata
perkataan         -> kata

Mungkin mudah bagi manusia untuk mencari kata dasar dari suatu kata. Namun bagi komputer yang tidak tahu apa-apa adalah kesulitan tersendiri. Contoh aplikasi yang menggunakan stemming antara lain: information retrieval, mesin pencari, dll.

Beberapa algoritma dasar dalam stemming antara lain:

  • Brute force stemming. Algoritma ini adalah algoritma yang paling sederhana. Bermodalkan database kata dengan kata dasarnya, komputer dengan mudah mencari kata dasar. Namun metode ini mempunyai kelemahan yaitu jumlah database kata dan kata dasarnya harus besar. Kesalahan terjadi bila kata tidak ditemukan di database dan kemudian dianggap kata dasar, padahal bukan.
  • Menghilangkan imbuhan (awalan, akhiran, sisipan). Untuk menggunakan metode ini harus tahu terlebih dahulu aturan bahasanya. Kata akan dipotong imbuhannya berdasar aturan bahasanya. Kesalahan terjadi bila kata tersebut adalah kata dasar yang dipotong, misalnya: perawan -> awan.
  • Dan masih banyak algoritma-algoritma dasar lainnya, seperti gabungan algoritma di atas, stokastik, lematasi, dll [1].

Untuk bahasa Indonesia beberapa algoritma yang biasanya digunakan antara lain:

  • Porter Stemmer. Algoritma ini terkenal digunakan sebagai stemmer untuk bahasa Inggris. Porter Stemmer dalam bahasa Indonesia akan menghasilkan keambiguan karena aturan morfologi bahasa Indonesia [2].
  • Nazief & Adriani Stemmer. Algoritma ini paling sering dibicarakan dalam stemming bahasa Indonesia. Algoritma ini merupakan hasil penelitian internal UI (Universitas Indonesia) dan tidak dipublish secara umum [3]. Algoritma ini merupakan gabungan antara algoritma menghilangkan imbuhan dan brute force stemming. Namun algoritma ini mempunyai dua masalah, yang pertama kemampuannya tergantung dari besarnya database kata dasar, dan yang kedua, hasil stemming tidak selalu optimal untuk aplikasi information retrieval [2].

Bila dibandingkan, untuk teks berbahasa Indonesia, Porter stemmer lebih cepat prosesnya daripada Nazief & Adriani stemmer namun algoritma Nazief & Adriani memilki tingkat keakuratan lebih tinggi daripada Porter stemmer [5]. Dengan sedikit perbaikan, Nazief & Adriani stemmer bisa mencapai akurasi 95% [4].

Referensi:

[1]http://en.wikipedia.org/wiki/Stemming

[2]FZ Tala. 2003 .A Study of Stemming Effects on Information Retrieval in Bahasa Indonesia. Master of Logic Project. Institute for Logic, Language and Computation Universiteit van Amsterdam. The Netherland.  [PDF][PDF]

[3] B. Nazief and M. Adriani. 1996. Confix Stripping: Approach to Stemming Algorithm for Bahasa Indonesia. Technical report, Faculty of Computer Science, University of Indonesia, Depok, 1996.

[4] Jelita Asian, Hugh E. Williams, S. M. M. Tahaghoghi. 2005. Stemming Indonesian. Proceedings of the Twenty-eighth Australasian conference on Computer Science – Volume 38. [Abstract]

[5] Ledy Agusta. 2009. Perbandingan Algoritma Stemming Porter Dengan Algoritma Nazief & Adriani Untuk Stemming Dokumen Teks Bahasa Indonesia.Konferensi Nasional Sistem dan Informatika 2009; Bali, November 14, 2009. [PDF]

Note: Saya tidak mempunyai source code untuk Porter stemmer dan Nazief & Adriani stemmer, silakan menghubungi ke yang bersangkutan langsung.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: