开源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 前一天或后一天的日期
Jun 28 PHP
php在字符串中查找另一个字符串
Nov 19 PHP
php笔记之:有规律大文件的读取与写入的分析
Apr 26 PHP
php检测useragent版本示例
Mar 24 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
Mar 18 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
Jan 07 PHP
PHP Oauth授权和本地加密实现方法
Aug 12 PHP
详解Yii2 之 生成 URL 的方法
Jun 16 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
Aug 20 PHP
php curl发送请求实例方法
Aug 01 PHP
Laravel5.1框架路由分组用法实例分析
Jan 04 PHP
利用ajax+php实现商品价格计算
Mar 31 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
自己前几天写的无限分类类
2007/02/14 PHP
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
jquery 打开窗口返回值实现代码
2010/03/04 Javascript
javascript动态判断html元素并执行不同的操作
2014/06/16 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
2015/03/06 Javascript
详解JavaScript的表达式与运算符
2015/11/30 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
2016/12/19 Javascript
javascript 闭包详解及简单实例应用
2016/12/31 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
超简单的Vue.js环境搭建教程
2017/03/17 Javascript
javascript数组去重常用方法实例分析
2017/04/11 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
2017/08/04 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
微信小程序实现图片懒加载的示例代码
2017/12/13 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
Python使用PyCrypto实现AES加密功能示例
2017/05/22 Python
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
Python基于列表模拟堆栈和队列功能示例
2018/01/05 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
python开发游戏的前期准备
2019/05/05 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
从numpy数组中取出满足条件的元素示例
2019/11/26 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
测试工程师程序员求职信范文
2014/02/20 职场文书
党员公开承诺书范文
2014/03/25 职场文书
领导干部群众路线个人对照检查材料思想汇报
2014/09/30 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
2015元旦晚会主持词(开场白+结束语)
2014/12/14 职场文书
高二英语教学反思
2016/03/03 职场文书