Sastrawi is a simple PHP library which provides stemming of words in Indonesian Language (Bahasa). Despite its simplicity, this library is designed to be high quality and well documented. For more information in english, see README.
Development | Master | Releases | Statistics |
---|---|---|---|
Indonesia menempati posisi ke-4 negara berpenduduk terbanyak di dunia. Berdasarkan sumber, pada 2013 tercatat Lebih dari 64 juta pengguna facebook berasal dari Indonesia.
Dalam aktivitas sehari-hari, pengguna internet di Indonesia menggunakan Bahasa Indonesia sebagai bahasa utama. Oleh sebab itu, para developer membutuhkan suatu cara untuk meningkatkan kualitas pencarian dalam bahasa Indonesia. Salah satu cara itu adalah dengan melakukan stemming.
Stemming adalah proses mengubah kata berimbuhan menjadi kata dasar. Contohnya:
- menahan => tahan
- berbalas-balasan => balas
Katakanlah sebuah blog post berisi:
Rakyat memenuhi halaman gedung untuk menyuarakan isi hatinya.
Pencarian dengan query di bawah ini tidak akan menemukan post di atas,
SELECT * FROM posts WHERE content LIKE '%suara%'
Bahkan metode fuzzy search atau full text search membutuhkan proses stemming untuk meningkatkan kualitas pencarian. Salah satu cara untuk meningkatkannya yaitu dengan menanggalkan imbuhan-imbuhan hingga hanya menyisakan kata dasar seperti berikut:
rakyat penuh halaman gedung suara isi hati
Lalu kata kunci pencarian juga dijadikan kata dasar:
Bersuara => suara
- Library PHP untuk stemming Bahasa Indonesia.
- Mudah diintegrasikan dengan framework / package lainnya.
- Mempunyai API yang sederhana dan mudah digunakan.
Sastrawi dapat diinstall dengan Composer.
- Buka terminal (command line) dan arahkan ke directory project Anda.
- Download Composer sehingga file
composer.phar
berada di directory tersebut. - Tambahkan sastrawi ke file
composer.json
Anda :
php composer.phar require sastrawi/sastrawi:~1
Jika Anda masih belum memahami bagaimana cara menggunakan Composer, silahkan baca Getting Started with Composer.
Copy kode berikut di directory project anda. Lalu jalankan file tersebut.
<?php
// demo.php
// include composer autoloader
require_once __DIR__ . '/vendor/autoload.php';
// create stemmer
$stemmerFactory = new \Sastrawi\Stemmer\StemmerFactory();
$stemmer = $stemmerFactory->createStemmer();
// stem
$sentence = 'Perekonomian Indonesia sedang dalam pertumbuhan yang membanggakan';
$output = $stemmer->stem($sentence);
echo $output . "\n";
// will print:
// ekonomi indonesia sedang dalam tumbuh yang bangga
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
Proses stemming oleh Sastrawi sangat bergantung pada kamus kata dasar. Sastrawi menggunakan kamus kata dasar dari kateglo.com dengan sedikit perubahan.
Lisensi sastrawi adalah MIT License (MIT) sedangkan lisensi kamus kata dasar dari Kateglo adalah CC-BY-NC-SA 3.0. Untuk informasi lebih lengkap silahkan lihat Lisensi Sastrawi dan Lisensi isi Kateglo.