您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Thinkphp32使用scws中文分词 提取关键词

2025/10/14 18:32:24发布25次查看
scws 是 simple chinese word segmentation 的首字母缩写(即:简易中文分词系统)。
1.下载scws官方提供的类(这里使用的是pscws第四版的)
http://www.xunsearch.com/scws/down/pscws4-20081221.tar.bz2
下载xdb 词典文件 (这里使用的是utf8简体中文词典包)
http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2
2.解压scws类pscws.class.php(这里我把pscws4.class.php文件名换成了pscws.class.php)和xdb_r.class.php(这里我把xdb_r.class.php文件名换成了大写的xdb_r.class.php)放到thinkphp\library\org\util目录下面。
3.然后修改pscws.class.php
加入命名空间
1 namespace org\util;
将类的名称改为pscws
把require_once (dirname(__file__) . '/xbd_r.class.php');这段代码删除掉。
修改xdb_r.class.php
加入命名空间
namespace org\util;
4.解压xdb 词典文件
在public\admin目录下新建一个dict文件夹,然后将xdb 词典文件的dict.utf8.xdb解压到词目录下,再把scws类中的etc下面的rules.utf8.ini放到此目录下面。
5.在入口文件加入一行常量定义代码(其实就是定义词典文件和配置文件的路径)
define("conf_path", dirname(__file__)."/public/admin/dict/");
6.在indexcontroller.class.php控制器里面建立一个私有方法,供其他方法调用
/** * 中文分词 * @params string $title 需要分词的语句 * @params int $num 分词个数,默认不用填写 **/ private function get_tags($title,$num=null){ $pscws = new \org\util\pscws('utf8'); $pscws->set_dict(conf_path . 'dict.utf8.xdb'); $pscws->set_rule(conf_path . 'rules.utf8.ini'); $pscws->set_ignore(true); $pscws->send_text($title); $words = $pscws->get_tops($num); $pscws->close(); $tags = array(); foreach ($words as $val) { $tags[] = $val['word']; } return implode(',', $tags); } /** * 商品搜索结果页 **/ public function search(){ $rzt=$this->get_tags("新款 牛漆皮小尖头直跟高跟单鞋910033 灰羊猄(7.31发货) 39"); print_r($rzt); }
显示的结果为:
漆皮,单鞋,尖头,高跟,新款,发货,910033,7.31,39
以上就介绍了thinkphp32使用scws中文分词 提取关键词,包括了require方面的内容,希望对php教程有兴趣的朋友有所帮助。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product