Cahya Aditya P – Pembahasan Stoplist & Steaming

Pembahasan Stoplist & Steaming

Materi kali ini kita akan membahas tentang stoplist dan steaming, ada beberapa materi yang kita bahas nanti dipostingan kali ini.

Yang pertama Pengertian Stoplist & SteamingAlgoritma Porter Stemmer, Langkah-langkah algoritma Stemming Porter, Tipe Awalan Algoritma Nazief & Adriani Stemmer, Kelebihan & Kelemahan Algoritma Nazief & Adriani Stemmer.

Pengertian Stoplist & Steaming

  • StopList
    Merupakan proses menghilangkan kata-kata umum. Misalkan dalam, dan, karena, mana, untuk dan lainnya. Dalam pembahasan ini kita batasi hanya dilakukan pada bahasa indonesia saja. Pada proses selanjutnya juga akan dibatasi hanya untuk bahasa indonesia.
  • Steaming
    Merupakan proses pengelompokan kata secara morfologis sesuai dengan kelompoknya . Ada pengertian lain yaitu proses ini merubah kata-kata yang berimbuhan menjadi kata dasar dengan menghilangkan imbuhan, sisipan maupun akhiran. Sebagai contoh kata ”memakan”, ”dimakan”, ”termakan”, ”makan-makan” akan dikelompokkan kedalam kata ”makan”.
    Kata ”cinta” memiliki turunan kata ”pecinta”, ”mencintai”, ”dicintai” dan lain sebagainya, sehingga ketika orang memasukkan kata-kata turunan tersebut akan keluar dokumen yang relevan.

 

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.

 

Steaming

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.Sebagai contoh kata bersama, kebersamaan, menyamai, akan distem ke root word-nya yaitu sama. Namun, seperti halnya stopping, kinerja stemming juga bervariasi dan sering tergantung pada domain bahasa yang digunakan.

Screenshot_1

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

Langkah-langkah algoritma Stemming Porter adalah sebagai berikut:

  1. Periksa pada kata yang akan di Stemm jika terdapat partikel (“-kah”, “-lah”, “-pun”), maka hapus partikel yang melekat.
  2. Hapus kata ganti kepemilikan seperti “-ku”, “-mu”, “-nya”, jika ada.
  3. Hapus first order prefiks (awalan pertama) seperti “-meng”, “meny”, “-men”, “-mem”, “-me”, “-peng”, “-peny”, “-pen”, “-pem”, “-di”, “ter”, “-ke”.
  4. Hapus second order prefiks (awalan kedua) seperti “-ber”, “-per”.
  5. 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.

 

Langkah-langkah Algoritma Nazief dan Adriani

Langkah-langkah yang digunakan oleh algoritma Nazief dan Adriani yaitu sebagai berikut :

  1. Kata dicari di dalam daftar kamus. Bila kata tersebut ditemukan di dalam kamus maka dapat diasumsikan kata tersebut adalah kata dasar sehingga algoritma dihentikan.
  2. 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.
  3. Pemerikasaan dilanjutkan pada kata ganti milik (“-ku”,”-mu”,”-nya”). Bila ditemukan maka kata ganti tersebut dihilangkan.
  4. 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 memerikas 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.
  5. 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.
  6. Setelah menyelesaikan semua langkah dengan sukses, maka algoritma akan mengembalikan kata dasar yang ditemukan.

 

Tipe Awalan Algoritma Nazief & Adriani Stemmer

Tipe awalan ditentukan melalui langkah-langkah berikut :

  1. Jika awalannya adalah: “di-”, “ke-”, atau “se-” maka tipe awalannya secara berturut-turut adalah “di-”, “ke-”, atau “se-”.
  2. Jika awalannya adalah “te-”, “me-”, “be-”, atau “pe-” maka dibutuhkan sebuah proses tambahan untuk menentukan tipe awalannya.
  3. Jika dua karakter pertama bukan “di-”, “ke-”, “se-”, “te-”, “be-”, “me-”, atau “pe-” maka berhenti.
  4. Jika tipe awalan adalah “none” maka berhenti. Jika tipe awalan adalah bukan “none” maka awalan dapat dilihat pada Tabel 3. Hapus awalan jika ditemukan.

 

Kelebihan & Kelemahan Algoritma Nazief & Adriani Stemmer

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.

 

File Presentasi : https://drive.google.com/file/d/0B12H5woWdXxMbm15dnFGTkN4c0U/view?usp=sharing

Sumber :