algoritma_stemming

advertisement
ALGORITMA STEMMING
Ada banyak algoritma yang digunakan untuk melakukan proses stemming, khususnya stemming bahasa indonesia.
Nama Algoritma
Kelebihan
Kekurangan
1. Algoritma Nazief dan Andriani
1. Memperhatikan kemungkinan adanya partikel- 1. Penyamarataan makna variasi kata
Bahasa Pemrograman
PHP
partikel yang mungkin mengikuti suatu kata 2. Jumlah database kata dan kata dasarnya harus
berimbuhan.
besar. Kesalahan terjadi bila kata tidak ditemukan di
2. Proses stemming dokumen teks berBahasa database dan kemudian dianggap kata dasar, padahal
Indonesia menggunakan Algoritma Nazief dan bukan
Adriani memiliki prosentase keakuratan (presisi) 3. Lamanya waktu yang diperlukan dalam proses
lebih
besar
dibandingkan
dengan
stemming pencarian kata di dalam kamus.
menggunakan Algoritma Porter.
Implementasi
Algoritma ini mengacu pada aturan morfologi bahasa Indonesia yang mengelompokkan imbuhan, yaitu imbuhan yang diperbolehkan
atau imbuhan yang tidak diperbolehkan. Pengelompokan ini termasuk imbuhan di depan (awalan), imbuhan kata di belakang (akhiran),
imbuhan kata di tengah (sisipan) dan kombinasi imbuhan pada awal dan akhir kata (konfiks). Algoritma ini menggunakan kamus kata
keterangan yang digunakan untuk mengetahui bahwa proses stemming telah mendapatkan kata dasar.
Tahapan
1. Cari kata yang akan distem dalam kamus. Jika ditemukan maka diasumsikan bahwa kata tesebut 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, lanjut ke langkah 4.
4. Hapus Derivation Prefix. Jika pada langkah 3 ada sufiks yang dihapus maka pergi ke langkah 4a, jika tidak pergi ke
langkah 4b.
a. Periksa tabel kombinasi awalan-akhiran yang tidak diijinkan. Jika ditemukan maka algoritma berhenti, jika tidak
pergi ke langkah 4b.
b. For i = 1 to 3, tentukan tipe awalan kemudian hapus awalan. Jika root word belum juga ditemukan lakukan
langkah 5, jika sudah maka algoritma berhenti. Catatan: jika awalan kedua sama dengan awalan pertama
algoritma berhenti.
5. Melakukan Recoding.
6. Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal diasumsikan sebagai root word. Proses
selesai.
2. algoritma Arifin dan Setiono
jika kata dasar dari sebuah kata turunan tidak dapat
ditemukan setelah menghilangkan prefix dan suffix
nya
maka
algoritma
mengembalikan
semua
ini
akan
imbuhan
mencoba
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.
3. algoritma Idris dan Mustofa
Nama Algoritma
Kelebihan
4. algoritma Vega
Pada algoritma ini, tidak ada fungsi untuk
Kekurangan
Bahasa Pemrograman
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.
5. algoritma Ahmad, Yussof dan Sembok
Nama Algoritma
Kelebihan
Kekurangan
6. Algoritma Tala
1. performa stemming berbasis aturan relatif
1. Proses stemming bahasa Indonesia menggunakan PHP
stabil dengan jumlah dokumen yang berkembang.
algoritma berbasis aturan
mempunyai tingkat kesalahan tinggi, sehingga dapat
mempengaruhi akurasi
hasil akhir.
Implementasi
Tahapan
a) Menghilangkan partikel
b) Menghilangkan kata sandang dan kepunyaan.
c) Menghilangkan awalan 1
d) Jika suatu aturan terpenuhi jalankan sbb :
o Hilangkan Akhiran
o Jika suatu aturan terpenuhi, hilangkan awalan 2. Jika tidak
proses stemming selesai
e) Jika tidak ada aturan yang terpenuhi jalankan sbb :
o Hilangkan awalan 2.
o Hilangkan Akhiran
o Proses stemming selesai.
Bahasa Pemrograman
Nama Algoritma
Kelebihan
Kekurangan
7. Algoritma Porter
Bahasa Pemrograman
PHP
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
1. Hapus Particle,
2. Hapus Possesive Pronoun.
3. Hapus awalan pertama. Jika tidak ada lanjutkan ke langkah 4a, jika ada cari maka lanjutkan ke langkah 4b.
4. a. Hapus awalan kedua, lanjutkan ke langkah 5a.
b. Hapus akhiran, jika tidak ditemukan maka kata tersebut diasumsikan sebagai root word. Jika ditemukan maka
lanjutkan ke langkah 5b.
5. a. Hapus akhiran. Kemudian kata akhir diasumsikan sebagai root word
b. Hapus awalan kedua. Kemudian kata akhir diasumsikan sebagai root word.
Nama Algoritma
Kelebihan
Kekurangan
Bahasa Pemrograman
8. Algoritma Confix Stripping (CS)
Implementasi
Confix stripping (CS) stemmer adalah metode stemming pada Bahasa Indonesia yang diperkenalkan oleh Jelita Asian yang merupakan
pengembangan dari metode stemming yang dibuat oleh Nazief dan Adriani (1996). Proses ini berfungsi untuk mengubah bentuk dari
suatu kata menjadi bentuk kata dasarnya. Proses perubahan bentuk ini akan menghilangkan kandungan imbuhan seperti awalan dan
akhiran pada kata yang bersangkutan, sehingga diharapkan diperoleh bentuk dasarnya. Dalam proses ini digunakan kamus kata dasar
untuk menambah tingkat ketelitian, dimana setiap kata yang akan dicari bentuk dasarnya di cek terlebih dulu di kamus.
9. Algoritma Enhanded Confix Stripping
(ECS)
Implementasi
Algoritma ini perupakan pengembangan dari algoritma Confix stripping (CS). Dalam algoritma Confix stripping (CS) terdapat
kelemahan atau tidak dapat mengstemming kata-kata tertentu, pada algoritma ini Menambahkan suatu algoritma tambahan untuk
mengatasi kesalahan pemenggalan akhiran yang seharusnya tidak dilakukan.
10. Algoritma Connected Component
Implementasi
Merupakan algoritma yang memecahkan Permasalahan overstemming dan understemming tidak dapat diselesaikan dengan melakukan
stemming dengan hanya melihat kata per kata atau melakukan modifikasi tabel aturan pemenggalan. Penyebabnya adalah hasil dari
proses stemming yang dapat berjumlah lebih dari satu kata. Jika menggunakan teknik stemming kata per kata, maka hasil akhir dari
stemming bergantung dari algoritma stemming yang digunakan apakah menggunakan pemenggalan semaksimal mungkin atau
sebaliknya.
Connected component algorithm dilakukan dengan cara menghubungkan kata-kata yang memiliki nilai em lebih besar daripada nilai
threshold untuk em yakni 0,01 sesuai dengan yang digunakan oleh Larkey, Ballesteros, dan Cornell dalam percobaannya. Tiap-tiap
graph yang terbentuk selanjutnya akan membentuk sebuah kelas tersendiri.
11. Algoritma Lovins
The stemmer is considered complex for its age and utilises a large list (297) of endings, each of which is associated with one of a
number of qualitative contextual restrictions that prevent the removal of endings in certain circumstances. The stemmer utilises a
number of rules that are designed to cope with the most common exceptions. All endings are associated with the default exception, that
a stem must be at least two letters long, which is designed to prevent the production of ambiguous stems. Other rules assert one of the
following conditions on the ending's removal,
Increasing the minimum length of a stem following a ending's removal.
Preventing the removal of endings when certain letters are present in the remaining stem.
Combinations of the above restrictions.
12. Algoritma Paice/Husk
1.Select relevant section; Inspect the final letter of the term and, if present, consider the first rule of the relevant section of the rule
table.
2.Check applicability of rule; If final letters of term do not match rule, or intact settings are violated or acceptability conditions are not
satisfied go to stage 4.
3.Apply Rule; Remove or reform ending as required and then check termination symbol, and either terminate or return to stage 1.
4.Look for another rule; Move to the next rule in table, if the section letter has changed then terminate, else go to stage 2.
Ini penampakan jurnal inggrisnya
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.59.4851
http://translate.google.com/translate?hl=id&sl=en&u=http://citeseerx.ist.psu.edu/viewdoc/summary%3Fdoi%3D10.1.1.59.4851&prev=/search%3Fq%3Dalgoritma%2Bstemming
%26start%3D20%26sa%3DN%26biw%3D1447%26bih%3D758
Download