/Android-Sastrawi

Android Sastrawi is a Natural Language Processing Toolkit for Bahasa Indonesia

Primary LanguageKotlin

Android Sastrawi



Android Sastrawi is a Natural Language Processing Toolkit for Bahasa Indonesia. It is port from original Sastrawi project.

Stemmer Stop Word Remover

Instalasi

Tambahkan repository jitpack pada file gradle anda

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

Selanjutnya tambahkan depedency

implementation 'com.github.share424:Android-Sastrawi:1.0.0'

Fitur

Stemming

Apa itu Stemming?

Stemming adalah proses mengubah kata yang berimbuhan menjadi kata dasar.

Contohnya

berlari => lari
mengandai-andaikan => andai

Cara Penggunaan

Untuk membuat stemmer bisa menggunakan perintah berikut

val stemmer = StemmerFactory(context).create()

cara diatas akan menggunakan kamus kata dasar bawaan dari kateglo

Selanjutnya kita bisa langsung melakukan stemming dengan method stem(), seperti berikut

val output = stemmer.stem("Perekonomian Indonesia sedang dalam pertumbuhan yang membanggakan")
// output = ekonomi indonesia sedang dalam tumbuh yang bangga

Jika ingin menggunakan kamus kata dasar sendiri, bisa menggunakan method fromFile() untuk dari file dan fromList() untuk dari List<String>. Contohnya seperti berikut

// kamus kata dasar dari file txt
// format file dipisah dengan enter tiap katanya
val file = File("path to file.txt")
val stemmerFromFile = StemmerFactory(context)
                            .fromFile(file)
                            .create()
                        
// kamus kata dasar dari List<string>
val list = listOf<String>("jalan", "tumbuh", "bangga")
val stemmerFromList = StemmerFactory(context)
                            .fromList(list)
                            .create()

Stop Word Remover

Apa itu Stop Word?

Stop Words adalah kumpulan kata yang akan dihilangkan sebelum dilakukan proses NLP.

Contohnya

di, ke, yang, untuk, pada, ....

Penggunaan

Untuk membuat Stop Word Remover bisa menggunakan perintah berikut

val stopWordRemover = StopWordRemoverFactory(context).create()

cara diatas akan menggunakan kamus stop word bawaan.

Selanjutnya kita bisa menghilangkan stopword dengan method remove(), seperti berikut

val output = stopWordRemover.remove("Perekonomian Indonesia sedang dalam pertumbuhan yang membanggakan")
// output = perekonomian indonesia sedang pertumbuhan membanggakan

Jika ingin menggunakan kamus stop words sendiri, bisa menggunakan method fromFile() untuk dari file dan fromList() untuk dari List<String>. Contohnya seperti berikut

// kamus stop words dari file txt
// format file dipisah dengan enter tiap katanya
val file = File("path to file.txt")
val stopWordRemoverFromFile = StopWordRemoverFactory(context)
                                      .fromFile(file)
                                      .create()
// kamus stop words dari List<string>
val list = listOf<String>("di", "ke", "yang")
val stopWordRemoverFromList = StopWordRemoverFactory(context)
                                      .fromList(list)
                                      .create()

Pustaka

Algoritma

Algoritma yang digunakan pada library ini adalah hak intelektual masing-masing pemiliknya yang tertera di bawah ini. Lalu untuk meningkatkan kualitas kode, algoritma tersebut diterapkan ke dalam Object Oriented Design.

  • Algoritma Nazief dan Adriani
  • Asian J. 2007. Effective Techniques for Indonesian Text Retrieval. PhD thesis School of Computer Science and Information Technology RMIT University Australia
  • Arifin, A.Z., I.P.A.K. Mahendra dan H.T. Ciptaningtyas. 2009. Enhanced Confix Stripping Stemmer and Ants Algorithm for Classifying News Document in Indonesian Language, Proceeding of International Conference on Information & Communication Technology and Systems (ICTS)
  • A. D. Tahitoe, D. Purwitasari. 2010. Implementasi Modifikasi Enhanced Confix Stripping Stemmer Untuk Bahasa Indonesia dengan Metode Corpus Based Stemming, Institut Teknologi Sepuluh Nopember (ITS) – Surabaya, 60111, Indonesia

Kamus Kata Dasar

Proses stemming oleh Sastrawi sangat bergantung pada kamus kata dasar. Sastrawi menggunakan kamus kata dasar dari kateglo.com dengan sedikit perubahan.

Lisensi

Lisensi sastrawi adalah MIT License (MIT) sedangkan lisensi kamus kata dasar dari Kateglo adalah CC-BY-NC-SA 3.0.

Di Bahasa Pemrograman Lainya