- Hirup Motekar

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