Cara Mengaktifkan dan Mengonfigurasi Modul SCWS PHP di ServBay
ServBay adalah lingkungan pengembangan web lokal yang kuat untuk macOS dan Windows, menyediakan integrasi berbagai runtime seperti PHP, Node.js, Python, Go, dan Java, serta mendukung basis data seperti MySQL, PostgreSQL, MongoDB, Redis, dan web server seperti Caddy dan Nginx. Untuk developer yang membutuhkan pemrosesan teks bahasa Mandarin di aplikasi PHP, ServBay sudah menyediakan SCWS (Simple Chinese Word Segmentation) — modul segmentasi kata Mandarin yang efisien dan mudah diaktifkan.
Dokumen ini akan membahas secara detail langkah mengaktifkan ekstensi SCWS PHP, mengkonfigurasi file kamus, dan contoh kode tentang cara menggunakannya di ServBay.
Sekilas Modul SCWS
SCWS adalah mesin segmentasi kata Mandarin open-source yang terkenal dengan performa dan akurasinya yang tinggi. SCWS menggunakan gabungan model pencocokan kamus dan statistik, sehingga dapat memproses segmentasi kata Mandarin secara cepat dan akurat—ideal untuk mesin pencari Mandarin, text mining, analisis konten, ekstraksi kata kunci, dan pelabelan jenis kata.
Fitur Utama
- Segmentasi Berperforma Tinggi: SCWS menggunakan algoritma segmentasi yang dioptimalkan untuk memproses data teks Mandarin berukuran besar dengan efisiensi tinggi.
- Akurasi Tinggi: Dengan gabungan kamus dan model statistik, SCWS menawarkan hasil segmentasi yang sangat akurat pada tugas teks Mandarin.
- Fitur Lengkap: Mendukung lebih dari sekedar segmentasi teks—termasuk ekstraksi kata kunci dan fitur pelabelan jenis kata tingkat lanjut.
- Mudah Integrasi: API yang ringkas dan mudah digunakan memudahkan developer memasukkan SCWS ke aplikasi PHP.
- Open-Source dan Gratis: SCWS bersifat open-source, dapat digunakan gratis serta bisa diubah sesuai kebutuhan.
Versi SCWS yang Tersedia di ServBay
ServBay mendukung banyak versi PHP dan setiap versi sudah dipasangkan SCWS yang sesuai. Hingga dokumen ini dibuat, ServBay sudah memiliki ekstensi SCWS 1.2.3 untuk PHP 5.6 hingga PHP 8.4.
Cara Mengaktifkan Modul SCWS
Secara default, modul SCWS dinonaktifkan di ServBay. Aktivasi bisa dilakukan melalui dua cara: UI grafis ServBay atau dengan edit file konfigurasi secara manual.
Cara yang Direkomendasikan: Aktivasi Melalui UI Grafis ServBay
Cara ini adalah yang paling mudah dan cepat:
- Buka antarmuka utama ServBay.
- Di bagian navigasi kiri, klik Bahasa (Languages) lalu pilih PHP.
- Di daftar versi PHP sebelah kanan, cari versi PHP yang ingin Anda aktifkan SCWS-nya (misal,
PHP 8.4
). - Klik tombol Ekstensi (Extensions) di sebelah versi PHP tersebut.
- Temukan modul
SCWS
pada daftar ekstensi yang muncul. - Aktifkan modul SCWS dengan menekan tombol di sebelah kiri (biasanya akan berubah warna menjadi hijau).
- Klik tombol Simpan (Save) di bagian bawah jendela.
- ServBay akan meminta Anda untuk me-restart paket PHP agar perubahan berlaku. Tekan tombol Restart (Restart).
Setelah langkah ini, modul SCWS sudah aktif di versi PHP yang Anda pilih.
Cara Manual: Mengedit File Konfigurasi (Untuk Pengguna Advanced atau Troubleshooting)
Untuk kontrol lebih mendalam atau jika terjadi masalah, Anda bisa mengedit file konfigurasi PHP langsung:
Cari File Konfigurasi: Cari direktori
conf.d
untuk versi PHP yang digunakan. Konfigurasi SCWS ada di filescws.ini
pada direktori tersebut. Umumnya berada di:/Applications/ServBay/etc/php/X.Y/conf.d/scws.ini
1Ganti
X.Y
dengan versi PHP yang Anda gunakan, contoh8.4
.Edit File
scws.ini
: Buka file ini dengan editor teks. Temukan:ini[scws] ; Uncomment the following line to enable scws ;extension = scws.so ;scws.default.charset = gbk ;scws.default.fpath = /Applications/ServBay/etc/scws
1
2
3
4
5Hilangkan tanda titik koma (
;
) di depanextension = scws.so
agar menjadi:ini[scws] ; Uncomment the following line to enable scws extension = scws.so ;scws.default.charset = gbk ;scws.default.fpath = /Applications/ServBay/etc/scws
1
2
3
4
5(Opsional) Anda bisa menentukan charset dan path kamus default di sini—namun biasanya lebih fleksibel mengaturnya via kode PHP. Jika perlu mengedit, hilangkan komentar pada baris tersebut dan ganti nilainya. Misal, untuk UTF-8:
ini[scws] ; Uncomment the following line to enable scws extension = scws.so scws.default.charset = utf8 scws.default.fpath = /Applications/ServBay/etc/scws
1
2
3
4
5Simpan dan tutup file
scws.ini
.Restart Paket PHP: Buka UI utama ServBay, arahkan ke Paket (Packages), cari versi PHP yang baru saja dikonfigurasi (misal, PHP 8.4), dan tekan tombol restart (ikon panah melingkar).
Memastikan Modul SCWS Sudah Berfungsi
Setelah aktivasi, penting untuk memeriksa apakah modul benar-benar sudah aktif. Cara yang paling umum adalah dengan melihat output phpinfo()
pada PHP:
- Di folder root website ServBay
/Applications/ServBay/www
, buat sub-direktori baru untuk pengujian, misalscws-test
. - Di
/Applications/ServBay/www/scws-test
, buat filephpinfo.php
. - Masukkan kode PHP berikut ke dalam file tersebut:php
<?php phpinfo(); ?>
1
2
3 - Pastikan web server Anda di ServBay (misal Caddy atau Nginx) sudah dikonfigurasi dan running, dan dapat melayani folder
/Applications/ServBay/www
. Secara default, ServBay menyediakan domainservbay.demo
untuk tujuan ini. - Akses
https://servbay.demo/scws-test/phpinfo.php
di browser Anda. - Di halaman hasil, cari bagian "SCWS". Jika Anda menemukan konfigurasi dan info terkait SCWS (misal versi, opsi konfigurasi), artinya modul sudah aktif.
(Catatan: Path gambar sebagai contoh, silakan cek dokumentasi ServBay untuk path yang sesuai)
Membuat dan Mengatur Kamus SCWS
SCWS mengandalkan kamus dalam proses segmentasi. ServBay sudah menyediakan kamus dan file aturan default SCWS, yang biasanya ada di /Applications/ServBay/etc/scws
. Anda juga bisa membuat kamus versi Anda sendiri.
Format File Kamus SCWS
SCWS mendukung format kamus teks biasa dan xdb (biner). Format xdb direkomendasikan karena lebih cepat dan ringan di memori.
Format kamus teks biasa adalah:
Kata1 [frekuensi1] [jenis_kata1]
Kata2 [frekuensi2] [jenis_kata2]
...
1
2
3
2
3
Contoh:
Kecerdasan Buatan 1000 n
Pemrosesan Bahasa Alami 800 n
ServBay 500 nz
1
2
3
2
3
Simpan daftar kata Anda sebagai file teks, misal my_dict.txt
. Pastikan encoding file sesuai dengan charset yang Anda inginkan (disarankan UTF-8).
Membuat File Kamus Format xdb
ServBay sudah menyediakan utilitas scws-gen-dict
dari SCWS untuk mengubah kamus teks menjadi xdb.
- Buka Terminal di macOS.
- Masuk ke folder bin ServBay dengan
cd
, atau gunakan path penuh untuk tool tersebut, biasanya 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 utf8
1/path/to/your/my_dict.txt
sesuai lokasi kamus Anda. Gunakan parameter-o
untuk output file xdb (sebaiknya ditempatkan di/Applications/ServBay/etc/scws
).-c utf8
menentukan encoding input.
Mengonfigurasi SCWS untuk Menggunakan File Kamus
Setelah file xdb dibuat, Anda bisa mengatur SCWS agar memakai kamus tersebut lewat kode PHP:
php
<?php
$scws = scws_new();
$scws->set_charset('utf8'); // set charset, harus sama dengan encoding kamus
// set_dict() untuk kamus utama, bisa pakai kamus default ServBay atau file xdb custom Anda
$scws->set_dict('/Applications/ServBay/etc/scws/dict.utf8.xdb');
// Jika punya beberapa kamus, bisa ditambahkan
$scws->add_dict('/Applications/ServBay/etc/scws/my_dict.utf8.xdb', SCWS_XDICT_TXT); // SCWS_XDICT_TXT untuk menambah kamus kustom
$scws->set_rule('/Applications/ServBay/etc/scws/rules.utf8.ini'); // file aturan, sudah disediakan oleh ServBay
// ... operasi segmentasi selanjutnya ...
?>
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 kamus utama (biasanya kamus resmi SCWS). add_dict()
untuk menambah kamus buatan Anda. SCWS_XDICT_TXT
adalah konstanta, menandakan penambahan kamus kustom.
Contoh Penggunaan SCWS
Setelah modul SCWS aktif dan kamus siap, Anda bisa langsung memanggil fungsi SCWS di kode PHP. Berikut contoh dasar penggunaannya:
php
<?php
// Pastikan ekstensi SCWS sudah aktif
if (!extension_loaded('scws')) {
die('Ekstensi SCWS belum diaktifkan.');
}
// Inisialisasi objek SCWS
$scws = scws_new();
if (!$scws) {
die('Gagal inisialisasi SCWS.');
}
// Set charset (harus sesuai encoding teks dan kamus)
$scws->set_charset('utf8');
// Tetapkan path file kamus (ServBay sudah menyediakan)
// set_dict() untuk kamus utama
$scws->set_dict('/Applications/ServBay/etc/scws/dict.utf8.xdb');
// add_dict() bisa dipakai menambah kamus custom buatan Anda
// $scws->add_dict('/Applications/ServBay/etc/scws/my_dict.utf8.xdb', SCWS_XDICT_TXT);
// Set aturan pelabelan jenis kata (ServBay sudah menyediakan file rules)
$scws->set_rule('/Applications/ServBay/etc/scws/rules.utf8.ini');
// Atur mode segmentasi (opsional, default: SCWS_XDICT_XPINYIN | SCWS_XDICT_DUALITY)
// SCWS_XDICT_XPINYIN: pisahkan karakter x (bukan Mandarin), seperti email, url
// SCWS_XDICT_DUALITY: segmentasi komposit (bigram)
// $scws->set_ignore(true); // abaikan tanda baca
// $scws->set_multi(SCWS_MULTI_WORD | SCWS_MULTI_ZHONGCI); // atur segmentasi multi level
// Teks Mandarin untuk di-segmentasi
$text = "ServBay adalah lingkungan pengembangan web lokal yang kuat, mendukung PHP, Node.js, dan berbagai database.";
// Kirim teks untuk diproses SCWS
$scws->send_text($text);
// Ambil hasil segmentasi
echo "Teks asli: " . $text . "\n\n";
echo "Hasil segmentasi:\n";
// Loop hasil segmentasi
while ($result = $scws->get_result()) {
foreach ($result as $word) {
// $word adalah array asosiatif dengan 'word', 'idf', 'attr' (jenis kata), dll
echo "Kata: " . $word['word'] . " (Jenis: " . $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 di atas sebagai file .php
(misal scws_example.php
) dan taruh di folder website ServBay (misal /Applications/ServBay/www/scws-test/
). Buka di browser melalui https://servbay.demo/scws-test/scws_example.php
untuk melihat output segmentasi.
Hal yang Perlu Diperhatikan
- Pastikan versi modul SCWS yang aktif sesuai dengan versi PHP yang digunakan. ServBay sudah menangani kompatibilitas, namun jika konfigurasi manual, cek dengan teliti.
- Kualitas hasil segmentasi SCWS sangat bergantung pada kualitas kamus. Untuk teks bidang tertentu, sebaiknya gunakan atau buat kamus khusus bidang tersebut.
- Pastikan path konfigurasi SCWS (
scws.ini
), file kamus (.xdb
), dan file aturan (.ini
) sudah benar dan PHP memiliki hak akses membaca file. - Setelah mengubah konfigurasi PHP, selalu restart paket PHP agar perubahan berlaku.
FAQ (Pertanyaan yang Sering Diajukan)
Q: Saya sudah aktifkan SCWS lewat UI ServBay, tapi tidak muncul di phpinfo()
?
A: Pastikan Anda merestart paket PHP yang benar. Kadang ada beberapa versi PHP yang berjalan, Anda perlu restart versi yang terhubung ke website Anda. Jika tetap tidak berfungsi, coba edit manual file scws.ini
, cek path dan pastikan tidak ada syntax error.
Q: Bagaimana cara membuat dan menggunakan kamus kustom?
A: Silakan baca bagian “Membuat dan Mengatur Kamus SCWS” di dokumen ini; gunakan tool scws-gen-dict
untuk mengubah kamus teks ke xdb, lalu tambahkan dengan metode add_dict()
di PHP.
Q: Untuk apa file aturan SCWS (rules.utf8.ini
)?
A: File aturan digunakan untuk pelabelan jenis kata dan aturan segmentasi khusus. ServBay sudah menyediakan aturan default, sehingga biasanya tidak perlu diubah.
Ringkasan
ServBay memudahkan developer dalam mengaktifkan dan mengelola modul segmentasi kata Mandarin SCWS untuk PHP. Anda bisa aktifkan lewat UI yang intuitif ataupun konfigurasi manual sesuai kebutuhan. Dipadu dengan tool SCWS dan kamus bawaannya, developer dapat dengan cepat memproses, menganalisis, dan mengintegrasikan pemrosesan bahasa Mandarin ke aplikasi web seperti mesin pencari dan analisis konten. Sebagai bagian dari ekosistem paket ServBay, fitur SCWS menambah kekuatan ServBay sebagai lingkungan dev lokal yang lengkap dan praktis.