蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 http://www.lslnet.com 2006年6月6日 10:18


[分词] C版简易中文分词服务程序(cscwsd)0.0.1发布下载

下载站点 http://scws.tguanlim.com/ 同时更新

cscwsd 是英文全称 C-Simpled Chinese Word Segment Daemon 的首字缩写, 这是用标准纯 C 编写, 并配合使用 autoconf GNU软件工具包, 基本上可以很方便在的各类 Unix-Like OS 系统下顺利编译执行. 目前测试过的有 RedHat Linux (as3,as4)  FreeBSD 4.10, 5.4 ..目前只支持  GBK 编码

BTW: 用 autoconf 开发包编译出来的可执行文件约为 60~80K 视操作系统而定, 比较大, 我在 Linux 底下自己编制了一个小的 makefile 在 src/makefile.test  util/makefile.test , 编译结果是 20KB 左右, 有兴趣的可以试试
(无需 configure, 进入 util/ 目录 make -f makefile.test; 进行 src 目录 make -f makefiel.test ,然后使用 src/cscwsd 即可)

这个小程序的基本工作方式如下, 运行后在本地绑定一个端口 (缺省是 4700) 监听处理分词服务, 基本上无别的功能, 只针对输入的文字原样进行分词后然后原样输出, 注意每次输入均以 "\n" 作为处理标记, 即一行处理一次并返回.

这样作的目的在于提高分词的效率, 由专门的一支程序来处理, 别的程序只需通过 socket 与其对话即可, 客户端用什么语言都方便的实现,发布包中附带了一个 misc/CWS_test.web.php , 可以在 web 上测试分词..  速度比原 PHP直接分词要提高数十倍

而词典采用的是 .txt 格式, 解决了编辑困扰问题, 格式非常简单, 一行一条目, 词与频率之间用(TAB制表符或空格)分开

具体的程序运行说明, 请参看发布包中的 README

下载地址:  http://scws.tguanlim.com/cscwsd-0.0.1.tar.gz   在线测试: http://scws.tguanlim.com/by_server.php

安装方法:

tar xvzf cscwsd-0.0.1.tar.gz
cd cscwsd-0.0.1
./configure --prefix=/usr/local
make
make install

这样缺省就会把 cscwsd 安装到 /usr/local/sbin/ 中, 而词典 dict.txt 会安装到 /usr/local/etc 中, 请运行:

cscwsd -h  查看帮助说明

快速测试

./cscwsd -D -L /tmp/test.log

服务程序会切入后台服务, 所有的日志记录在 test.log 中, 你可以在本机 telnet localhost 4700

输入一句话试试分词效果, 类似的如下:

[hightman@sata cscwsd]$ telnet localhost 4700
Trying 127.0.0.1...
Connected to sata.sunbo.com (127.0.0.1).
Escape character is '^]'.
我是中国人
我是 中国人
/bye

呵呵, 第一次用 autoconf 工具包作东西, 请多提意见, 谢谢

http://scws.tguanlim.com/_csource/  这里是用 doxygen 生成的一份源码浏览,有兴趣人士可以参看

顶,不错,支持一个!



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com