Cara Mengaktifkan dan Konfigurasi Modul SCWS PHP di ServBay
ServBay adalah lingkungan pengembangan web lokal yang kuat, mendukung macOS dan Windows, dan dilengkapi dengan runtime berbagai bahasa seperti PHP, Node.js, Python, Go, Java, serta database seperti MySQL, PostgreSQL, MongoDB, Redis. ServBay juga mendukung server web seperti Caddy dan Nginx. Untuk pengembang PHP yang perlu memproses teks berbahasa Tionghoa, ServBay menyediakan modul SCWS (Simple Chinese Word Segmentation) yang efisien dan mudah diaktifkan.
Dokumen ini akan menunjukkan langkah demi langkah cara mengaktifkan ekstensi SCWS PHP di ServBay, mengkonfigurasi file kamusnya, dan demonstrasi penggunaan dasarnya dengan kode contoh.
Ringkasan Modul SCWS
SCWS adalah mesin pemecahan kata Tionghoa open-source yang terkenal dengan performa tinggi dan akurasi yang baik. Menggabungkan pencocokan kamus dan model statistik, SCWS dapat memproses pemecahan kata untuk teks Tionghoa dengan cepat dan tepat. Cocok untuk membangun mesin pencari Tionghoa, penambangan data teks, analisis konten, ekstraksi kata kunci, dan penandaan kelas kata.
Fitur Utama
- Pemecahan kata berperforma tinggi: SCWS menggunakan algoritma pemecahan kata yang dioptimalkan sehingga mampu menangani data teks Tionghoa berskala besar secara efisien.
- Akurasi tinggi: Berkat kombinasi kamus dan model statistik, SCWS mencapai akurasi yang baik dalam tugas pemecahan kata Tionghoa.
- Fitur lengkap: Selain fungsi pemecahan kata dasar, SCWS mendukung ekstraksi kata kunci, penandaan kelas kata, dan fitur lanjutan lainnya.
- Mudah diintegrasikan: Menyediakan API sederhana, sehingga pengembang bisa dengan mudah mengintegrasikannya dalam aplikasi PHP.
- Gratis dan open-source: SCWS bebas digunakan dan dapat dimodifikasi sesuai kebutuhan.
Versi SCWS Tersedia di ServBay
ServBay mendukung banyak versi PHP, dan setiap versi sudah dilengkapi modul SCWS yang sesuai. Per waktu penulisan dokumen ini, ServBay sudah memaketkan SCWS 1.2.3 untuk PHP 5.6 hingga PHP 8.4.
Cara Mengaktifkan Modul SCWS
Secara default, modul SCWS dinonaktifkan di ServBay. Ada dua cara utama untuk mengaktifkannya: melalui antarmuka grafis ServBay atau dengan mengubah file konfigurasi secara manual.
Cara Rekomendasi: Aktifkan Melalui UI ServBay
Ini adalah metode yang paling mudah dan cepat:
- Buka antarmuka utama ServBay.
- Di menu navigasi sebelah kiri, klik Languages (Bahasa) lalu pilih PHP.
- Di daftar versi PHP di sebelah kanan, cari versi PHP yang ingin Anda aktifkan SCWS-nya (misal,
PHP 8.4). - Klik tombol Extensions (Ekstensi) di sebelah versi PHP yang dipilih.
- Temukan modul
SCWSdi daftar ekstensi yang muncul. - Klik saklar di sebelah kiri
SCWSuntuk mengaktifkannya (biasanya berubah menjadi hijau). - Klik tombol Save (Simpan) di bagian bawah jendela.
- ServBay akan meminta Anda me-restart paket PHP untuk menerapkan perubahan. Klik Restart (Mulai Ulang).
Setelah langkah ini, modul SCWS sudah aktif untuk versi PHP yang Anda pilih.
Cara Manual: Ubah File Konfigurasi (Untuk Pengguna Lanjutan atau Troubleshooting)
Untuk kontrol lebih detail atau kebutuhan troubleshooting, Anda dapat langsung memodifikasi file konfigurasi PHP:
Temukan file konfigurasi: Cari folder
conf.dpada versi PHP yang Anda gunakan. Konfigurasi SCWS ada di filescws.inipada direktori ini. Lokasi file biasanya sebagai berikut:/Applications/ServBay/etc/php/X.Y/conf.d/scws.ini1Ganti
X.Ydengan versi PHP Anda, misalnya8.4.Edit file
scws.ini: Buka filescws.inidengan teks editor. Cari baris berikut:ini[scws] ; Uncomment the following line to enable scws ;extension = scws.so ;scws.default.charset = gbk ;scws.default.fpath = /Applications/ServBay/etc/scws1
2
3
4
5Hapus karakter komentar
;di depanextension = scws.so, sehingga menjadi:ini[scws] ; Uncomment the following line to enable scws extension = scws.so ;scws.default.charset = gbk ;scws.default.fpath = /Applications/ServBay/etc/scws1
2
3
4
5(Opsional) Anda juga bisa mengatur charset dan path kamus di sini, namun lebih disarankan untuk mengaturnya secara dinamis di kode PHP agar lebih fleksibel. Jika ingin mengubah di sini, hapus komentar dan ganti nilainya, misal jika kamus Anda encoding UTF-8:
ini[scws] ; Uncomment the following line to enable scws extension = scws.so scws.default.charset = utf8 scws.default.fpath = /Applications/ServBay/etc/scws1
2
3
4
5Simpan dan tutup file
scws.ini.Restart paket PHP: Kembali ke aplikasi ServBay, buka bagian Packages (Paket), cari versi PHP yang Anda konfigurasi (misal PHP 8.4), lalu klik tombol restart di sebelah kanan (biasanya ikon panah melingkar).
Verifikasi Modul SCWS Berhasil Dimuat
Setelah modul diaktifkan, penting untuk mengecek apakah SCWS sudah dimuat dengan benar. Cara umum adalah dengan melihat output phpinfo() PHP:
- Di direktori website utama ServBay (
/Applications/ServBay/www), buat subfolder baru misalscws-test. - Pada folder tersebut (
/Applications/ServBay/www/scws-test), buat file bernamaphpinfo.php. - Isi file dengan kode berikut:php
<?php phpinfo(); ?>1
2
3 - Pastikan server web ServBay (Caddy atau Nginx) sudah berjalan dan dapat mengakses folder
/Applications/ServBay/www. Secara default, ServBay mengarahkan domainservbay.demoke folder ini. - Akses
https://servbay.demo/scws-test/phpinfo.phpdi browser. - Di halaman info PHP yang terbuka, cari bagian bernama "SCWS". Jika ditemukan informasi tentang SCWS (versi, pengaturan, dll), berarti modul sudah berhasil diaktifkan.
(Catatan: Path gambar hanya contoh, silakan cek dokumentasi ServBay untuk gambar aktual)
Cara Membuat dan Konfigurasi Kamus SCWS
SCWS adalah mesin pemecahan kata berbasis kamus dan hasilnya sangat tergantung pada kualitas kamus yang digunakan. ServBay sudah menyediakan kamus dan file aturan SCWS default pada folder /Applications/ServBay/etc/scws. Anda juga dapat membuat dan menggunakan kamus Anda sendiri.
Format File Kamus SCWS
SCWS mendukung format teks biasa dan format xdb biner untuk file kamus. Disarankan menggunakan format xdb karena lebih cepat dan efisien secara memori.
Format kamus teks:
Kata1 [Frekuensi1] [Kelas Kata1]
Kata2 [Frekuensi2] [Kelas Kata2]
...1
2
3
2
3
Contoh:
Kecerdasan Buatan 1000 n
Pemrosesan Bahasa Alami 800 n
ServBay 500 nz1
2
3
2
3
Simpan daftar kata Anda dalam file teks misal my_dict.txt. Pastikan encoding file sesuai dengan kebutuhan (disarankan UTF-8).
Menghasilkan File Kamus xdb
ServBay sudah menyediakan tool scws-gen-dict dari SCWS untuk mengubah kamus teks menjadi format xdb.
- Buka aplikasi Terminal di macOS.
- Arahkan ke folder bin ServBay atau gunakan path lengkap
scws-gen-dict. Biasanya tool ini berada di:bashGanti/Applications/ServBay/bin/scws-gen-dict -i /path/to/your/my_dict.txt -o /Applications/ServBay/etc/scws/my_dict.utf8.xdb -c utf81/path/to/your/my_dict.txtdengan lokasi file kamus Anda.-omenentukan lokasi file xdb keluarannya, sebaiknya disimpan di/Applications/ServBay/etc/scws.-c utf8adalah encoding input.
Konfigurasi SCWS Untuk Menggunakan File Kamus
Setelah membuat file xdb, Anda bisa mendefinisikan penggunaan kamus tersebut di kode PHP Anda:
php
<?php
$scws = scws_new();
$scws->set_charset('utf8'); // Set charset sesuai dengan encoding kamus Anda
// Set path kamus utama, bisa default atau kamus xdb buatan sendiri
$scws->set_dict('/Applications/ServBay/etc/scws/dict.utf8.xdb');
// Jika ada lebih dari satu kamus, bisa ditambahkan
$scws->add_dict('/Applications/ServBay/etc/scws/my_dict.utf8.xdb', SCWS_XDICT_TXT); // SCWS_XDICT_TXT untuk menambah kamus pengguna
$scws->set_rule('/Applications/ServBay/etc/scws/rules.utf8.ini'); // Set file aturan, untuk kelas kata, dll, default dari ServBay
// ... proses pemecahan kata berikutnya ...
?>1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
set_dict() digunakan untuk mendefinisikan kamus utama (biasanya kamus SCWS resmi). add_dict() dipakai untuk menambahkan kamus custom buatan sendiri. SCWS_XDICT_TXT adalah konstanta untuk kamus user-defined.
Contoh Penggunaan SCWS
Setelah modul SCWS aktif dan kamus sudah dikonfigurasi, Anda bisa langsung menggunakan fungsi SCWS di kode PHP Anda. Berikut contoh sederhana:
php
<?php
// Pastikan ekstensi SCWS sudah dimuat
if (!extension_loaded('scws')) {
die('Ekstensi SCWS belum dimuat.');
}
// Inisialisasi objek SCWS
$scws = scws_new();
if (!$scws) {
die('Gagal inisialisasi SCWS.');
}
// Set charset (harus sesuai encoding teks & kamus)
$scws->set_charset('utf8');
// Set path file kamus (default ServBay)
// set_dict() untuk kamus utama
$scws->set_dict('/Applications/ServBay/etc/scws/dict.utf8.xdb');
// add_dict() untuk tambah kamus user-defined
// $scws->add_dict('/Applications/ServBay/etc/scws/my_dict.utf8.xdb', SCWS_XDICT_TXT);
// Set file aturan (default ServBay), biasanya untuk kelas kata
$scws->set_rule('/Applications/ServBay/etc/scws/rules.utf8.ini');
// Set mode pemecahan kata (opsional, default SCWS_XDICT_XPINYIN | SCWS_XDICT_DUALITY)
// SCWS_XDICT_XPINYIN: memecah karakter non-Tionghoa, seperti email, url
// SCWS_XDICT_DUALITY: pemecahan kata ganda (bigram)
// $scws->set_ignore(true); // Apakah tanda baca diabaikan
// $scws->set_multi(SCWS_MULTI_WORD | SCWS_MULTI_ZHONGCI); // Level pemecahan kata ganda
// Teks Tionghoa yang ingin dipecahkan
$text = "ServBay adalah lingkungan pengembangan web lokal yang kuat, mendukung PHP, Node.js dan bermacam database.";
// Kirim teks ke SCWS untuk diproses
$scws->send_text($text);
// Ambil hasil pemecahan kata
echo "Teks asli: " . $text . "\n\n";
echo "Hasil pemecahan kata:\n";
// Loop & ambil seluruh hasil
while ($result = $scws->get_result()) {
foreach ($result as $word) {
// $word adalah array asosiatif: 'word', 'idf', 'attr' (kelas kata) dll
echo "Kata: " . $word['word'] . " (Kelas Kata: " . $word['attr'] . ")\n";
}
}
// Bebaskan resource SCWS
$scws->close();
?>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Simpan kode ini sebagai file .php (misal scws_example.php), letakkan di folder website ServBay (seperti /Applications/ServBay/www/scws-test/), lalu akses https://servbay.demo/scws-test/scws_example.php di browser untuk melihat hasil pemecahan kata.
Catatan Penting
- Pastikan versi SCWS yang diaktifkan kompatibel dengan versi PHP Anda. ServBay sudah mengatur kompatibilitas, namun jika konfigurasi manual, harap diperhatikan.
- Hasil pemecahan kata SCWS sangat bergantung pada kualitas kamus. Untuk sektor tertentu, sebaiknya gunakan atau buat kamus khusus bidang Anda.
- Pastikan pengaturan path file konfigurasi SCWS (
scws.ini), file kamus (.xdb), dan file aturan (.ini) sudah benar dan proses PHP punya izin baca. - Setelah modifikasi konfigurasi PHP, selalu restart paket PHP agar perubahan berlaku.
FAQ (Pertanyaan Umum)
Tanya: Saya sudah aktifkan SCWS di UI ServBay, tetapi belum muncul di phpinfo()?
Jawab: Pastikan Anda restart paket PHP yang tepat. Kadang beberapa versi PHP berjalan bersamaan, pastikan me-restart yang sesuai dengan website Anda. Jika masih bermasalah, lakukan konfigurasi manual di file scws.ini dan cek path beserta sintaksnya.
Tanya: Bagaimana cara membuat dan menggunakan kamus custom?
Jawab: Ikuti bagian “Membuat dan Konfigurasi Kamus SCWS” di atas, gunakan tool scws-gen-dict untuk mengubah kamus teks menjadi xdb, kemudian gunakan add_dict() di kode PHP untuk memuat kamus custom.
Tanya: Untuk apa file aturan SCWS (rules.utf8.ini)?
Jawab: File aturan digunakan untuk penandaan kelas kata dan aturan spesifik pemecahan kata. ServBay sudah menyediakan file default, biasanya tidak perlu diubah.
Kesimpulan
ServBay menyediakan sarana mudah untuk mengaktifkan dan mengelola modul pemecahan kata SCWS di PHP. Baik melalui UI grafis yang intuitif maupun pengaturan konfigurasi manual, pengembang bisa dengan cepat mengintegrasikan SCWS ke workflow pengembangan PHP. Dengan tool dan kamus default SCWS dari ServBay, Anda dapat langsung mengolah teks Tionghoa secara akurat dan efisien—baik untuk fitur pencarian, analisis konten, maupun aplikasi web lainnya. Sebagai bagian dari ekosistem paket ServBay yang lengkap, integrasi SCWS semakin memperkuat ServBay sebagai solusi lingkungan pengembangan lokal yang serba guna dan praktis.
