SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统)。

这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成词。 词是中文的最小语素单位,但在书写时并不像英语会在词之间用空格分开, 所以如何准确并快速分词一直是中文分词的攻关难点。

SCWS 采用纯 C 语言开发,不依赖任何外部库函数,可直接使用动态链接库嵌入应用程序, 支持的中文编码包括 GBK、UTF-8 等。此外还提供了 PHP 扩展模块, 可在 PHP 中快速而方便地使用分词功能。

分词算法上并无太多创新成分,采用的是自己采集的词频词典,并辅以一定的专有名称,人名,地名, 数字年代等规则识别来达到基本分词,经小范围测试准确率在 90% ~ 95% 之间, 基本上能满足一些小型搜索引擎、关键字提取等场合运用。首次雏形版本发布于 2005 年底。

SCWS 由 hightman 开发, 并以 BSD 许可协议开源发布,源码托管在 github

动态

  • 推荐!!基于 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的更多相关文章

  1. PHP+mysql数据库开发搜索功能:中英文分词+全文检索(MySQL全文检索+中文分词(SCWS))

    PHP+mysql数据库开发类似百度的搜索功能:中英文分词+全文检索 中文分词: a)   robbe PHP中文分词扩展: http://www.boyunjian.com/v/softd/robb ...

  2. SCWS分词扩展在UNIX/LINUX下的安装方法

    <?php/** * 中文分词处理方法 *+--------------------------------- * @param stirng  $string 要处理的字符串 * @param ...

  3. SCWS分词扩展在WINDOWS下的安装方法

    安装之前先确认您是否拥有主机的安装权限,否则无法进行安装,安装步骤如下: 1. 根据您当前用的 PHP 版本,下载相应已编译好的 php_scws.dll 扩展库. 目前支持以下版本   [PHP-4 ...

  4. Sphinx 之 Coreseek、Sphinx-for-chinaese、Sphinx+Scws 评测

    Sphinx是一个基于SQL的全文检索引擎:普遍使用于很多网站:但由于中英文的差异,其本身,对中文的支持并不好.主要体现在对一段话断词:英文只需按照空格对其分词即可:但对于博大精深的中文来说,却是件困 ...

  5. Thinkphp3.2使用scws中文分词 提取关键词

    SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统).1.下载scws官方提供的类(这里使用的是pscws第四版的)http://www ...

  6. php+中文分词scws+sphinx+mysql打造千万级数据全文搜索

    转载自:http://blog.csdn.net/nuli888/article/details/51892776 Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎.意图 ...

  7. 中文分词 sphni与scws

    1.安装sphnixcd /usr/local/srcwget http://sphinxsearch.com/files/sphinx-2.2.11-release.tar.gztar -zxvf ...

  8. scws安装

    mkdir scws cd scws wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 tar xvjf scws-.tar.bz2 ...

  9. scws简单中文分词

    demo如下: /** * 中文分词 * @param $keyword * @param $getTop * @param $limit * @return array */ function sp ...

  10. php分词工具scws

    分词工具   sphinx  支持php版本5.2.2~6.0因此选用scws 文档地址 http://www.xunsearch.com/scws/docs.php#instscws 简单的demo ...

随机推荐

  1. Centos 安装 Moosefs文件系统

    一.环境介绍Moosefs master:192.168.55.148Moosefs Metalogger:192.168.55.149Moosefs Chunk-01:192.168.55.150M ...

  2. plsql developer连接oracle数据库

    1.下载安装PLSQL Developer12 访问PLSQL Developer官网https://www.allroundautomations.com/bodyplsqldevreg.html, ...

  3. MVC Ajax调用Action时-OnActionExecuting RedirectResult 无法跳转的处理办法

    public class BaseController : Controller { protected override void OnActionExecuting(ActionExecuting ...

  4. 【[Offer收割]编程练习赛13 C】 一人麻将

    [题目链接]:http://hihocoder.com/problemset/problem/1503 [题意] [题解] 一直在纠结如果没胡的话要扔掉哪一个麻将; 但其实可不用扔的,全部存起来就好了 ...

  5. Git学习总结(3)——代码托管平台简介

    可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS社区.GitHub真正迷人的是它的创新能力与Geek精神,这些都是无法模仿的. ...

  6. Maven学习总结(5)——聚合与继承

    Maven学习总结(五)--聚合与继承 一.聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合 1.1.聚合配置代码 <modules> <module> ...

  7. VScode使用简介

    1.1 VSCode简介 VSCode官网:https://code.visualstudio.com/ 支持语音: 速度较快,对超大文件读写速度飞快(打开10M代码不到1s,Subline原生会卡近 ...

  8. 重庆OI2017 老 C 的任务

    老 C 的任务 时间限制: 2 Sec  内存限制: 512 MB 题目描述 老 C 是个程序员. 最近老 C 从老板那里接到了一个任务——给城市中的手机基站写个管理系统.作为经验丰富的程序员,老 C ...

  9. 清北学堂模拟赛d5t4 套路

    分析:题目非常短,看起来非常难,其实把图一画就明白了.有向图,每个点的出度都是1,那么整个图肯定是环上套链,链上的边无论怎样反向都不会形成环,环上的边也可以随便反向,但是最终不能反为同向的,总方案数减 ...

  10. ACM数论总结

    ACM数论总结 http://blog.csdn.net/xieshimao/article/details/6425099 断断续续的学习数论已经有一段时间了,学得也很杂,现在进行一些简单的回顾和总 ...