scws中文分词安装和使用
一、下载源码
wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2
tar xvjf scws-1.2.3.tar.bz2
二、执行配置脚本和编译
具体选项参数执行 ./configure --help 查看。常用选项为:--prefix=指定安装目录
cd scws-1.2.3
./configure --prefix=/usr/local/scws
make && make install
检查是否安装成功
ls -al /usr/local/scws/lib/libscws.la
/usr/local/scws/bin/scws -h
三、下载通用词典
cd /usr/local/scws/etc
wget http://www.xunsearch.com/scws/down/scws-dict-chs-gbk.tar.bz2
wget http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2
tar xvjf scws-dict-chs-gbk.tar.bz2
tar xvjf scws-dict-chs-utf8.tar.bz2
四、编译PHP扩展
更新PHP扩展需要autoconf、automake及phpize工具,如果没有的话需要新安装。
apt-get install autoconf
cd /root/scws-1.2.3/phpext
phpize
./configure --with-scws=/usr/local/scws --with-php-config=/usr/local/bin/php-config
make && make install
在 php.ini 中加入以下几行
[scws]
extension=scws.so
scws.default.charset=gbk
scws.default.fpath=/usr/local/scws/etc
在php程序中用 ini_get('scws.default.fpath') 读取scws.default.fpath目默认字典录设置
使用时指定词典路径和编码:
$scws = scws_new();
$scws->set_charset('utf8'); //指定编码
$scws->set_dict('/usr/local/scws/etc/dict.utf8.xdb');//指定词典路径,可以是绝对路径,也可以是相对路径
测试分词程序
php /root/scws-1.2.3/phpext/scws_test.php
如果运行失败,很可能是未正确指定词典路径
六、两个例子
(1)使用类方法分词
<?php
$so = scws_new();
$so->set_charset('gbk');
$so->set_dict('/usr/local/scws/etc/dict.xdb');
$so->set_rule('/usr/local/scws/etc/rules.ini');
// 这里没有调用 set_dict 和 set_rule 系统会自动试调用 ini 中指定路径下的词典和规则文件
$so->send_text("我是一个中国人,我会C++语言,我也有很多T恤衣服");
while ($tmp = $so->get_result())
{
print_r($tmp);
}
$so->close();
?>
(2)使用函数提取高频词
<?php
$sh = scws_open();
scws_set_charset($sh, 'gbk');
scws_set_dict($sh, '/usr/local/scws/etc/dict.xdb');
scws_set_rule($sh, '/usr/local/scws/etc/rules.ini');
$text = "我是一个中国人,我会C++语言,我也有很多T恤衣服";
scws_send_text($sh, $text);
$top = scws_get_tops($sh, 5);
print_r($top);
?> 注意:输入的文字,词典、规则文件这三者的字符集必须统一,如果不是默认的 gbk 字符集请调用 SimpleCWS::set_charset 或 scws_set_charset 来设定,否则可能出现意外错误。
scws中文分词安装和使用的更多相关文章
- SCWS中文分词,安装说明(以:Win32环境、utf8字符集为例)
SCWS官方网站:http://www.xunsearch.com/scws/ 1. 根据您当前用的 PHP 版本,下载相应已编译好的 php_scws.dll 扩展库. 目前支持 PHP-5. ...
- SCWS 中文分词
SCWS 中文分词v1.2.3 开源免费的中文分词系统,PHP分词的上乘之选! 首页 下载 演示 文档 关于 服务&支持 API/HTTP 论坛 捐赠 源码@github 文档目录 SCWS- ...
- SCWS中文分词,功能函数实例应用
结合前文的demo演示,现写一个实用的功能函数,使用方法:header('Content-Type:text/html;charset=UTF-8');$text = '我是一个中国人, ...
- SCWS中文分词,词典词性标注详解
SCWS中文分词词典条目多达26万条之巨,在整理的时候已经把很多明显不对的标注或词条清理了 ---- 附北大词性标注版本 ----Ag 形语素 形容词性语素.形容词代码为a,语素代码g前面置以A. a ...
- ThinkPHP3.2添加scws中文分词
前言 前一段时间,公司网站做站内搜索,只简单针对输入的文字进行搜索,作全匹配检索,搜索出来的内容很少.如何达到模糊搜索,匹配到更多的内容成了需要解决的问题.于是,今天想到可以做分词检索,如何对输入的一 ...
- SCWS中文分词PHP扩展详细安装说明
因最近写的一段代码,需要用到中文分词,在网上找了一下,发现了scws这个不错的插件,故根据文档安装使用,下面记录下安装的全过程 系统:centos 安装scws wget http://www.xun ...
- SCWS中文分词,向xdb词库添加新词
SCWS是个不错的中文分词解决方案,词库也是hightman个人制作,总不免有些不尽如人意的地方.有些词语可能不会及时被收入词库中. 幸好SCWS提供了词库XDB导出导入词库的工具(phptool_f ...
- SCWS中文分词,demo演示
上文已经讲了关于SCSW中文分词的安装配置,本节进入demo演示: <?php header('Content-Type:text/html;charset=UTF-8'); echo '< ...
- Sphinx中文分词安装配置及API调用
这几天项目中需要重新做一个关于商品的全文搜索功能,于是想到了用Sphinx,因为需要中文分词,所以选择了Sphinx for chinese,当然你也可以选择coreseek,建议这两个中选择一个,暂 ...
随机推荐
- 11.1 Go Http
11.0 Go Http http客户端 package main import ( "fmt" "net/http" "net/http/httpu ...
- React Native 架构演进
写在前面 上一篇(React Native 架构一览)从设计.线程模型等方面介绍了 React Native 的现有架构,本篇将分析这种架构的局限性,以及 React Native 正在进行的架构升级 ...
- 201771010128王玉兰《面向对象与程序设计(Java)》第十七周学习总结
第一部分:理论基础 线程的同步 多线程并发运行不确定性问题解决方案:引入线 程同步机制,使得另一线程要使用该方法,就只 能等待. 在Java中解决多线程同步问题的方法有两种: - Java SE 5. ...
- 【解决办法】IIS环境中,打开网站后就直接列出了所有文件
有时候访问一个不应当被访问的网站目录时网站会列出该目录下的所有文件,这很不安全,尤其是我们希望我们自己的网站不出现这种情况,如下图所示. 解决办法,在网站根目录新建web.config文件,内容如下: ...
- layui 数据表格最简单的点击事件
//定义点击事件 table.on('row(test)', function(obj){ console.log(obj.tr) //得到当前行元素对象 console.log(obj.data) ...
- 【JavaScript数据结构系列】05-链表LinkedList
[JavaScript数据结构系列]05-链表LinkedList 码路工人 CoderMonkey 转载请注明作者与出处 ## 1. 认识链表结构(单向链表) 链表也是线性结构, 节点相连构成链表 ...
- 【图像处理】利用C++编写函数,绘制灰度图像直方图
1. 简介 利用OpenCV读取图像,转换为灰度图像,绘制该灰度图像直方图.点击直方图,控制台输出该灰度级像素个数. 2. 原理 (1) 实现原理较为简单,主要利用了OpenCV读取图像,并转换为灰度 ...
- leetcode198之打家劫舍问题
问题描述: 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给 ...
- PYTHON 黑帽子第二章总结
基于python3编写 import sys, socket, getopt, threading, argparse, subprocess # globals options listen = F ...
- 拨号vps,拨号vps是什么意思干什么用的,如何使用拨号vps
首先,拨号vps是动态IP的VPS.vps虚拟服务器.拨号服务器.有些业务,如刷单.投票等操作对ip地址有限制,不能过多的使用.而拨号VPS通过拨号上网,每拨号一次号,就变一次IP,完成ip地址的动态 ...