Porter Stemmer for Bahasa Indonesia
Ruby Shell
Switch branches/tags
Latest commit 620b0ae Aug 10, 2015 @apraditya Merge pull request #4 from xinuc/master
Great, thanks @xinuc. Sorry it's long due! Fix specs & remove included method

README.md

IndonesianStemmer

Gem Version Build Status Dependency Status Code Climate

Stem kata bahasa Indonesia berdasarkan Porter Stemmer, dengan menggunakan algoritma yang dipaparkan dalam paper A Study of Stemming Effects on Information Retrieval in Bahasa Indonesia, oleh Fadillah Z Tala.

English translation is available here.

Instalasi

Tambahkan baris ini di Gemfile aplikasi anda:

gem 'indonesian_stemmer'

Kemudian jalankan:

$ bundle

Atau instal sendiri seperti ini:

$ gem install indonesian_stemmer

Penggunaan

require 'rubygems'
require 'indonesian_stemmer'

IndonesianStemmer.stem('mendengarkan')  # => "dengar"
'beriman'.stem                          # => "iman"

Atau mencobanya langsung dari web: indonesian-stemmer.adindap.com.

Masalah-masalah yang Diketahui

Gem ini masih dalam tahap pengembangan dan penyempurnaan. Meskipun sudah banyak upaya dalam pemilihan kata dan penanganan kata-kata yang ambigu, jangan mengandalkan gem ini untuk analisa ilmiah atau proyek lainnya. Berikut adalah masalah-masalah yang diketahui atau kasus-kasus yang tidak ditangani oleh gem ini dengan benar:

  1. Kata-kata turunan yang memiliki kata dasar yang berbeda. Contohnya memasak yang memiliki 2 kata dasar yang sama, yaitu pasak dan masak. Saat ini kami mutuskan untuk mengeluarkan hasil kata dasar berdasarkan kata yang lebih umum digunakan (menurut pendapat kami). Dalam contoh ini, kata masak yang kami pilih.
  2. Kata-kata turunan yang berasal dari kata dasar yang hanya mengandung 1 suku kata. Contohnya mengebom yang berasal dari kata bom.
  3. Tidak menangani awalan se-, semua bentuk sisipan.

Jika ada masalah lain di luar hal-hal di atas, silahkan buat tiket baru

Berkontribusi

Awalnya, gem ini merupakan implementasi dari sistem penganalisa untuk bahasa Indonesia, dari proyek Apache Lucene, ke dalam bahasa Ruby. Gem ini sudah mengalami beberapa perubahan algoritma dalam mengenali awalan kata, terutama terhadap kata-kata yang ambigu.

Referensi

  1. Situs Resmi Kamus Bahasa Indonesia
  2. Untuk mencari dan memverifikasi kata indonesia, Kateglo Bahtera
  3. Artikel Wikipedia yang berjudul Prefiks dalam Bahasa Indonesia

Langkah-langkah

  1. Fork proyek ini
  2. Buat branch untuk fitur anda (git checkout -b my-new-feature)
  3. Commit perubahan-perubahan yang anda buat (git commit -am 'Tambahkan fitur baru')
  4. Push ke branch itu (git push origin my-new-feature)
  5. Ajukan Pull Request baru

Terima kasih

Setelah bersyukur kepada Allah Subhanahu Wa Ta'ala, kami ingin mengucapkan terima kasih kepada:

  • Fadillah Z Tala & Apache Lucene sehingga kami dapat mulai membuat gem ini
  • Penyedia Kateglo Bahtera, karena telah menyediakan API nya sehingga saya bisa memilih & memisahkan kata-kata ambigu, dan akhirnya memeriksa validitas hasil kata.