关于scws的详细介绍,去官方网站看作者lightman的说明。http://www.xunsearch.com/scws/
scws (scws-cli/1.2.2)Simple Chinese Word Segmentation - Command line usage.Copyright (C)2007 by hightman.B 结合php使用要想在php中使用scws分词工具,必须安装php扩展,并且必须要求php与scws安装在同一台机器。cd /usr/local/src/scws-1.2.2/usr/local/php-5.3.8/bin/phpize ./configure --with-scws=/usr/local/scws --with-php-config=/usr/local/php-5.3.8/bin/php-configmakemake install在php.ini加入以下配置extension = scws.so
scws.default.charset = gbk
scws.default.fpath = /usr/local/scws/etc
重启php,看看phpinfo中scws扩展是否安装成功。php简单使用scws代码<?php
$words = array();
$so = scws_new();
$so->set_charset(‘utf8‘);
$so->set_dict("/usr/local/scws/etc/dict.xdb");
$so->send_text($text);
while ($tmp = $so->get_result()){
foreach ($tmp as $val){
if (strlen($val[‘word‘]) > 3)
$words[] = $val[‘word‘];
}
}
$so->close();
print_r(array_count_values($words));
php?>C XDB导入导出工具
scws作者提供了php版本的词库导入导出工具。cd /usr/local/srcwget http://www.xunsearch.com/scws/down/phptool_for_scws_xdb.zipunzip phptool_for_scws_xdb.zipmkdir /usr/local/scws/php/mv make_xdb_file.php dump_xdb_file.php readme.txt xdb.class.php /usr/local/scws/php/cd /usr/local/scws/php/导出词典。readme.txt文件有详细的使用说明。
/usr/local/php-5.3.8/bin/php ./dump_xdb_file.php /usr/local/scws/etc/dict.utf8.xdb /usr/local/scws/etc/dict.utf8.txtD 使用http-scws上面php的使用方式有一个小缺点,就是php要和scws在同一台机器上。意味着每台机器都要安装scws和php扩展。使用http-scw可以避免这样的问题,但是也要谨慎使用,因为涉及到网络传输。http-scws其实就是在scws的基础上做了一层http封装,以服务的方式在服务器上开启端口,监听请求。完整介绍见http://code.google.com/p/http-scws/。cd /usr/local/srcwget http://http-scws.googlecode.com/files/http-scws_2.1.zipunzip http-scws_2.1.zipmv http-scws_2.1 /usr/local/http-scwscd /usr/local/http-scws修改http-scws.h文件,将第31行的#include <scws/scws.h> 改成 #include </usr/local/scws/include/scws/scws.h>执行编译命令 gcc -o http-scws cJSON.c http-scws.c -L/usr/local/scws/lib -lscws -levent -lm -Wl,--rpath会在当前文件夹下生成一个有执行权限的http-scws文件./http-scws -h 查看帮助开启服务/usr/local/http-scws/http-scws -f /usr/local/scws/etc/dict.utf8.txt -r /usr/local/scws/etc/rules.utf8.ini -dnetstat -ntpl | grep 2011 我们可以看到默认的端口2011已经开启监听打开浏览器 http://你的ip:2011/?text=得了感冒怎么办{"status":{"no":"0","msg":"OK"},
"result":{"0":"得了","1":"感冒","2":"怎么办"},
"time":{"time":"0.0002","unit":"sec"}}
本文出自 “Cooke Chen 我爱小贝” 博客,请务必保留此出处http://cswei.blog.51cto.com/3443978/1369381
原文:http://cswei.blog.51cto.com/3443978/1369381