Stem (akar kata) adalah bagian dari kata yang tersisa setelah dihilangkan imbuhannya (awalan dan akhiran). Contoh : connect adalah stem dari connected, connecting, connection, dan connections.
Metode stemming memerlukan input berupa term yang terdapat dalam dokumen. Sedangkan outputnya berupa stem.
Ada tiga jenis metode stemming, antara lain :
- Successor Variety (SV) : llebih mengutamakan penyusunan huruf dalam kata dibandingkan dengan pertimbangan atas fonem. Contoh untuk kata-kata : corpus, able, axle, accident, ape, about menghasilkan SV untuk kata apple :
- Karena huruf pertama dari kata “apple” adalah “a”, maka kumpulan kata yang ada substring “a” diikuti “b”, “x”, “c”, “p” disebut SV dari “a” sehingga “a” memiliki 4 SV.
- Karena dua huruf pertama dari kata “apple” adalah “ap”, maka kumpulan kata yang ada substring “ap” hanya diikuti “e” disebut SV dari “ap” sehingga “ap” memiliki 1 SV.
- N-Gram Conflation : ide dasarnya adalah pengelompokan kata-kata secara bersama berdasarkan karakter-karakter (substring) yang teridentifikasi sepanjang N karakter.
- Affix Removal :
membuang suffix dan prefix dari term menjadi suatu stem. Yang paling
sering digunakan adalah algoritma Porter Stemmer karena modelnya
sederhana dan effisien.
- Jika suatu kata diakhiri dengan “ies” tetapi bukan “eies” atau “aies”, maka “ies” direplace dengan “y”
- Jika suatu kata diakhiri dengan “es” tetapi bukan “aes” atau “ees” atau “oes”, maka “es” direplace dengan “e”
- Jika suatu kata diakhiri dengan “s” tetapi bukan “us” atau “ss”, maka “s” direplace dengan “NULL”
Kondisi dikelompokkan menjadi tiga kelas, yakni :
- Kondisi pada stem
- Ukuran (measure), dinotasikan dengan m, dari sebuah stem berdasarkan pada urutan vokal-konsonan.
- m = 0, contoh : TR, EE, TREE, Y, BY
- m = 1, contoh : TROUBLE, OATS, TREES, IVY
- m = 2, contoh : TROUBLES, PRIVATE, OATEN
- Ukuran (measure), dinotasikan dengan m, dari sebuah stem berdasarkan pada urutan vokal-konsonan.
-
- *<X> berarti stem berakhir dengan huruf X
- *v* berarti stem mengandung sebuah vokal
- *d berarti stem diakhiri dengan konsonan dobel
- *o berarti stem diakhiri dengan konsonan – vokal – konsonan, berurutan, di mana konsonan akhir bukan w, x, atau y.
- Kondisi pada suffix : (current_suffix == pattern)
- Kondisi pada rule : rule-rule dibagi menjadi step-step. Rule-rule dalam sebuah step diuji secara berurutan, dan hanya 1 rule dari suatu step yang diterapkan.
{Control flow algoritma Porter Stemmer :
step1a(word);
step1b(stem);
if (the second or third rule of step 1b was used) step1b1(stem);
step1c(stem);
step2(stem);
step3(stem);
step4(stem);
step5a(stem);
step5b(stem);
}
Step-step algoritma Porter Stemmer :
- Step 1a : remove plural suffixation
- Step 1b : remove verbal inflection
- Step 1b1 : continued for -ed and -ing rules
- Step 1c : y and i
- Step 2 : peel one suffix off for multiple suffixes
- Step 3
- Step 4 : delete last suffix
- Step 5a : remove e
- Step 5b : reduction
mas putra tolong kasih sorce codenya dong yang pakek java
BalasHapus