开源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 相关文章推荐
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 PHP
php中文本操作的类
Mar 17 PHP
rrmdir php中递归删除目录及目录下的文件
May 15 PHP
php中smarty变量修饰用法实例分析
Jun 11 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
Feb 15 PHP
Zend Framework教程之Zend_Db_Table用法详解
Mar 21 PHP
php基于openssl的rsa加密解密示例
Jul 11 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
Sep 09 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
Oct 15 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 PHP
PHP编程一定要改掉的5个不良习惯
Sep 18 PHP
php的对象传值与引用传值代码实例讲解
Feb 26 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浮点数精度问题汇总
2015/05/13 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
PHP tp5中使用原生sql查询代码实例
2020/10/28 PHP
JavaScript 参考教程
2006/12/29 Javascript
你真的了解JavaScript吗?
2007/02/24 Javascript
JS 实现双色表格实现代码
2009/11/24 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
js计算两个时间之间天数差的实例代码
2013/11/19 Javascript
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
详解js前端代码异常监控
2017/01/11 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
node实现基于token的身份验证
2018/04/09 Javascript
深入理解Vue 组件之间传值
2018/08/16 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
2019/09/05 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
Python操作sqlite3快速、安全插入数据(防注入)的实例
2014/04/26 Python
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
bat和python批量重命名文件的实现代码
2016/05/19 Python
详细分析python3的reduce函数
2017/12/05 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
Python Django基础二之URL路由系统
2019/07/18 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
opencv 查找连通区域 最大面积实例
2020/06/04 Python
Clarria化妆品官方网站:购买天然和有机化妆品系列
2018/04/08 全球购物
为您搜罗全球潮流時尚品牌:HBX
2019/12/04 全球购物
KOHLER科勒美国官网:国际著名卫浴橱柜领先品牌
2020/06/27 全球购物
工程监理应届生求职信
2013/11/09 职场文书
村庄环境整治方案
2014/05/15 职场文书
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python