免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 29836 | 回复: 67
打印 上一主题 下一主题

[下载] php版简易中文分词代码及词典(新加cscwsd) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-21 21:04 |只看该作者 |倒序浏览
A.T.T

2006/05/28
下载站点 http://cws.twomice.net/ 同时更新
cscwsd 是英文全称 C-Simpled Chinese Word Segment Daemon 的首字缩写, 第一版发布, 这是一个服务精灵程序, 运行于 unix-like OS 底下, 接受分词服务. 原文详细在 C 版,

注意: 61楼增加 PHP 访问 cscwsd 的接口操作类


http://bbs.chinaunix.net/viewthr ... &extra=page%3D1
http://cws.twomice.net/_csource/  原码浏览


仅供有兴趣之人士参考与交流.
下载词典为 cdb 数据档.

完整测试例子:
http://cws.twomice.net/  (换了新测试地址, 家里机器硬盘有问题了)

快速下载地址:
[url=http://cws.twomice.net[/url]

完整页面地址:
http://cws.twomice.net

[ 本帖最后由 hightman 于 2007-4-9 00:24 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2005-11-21 21:25 |只看该作者
8错. 帮你顶下.



  1. PHP-简易中文分词程序(ver1.0byhightman)演示
  2. 基本功能:根据字典分词(自制字典:94772词条,正向最大二级最小词频比较)姓名/数字年代智能辩认.
复制代码

  1. PHP - 简易 中文 分 词 程序 ( ver 1 . 0 byhightman ) 演示
  2. 基本 功能 : 根据 字典 分 词 ( 自制 字典 : 94772 词 条 , 正向 最大 二级 最小 词 频 比较 ) 姓名 / 数字 年代 智能 辩 认 .
复制代码

[ 本帖最后由 yarco2 于 2005-11-21 21:30 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2005-11-22 00:04 |只看该作者
给个实例应用,比如我们如何用于全文搜索,如何在mysql不同版本建立索引.甚至如何作一个小型的专业搜索引擎.

还有词库如何添加,记得乔版主最喜欢这玩意

论坛徽章:
0
4 [报告]
发表于 2005-11-22 01:13 |只看该作者
蛮好玩的

问一下这个中文分词主要应用在哪些方面?

呵呵

论坛徽章:
0
5 [报告]
发表于 2005-11-22 11:14 |只看该作者
挺好

论坛徽章:
0
6 [报告]
发表于 2005-11-22 11:18 |只看该作者
说句实话,很好。
其实感觉单个的字符意义不大,可以去掉。
另外那个后缀为DB的文件是用什么语言写的?需要什么特别的支持?在我的机器上报错
Fatal error: Call to undefined function dba_popen() in E:wwwcword.php on line 55

论坛徽章:
0
7 [报告]
发表于 2005-11-22 11:23 |只看该作者
这东东不错

  1. 仅供有兴趣之人士参考与交流.
复制代码


我参考了

论坛徽章:
0
8 [报告]
发表于 2005-11-22 12:06 |只看该作者
原帖由 wildlily980 于 2005-11-22 11:18 发表
说句实话,很好。
其实感觉单个的字符意义不大,可以去掉。
另外那个后缀为DB的文件是用什么语言写的?需要什么特别的支持?在我的机器上报错
Fatal error: Call to undefined function dba_popen() in E:wwwc ...


哦, 没有单独写一个说明文件, 只在 cword.php 源码的头部留下了少许说明

.db 的是一个 gdbm 格式的词典文件, 所以你的 php 需要安装 gdbm 支持.

至于为什么用 gdbm 作词典驱动, 那是我尝试了多种的结果. 曾经全部格式化 php 的数组结构 (超级慢,就是载入一个巨大的array)
或者有兴趣也可以试试 mysql 或 sqlite 或其它 SQL 数据库

要添加词很容易的, 只要写个小程序把这个 gdbm格式的词典一一列出来生成文本文件, 如:
<词条>         <词频>
....
这样一行一个, 然后把要加入的特殊词加入, 再重新生成 .db 的文件就可以了.

具体的应用主要是用于小型规划的搜索引擎, 比如一个较大型的论坛, 搜索内容(text?)时如果用 select ... like %..% 那样恐怕很差
所以可以把文章内容先按分词法切成词, 然后另外记录哪篇文章含有哪个词 (词也入库转化为 id => word 形式), 相当于记录一大堆
只有整型数据的表, 这种表我在mysql上测试过, 上G的记录select时还是相当快的.

在用户输入检索关键词时, 按同样的切词法切成词, 然后再在词ID/文章ID的表中检索, 可以提供速度及准确率.

比如我查 "简易中文分词", 那么就会切成 "简易" "中文" "分词" 三个词, 从数据库中取出这三个词的编号, 如 (1,18,11; 再在生成
的索引表(文章id对应词id)中搜索得到文章id列表, 按需要甚至可以不搜索单字, 以加快速度;

再如果对搜索结果还有特定需求, 那么只要针对模糊匹配出来的id列表进行加强检索就可以了, 对于稍大型的论坛非常有用.

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
9 [报告]
发表于 2005-11-22 14:29 |只看该作者
不错.

论坛徽章:
0
10 [报告]
发表于 2005-11-22 17:10 |只看该作者
最新修正PHP文件重新提供下载
(* 修正了长词拆分的bug)

cword.php.zip
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP