PHP基于pscws4中文分词

时间:2019-04-03 00:54:19 类型:PHP
字号:    

查询分词是我们经常使用的技术, 实际效果如下:

搜索: 中国人自己的芯片企业在哪里, 分出: 芯片,中国人,哪里,自己,企业

然后我们就可以通过这几个关键词来搜索文章

这里给一个scws方法的使用实例

pscws4类下载地址:http://www.xunsearch.com/scws/down/pscws4-20081221.tar.bz2

辞典文件下载路径:http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2

一. PHP原生应用

require './pscws4/pscws4.class.php';
$pscws = new PSCWS4('utf8');
$pscws->set_dict('./pscws4/dict.utf8.xdb');
$pscws->set_rule('./pscws4/etc/rules.utf8.ini');
$pscws->set_ignore(true);
$text = "南昌雅腾欢迎大家";
$pscws->send_text($text);
$words = $pscws->get_tops(3); //最多取几个
$pscws->close();

$tags = array();
foreach ($words as $val) {
	$tags[] = $val['word'];
}
	
echo  implode(',', $tags);

大家下载的代码, 使用的过程中需要调整的两个bug 

1. 有个异常“Redefining already defined constructor for class PSCWS4”,这是因为__construct要放在同名构造函数之前

 2. 显示的中文为乱码 需要将pscws4.class.php的构造函数修改如下 //function __construct() { $this->PSCWS4(); } function __construct($charset = 'gbk') { $this->PSCWS4($charset); }


二. tp5.0下应用

    1. 将pscws4类及字典放到extend目录下

    2. 控制器函数里面加载