Skip to content
K

kStemInd

Project ID: 338

kStemInd adalah library berisi kumpulan Stemmer untuk bahasa Indonesia dalam bahasa pemrograman R. Stemmer merupakan salah satu teknik preprocessing teks untuk mendapatkan kata dasar dari teks tersebut.

Daftar Isi

Installasi

Clone repository ini atau download source code dan ekstrak folder didalamnya. Adapun installasinya dilakukan pada konsol R dengan perintah:

> # install.packages("devtools")
> library(devtools)
> install_deps('/path/to/folder/kstemind', dependencies="logical")
> install('/path/to/folder/kstemind')
>
> library(kstemind)

Penggunaan

Jalankan perintah dibawah ini untuk melakukan stemming untuk sebuah kata menggunakan algoritma Nazief-Andriani.

library(kstemind)

# membangun objek stemmer
stemmer <- stemmer_nazief_andriani$new()

# melakukan stemming pada sebuah kata
stemmer$stem("pertikaian")
#> [1] "tikai"

# melakukan stemming pada sebuah teks
teks = "Dalam pasal 4 Undang-undang Nomor 53 Tahun 2010 tentang Disiplin PNS, disebutkan bahwa PNS dilarang menggunakan jabatannya untuk memperkaya diri sendiri ataupun golongan."
cat(sapply(tokenize_indonesian(teks), stemmer$stem, USE.NAMES = F))
#> dalam pasal 4 undang-undang nomor 53 tahun 2010 tentang disiplin pns sebut bahwa pns larang guna jabat untuk kaya diri sendiri atau golong

Dokumentasi

Stemmer

secara umum, objek stemmer disamakan teknis pembangun yakni:

#' algorithm name   : nama algoritma yang digunakan (cs, sastrawi, tala_porter, dll.)
#' stem_dictionary  : parameter yang digunakan dalam string, pilihannya adalah 
#'                    ("kamus sastrawi" (default), "kamus nazief andriani", "kamus hidayat")
#' ...              : parameter tambahan khusus lainnya yang digunakan untuk stemmer tersebut
stemmer_algoritm_name$new(stem_dictionary, ...)

dan dalam penggunaannya ada dua perintah yang diterapkan pada keseluruhan objek yakni:

#' membangun objek stemmer terpilih
stemmer <- stemmer_algoritm$new()

#' mendapatkan kata dasar dari sebuah kata menerapkan "memoization"
#' input            : sebuah string kata (bukan kalimat)
stemmer$stem(input)

#' sedangkan mendapatkan kata dasar dari sebuah kata tanpa "memoization"
#' input            : sebuah string kata (bukan kalimat)
stemmer$stem_word(input)

berikut daftar objek stemmer yang dapat digunakan tertera beserta fungsi pembangun objek stemmer tersebut.

  1. Nazief-Andriani:
    stemmer_nazief_andriani(stem_dictionary = "kamus_sastrawi")
  2. (Tala) Porter:
    stemmer_tala_porter(stem_dictionary = "kamus_sastrawi")
  3. Confix Stripping:
    stemmer_cs(stem_dictionary = "kamus_sastrawi")
  4. Enhanced Confix Stripping:
    stemmer_ecs(stem_dictionary = "kamus_sastrawi")
  5. Incremental:
    stemmer_incremental(stem_dictionary = "kamus_sastrawi", criteria="first")
  6. Modified Enhanced Confix Stripping:
    stemmer_mecs(stem_dictionary = "kamus_sastrawi", closewords = "closewords_nondeterministik")
  7. Nondeterministic :
    stemmer_nondeterministic(stem_dictionary = "kamus_sastrawi")
  8. Sastrawi:
    stemmer_sastrawi(stem_dictionary = "kamus_sastrawi")