开源php中文分词系统SCWS安装和使用实例
发布:smiling 来源: PHP粉丝网 添加日期:2020-11-09 11:46:58 浏览: 评论:0
这篇文章主要介绍了开源php中文分词系统SCWS安装和使用实例,需要的朋友可以参考下。
一、SCWS简介
SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统)。
这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成词。 词是中文的最小语素单位,但在书写时并不像英语会在词之间用空格分开, 所以如何准确并快速分词一直是中文分词的攻关难点。
SCWS 采用纯 C 语言开发,不依赖任何外部库函数,可直接使用动态链接库嵌入应用程序, 支持的中文编码包括 GBK、UTF-8 等。此外还提供了 PHP 扩展模块, 可在 PHP 中快速而方便地使用分词功能。
分词算法上并无太多创新成分,采用的是自己采集的词频词典,并辅以一定的专有名称,人名,地名, 数字年代等规则识别来达到基本分词,经小范围测试准确率在 90% ~ 95% 之间, 基本上能满足一些小型搜索引擎、关键字提取等场合运用。首次雏形版本发布于 2005 年底。
SCWS 由 hightman 开发, 并以 BSD 许可协议开源发布,源码托管在 github。
二、scws安装,代码如下:
- # wget -c http://www.xunsearch.com/scws/down/scws-1.2.1.tar.bz2
 - # tar jxvf scws-1.2.1.tar.bz2
 - # cd scws-1.2.1
 - # ./configure --prefix=/usr/local/scws
 - # make && make install
 
三、scws的PHP扩展安装,代码如下:
- # cd ./phpext
 - # phpize
 - # ./configure --with-php-config=/usr/local/php5410/bin/php-config
 - # make && make install
 - # echo "[scws]" >> /usr/local/php5410/etc/php.ini
 - # echo "extension = scws.so" >> /usr/local/php5410/etc/php.ini
 - # echo "scws.default.charset = utf-8" >> /usr/local/php5410/etc/php.ini
 - # echo "scws.default.fpath = /usr/local/scws/etc/" >> /usr/local/php5410/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())
 - {
 - print_r($tmp);
 - }
 - $so->close();
 
返回数组结果说明:
word _string_ 词本身
idf _float_ 逆文本词频
off _int_ 该词在原文本路的位置
attr _string_ 词性
六、在线API
也可以使用在线API实现中文分词,API地址:http://www.xunsearch.com/scws/api.php,详细说明也在地址中。
Tags: php中文分词 SCWS
相关文章
- ·中文分词的php代码(2014-09-06)
 - ·php做的简单中文分词代码(2014-09-08)
 - ·php 利用scws实现mysql全文搜索功能(2014-09-10)
 - ·SCWS 中文分词 php安装使用例子(2018-10-28)
 - ·PHP+MySQL+sphinx+scws实现全文检索功能详解(2021-12-09)
 
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
 - PHP新手上路(一)(7)
 - 惹恼程序员的十件事(5)
 - PHP邮件发送例子,已测试成功(5)
 - 致初学者:PHP比ASP优秀的七个理由(4)
 - PHP会被淘汰吗?(4)
 - PHP新手上路(四)(4)
 - 如何去学习PHP?(2)
 - 简单入门级php分页代码(2)
 - php中邮箱email 电话等格式的验证(2)
 
