K
kStemInd
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.
- Nazief-Andriani:
stemmer_nazief_andriani(stem_dictionary = "kamus_sastrawi")
- (Tala) Porter:
stemmer_tala_porter(stem_dictionary = "kamus_sastrawi")
- Confix Stripping:
stemmer_cs(stem_dictionary = "kamus_sastrawi")
- Enhanced Confix Stripping:
stemmer_ecs(stem_dictionary = "kamus_sastrawi")
- Incremental:
stemmer_incremental(stem_dictionary = "kamus_sastrawi", criteria="first")
- Modified Enhanced Confix Stripping:
stemmer_mecs(stem_dictionary = "kamus_sastrawi", closewords = "closewords_nondeterministik")
- Nondeterministic :
stemmer_nondeterministic(stem_dictionary = "kamus_sastrawi")
- Sastrawi:
stemmer_sastrawi(stem_dictionary = "kamus_sastrawi")