SCWS(Simple Chinese Word Segmentation)是高效能中文分詞庫,本文記錄從原始碼編譯 SCWS 核心庫與 PHP 擴展的完整流程。
wget https://www.ftphp.com/scws/down/scws-1.2.0.tar.bz2
tar jxf scws-1.2.0.tar.bz2 && cd scws-1.2.0
./configure --prefix=/opt/scws
make && make install
cd phpext/
/opt/php-5.3.8/bin/phpize
./configure --with-scws=/opt/scws --with-php-config=/opt/php-5.3.8/bin/php-config
make && make install
vim /opt/php-5.3.8/etc/php.ini
extension = "scws.so"
/etc/init.d/php-fpm restart
$scws = new SCWS();
$scws->set_charset('utf-8');
$scws->set_dict('/opt/scws/etc/dict.utf8.xdb');
$scws->set_rule('/opt/scws/etc/rules.utf8.ini');
$scws->send_text('這是一個中文分詞測試');
while ($res = $scws->get_result()) {
print_r($res); // Array([word]=>'這是', [idf]=>3.2, [attr]=>'r', ...)
}
$scws->close();
phpize 版本不符:確認使用目標 PHP 環境的 phpizescws.h:--with-scws 指向 --prefix 安裝路徑etc/ 下需有 dict.utf8.xdb、rules.utf8.iniSCWS 分詞速度快、支援自定義詞典與詞性標註,適合搜尋引擎、關鍵字提取、文本分析等中文 NLP 場景。