您的位置:首页 > 编程语言 > PHP开发

php中文分词系统SCWS的用法

2014-12-03 16:47 375 查看
近日在项目开发过程中使用到了SCWS中文分词系统,先将基本安装过程及使用总结如下。

1、SCWS简介

SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统)。这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成词。 词是中文的最小语素单位,但在书写时并不像英语会在词之间用空格分开,
所以如何准确并快速分词一直是中文分词的攻关难点。

SCWS 采用纯 C 语言开发,不依赖任何外部库函数,可直接使用动态链接库嵌入应用程序, 支持的中文编码包括 GBK、UTF-8 等。此外还提供了 PHP 扩展模块, 可在 PHP 中快速而方便地使用分词功能。分词算法上并无太多创新成分,采用的是自己采集的词频词典,并辅以一定的专有名称,人名,地名,
数字年代等规则识别来达到基本分词,经小范围测试准确率在 90% ~ 95% 之间, 基本上能满足一些小型搜索引擎、关键字提取等场合运用。首次雏形版本发布于 2005 年底。SCWS 由 hightman 开发, 并以 BSD 许可协议开源发布,源码托管在 github。

2、SCWS的PHP扩展安装

下载地址: http://www.xunsearch.com/scws/download.php#dll
1)到上述给出的网址,根据当前使用 PHP 版本,下载相应已编译好的
php_scws.dll 扩展库。

2)将下载后的 php_scws.dll
放到 php 安装目录的extensions/ 目录中去(通常为:X:/php/extensions/或 X:/php/ext/)。

3)建立一个本地目录放规则集文件和词典文件,建议使用:C:/program
files/scws/etc。

4) 从 scws 主页(上面给出的网址)上下载词典文件,解压后将
*.xdb 放到上述目录中。

词典系列:http://www.xunsearch.com/scws/down/scws-dict-chs-gbk.tar.bz2
http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2 http://www.xunsearch.com/scws/down/scws-dict-cht-utf8.tar.bz2
5)从 scws 主页上下载规则集文件,解压后将
*.ini 放到第 3 步建立的目录。

规则集文件压缩包:http://www.xunsearch.com/scws/down/rules.tgz

解压后有三个文件分别为 rules.ini 、 rules.utf8.ini 、rules_cht.utf8.ini,
将三件文件拷到第 3 步所述的目录中。

6) 修改 php.ini 。

在 php.ini 的末尾加入以下几行:

[scws]

extension = php_scws.dll

scws.default.charset = utf8

scws.default.fpath = "c:/program files/scws/etc"

7)
重开 web 服务器即可完成。在phpinfo()中可以查看是否存在scws。

3、SCWS开发实例

function splitkeyword($keyword)
{
$so = scws_new();
$so->set_charset('utf8');
// 这里没有调用 set_dict 和 set_rule 系统会自动试调用 ini 中指定路径下的词典和规则文件
$so->send_text($keyword);
$result="";
while ($tmp = $so->get_result())
{
foreach ($tmp as &$aa)
{
$result=$result." ".$aa["word"];
}

}
$so->close();

return $result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: