Stemming Word dengan menggunakan pascal
https://luridarmawan.github.io/StemmingWord/
Stemming adalah proses pemetaan dan penguraian bentuk dari suatu kata menjadi bentuk kata dasarnya. Stemming sebagai terapan yang erat dalam Natural Language Processing sangat berguna bagi Anda yang mendalami tools-tools seperti Translation, Summarization bahkan juga untuk ChatBot seperti Carik. Penggunaan stemming secara luas sudah biasa dilakukan di dalam Information Retrieval (pencarian informasi) untuk meningkatkan kualitas informasi yang didapatkan.
Stemming word yang digunakan di sini berdasarkan Algoritma Nazief dan Adriani, dibangun dengan menggunakan bahasa pascal khususnya framework FastPlaz.
Beberapa variasi kata mungkin tidak terdeteksi dikarenakan banyak hal dan kondisi. belum termasuk sebagian kata-kata gaul maupun yang tidak gaul.
install requirement
$ mkdir -p StemmingWord/source/vendors
$ cd StemmingWord/source
$ git clone https://github.com/luridarmawan/StemmingWord.git
# install vendors
$ cd vendors
$ git clone -b development https://github.com/fastplaz/fastplaz.git
Compile dari IDE
Jika menggunakan Lazarus, buka file "stemming" dan compile file tersebut.
Akan terbentuk file binary di 'public_html/stemming/stemming.bin'
Compile dari Command-Line
cd StemmingWord/source/stemming_web/
./clean.sh
./build.sh
.
.
stemming.lpr(13,124)
Assembling (pipe) lib/stemming.s
Compiling resource lib/stemming.or
Linking ../../public_html/stemming/stemming.bin
.
.
source$ _
Custom Build
untuk konfigurasi custom, misal untuk perubahan path tempat library berada, bisa dilakukan dengan melakukan modifikasi di file extra.cfg.
cPanel Hosting
Jika Anda menggunakan hosting dengan platform cPanel, instalasinya cukup mudah.
- salin isi folder
public_html/
kepublic_html/
di account hosting anda. - beri permission writeable ke folder
ztemp/
VPS/Instance/DS
Pada dasarnya kurang lebih sama dengan proses instalasi di hosting cPanel. Jika anda punya permission untuk mengubah konfigurasi apache, direkomendasikan menggunakan pola berikut.
<VirtualHost *:80>
ServerName stemming.yourdomain.tld
DocumentRoot "/your/public_html/path"
ErrorLog "/path/for/log/apache2/stemming-error_log"
CustomLog "/path/for/log/apache2/stemming-access_log" common
<Directory "/your/public_html/path/">
Options +ExecCGI +Indexes
AddHandler cgi-script .bin
Require all granted
AllowOverride All
</Directory>
</VirtualHost>
Pastikan Anda sudah bisa mengakses url web service anda dengan benar. StemmingWord tools ini didesain untuk sekaligus sebagai API dan menggunakan POST Method dalam setiap proses transaksinya.
Pengujian bisa dilakukan dengan API Test Tools, seperti PostMan, Fortress, Mocky.io, curl, dsb.
parameter:
text = text yang akan distemming.
Test dengan Postman
Contoh Response
{
"code" : 0,
"response" : {
"word_count" : 4,
"nonstandardword_count" : 1,
"unknownword_count" : 0,
"text" : [
{
"word" : "huruf",
"wordtype" : "Nomina",
"type" : "2",
"non_standard" : "yes",
"original_word" : "hurup",
"score" : "0"
},
{
"word" : "pertama",
"wordtype" : "Numeralia",
"type" : "6",
"score" : "0"
},
{
"word" : "adalah",
"wordtype" : "Verba",
"type" : "4",
"score" : "0"
},
{
"word" : "a",
"wordtype" : "Nomina",
"type" : "2",
"score" : "0"
}
],
"time" : "16ms"
}
}
Test dengan CURL
Pengujian bisa juga dilakukan melalui console/terminal dengan perintah CURL. Contohnya seperti ini:
curl http://urlanda -X POST -d 'text=hurup pertama adalah a'
Live demo tools ini bisa anda akses dari halaman Carik Stemming Tools