开源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数据库连接
Oct 09 PHP
PHP 显示客户端IP与服务器IP的代码
Oct 12 PHP
PHP读取文件并可支持远程文件的代码分享
Oct 03 PHP
PHP 实现explort() 功能的详解
Jun 20 PHP
PHP实现生成唯一编号(36进制的不重复编号)
Jul 01 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
php定义一个参数带有默认值的函数实例分析
Mar 16 PHP
PHP 生成微信红包代码简单
Mar 25 PHP
Yii2如何批量添加数据
May 17 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
May 17 PHP
PHP数组操作简单案例分析
Oct 15 PHP
php实现生成带二维码图片并强制下载功能
Feb 24 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在项目中寻找代码的坏味道(综艺命名)
2012/07/19 PHP
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
php发送get、post请求的6种方法简明总结
2014/07/08 PHP
php在数组中查找指定值的方法
2015/03/17 PHP
Web开发之JavaScript
2012/03/29 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
JS 终止执行的实现方法
2016/11/24 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
2017/03/06 Javascript
微信小程序实现选项卡功能
2020/06/19 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
零基础写python爬虫之爬虫框架Scrapy安装配置
2014/11/06 Python
Python实现字典的key和values的交换
2015/08/04 Python
python字典的常用操作方法小结
2016/05/16 Python
Python 基础知识之字符串处理
2017/01/06 Python
Python中datetime模块参考手册
2017/01/13 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
将pip源更换到国内镜像的详细步骤
2019/04/07 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
python中线程和进程有何区别
2020/06/17 Python
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
Booking.com荷兰:全球酒店网上预订
2017/08/22 全球购物
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
大二学期个人自我评价
2014/01/13 职场文书
党委班子剖析材料
2014/08/21 职场文书
简历自我评价优缺点
2015/03/11 职场文书
人间正道是沧桑观后感
2015/06/15 职场文书
初中运动会前导词
2015/07/20 职场文书
mybatis调用sqlserver存储过程返回结果集的方法
2021/05/08 SQL Server
nginx服务器的下载安装与使用详解
2021/08/02 Servers
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技