开源php中文分词系统SCWS安装和使用实例


Posted in PHP onApril 11, 2014

一、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,详细说明也在地址中。

 

PHP 相关文章推荐
php&java(三)
Oct 09 PHP
php foreach 参数强制类型转换的问题
Dec 10 PHP
使用PHPMyAdmin修复论坛数据库的图文方法
Jan 09 PHP
解析Linux下Varnish缓存的配置优化
Jun 20 PHP
Codeigniter(CI)框架分页函数及相关知识
Nov 03 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
Aug 18 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
Oct 08 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
Mar 19 PHP
3种方法轻松处理php开发中emoji表情的问题
Jul 18 PHP
php获取微信openid方法总结
Oct 10 PHP
PHP保存Base64图片base64_decode的问题整理
Nov 04 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
May 29 PHP
PHP获取网页标题的3种实现方法代码实例
Apr 11 #PHP
PHP动态生成javascript文件的2个例子
Apr 11 #PHP
php实现数组筛选奇数和偶数示例
Apr 11 #PHP
php求正负数数组中连续元素最大值示例
Apr 11 #PHP
PHP入门经历和学习过程分享
Apr 11 #PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
Apr 10 #PHP
php中的curl使用入门教程和常见用法实例
Apr 10 #PHP
You might like
PHP VS ASP
2006/10/09 PHP
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
分享最受欢迎的5款PHP框架
2014/11/27 PHP
两种php实现图片上传的方法
2016/01/22 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
php面向对象程序设计入门教程
2019/06/22 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
jquery怎样实现ajax联动框(二)
2013/03/08 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
JS实现的跨浏览器解析XML文件实例
2016/06/21 Javascript
针对BootStrap中tabs控件的美化和完善(推荐)
2016/07/06 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
js每隔两秒输出数组中的一项(实例)
2017/05/28 Javascript
jQuery动态添加.active 实现导航效果代码思路详解
2017/08/29 jQuery
详解webpack + react + react-router 如何实现懒加载
2017/11/20 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
Python中类的定义、继承及使用对象实例详解
2015/04/30 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
Python中的CSV文件使用"with"语句的方式详解
2018/10/16 Python
Python多图片合并PDF的方法
2019/01/03 Python
python 实现矩阵上下/左右翻转,转置的示例
2019/01/23 Python
如何基于pandas读取csv后合并两个股票
2020/09/25 Python
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
大学新生军训个人的自我评价
2013/10/03 职场文书
环卫工人节活动总结
2014/08/29 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript