PHP利用PSCWS4分词,
看看PSCWS4 是何使用的?
import("Org.Util.Pscws.Pscws4");
//这是使用PSCWS4的实例:
$pscws=new \PSCWS4('utf8');
$pscws->set_dict(ROOTPATH.'/Public/Pscws/dict.utf8.xdb');
$pscws->set_rule(ROOTPATH.'/Public/Pscws/rules.utf8.ini');
//分词调用 send_text() 将待分词的字符串传入,
//紧接着循环调用 get_result() 方法取回一系列分好的词
//直到 get_result() 返回 false 为止
//返回的词是一个关联数组, 包含: word 词本身, idf 逆词率(重),
//off 在text中的偏移, len 长度, attr 词性
$text=I("get.title");
$pscws->send_text($text);
$fc=[];
while ($some = $pscws->get_result()){
foreach($some as $sv){
if(mb_strlen($sv['word'],"utf-8")>1){
$fc[]=$sv['word'];
}
}
}
$this->assign("fc",implode(",",$fc));下载文件
如何在Tp中使用:
第一步:把文件放在 ThinkPHP\Library\Org\Util\Pscws
需要建立 Pscws 这个文件夹,把以下两个文件放在这里

第二步:把检索库放在 根目录 /Public/Pscws 这个目录下

第三步:在tp的一个控制器中键入如下代码
import("Org.Util.Pscws.Pscws4");这是引入分词程序
//这是使用PSCWS4的实例:
$pscws=new \PSCWS4('utf8');
$pscws->set_dict(ROOTPATH.'/Public/Pscws/dict.utf8.xdb');
$pscws->set_rule(ROOTPATH.'/Public/Pscws/rules.utf8.ini');
//分词调用 send_text() 将待分词的字符串传入,
//紧接着循环调用 get_result() 方法取回一系列分好的词
//直到 get_result() 返回 false 为止
//返回的词是一个关联数组, 包含: word 词本身, idf 逆词率(重),
//off 在text中的偏移, len 长度, attr 词性
$text=I("get.title");
$pscws->send_text($text);
$fc=[];
while ($some = $pscws->get_result()){
foreach($some as $sv){
if(mb_strlen($sv['word'],"utf-8")>1){
$fc[]=$sv['word'];
}
}
}
$this->assign("fc",implode(",",$fc));
把所有的关键字,存储在 fc 中。
使用 print_r($fc); 检测拆分好的词组。
$text="我是中国人";

这是结果,对于一个字来说,我们划分词组是没有意义的,因此有这么一段话:
if(mb_strlen($sv['word'],"utf-8")>1){
$fc[]=$sv['word'];
}如果字数不大于1 就不要返回了,返回来也是一个字,没意义。
如果这段代码加上后,就得到一个词:中国人