导语
关于分词,现在有很多解决方法,根据自己需要进行选择。项目中用到了 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 下的安装方法。