form1.cn
Make a little progress every day

PHP扩展方式使用scws中文分词

08th of March 2017 PHP PHPcode 1472

参考文档:http://www.xunsearch.com/scws/docs.php#phpscws


基本应用

//实例化分词插件核心类
$so = scws_new();
//设置分词时所用编码
$so->set_charset('utf8');
//设置分词所用词典(此处使用utf8的词典)
$so->set_dict('/usr/local/scws12/etc/dict.utf8.xdb');
//设置分词所用规则
$so->set_rule('/usr/local/scws12/etc/rules.utf8.ini');
//分词前去掉标点符号
$so->set_ignore(true);
//是否复式分割,如“中国人”返回“中国+人+中国人”三个词。
//取值可组合 (1)短词 (2)二元(将相邻的2个单字组合成一个词) (4)重要单字 (8)全部单字
$so->set_multi(1);
//$so->set_multi(2);
//如果为 true 则结果中多个单字会自动按二分法聚分,如果为 false 则不处理,缺省为 false
$so->set_duality(true);
//要进行分词的语句  get_result
$so->send_text("陈凯歌并不是《无极》的唯一著作权人");
//获取分词结果,如果提取高频词用get_tops方法(不需要循环调用)
//**注意** get_result每次切词后本函数应该循环调用,直到返回 false 为止,因为程序每次返回的词数是不确定的。
while ($tmp = $so->get_result()) {
    foreach($tmp as $v){$words[] = $v['word'];}
}
$so->close();
echo implode("-",$words);


Linux中php安装SCWS扩展

Linux编译安装SCWS中文分词系统