ALGORITMA STEMMING DAN STOPLIST Luthfi Nurrohman Taufik Ari Arnandan Achmar Rizqi Pambudi Slamet Imam Fauzi Sandi Pradana Yuwandani Amar Aditya Nugroho Ivan Ti Kuncoro (14.11.0102) (14.11.0110) (14.11.0101) (14.11.0112) (14.11.0104) (14.11.0109) (14.11.0111) Stemming Stemming merupakan suatu proses yang terdapat dalam sistem IR yang mentransformasikan kata-kata yang terdapat dalam suatu dokumen ke kata-kata akarnya (root word) dengan menggunakan aturan-aturan tertentu. Sebagai contoh, kata bersama, kebersamaan, menyamai, akan distem ke root wordnya yaitu “sama”. Algoritma stemming untuk bahasa yang satu berbeda dengan algoritma stemming untuk bahasa lainnya. Sebagai contoh bahasa Inggris memiliki morfologi yang berbeda dengan bahasa Indonesia sehingga algoritma stemming untuk kedua bahasa tersebut juga berbeda. Proses stemming pada teks berbahasa Indonesia lebih rumit/kompleks karena terdapat variasi imbuhan yang harus dibuang untuk mendapatkan root word (kata dasar) dari sebuah kata. Algoritma Nazief & Adriani yang dibuat oleh Bobby Nazief dan Mirna Adriani ini memiliki tahap-tahap sebagai berikut: 1. Pertama cari kata yang akan diistem dalam kamus kata dasar. Jika ditemukan maka diasumsikan kata adalah root word. Maka algoritma berhenti. 2. Inflection Suffixes (“-lah”, “-kah”, “-ku”, “-mu”, atau “-nya”) dibuang. Jika berupa particles (“-lah”, “-kah”, “-tah” atau “-pun”) maka langkah ini diulangi lagi untuk menghapus Possesive Pronouns (“-ku”, “-mu”, atau “-nya”), jika ada. 3. Hapus Derivation Suffixes (“-i”, “-an” atau “-kan”). Jika kata ditemukan di kamus, maka algoritma berhenti. Jika tidak maka ke langkah 3a a) Jika “-an” telah dihapus dan huruf terakhir dari kata tersebut adalah “-k”, maka “-k” juga ikut dihapus. Jika kata tersebut ditemukan dalam kamus maka algoritma berhenti. Jika tidak ditemukan maka lakukan langkah 3b. b) Akhiran yang dihapus (“-i”, “-an” atau “-kan”) dikembalikan, ke langkah 4 lanjut 4. Hilangkan derivation prefixes DP {“di-”,“ke-”,“se-”,“me-”,“be-”,“pe”, “te-”} dengan iterasi maksimum adalah 3 kali: - Langkah 4 berhenti jika: Terjadi kombinasi awalan dan akhiran yang terlarang - Awalan yang dideteksi dihilangkan sebelumnya. saat ini sama dengan awalan yang 5. Apabila setelah langkah 4 kata dasar masih belum ditemukan, maka proses recoding dilakukan dengan mengacu pada aturan pada Tabel 2. Recoding dilakukan dengan menambahkan karakter recoding di awal kata yang dipenggal. 6. semua langkah telah selesai tetapi tidak juga berhasil maka kata awal diasumsikan sebagai root word. . Kelebihan : 1. Memperhatikan kemungkinan adanya partikel-partikel yang mungkin mengikuti suatu kata berimbuhan. 2. Proses stemming dokumen teks berBahasa Indonesia menggunakan Algoritma Nazief dan Adriani memiliki prosentase keakuratan (presisi) lebih besar dibandingkan dengan stemming menggunakan Algoritma Porter Kelemahan : 1. Penyamarataan makna variasi kata 2. Jumlah database kata dan kata dasarnya harus besar. Kesalahan terjadi bila kata tidak ditemukan di database dan kemudian dianggap kata dasar,Padahal bukan. 3. Lamanya waktu yang diperlukan dalam proses pencarian kata di dalam kamus. Evaluasi hasil stemming dilakukan secara manual dengan melakukanpengamatan secara langsung terhadap hasil stemming. Untuk menilai apakah hasil stemming yang dilakukan benar atau salah, digunakan Kamus Besar Bahasa Indonesia (KBBI). KBBI berbeda dengan kamus kata dasar yang digunakan sebagai acuan proses stemming. Pada KBBI, setiap kata yang terdapat di dalamnya tidak hanya berupa kata dasar. Selain kata dasar, pada KBBI juga disertakan berbagai variasi bentuk kata dasar tersebut dengan berbagai macam imbuhan. Algoritma Arifin dan Setiono Jika kata dasar dari sebuah kata turunan tidak dapat ditemukan setelah menghilangkan prefix dan suffix nya maka algoritma ini akan mencoba mengembalikan semua imbuhan yang telah dihilangkan tadi untuk dikombinasikan dengan kata hasil stemming dari kata turunan yang kata dasarnya tidak ditemukan pada kamus. Implementasi - Arifin and Setiono mengajukan skema algoritma yang sedikit lebih sederhana dibandingkan algoritma Nazief and Adriani tetapi yang menjadi kesamaan diantara kedua algoritma tersebut adalah kedua algoritma tersebut menggunakan kamus dan sama-sama menyediakan fungsi recoding. Langkah-langkah penghilangan imbuhan-imbuhan yang diterapkan pada algoritma ini adalah dengan menghilangkan prefix/awalan terlebih dahulu baru kemudian menghilangkan suffix/akhiran pada kata turunan yang akan dilakukan stemming. Jika kata turunan yang sudah dilakukan proses stemming yaitu penghilangan prefix kemudian suffix telah berhasil dilakukan, namun tidak dapat ditemukan kata dasarnya pada kamus maka semua imbuhan yang telah dihilangkan tadi dikembalikan untuk kemudian dikombinasikan dengan kata hasil stemming tadi guna mengurangi terjadinya overstemming. Algoritma Vega Pada algoritma ini, tidak ada fungsi untuk memeriksa kata dasar dari suatu kata. Implementasi - algoritma Vega tidak menggunakan kamus. Urutan penghilangan imbuhan yang melekat pada kata untuk algoritma Vega ini, sama seperti urutan penghilangan imbuhan yang diterapkan pada algoritma Arifin dan Setiono. Urutan penghilangan imbuhan yang melekat pada kata untuk algoritma Vega ini, sama seperti urutan penghilangan imbuhan yang diterapkan pada algoritma arifin&setiono. Kata yang akan di-stemming, pertama kali diperiksa apakah kata tersebut memiliki awalan, jika kata tersebut memiliki awalan maka langsung dilakukan penghilangan awalan tersebut. Selanjutnya kata tersebutdiperiksa apakah memiliki akhiran, jika iya maka akan dilakukan penghilangan akhiran. Selanjutnya kata tersebutdiperiksa apakah memiliki partikel, jika iya maka akan dilakukan penghilangan partikel. Selanjutnya kata tersebutdiperiksa apakah memiliki possive pronoun (kata ganti kepunyaan), jika iya maka akan dilakukan penghilangan. Pada algoritma ini, tidak ada fungsi untuk memeriksa kata dasar dari suatu kata. Yang dilakukan adalah melakukan pengecekan apabila kata tersebut memiliki imbuhan awalan, akhiran, partikel, possive pronoun, sisipan. Jika iya, langsung dilakukan penghilangan imbuhan tersebut. Algoritma Porter Implementasi- Stemming khusus bahasa Inggris yang ditemukan oleh Martin Porter 1980. Mekanisme algoritma dalam mencari kata dasar suatu kata berimbuhan dengan membuang imbuhan-imbuhan (atau lebih tepatnya akhiran) pada kata–kata bahasa Inggris karena dalam bahasa Inggris tidak mengenal awalan. Karena bahasa Inggris datang dari kelas yang berbeda, beberapa modifikasi telah dilakukan untuk membuat Algoritma Porter sehingga dapat digunakan sesuai dengan bahasa Indonesia. Implementasi Porter Stemmer for Bahasa Indonesia berdasarkan English Porter Stemmer yang dikembangkan oleh W.B. Frakes pada tahun 1992. Karena bahasa Inggris datang dari kelas yang berbeda, beberapa modifikasi telah dilakukan untuk membuat Algoritma Porter dapat digunakan sesuai dengan bahasa Indonesia. Tahapan Hapus Particle, Hapus Possesive Pronoun. Hapus awalan pertama. Jika tidak ada lanjutkan ke langkah 4a, jika ada cari maka lanjutkan ke langkah 4b. (a) Hapus awalan kedua, lanjutkan ke langkah 5a. (b)Hapus akhiran, jika tidak ditemukan maka kata tersebut diasumsikan sebagai root word. Jika ditemukan makalanjutkan ke langkah 5b. (a) Hapus akhiran. Kemudian kata akhir diasumsikan sebagai root word. (b) Hapus awalan kedua. Kemudian kata akhir diasumsikan sebagai root word. Stopword / Stoplist Filtering adalah tahap pengambilan dari hasil token, yaitu kata-kata apa saja yang akan digunakan untuk merepresentasikan dokumen. Filtering adalah tahap pemilihan kata-kata penting dari hasil token, yaitu kata-kata apa saja yang akan digunakan untuk mewakili dokumen. Algoritma stoplist Stoplist atau stopword adalah kata-kata yang tidak deskriptif (tidak penting) yang dapat dibuang dengan pendekatan bag-of-words. Stoplist atau stopword adalah kata-kata yang tidak deskriptif (tidak penting) yang dapat dibuang dengan pendekatan bag-of-words. Kita memiliki database kumpulan kata-kata yang tidak deskriptif (tidak penting), kemudian kalau hasil tokenisasi itu ada yang merupakan kata tidak penting dalam database tersebut, maka hasil tokenisasi itu dibuang. Contoh stopwords adalah i’m, you, one, two, they, are, to, the, in, dst. http://silubislagibelajar.blogspot.co.id/2013/01/metode-steemming.html