php 怎么启用scws,开源php中文分词系统SCWS安装和使用实例

一、SCWS简介

SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统)。

这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成词。 词是中文的最小语素单位,但在书写时并不像英语会在词之间用空格分开, 所以如何准确并快速分词一直是中文分词的攻关难点。

SCWS 采用纯 C 语言开发,不依赖任何外部库函数,可直接使用动态链接库嵌入应用程序, 支持的中文编码包括 GBK、UTF-8 等。此外还提供了 PHP 扩展模块, 可在 PHP 中快速而方便地使用分词功能。

分词算法上并无太多创新成分,采用的是自己采集的词频词典,并辅以一定的专有名称,人名,地名, 数字年代等规则识别来达到基本分词,经小范围测试准确率在 90% ~ 95% 之间, 基本上能满足一些小型搜索引擎、关键字提取等场合运用。首次雏形版本发布于 2005 年底。

SCWS 由 hightman 开发, 并以 BSD 许可协议开源发布,源码托管在 github。

二、scws安装

# wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2

# tar jxvf scws-1.2.3.tar.bz2

# cd scws-1.2.3

# ./configure –prefix=/usr/local/scws

# make && make install

三、scws的PHP扩展安装

复制代码 代码如下:

# cd ./phpext

# phpize

# ./configure –with-php-config=/usr/local/php/bin/php-config

# make && make install

# echo “[scws]” >> /etc/php.ini

# echo “extension = scws.so” >> /etc/php.ini

# echo “scws.default.charset = utf-8″ >> /etc/php.ini

# echo “scws.default.fpath = /usr/local/scws/etc/” >> /etc/php.ini

四、词库安装

复制代码 代码如下:

# wget http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2

# tar jxvf scws-dict-chs-utf8.tar.bz2 -C /usr/local/scws/etc/

# chown www:www /usr/local/scws/etc/dict.utf8.xdb

五、php实例代码。可以详细看下SCWS官方API说明

复制代码 代码如下:

//实例化分词插件核心类

$so = scws_new();

//设置分词时所用编码

$so->set_charset(‘utf-8′);

//设置分词所用词典(此处使用utf8的词典)

$so->set_dict(‘/usr/local/scws/etc/dict.utf8.xdb’);

//设置分词所用规则

$so->set_rule(‘/usr/local/scws/etc/rules.utf8.ini ‘);

//分词前去掉标点符号

$so->set_ignore(true);

//是否复式分割,如“中国人”返回“中国+人+中国人”三个词。

$so->set_multi(true);

//设定将文字自动以二字分词法聚合

$so->set_duality(true);

//要进行分词的语句

$so->send_text(“欢迎来到火星时代IT开发”);

//获取分词结果,如果提取高频词用get_tops方法

while ($tmp = $so->get_result())

{

echo ‘

';

print_r($tmp);

echo ‘

';

}

$so->close();

返回数组结果说明:

Array

(

[0] => Array

(

[word] => 欢迎

[off] => 0

[len] => 6

[idf] => 3.9100000858307

[attr] => v

)

[1] => Array

(

[word] => 来到

[off] => 6

[len] => 6

[idf] => 4.8600001335144

[attr] => v

)

[2] => Array

(

[word] => 火星

[off] => 12

[len] => 6

[idf] => 9.6499996185303

[attr] => nz

)

[3] => Array

(

[word] => 时代

[off] => 18

[len] => 6

[idf] => 4.5599999427795

[attr] => n

)

[4] => Array

(

[word] => IT

[off] => 24

[len] => 2

[idf] => 0

[attr] => en

)

[5] => Array

(

[word] => 开发

[off] => 26

[len] => 6

[idf] => 4.460000038147

[attr] => vn

)

)

复制代码 代码如下:

word _string_ 词本身

idf _float_ 逆文本词频

off _int_ 该词在原文本路的位置

attr _string_ 词性

六、在线API

也可以使用在线API实现中文分词,API地址:http://www.xunsearch.com/scws/api.php,详细说明也在地址中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值