1

导语

关于分词,现在有很多解决方法,根据自己需要进行选择。项目中用到了 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, ',');// 安能,摧眉折腰,摧眉,眉折,折腰,事,权贵,使我,我,不得,开心,颜

参考资料:SCWSSCWS分词扩展在windows下的安装方法


Haoyuqi
469 声望23 粉丝

PHPer