Information Retrieval : Tutorial Stemming Porter untuk Bahasa Indonesia
Hmm, Tutorial kali ini saya akan membahas tentang Stemming. Hehe.. tutorial ini sebenarnya merupakan bagian dari tugas yang diberikan pada matakuliah “Sistem Temu Balik Informasi” atau kalau dalam bahasa inggris disebut juga “Information Retrieval System” atau kalau dalam istilah ilmu komputer sering disebut “Information Retrieval” atau biasa disingkat “IR”. š
Hehe.. lalu apa sih hubungannya IR dengan Stemming, kenapa harus ada stemming dan bagaimana proses stemming itu sendiri? Ok. sebelum kita bahas tutorialnya kita bahas dulu apa itu stemming. Ok.. mari… š
Oke, jadi Stemming merupakan suatu proses untuk menemukan kata dasar dari sebuah kata. Proses stemming dilakukan dengan menghilangkan semua imbuhan (afiks) baik yang terdiri dari awalan (prefiks) sisipan (infiks) maupun akhiran (sufiks) dan kombinasi dari awalan dan akhiran (konfiks). Stemming ini digunakan untuk mengganti bentuk dari suatu kata menjadi kata dasar sesuai dengan struktur morfologi bahasa indonesia yang baik dan benar.
Nah, lalu apa hubungan IR dengan stemming?, ok. Jadi stemming merupakan bagian dari proses Information Retrieval. Secara umum ada dua proses utama dalam IR, yaitu Indexing dan Searching. Proses Indexing terdiri dari 4 subproses antara lain : Word Token (mengubah dokumen menjadi kumpulanĀ term dengan cara menghapus semua karakter dalam tanda baca yang terdapat pada dokumen dan mengubah kumpulanĀ term menjadiĀ lowercase), StopWord Removal (Proses penghapusan kata-kata yang sering ditampilkan dalam dokumen seperti:and, or, not dan sebagainya), Stemming (Proses mengubah suatu kata bentukan menjadi kata dasar) dan Word Weighting (Proses pembobotan setiapĀ term di dalam dokumen). Nah, Stemming ini masuk dalam subproses indexing yang akan kita bahas tutorialnya… š
Ada banyak algoritma yang digunakan untuk melakukan proses stemming, khususnya stemming bahasa indonesia. Algoritma-algoritma tersebut antara lain : Algoritma Nazief dan Andriani, algoritmaĀ Arifin dan Setiono, algoritmaĀ IdrisĀ dan Mustofa,Ā algoritma Vega, algoritma Ahmad, Yussof dan Sembok, Porter dsb. Algoritma yang diimplementasikan dalam tutorial ini menggunakan algoritma Porter. Ā Algoritma Porter ditemukan oleh Martin Porter 1980. Algoritma tersebut digunakan untuk stemming bahasa inggris, kemudian karena proses stemming bahasa inggris berbeda dengan bahasa indonesia maka, dikembangkan algoritma porter khusus untuk bahasa indonesia (Porter Stemmer for Bahasa Indonesia) oleh W.B. Frakes pada tahun 1992. Berikut Flowchart untuk algoritma Porter untuk bahasa Indonesia:
Untuk lebih jelasnya mengenai proses stemming porter untuk bahasa indonesia ini silakan download slide Porter Bahasa Indonesia yang pernah saya presentasikan dikelas. Ā Kebetulan algoritma ini saya implementasikan menggunakan PHP dengan database MYSQL yang bisa anda download sourcecode-nya disini: Porter Stemmer PHP . Selamat belajar dan mencoba, semoga bermanfaat .. š
March 24th, 2012 at 11:46 am
thx ya gan bantu bgt buat referensi ^^
March 24th, 2012 at 2:27 pm
@mas andhie : Sama2 mas, semoga membantu.. š
March 24th, 2012 at 6:19 pm
Wkwkwk, nggolek porter malah kesasar nang kene….
Piye mas, pdf-e wis dadi rung???
ow yo jo lali mampir nang webQ yo.., belakangan kiy Q jarang nulis dadi artikele sih sitik, hehehehe….
March 27th, 2012 at 2:44 pm
@Topu : Terimakasih atas kunjunangannya mas.. :), hmm. untuk yang PDF sedang dalam tahap pengembangan… berhubung dukungan server yang belum memenuhi, maka untuk sementara baru menerima dokumen word (.doc) & plain text (.txt)
March 28th, 2012 at 10:21 pm
mas, ijin download.. dan mau tanya, apa ada variasi coding yang telah sampean lakukan pada porter for bahasa indonesia????
March 29th, 2012 at 7:16 am
@mas alif : monggo mas… š , coding yang saya tulis mengacu pada algoritma “stemming porter untuk bahasa indonesia” yang ada pada slide yang saya sertakan, memang ada sedikit penyesuaian karena stemming porter bahasa inggris berbeda dengan bahasa indonesia.
April 1st, 2012 at 5:04 pm
mas,ini inputanya hanya kata ya???saya pengenya inputanya beberapa kalimat, trus, di token 1 per satu katanya..lalu baru di porter..gmana caranya mas???ni ada tugas…mkcc
April 2nd, 2012 at 7:25 pm
@alif : hmm.. insyaAllah nanti akan saya bahas inputan berupa kalimatnya.. ditunggu aja ya š
April 6th, 2012 at 8:15 am
[…] artikel yang pernah saya tulis sebelumnya tentang salah satu implementasi proses Stemming yaitu Stemming Porter untuk bahasa Indonesia . Di postingan tersebut telah dibahas bagaimana melakukan stemming pada sebuah kata untuk […]
April 8th, 2012 at 12:36 pm
alhamdulillah sudah bisa mas..terima kasih..entar kalo ada pertanyaan, saya tany lagi ya mas..semoga sampean sehat selalu…amien
May 17th, 2012 at 5:50 pm
mau tanya,,
1. gmn membedakan kata dengan awalan ber dan beutk mencari kata dasarnya
contoh
berencana
berakhir
berkerja
2. apa kata yang menggunakan awalan bel dan pel hanya belajar dan pelajar??
Mohon bantuannya…
meisyathedream.wordpress.com
June 20th, 2012 at 7:31 am
mas gimana cara melakukan stemming pada dokumen web(html.htm) karena pada dokumen web terdapat gambar?
July 16th, 2012 at 5:54 pm
saya sangat berterima kasih mas atas tulisan yg sangat bermanfaat ini.
kalau untuk algoritma Paice/husk gimana mas implementasinya? menurut saya ini agak sulit. š
July 16th, 2012 at 6:01 pm
saya sangat berterima kasih mas atas tulisan yg sangat bermanfaat ini.
kalau untuk algoritma Paice/husk pada bahasa Inggris gimana mas implementasinya? menurut saya ini agak sulit.
regards š
Damar
July 16th, 2012 at 6:04 pm
saya sangat berterima kasih mas atas tulisan yg sangat bermanfaat ini.
kalau untuk algoritma Paice/husk pada bahasa Inggris gimana mas implementasinya? menurut saya ini agak sulit.
regards š
adjie_thejack@yahoo.com
Damar
July 31st, 2012 at 2:49 pm
wah, mirip seperti Tugas Akhir saya, tapi saya dengan membandingkan beberapa algoritma luar yang disadur ke dalam bahasa indonesia..
nice artikel.. š
August 3rd, 2012 at 5:28 pm
Menurut saya, kodingnya buruk ya… kenapa perlu akses ke database? Bila ada ribuan kata dan ribuan artikel, ini akan sangat lama. Kinerja PHP juga kurang bagus untuk proses dalam jumlah banyak. Lagipula, hasil percobaannya bagaimana? Tingkat akurasinya bagaimana?
Coba cek tugas serupa yang pernah saya buat: http://oguds.wordpress.com/2007/10/20/algoritma-stemmer-bahasa-indonesia/.
August 25th, 2012 at 2:27 am
artikel yang bagus, membuat algoritma stemming memang susah,
btw sementara coba download dulu yang ini
http://persadasoft.ucoz.com/Download/Persada_Stemmer_v1.1.zip
October 3rd, 2012 at 8:11 am
slam knal. bila di dlam vb6 sintacnya sperti ap mas?
November 13th, 2012 at 5:45 pm
bisa g postkan juga tentang standard test collection??? tolong bantuannya..
Terimakasih.
April 30th, 2014 at 10:32 pm
makasih mas kabul untuk tutorial tentang Stemming Porter untuk Bahasa Indonesia,
sangat berguna sekali untuk menambah wawasan saya