php scws 如何,PHP中文分词引擎scws使用说明

由于项目需要用到中文分词,特地在网上搜寻一番,发现scws这个中文分词引擎调用比较方便,支持api调用、php无扩展调用及php扩展方式调用等。

还支持自定义词典等用法。

以下是php无扩展调用方法

 
 

/**

* API方式调用分词引擎功能

* @param $title string 要分词的原文

* @param $return_type string 返回的格式(detail:详细的分词数据,string:分词后拼接的字符串)

* @return

*/

function get_tags_api($title,$return_type='detail'){

$url='http://www.xunsearch.com/scws/api.php';

//http://bbs.xunsearch.com/showthread.php?tid=1235 关于词典中的词性标注

// data 需要分词的字符串(*必须*)

// respond 响应结果格式(其值为: php/json/xml, 默认为 php,其中 php是指用php序列化后的结果)

// charset 待分词的字符串编码(gbk/utf8,默认是utf8)

// ignore 是否忽略标点符号(yes/no,默认为 no)

// duality 是否散字自动二元(yes/no,默认为 no)

// traditional 是否采用繁体字库(yes/no,默认为 no,仅当 charset 为 utf8 时有效)

// multi 复合分词的级别(整数值 1~15:0x01-最短词;0x02-二元;0x04-重要单字;0x08-全部单字) 默认为0,如有需要建议设置为 3

$post=array(

'data'=>$title,

'respond'=>'json'

);

$ch = curl_init($url);

curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);

if(is_array($post))$post =http_build_query($post);

curl_setopt($ch,CURLOPT_POST, 1);

curl_setopt($ch,CURLOPT_POSTFIELDS, $post);

$result = curl_exec($ch);

// $error = curl_error($ch);

// $info = curl_getinfo($ch);

curl_close($ch);

// $result = $this->file_get($url ,null,$post);

$result = json_decode($result,true);

if($return_type=='string'){

$tags=array();

if($result['status']=='ok'){

foreach($result['words'] as $v){

$tags[]=$v['word'];

}

}

return implode(',',$tags);

}

return $result;

}

/**

* PHP直接方式调用分词引擎功能

* @param $title string 要分词的原文

* @param $return_type string 返回的格式(detail:详细的分词数据,string:分词后拼接的字符串)

* @return

*/

function get_tags($title,$return_type='detail'){

require_once(DIR_SYSTEM.'library/pscws4/pscws4.class.php');

$CONF_PATH = DIR_SYSTEM.'library/pscws4/etc/';

$num=null;

$pscws = new PSCWS4('utf8');

$pscws -> set_charset('utf-8');

$pscws->set_dict($CONF_PATH . 'dict.utf8.xdb');

$pscws->set_rule($CONF_PATH . 'rules.utf8.ini');

// $pscws->set_rule($CONF_PATH . 'rules_cht.utf8.ini');

$pscws->set_ignore(true);

$pscws->send_text($title);

// $words = array();

// while ($tmpa = $pscws->get_result()){

// var_dump($tmpa);

// }

// exit();

// $words = $pscws->get_tops($num);

$words = $pscws -> get_tops($num, 'r,v,p');

$pscws->close();

$tags = array();

foreach($words as $k=>$word){

$words[$k]['attr'] = trim($word['attr']);

}

if($return_type=='string'){

$tags=array();

foreach($words as $v){

$tags[]=$v['word'];

}

return implode(',',$tags);

}

return ($words);

}

$title ='儿童内裤男纯棉平角裤 儿童短裤中大童内裤男童12-15岁男孩青少年';

$title ='LOGMU中老年羽绒裤男高腰内外穿加厚大码羽绒裤内胆冬季棉裤';

// $title = '里约奥运洪荒之力';

// exit();

// $title ='儿童内裤男纯棉平角裤 儿童短裤中大童内裤男童12-15岁男孩青少年';

$title1 = get_tags($title,'string');

$title2 = get_tags_api($title,'string');

$title1s = get_tags($title,'detail');

$title2s = get_tags_api($title,'detail');

// $title1 = scws($title);

echo '原文:';var_dump($title);

echo '

1本地执行调用api

echo '

';

echo '

';

print_r($title1);

print_r($title1s);

echo '

';

print_r($title2);

print_r($title2s);

echo '

';

资源包下载地址:http://www.xunsearch.com/site/downfile?file=xunsearch-full-1.4.11.tar.bz2

相关链接:

https://www.zhihu.com/question/19578687

http://www.xunsearch.com/scws/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值