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. PowerDesigner16逆向工程生成PDM列注释(My Sql5.0模版)

    一.编辑当前DataBase 选择DataBase——>edit Current DBMS...弹出如下对话框:  如上图,先解释一下: 根据红颜色框从上往下解释一下. 第一个红框是对应的修改的 ...

  2. Linux命令(文本编辑器)

    vi和vim编辑器:有插入模式,一般模式,地行模式 一班模式通过(i.a.o.I.A.O)键--->进入插入模式            插入模式(按Esc键退出)---->j进入一班模式 ...

  3. Python学习笔记——Matplot库

    https://www.cnblogs.com/laoniubile/p/5893286.html  一.基本指令 import matplotlib.pyplot as plt plt.figure ...

  4. 内核调试-perf introduction

    perf概念 perf_event Perf_events是目前在Linux上使用广泛的profiling/tracing工具,除了本身是内核(kernel)的组成部分以外,还提供了用户空间(user ...

  5. The JVM Architecture Explained

    转自:https://dzone.com/articles/jvm-architecture-explained?oid=18544920 Every Java developer knows tha ...

  6. 洛谷——P1757 通天之分组背包

    P1757 通天之分组背包 题目背景 直达通天路·小A历险记第二篇 题目描述 自01背包问世之后,小A对此深感兴趣.一天,小A去远游,却发现他的背包不同于01背包,他的物品大致可分为k组,每组中的物品 ...

  7. lua_note_01_lua介绍

    1. lua 1. lua 1.1. lua介绍 1.2. Lua 特性 1.3. 特点 1.4. Lua 应用场景 1.5. 环境搭建 1.6. VS lua 1.1. lua介绍 Lua 是一种轻 ...

  8. HDU - 1087 Super Jumping!Jumping!Jumping!(dp求最长上升子序列的和)

    传送门:HDU_1087 题意:现在要玩一个跳棋类游戏,有棋盘和棋子.从棋子st开始,跳到棋子en结束.跳动棋子的规则是下一个落脚的棋子的号码必须要大于当前棋子的号码.st的号是所有棋子中最小的,en ...

  9. gitblit 搭建本地git服务器

    本文主要描述gitblit搭建本地服务器

  10. hadoop在线退役datanode

    退役dn2echo "dn2" >>excludes echo "dn2" >>yarn-excludes sh refresh-nam ...