SCWS Pemotongan Kata Mandarin di ServBay: Panduan Instalasi, Konfigurasi & Penggunaan
ServBay sebagai lingkungan pengembangan web lokal yang tangguh, sudah terintegrasi dengan berbagai alat bantu dan paket perangkat lunak yang umum digunakan oleh pengembang. SCWS (Simple Chinese Word Segmentation) adalah sistem pemotongan kata Mandarin berperforma tinggi yang sangat penting untuk pemrosesan teks Mandarin—seperti dalam pencarian, pemrosesan bahasa alami, analisis konten, dan lainnya. ServBay sudah membekali Anda dengan SCWS beserta modul PHP-nya, sehingga tidak perlu instalasi yang rumit. Panduan ini akan membimbing Anda secara rinci mengenai cara konfigurasi dan penggunaan SCWS di lingkungan ServBay, baik melalui command line maupun API PHP.
Ringkasan
SCWS merupakan library pemotongan kata Mandarin dengan performa tinggi, khusus dikembangkan untuk skenario yang membutuhkan pemrosesan kata secara cepat dan akurat pada sejumlah besar data teks Mandarin. SCWS mendukung berbagai mode pemotongan, kamus dan aturan kustom, sehingga menjadi alat dasar untuk membangun aplikasi pencarian Mandarin, rekomendasi konten, analisis teks, dan sebagainya. ServBay sudah mengintegrasikan SCWS ke dalam paketnya, juga menyediakan ekstensi PHP yang sudah terkompilasi sebelumnya, sehingga penggunaan SCWS dalam lingkungan lokal menjadi sangat sederhana.
Prasyarat
- Anda telah berhasil menginstal dan menjalankan ServBay pada sistem operasi macOS.
Instalasi & Konfigurasi
Instalasi
ServBay dirancang dengan prinsip menyediakan lingkungan pengembangan yang langsung siap pakai (out-of-the-box). Sebagai alat pengolah bahasa Mandarin yang penting, SCWS sudah tersedia dan terinstal sebagai bagian dari ServBay. Anda tidak perlu unduhan atau kompilasi tambahan apa pun. Berkas executable, file konfigurasi, serta kamus dan lain-lain sudah dikelola secara terpadu di direktori instalasi ServBay, dengan lokasi default biasanya di /Applications/ServBay/
.
Konfigurasi
File konfigurasi default untuk SCWS terletak di /Applications/ServBay/etc/scws/scws.ini
pada direktori instalasi ServBay. Anda dapat mengedit file ini sesuai kebutuhan untuk menyesuaikan perilaku pemotongan, charset, kamus, dan pengaturan lainnya.
Contoh isi file konfigurasi default:
ini
[charset]
default = utf8
[rule]
rules = /Applications/ServBay/etc/scws/rules.ini
[dict]
dict = /Applications/ServBay/etc/scws/dict.utf8.xdb
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
[charset]
: Menentukan charset default, biasanya biarkan padautf8
.[rule]
: Menunjukkan path ke file aturan pemotongan.[dict]
: Menentukan path file kamus. Anda dapat mencantumkan beberapa file kamus, dipisahkan dengan koma,
.
Penggunaan Dasar: Command Line Tool
SCWS menyediakan tool command line yang kuat bernama scws
, memudahkan Anda untuk menguji pemotongan teks secara langsung di Terminal atau melakukan pemrosesan massal. ServBay sudah menyertakan file executable scws
pada direktori bin
-nya; biasanya /Applications/ServBay/bin
sudah ditambahkan ke PATH sistem, jadi Anda bisa langsung memanggil perintah scws
di terminal.
Contoh Pemotongan Kata
Berikut adalah beberapa contoh dasar menggunakan alat command line scws
:
Memotong Kata dari Sebuah String
Salurkan string ke perintah scws
melalui pipe:
bash
echo "这是一个中文分词的例子" | scws -i
1
Memotong Kata dari File
Gunakan opsi -i
untuk menentukan file input, dan -o
untuk file output:
bash
scws -i input.txt -o output.txt
1
Menggunakan Aturan Pemotongan Khusus
Gunakan parameter -r
untuk menentukan path file aturan kustom:
bash
scws -i input.txt -o output.txt -r /path/to/your/rules.ini
1
Menentukan Kamus Khusus
Gunakan parameter -d
untuk menentukan path file kamus kustom:
bash
scws -i input.txt -o output.txt -d /path/to/your/dict.utf8.xdb
1
Penggunaan Lanjutan
Kamus Kustom
Untuk meningkatkan akurasi pemotongan, terutama dalam menangani istilah industri, nama orang, tempat, atau kosa kata baru, Anda dapat membuat kamus sendiri. SCWS menggunakan format kamus xdb
yang efisien. Anda bisa menggunakan alat scws-gen
(tersedia di direktori bin
ServBay) untuk mengubah file teks menjadi file kamus berformat xdb
.
Langkah-langkah Membuat Kamus Kustom:
Buat file teks, misalnya
custom_dict.txt
. Setiap baris berisi satu kata, boleh juga ditambah bobot (angka) setelah spasi untuk mempengaruhi prioritas pemotongan.ServBay 10 Lingkungan Pengembangan Lokal 8 Pemotongan Kata Mandarin 9
1
2
3Gunakan
scws-gen
untuk menghasilkan file kamus formatxdb
. Alat ini juga berada di direktoribin
ServBay.bashscws-gen -i custom_dict.txt -o custom_dict.xdb
1Edit file konfigurasi SCWS
/Applications/ServBay/etc/scws/scws.ini
pada bagian[dict]
, tambahkan path kamus Anda setelah kamus default, pisahkan menggunakan koma,
.ini[dict] dict = /Applications/ServBay/etc/scws/dict.utf8.xdb,/path/to/your/custom_dict.xdb
1
2Pastikan
/path/to/your/custom_dict.xdb
sesuai dengan lokasi sebenarnya dari kamus kustom Anda.
Penyesuaian Aturan Pemotongan
File aturan (default: /Applications/ServBay/etc/scws/rules.ini
) mendefinisikan bagaimana SCWS memproses struktur Mandarin yang ambigu atau kompleks. Pengubahan file aturan biasanya memerlukan pemahaman yang cukup tentang algoritma pemotongan kata SCWS. Untuk sebagian besar pengguna, aturan default beserta kamus kustom sudah mencukupi. Jika Anda membutuhkan penyesuaian lebih lanjut, lakukan dengan hati-hati dan konsultasikan dokumentasi resmi SCWS (jika tersedia di versi SCWS yang disertakan ServBay).
Contoh isi file aturan (umumnya berisi aturan pola pencocokan):
ini
[rule]
# Tambahkan aturan pemotongan kustom di sini
# Contoh: menetapkan aturan sederhana
# pattern = result
1
2
3
4
2
3
4
Penggunaan API PHP
Untuk pengembang web berbasis PHP, lingkungan PHP bawaan ServBay sudah dilengkapi modul ekstensi SCWS. Artinya, Anda tidak perlu melakukan instalasi atau konfigurasi ekstensi tambahan; Anda bisa langsung memanggil API SCWS pada kode PHP Anda.
Anda dapat memverifikasi aktifnya ekstensi SCWS melalui halaman phpinfo()
bawaan ServBay.
Contoh Penggunaan
Berikut contoh skrip PHP sederhana yang memanfaatkan API SCWS untuk pemotongan kata:
php
<?php
// Pastikan ekstensi SCWS sudah dimuat
if (!extension_loaded('scws')) {
die("Ekstensi SCWS belum dimuat.");
}
// Teks yang akan dipotong
$text = "ServBay 是一款强大的本地 Web 开发环境,支持 PHP、Node.js、Python 等多种语言,并集成了 MySQL、Nginx 等软件包。";
// Membuka instance pemotong kata SCWS
$sh = scws_open();
// Mengatur charset; sebaiknya selaras dengan encoding teks Anda
scws_set_charset($sh, 'utf8');
// Mengatur path kamus dan aturan pemotongan
// Pastikan path di bawah ini sesuai dengan file SCWS di lingkungan ServBay Anda
$dict_path = '/Applications/ServBay/etc/scws/dict.utf8.xdb';
$rule_path = '/Applications/ServBay/etc/scws/rules.ini';
if (!file_exists($dict_path)) {
die("File kamus SCWS tidak ditemukan: " . $dict_path);
}
if (!file_exists($rule_path)) {
die("File aturan SCWS tidak ditemukan: " . $rule_path);
}
scws_set_dict($sh, $dict_path);
scws_set_rule($sh, $rule_path);
// Kirim teks yang akan dipotong ke instance SCWS
scws_send_text($sh, $text);
// Ambil hasil pemotongan
echo "Teks Asli: " . $text . "\n";
echo "Hasil Pemotongan:\n";
// Ambil hasilnya secara bertahap dan tampilkan
// $res adalah array, tiap elemen mewakili satu hasil pemotongan (kata, jenis kata, dsb.)
while ($res = scws_get_result($sh)) {
foreach ($res as $word_info) {
// Cetak kata yang ditemukan
echo $word_info['word'] . " ";
// Jika perlu, juga bisa menampilkan jenis kata, bobot, dsb. misal:
// echo "Kata: " . $word_info['word'] . ", Jenis: " . $word_info['attr'] . ", Bobot: " . $word_info['idf'] . "\n";
}
}
echo "\n";
// Tutup instance SCWS dan bebaskan resource
scws_close($sh);
?>
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
, misalnya segment_test.php
, lalu letakkan di bawah root website ServBay Anda, misalnya /Applications/ServBay/www/servbay.demo/
(misal Anda punya konfigurasi website servbay.demo
). Anda bisa mengakses file tersebut melalui browser atau menjalankannya dengan PHP CLI di terminal untuk melihat hasil pemotongan.
Fungsi-Fungsi Utama
Berikut beberapa fungsi utama dalam ekstensi PHP SCWS:
scws_open()
: Membuka instance pemotongan kata SCWS. Jika berhasil, mengembalikan handle resource, jika gagal mengembalikanfalse
.scws_set_charset($sh, $charset)
: Mengatur charset pada instance$sh
.scws_set_dict($sh, $dict_path, $mode = SCWS_XDICT_TXT)
: Mengatur path kamus pada instance$sh
. Opsi$mode
untuk menentukan format kamus (disarankan langsung menggunakan filexdb
).scws_set_rule($sh, $rule_path)
: Mengatur path file aturan pemotongan pada instance$sh
.scws_send_text($sh, $text)
: Mengirimkan teks yang akan dipotong ke pemotong kata$sh
.scws_get_result($sh)
: Mengambil hasil pemotongan dari instance$sh
. Setiap pemanggilan mengembalikan array hasil, sampai habis akan mengembalikanfalse
.scws_close($sh)
: Menutup instance dan membebaskan semua resource.
Untuk fungsi lanjutan (misal mengabaikan tanda baca, mode segmentasi, mendapatkan bobot kata, dll.) silakan baca dokumentasi resmi ekstensi PHP SCWS.
Tanya Jawab Umum (FAQ)
1. Hasil pemotongan SCWS kurang akurat?
- Solusi: Periksa terlebih dahulu konfigurasi di
/Applications/ServBay/etc/scws/scws.ini
—pastikan path kamus (dict
) dan aturan (rule
) tepat dan file-nya bisa diakses. Untuk teks bidang khusus atau istilah baru, gunakan kamus kustom (scws-gen
untuk membuat filexdb
) lalu tambahkan ke konfigurasi. Penyesuaian bobot atau aturan bisa membantu, tapi ini memerlukan pemahaman lebih lanjut.
2. SCWS berjalan lambat/berkinerja buruk?
- Solusi: Pastikan SCWS menggunakan kamus berformat
xdb
(lebih cepat dari format teks biasa). Atur path kamus pada file konfigurasi mengarah ke filexdb
. Untuk teks yang sangat besar, lakukan pemrosesan secara bertahap (chunking).
3. Tools command line SCWS tidak ditemukan/dijalankan?
- Solusi: Biasanya disebabkan PATH direktori
bin
ServBay belum masuk PATH lingkungan sistem. Jalankan dengan path lengkap, misal/Applications/ServBay/bin/scws -i ...
, atau tambahkan/Applications/ServBay/bin
ke PATH di konfigurasi shell Anda (~/.bash_profile
,~/.zshrc
, dll.), lalu reload konfigurasi/terminal.
4. Gagal memanggil scws_open()
di PHP/ fungsi tidak ditemukan?
- Solusi: Artinya ekstensi PHP SCWS belum aktif di environment ServBay Anda. Konfirmasi versi PHP yang dipakai via panel ServBay lalu periksa
phpinfo()
apakah modulscws
muncul. Jika tidak, cek file konfigurasi PHP (php.ini
) pastikan ada barisextension=scws.so
, dan filescws.so
ada di direktori ekstensi. Jika tetap bermasalah, cobalah restart layanan ServBay.
Ringkasan
SCWS adalah sistem pemotongan kata Mandarin yang sangat tangguh dan efisien. Dengan integrasi dari paket ServBay dan ekstensi PHP bawaannya, para pengembang dapat menginstal, mengatur, dan memakai SCWS secara mudah di lingkungan lokal macOS—baik untuk pemrosesan teks lewat command line, maupun segementasi kata secara dinamis pada aplikasi PHP Anda. Ikuti panduan ini untuk mulai mengimplementasikan SCWS di proyek Anda serta meningkatkan kemampuan pemrosesan teks Mandarin.