scws
SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统)。
这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成词。 词是中文的最小语素单位,但在书写时并不像英语会在词之间用空格分开, 所以如何准确并快速分词一直是中文分词的攻关难点。
SCWS 采用纯 C 语言开发,不依赖任何外部库函数,可直接使用动态链接库嵌入应用程序, 支持的中文编码包括 GBK、UTF-8 等。此外还提供了 PHP 扩展模块, 可在 PHP 中快速而方便地使用分词功能。
分词算法上并无太多创新成分,采用的是自己采集的词频词典,并辅以一定的专有名称,人名,地名, 数字年代等规则识别来达到基本分词,经小范围测试准确率在 90% ~ 95% 之间, 基本上能满足一些小型搜索引擎、关键字提取等场合运用。首次雏形版本发布于 2005 年底。
动态
- 推荐!!基于 scws + Xapian 的开源全文搜索引擎 xunsearch(迅搜)发布,是非常好用的 php 全文解决方案!
- 2013-7-11: SCWS-1.2.2 Released.1) 改进中英夹杂的长词复合分法,比如 "奥迪A6/奥迪/A6"2) 修正 pscws23 演示文件的一些写法与新版 PHP 不兼容3) 修正一些 configure 检测错误
- 2013-1-15: SCWS-1.2.1 Released.1) 将源码迁移并托管到 github2) 改进 C API 中 scws_fork() 的算法,使之更为合理3) 迁移并修改新版官方主页:http://www.xunsearch.com/scws
- 2012-3-29: SCWS-1.2.0 Released.1) 修改 php 扩展代码以兼容支持 php 5.4.x2) 修正 php 扩展中 scws_get_tops 的 limit 参数不允许少于 10 的问题3) libscws 增加 scws_fork() 从既有的 scws 实例产生分支并共享词典/规则集,主要用于多线程开发。4) 新增部分版本的 win32 的 dll 扩展,详见下载页面
- 2011-12-26: SCWS-1.1.9 Released.1) 明确使用开源协议 New BSD License 发布新版本2) 深度优化复合分词中的 SCWS_MULTISHORT 选项,更为合理有效,符合全文检索的需求3) 测试脚本自动加载当前目录下的 dict_user.txt 文本词典4) 修正 scws.c 中 __PARSE_XATTR__ 宏的 BUG 导致 scws_get_tops 和 scws_get_words 的 xattr 参数工作不正常的问题5) 移除 scws.c 中关于 jabberd2s10 的注释,已不包含它的代码6) 为独立使用的 .h 文件添加 C++ 的 extern "C" 标记以便直接使用:xdb.h,xdict.h,xtree.h,pool.h,darray.h
- 2011-07-30: SCWS-1.1.8 Released.1) win32/目录新增 vc9 工程文件, 默认为 php-5.3.x 提供的 php_scws.dll 采用 VC9(thread-safety) 编译2) 修改英语专有名词的识别方式, 原先 X.Y.Z 必须字母全大写,现也允许小写3) 修改 congiure.in 在 ---enable-developer 选项的处理方式,不覆盖预设的 CFLAGS4) 改变数字字母单独成词时的规则,当其中同时包含2个连续字母以及2个连续数字时强制拆分。例:原先单独的 iso9001 是整词,新规则切为 iso+9001 而 i9001 则保持不变仍为。这样做更有利于全文检索。
- 2011-05-21: SCWS-1.1.7 Released.1) 删除 __PARSE_XATTR__ 宏中企图修改 xattr 的内容的作法, 当 xattr 为常量字符串时会出错.2) 调整 config.h 的包含方式移入 .c 文件而非 .h 文件3) 增加一些PHP测试脚本, 位于phpext/scws_test.php, 精选了一些岐义较多的语句进行测试。4) 修正 scws_has_word() 的一处内存泄露 (感谢lauxinz)5) 修改调试模式的编译选项,去除-O2避免源码和代码无法对应。 (感谢lauxinz)
- 2011-04-20: SCWS-1.1.6 Released.1) 修正夹杂在汉字中间的1-2个英文字符的词性为 en 而不是原来的 un 导致清除符号时消失.2) 调整将数字后面的独立 % 纳入整词作为百分比,如 33.3% 作为整词而不再是 33.3 和 %3) 修改连字符(-)和下划线(_)的规则,当出现在字母单词之间时视为同一词而不再强行切开,此时如果激活复合分词的 DUALITY 选项,则仍能将符号切开作为复合词。4) 修正浮点数的识别规则,避免将IPv4地址识别为2个小数的尴尬,比如 192.168.1.1 以前会被切成 192.168 和1.1 2个数字,现在不会了。5) libscws 安装后将所有的头文件(*.h)按装到 $prefix/include/scws 而不是以前的 $prefix/include,故采用C API开发时头部建议写 #include <scws/scws.h>
- 2010-12-31: SCWS-1.1.5 Released.1) 修正 xdb.c 中存在的一处缓冲区溢出, 感谢论坛网友 hovea.2) 修正 phpext/ 中 scws_get_result() 参数解析里多了一个z 的问题,感谢网友(阿男)告知3) 修正 scws.c 中某些字符在ignore symbol设置下无效的问题4) 修正 1.1.4 的 xdb.c 270行处由于书写错误导致的严重错误, 1.1.4版作废应及时升为 1.1.5
- 2010-12-02: 新增基于HTTP/post的SCWS在线分词API,供一些云平台的应用程序简易轻型调用。
- 2010-09-15: SCWS-1.1.3 Released.1) 将 cli/ 下的工具程序命名下划线改成连接线(减号), gen_scws_dict 改为 gen-scws-dict2) 消除 php5.3 的警告信息, 重写 phpext/ 中的部分zend API, 统一采用 zend_parse_parameters()
- 2010-05-09: SCWS-1.1.2 Released.1) 这是一个bug fixed的发布, 修正非内存模式的词典返回的 malloced 标识与 zflag_symbol 冲突导致姓名识别失败.2) 附带修正 phptool_for_scws_xdb.zip 导出词典时最后出现负偏移的 bug3) 新增支持 php-5.3.x 的 php_scws.dll,编译环境为 VC6, x86, ThreadSafe4) 关于 1.1.x 的新功能的详细用法及介绍请点此进入BLOG查看;文本自动分类、新词TF/IDF计算器。
- 2010-03-04: SCWS-1.1.1 Released, 修正在 xdict 中针对 SCWS_WORD_MALLOCED 定义过大(应为0x80)导致内存泄露.
- 2010-03-19: 简体中文 xdb 词典更新, 修正部分生冷汉字被误当符号清除的 Bug(感谢 iSS的反馈), 点击这里重新下载XDB词典.
- 2010-01-28: SCWS-1.1.0 Released.1) 新增功能: 支持载入纯文本词典(TXT), 一次分词可使用多个词典, 以实现不改变核心词库的原则下快速增减词。2) 新增功能:判断文本中是否包含指定词性的词汇及获取指定词性的词汇列表(词性参数和scws_get_tops相同)3) 该版本同步编译支持 Win32 的 php_scws.dll,支持 5.2.x 及 4.4.x 系列的 PHP4) scws_gen_dict 所有的文本词典格式更为宽松与add_dict兼容,允许多个空格或制表符分割,可省略除词外的选项
- 2009-7-31 SCWS 发布 1.0.4, 修正紧贴在中文后结尾的1~2个英文字母返回长度多1的bug。
- 2009-7-16 SCWS 中的 php 扩展实现略作修改以正确支持 PHP5.3+, 版本号没有改变, 但即日起的下载包已作更新。
- 2009-7-1 发布一套用纯 php 开发的 xdb 词典导入与导出工具,有需要的请下载参考使用(phptool_for_scws_xdb.zip)。
- 2009-5-26 SCWS 发布更新 1.0.3 版,整合yanbin提供的win32编译工程文件及少数地方的兼容,但需要用户自己编译,因为我也没有编译环境,只是将代码调整到兼容win32环境。
- 2009-5-15 SCWS 发布更新 1.0.2 版,加入词性规则消岐,很好的处理了大部分短词岐义分词。
- 2008-12-21 SCWS 划入 FTPHP 项目,作为子项目重建本网站。
- 2006 - 2007 陆续开发纯 PHP 实现的 PSCWS 第二版与第三版,2007-06-09 发布 scws-0.0.1 pre 版,功能基本完整,2008-03-08 发布 scws-1.0.0 正式版。
版本列表
| 版本 | 类型 | 平台 | 性能 | 其它 |
|---|---|---|---|---|
| SCWS-1.1.x | C 代码 | *Unix*/*PHP* | 准确: 95%, 召回: 91%, 速度: 1.2MB/sec PHP扩展分词速度: 250KB/sec |
[下载] [文档] [安装说明] |
| php_scws.dll(1) | PHP扩展库 | Windows/PHP 4.4.x | 准确: 95%, 召回: 91%, 速度: 40KB/sec | [下载] [文档] [安装说明] |
| php_scws.dll(2) | PHP扩展库 | Windows/PHP 5.2.x | 准确: 95%, 召回: 91%, 速度: 40KB/sec | [下载] [文档] [安装说明] |
| php_scws.dll(3) | PHP扩展库 | Windows/PHP 5.3.x | 准确: 95%, 召回: 91%, 速度: 40KB/sec | [下载] [文档] [安装说明] |
| php_scws.dll(4) | PHP扩展库 | Windows/PHP 5.4.x | 准确: 95%, 召回: 91%, 速度: 40KB/sec | [下载] [文档] [安装说明] |
| PSCWS23 | PHP源代码 | 不限 (不支持UTF-8) | 准确: 93%, 召回: 89%, 速度: 960KB/min | [下载] [文档] |
| PSCWS4 | PHP源代码 | 不限 | 准确: 95%, 召回: 91%, 速度: 160KB/min | [下载] [文档] |
scws的更多相关文章
- PHP+mysql数据库开发搜索功能:中英文分词+全文检索(MySQL全文检索+中文分词(SCWS))
PHP+mysql数据库开发类似百度的搜索功能:中英文分词+全文检索 中文分词: a) robbe PHP中文分词扩展: http://www.boyunjian.com/v/softd/robb ...
- SCWS分词扩展在UNIX/LINUX下的安装方法
<?php/** * 中文分词处理方法 *+--------------------------------- * @param stirng $string 要处理的字符串 * @param ...
- SCWS分词扩展在WINDOWS下的安装方法
安装之前先确认您是否拥有主机的安装权限,否则无法进行安装,安装步骤如下: 1. 根据您当前用的 PHP 版本,下载相应已编译好的 php_scws.dll 扩展库. 目前支持以下版本 [PHP-4 ...
- Sphinx 之 Coreseek、Sphinx-for-chinaese、Sphinx+Scws 评测
Sphinx是一个基于SQL的全文检索引擎:普遍使用于很多网站:但由于中英文的差异,其本身,对中文的支持并不好.主要体现在对一段话断词:英文只需按照空格对其分词即可:但对于博大精深的中文来说,却是件困 ...
- Thinkphp3.2使用scws中文分词 提取关键词
SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统).1.下载scws官方提供的类(这里使用的是pscws第四版的)http://www ...
- php+中文分词scws+sphinx+mysql打造千万级数据全文搜索
转载自:http://blog.csdn.net/nuli888/article/details/51892776 Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎.意图 ...
- 中文分词 sphni与scws
1.安装sphnixcd /usr/local/srcwget http://sphinxsearch.com/files/sphinx-2.2.11-release.tar.gztar -zxvf ...
- scws安装
mkdir scws cd scws wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 tar xvjf scws-.tar.bz2 ...
- scws简单中文分词
demo如下: /** * 中文分词 * @param $keyword * @param $getTop * @param $limit * @return array */ function sp ...
- php分词工具scws
分词工具 sphinx 支持php版本5.2.2~6.0因此选用scws 文档地址 http://www.xunsearch.com/scws/docs.php#instscws 简单的demo ...
随机推荐
- jmeter解决中文乱码问题
问题: 当响应数据或响应页面没有设置编码时,jmeter会按照jmeter.properties文件中,sampleresult.default.encoding 设置的格式解析默认ISO-8859- ...
- ubuntu.16.04 安装.net core记录
jack@ubuntu:~$ sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotne ...
- Navicat 导出为 Excel 文件
1:先选择一个表 再点击导出向导 2:看图 3:选择保存的路径 4:选择字段 5:最后执行吧
- CAD绘制一个线型标注(com接口VB语言)
主要用到函数说明: _DMxDrawX::DrawDimRotated 绘制一个线型标注.详细说明如下: 参数 说明 DOUBLE dExtLine1PointX 输入第一条界线的起始点X值 DOUB ...
- CAD在网页中增加一个射线
主要用到函数说明: IMxDrawBlockTableRecord::AddRay 向记录中增加一个射线,详细说明如下: 参数 说明 point1 射线上的点1 point2 射线上的点2 js代码实 ...
- 换个语言学一下 Golang (4)——变量与常量
一.变量定义 所谓的变量就是一个拥有指定名称和类型的数据存储位置. //看一个例子 package main import ( "fmt" ) func main() { var ...
- 一个好玩的 屏蔽别人审查元素F12 右键及其他复制粘贴等
有的时候自己写的私下的个人小页面 里面有些自己的小秘密 或者别的东西 不想人别人审查元素看见 所以我提供了一段不让别人审查元素的代码(我个人比较喜欢弄有意思的东西 喜欢玩 ) //屏蔽右键菜单doc ...
- python合并多个txt文件成为一个文件
#coding=utf-8 import os import os.path #文件夹遍历函数 #获取目标文件夹的路径 filedir = './data/click_data' #获取当前文件夹中的 ...
- C语言比较好的风格梳理
errno int err; tb = malloc(sizeof(struct xtracer_table)); if (!tb) { err = errno; fprintf(stderr, &q ...
- [luogu4054 JSOI2009] 计数问题(2D BIT)
传送门 Solution 2D BIT模板 Code //By Menteur_Hxy #include <cmath> #include <cstdio> #include ...