Stoplist dan Stemming
Pengertian Stoplist dan Stemming
- Stoplist merupakan algoritma yang digunakan dalam tahap filtering yang berguna untuk membuang/menghilangkan kata-kata yang kurang penting yang terdapat dalam data hasil tokenizing.
- Stemming adalah tahap mencari kata dasar/root dari tiap kata hasil filltering. Pada tahap ini dilakukan proses pengembalian berbagai bentuk kata ke dalam suatu representasi ke dalam suatu representasi yang sama
Stoplist
- Dalam stoplist/stopword kata-kata yang tidak deskriptif/kurang penting dapat dibuang.
- Contoh stoplist yaitu : yang, di, ke, dan, tetapi, sebagainya, yaitu, dia, dari, sedangkan, adalah, dll.
- Misal :
- Kata-kata seperti “dari”, “yang”, “di”, dan “ke” adalah beberapa contoh kata-kata yang berfrekuensi tinggi dan dapat ditemukan hampir dalam setiap dokumen (disebut sebagai stopword). Penghilangan stopword ini dapat mengurangi ukuran index dan waktu pemrosesan. Selain itu, juga dapat mengurangi level noise.
- Namun terkadang stopping tidak selalu meningkatkan nilai retrieval. Pembangunan daftar stopword yang kurang hati-hati dapat memperburuk kinerja sistem Information Retrieval (IR)
Stemming
- Stemming dapat dikatakan sebagai proses atau cara dalam menemukan kata dasar dari suatu kata.
- Misalnya :
- Ada banyak algoritma dalam proses stemming seperti : Nazief dan Adriani, Porter, Confix Stripping, Connected Component, Lovins, Paice/Husk, Tala, Vega, dll.
- Meskipun ada banyak algoritma yang dapat digunakan untuk proses stemming, namun dalam stemming bahasa indonesia hanya ada 2 algoritma yang biasanya digunakan seperti : Algoritma Porter Stemmer, dan Algoritma Nazief & Adriani Stemmer.
- Teknik Stemming diperlukan selain untuk memperkecil jumlah indeks yang berbeda dari suatu dokumen, juga untuk melakukan pengelompokan kata-kata lain yang memiliki kata dasar dan arti yang serupa namun memiliki bentuk atau form yang berbeda karena mendapatkan imbuhan yang berbeda.
Algoritma Porter Stemmer
- Algoritma Porter ditemukan oleh Martin Porter 1980. Algoritma ini digunakan untuk stemming bahasa inggris, kemudian proses stemming bahasa inggris berbeda dengan bahasa indonesia maka dekembangkan algoritma khusus untuk bahasa indonesia yaitu Porter Stemmer for Bahasa Indonesia, yang dikembangkan oleh W.B. Frakes pada tahun 1992.
- Algoritma ini membutuhkan waktu yang lebih singkat dibandingkan dengan stemming algoritma lain. Namun presentase keakuratan algoritma ini lebih kecil dibandingkan algoritma Nazief & Adriani
Langkah-langkah algoritma Stemming Porter adalah sebagai berikut :
- Periksa pada kata yang akan di Stemm jika terdapat partikel (“-kah”, “-lah”, “-pun”), maka hapus partikel yang melekat.
- Hapus kata ganti kepemilikan seperti “-ku”, “-mu”, “-nya”, jika ada.
- Hapus first order prefiks (awalan pertama) seperti “-meng”, “-meny”, “-men”, “-mem”, “-me”, “-peng”, “-peny”, “-pen”, “-pem”, “-di”, “-ter”, “-ke”.
- Hapus second order prefiks (awalan kedua) seperti “-ber”, “-per”.
- Hapus sufiks (akhiran) seperti “-kan”, “-i”, “-an”.
Algoritma Nazief & Adriani Stemmer.
- Adalah algoritma yang paling sering dibicarakan dalam stemming bahasa indonesia. Algoritma ini merupakan hasil penelitian internal Universitas Indonesia.
- 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.
Kelebihan :
- Memperhatikan kemungkinan adanya partikel-partikel yang mungkin mengikuti suatu kata berimbuhan.
- Proses stemming dokumen teks berBahasa Indonesia menggunakan Algoritma Nazief dan Adriani memiliki prosentase keakuratan (presisi) lebih besar dibandingkan dengan stemming menggunakan Algoritma Porter.
Kelemahan :
- Penyamarataan makna variasi kata
- Jumlah database kata dan kata dasarnya harus besar. Kesalahan terjadi bila kata tidak ditemukan di database dan kemudian dianggap kata dasar, padahal bukan
- Lamanya waktu yang diperlukan dalam proses pencarian kata di dalam kamus.
Langkah-langkah yang digunakan oleh algoritma Nazief dan Adriani yaitu sebagai berikut :
- Kata dicari di dalam daftar kamus. Bila kata tersebut ditemukan di dalam kamus maka dapat diasumsikan kata tersebut adalah kata dasar sehingga algoritma dihentikan.
- Bila kata di dalam langkah pertama tidak ditemukan di dalam kamus, maka diperiksa apakah surfiks tersebut yaitu sebuah partikel (“-lah” atau “-kah”). Bila ditemukan maka partikel tersebut dihilangkan.
- Pemerikasaan dilanjutkan pada kata ganti milik (“-ku”,”-mu”,”-nya”). Bila ditemukan maka kata ganti tersebut dihilangkan.
- Memeriksa akhiran (“-i”, “-an”). Bila ditemukan maka akhiran tersebut dihilangkan. Hingga langkah ke-4 dibutuhkan ketelitian untuk memeriksa apakah akhiran “-an” merupakan hanya bagian dari akgiran “-kan” dan memeriksa lagi apakah partikel (“-lah”, “-kah”) dan kata ganti milik (“-ku”,”-mu”,”-nya”) yang telah dihilangkan pada langkah 2 dan 3 bukan merupakan bagian dari kata dasar.
- Memeriksa awalan (“se-“,”ke-“,”di-“,”te-“,”be-“,”pe-“,”me-“). Bila ditemukan, maka awalan tersebut dihilangkan. Pemerikasaan dilakukan dengan berulang mengingat adanya kemungkinan multi-prefix. Langkah ke-5 ini juga membutuhkan ketelitian untuk memeriksa kemungkinan peluluhan awalan, perubahan prefix yang disesuaikan dengan huruf awal kata dan aturan kombinasi prefix-suffix yang diperbolehkan.
- Setelah menyelesaikan semua langkah dengan sukses, maka algoritma akan mengembalikan kata dasar yang ditemukan.
File Presentasi bisa di download Disini
Atau Disini
Sumber Referensi
- https://informatikalogi.com/text-preprocessing/
- http://repository.widyatama.ac.id/xmlui/bitstream/handle/123456789/6830/Bab%202.pdf?sequence=11
- https://www.academia.edu/7293613/ALGORITMA_STEMMING
- http://repository.usu.ac.id/bitstream/handle/123456789/53366/Chapter%20II.pdf?sequence=4
- https://yudiagusta.files.wordpress.com/2009/11/196-201-knsi09-036-perbandingan-algoritma-stemming-porter-dengan-algoritma-nazief-adriani-untuk-stemming-dokumen-teks-bahasa-indonesia.pdf\
- http://agusdwi89.web.ugm.ac.id/ir/stemming.pdf