导语
关于分词,现在有很多解决方法,根据自己需要进行选择。项目中用到了 SCWS ,安装好记录下。
SCWS
SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统)。
这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成词。
如上,SCWS 是一套分词系统。虽然这套系统可能有些过时,算法不是很精确,但在某些特定场合还是比较实用的
下载扩展
首先根据自己的 PHP 版本,下载相应的扩展。
下载完成后,将 php_scws.dll 放到 PHP 安装目录的 etc/ 下。
下载规则集文件和词典文件
首先新建目录,用于存放规则集文件和词典文件。如:D:/scws/ 。
然后在这里下载规则集文件,下载后解压,将 etc/ 目录中的 *.ini 文件放到 D:/scws/ 中。
接着在这里下载词典文件,将 *.xdb 文件放到 D:/scws/ 中。
修改 php.ini
在 pnp.ini 中添加 extension=php_scws.dll,同时可以写上配置参数:scws.default.fpath = "D:/scws/" 。
测试
到此如果一切顺利便安装成功,下面进行测试
<?php
$string = '安能摧眉折腰事权贵,使我不得开心颜';
$data = '';
$obj = scws_new();
$obj->set_charset('utf8');
$obj->add_dict(ini_get('scws.default.fpath') . '/dict.utf8.xdb');
$obj->set_rule(ini_get('scws.default.fpath') . '/rules.utf8.ini');
$obj->set_duality(true);
$obj->set_ignore(true);
$obj->set_multi(2);
$obj->send_text($string);
$array = $obj->get_result();
foreach ($array as $key => $value) {
$data .= $value['word'] . ',';
}
echo rtrim($data, ',');// 安能,摧眉折腰,摧眉,眉折,折腰,事,权贵,使我,我,不得,开心,颜
参考资料:SCWS、SCWS分词扩展在windows下的安装方法。