Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 03-May-2022 | - | ||||
cli/ | H | 24-Feb-2016 | - | 1,219 | 1,033 | |
etc/ | H | 24-Feb-2016 | - | 1,430 | 1,251 | |
libscws/ | H | 24-Feb-2016 | - | 5,204 | 3,988 | |
phpext/ | H | 24-Feb-2016 | - | 1,320 | 1,003 | |
win32/ | H | 03-May-2022 | - | 1,535 | 1,458 | |
API.md | H A D | 08-Jan-2013 | 10.4 KiB | 229 | 171 | |
AUTHORS | H A D | 08-Jan-2013 | 77 | 7 | 4 | |
COPYING | H A D | 06-Jan-2013 | 1.7 KiB | 37 | 31 | |
ChangeLog | H A D | 06-Jan-2013 | 7.1 KiB | 189 | 152 | |
INSTALL | H A D | 24-Feb-2016 | 15.4 KiB | 371 | 289 | |
Makefile.am | H A D | 11-Jul-2013 | 549 | 31 | 16 | |
Makefile.in | H A D | 24-Feb-2016 | 25.1 KiB | 834 | 728 | |
NEWS | H A D | 08-Jan-2013 | 76 | 6 | 3 | |
README | H A D | 07-Jan-2013 | 7.4 KiB | 184 | 133 | |
aclocal.m4 | H A D | 24-Feb-2016 | 363.6 KiB | 10,182 | 9,205 | |
compile | H A D | 24-Feb-2016 | 7.2 KiB | 348 | 258 | |
config.guess | H A D | 24-Feb-2016 | 41.9 KiB | 1,422 | 1,230 | |
config.h.in | H A D | 24-Feb-2016 | 4.2 KiB | 163 | 110 | |
config.sub | H A D | 24-Feb-2016 | 35.1 KiB | 1,808 | 1,670 | |
configure | H A D | 24-Feb-2016 | 447 KiB | 15,345 | 12,838 | |
configure.ac | H A D | 24-Feb-2016 | 2.6 KiB | 99 | 82 | |
depcomp | H A D | 24-Feb-2016 | 23 KiB | 792 | 502 | |
install-sh | H A D | 24-Feb-2016 | 14.3 KiB | 502 | 327 | |
ltmain.sh | H A D | 24-Feb-2016 | 316.5 KiB | 11,148 | 7,979 | |
missing | H A D | 24-Feb-2016 | 6.7 KiB | 216 | 143 |
README
1README of SCWS 2=============== 3$Id$ 4 5SCWS 简介 6--------- 7 8[SCWS][1] 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统)。 9这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成词。词是 10中文的最小语素单位,但在书写时并不像英语会在词之间用空格分开,所以如何准确并快速分词一直 11是中文分词的攻关难点。 12 13SCWS 采用纯 C 语言开发,不依赖任何外部库函数,可直接使用动态链接库嵌入应用程序,支持的 14中文编码包括 `GBK`、`UTF-8` 等。此外还提供了 [PHP][2] 扩展模块,可在 PHP 中快速 15而方便地使用分词功能。 16 17分词算法上并无太多创新成分,采用的是自己采集的词频词典,并辅以一定的专有名称,人名,地名, 18数字年代等规则识别来达到基本分词,经小范围测试准确率在 90% ~ 95% 之间,基本上能满足一些 19小型搜索引擎、关键字提取等场合运用。首次雏形版本发布于 2005 年底。 20 21SCWS 由 [hightman][8] 开发,并以 BSD 许可协议开源发布 ,参见 [COPYING][7]。 22 23 24PHP 分词演示 25------------ 26 27* _GBK_ <http://www.xunsearch.com/scws/demo/v4.php> 28* _UTF-8_ <http://www.xunsearch.com/scws/demo/v48.php> 29* _繁体中文_ <http://www.xunsearch.com/scws/demo/v48.cht.php> 30 31 32安装 33----- 34 35目前 scws 只提供源码包,和大多数 GNU 软件的编译安装步骤一样。下面我们以 `Linux` 系统为例, 36要求装有 `gcc` 编译器。`Windows` 上则建议用 [cygwin][3] 或 [mingw][4] 环境编译。 37 381. 取得 scws 源码并解压到当前目录 39 ``` 40 wget -q -O - http://www.xunsearch.com/scws/down/scws-1.2.1.tar.bz2 | tar xjf - 41 ``` 42 432. 进入源码目录配置和编译 44 ``` 45 cd scws-1.2.1 ; ./configure ; make install 46 ``` 47 > 注意:这是以默认方式安装到 `/usr/local` 目录。详细配置参数执行 `./configure --help` 查看。 48 49 50PHP 扩展 51--------- 52 53在 UNIX 类的系统上,请直接从源码方式编译安装 PHP 扩展;对于 windows 系统,请直接下载我们编译好的 54`php_scws.dll` 即可。 55 56假定您已经将 scws 安装到 `$prefix` 目录,还要求系统环境装有 autoconf automake 及 phpize 工具。 57 581. 进入源码目录的 phpext/ 并执行 `phpize` (位于 php 安装目录下的 bin 目录里) 59 602. 执行 `configure` 进行配置和基础检测,假定您的 php 安装在 `$php_prefix` 目录 61 ``` 62 ./configure --with-scws=/usr/local --with-php-config=$php_prefix/bin/php-config 63 ``` 64 653. 先编译然后以 `root` 身份安装 66 ``` 67 make 68 sudo make install 69 ``` 70 714. 在 php.ini 中加入以下内容 72 ``` 73 [scws] 74 ; 注意请检查 php.ini 中的 extension_dir 的设定值是否正确, 否则请将 extension_dir 设为空, 75 ; 再把 extension = scws.so 或 php_scws.dll 指定绝对路径。 76 extension = scws.so 77 scws.default.charset = gbk 78 scws.default.fpath = $prefix/etc 79 ``` 80 815. 命令行下执行 `php -m` 就能看到 scws 了,phpinfo() 也会包含关于 scws 的信息。 82 836. windows 下的 php 扩展是采用 dll 库文件。我们已预编译若干个版本,采用 zip 压缩位于 84 `phpext/win32/php_scws-1.2.1-win32.zip`,请直接解压后选择相应版本的 `php_scws.dll`。 85 将它复制到 PHP 的扩展目录中(通常是 extensions 或 ext 目录),然后参考上面的方式修改 `php.ini`。 86 877. 关于 PHP 扩展的示例用法及开发参考,请参见 [phpext/README.md][6]。 88 89 90配套工具用法 91------------ 92 931. **$prefix/bin/scws** 这是分词的命令行工具,执行 scws -h 可以看到详细帮助说明。 94 ``` 95 Usage: scws [options] [[-i] input] [[-o] output] 96 ``` 97 * _-i string|file_ 要切分的字符串或文件,如不指定则程序自动读取标准输入,每输入一行执行一次分词 98 * _-o file_ 切分结果输出保存的文件路径,若不指定直接输出到屏幕 99 * _-c charset_ 指定分词的字符集,默认是 gbk,可选 utf8 100 * _-r file_ 指定规则集文件(规则集用于数词、数字、专有名字、人名的识别) 101 * _-d file[:file2[:...]]_ 指定词典文件路径(XDB格式,请在 -c 之后使用) 102 ``` 103 自 1.1.0 起,支持多词典同时载入,也支持纯文本词典(必须是.txt结尾),多词典路径之间用冒号(:)隔开, 104 排在越后面的词典优先级越高。 105 106 文本词典的数据格式参见 scws-gen-dict 所用的格式,但更宽松一些,允许用不定量的空格分开,只有<词>是必备项目, 107 其它数据可有可无,当词性标注为“!”(叹号)时表示该词作废,即使在较低优先级的词库中存在该词也将作废。 108 ``` 109 * _-M level_ 复合分词的级别:1~15,按位异或的 1|2|4|8 依次表示 短词|二元|主要字|全部字,缺省不复合分词。 110 * _-I_ 输出结果忽略跳过所有的标点符号 111 * _-A_ 显示词性 112 * _-E_ 将 xdb 词典读入内存 xtree 结构 (如果切分的文件很大才需要) 113 * _-N_ 不显示切分时间和提示 114 * _-D_ debug 模式 (很少用,需要编译时打开 --enable-debug) 115 * _-U_ 将闲散单字自动调用二分法结合 116 * _-t num_ 取得前 num 个高频词 117 * _-a [~]attr1[,attr2[,...]]_ 只显示某些词性的词,加~表示过滤该词性的词,多个词性之间用逗号分隔 118 * _-v_ 查看版本 119 1202. **$prefix/bin/scws-gen-dict** 词典转换工具 121 ``` 122 Usage: scws-gen-dict [options] [-i] dict.txt [-o] dict.xdb 123 ``` 124 * _-c charset_ 指定字符集,默认为 gbk,可选 utf8 125 * _-i file_ 文本文件(txt),默认为 dict.txt 126 * _-o file_ 输出 xdb 文件的路径,默认为 dict.xdb 127 * _-p num_ 指定 XDB 结构 HASH 质数(通常不需要) 128 * _-U_ 反向解压,将输入的 xdb 文件转换为 txt 格式输出 (TODO) 129 130 > 文本词典格式为每行一个词,各行由 4 个字段组成,字段之间用若干个空格或制表符(\t)分隔。 131 > 含义(其中只有 <词> 是必须提供的),`#` 开头的行视为注释忽略不计: 132 > ``` 133 > #<词> <词频(TF)> <词重(IDF)> <词性(北大标注)> 134 > 新词条 12.0 2.2 n 135 > ``` 136 137libscws API 138------------- 139 140这是整合 scws 到其它应和程序的接口说明,详见 [API][5]。 141 142 143rules.ini 规则集 144----------------- 145 146(暂缺) 147 148 149关于 XDB 词典 150-------------- 151 152我们的词典使用的是自行开发的专用 XDB 格式,免费提供的词典是通用的互联网信息词汇集, 153收录了大约 28 万个词。 154 155如果您需要定制词典以作特殊用途,请与我们联系,可能会视情况进行收费。 156 157 158性能指标 159--------- 160 161在 FreeBSD 6.2 系统,单核单 CPU 至强 3.0G 的服务器上,测试长度为 80,535 的文本。 162用附带的命令行工具耗时将约 0.17 秒,若改用 php 扩展方式调用,则耗时约为 0.65 秒。 163 164分词精度 95.60%,召回率 90.51% (F-1: 0.93) 165 166 167其它 168------- 169 170该文档由 hightman 于 2007/06/08 首次编写,同时在不断修订中! 171 172项目主页:<http://www.xunsearch.com/scws> 我的邮箱:hightman2@yahoo.com.cn 173 174 175[1]: http://www.xunsearch.com/scws 176[2]: http://www.php.net 177[3]: http://www.cygwin.com 178[4]: http://www.mingw.org 179[5]: https://github.com/hightman/scws/blob/master/API.md 180[6]: https://github.com/hightman/scws/blob/master/phpext/README.md 181[7]: https://github.com/hightman/scws/blob/master/COPYING 182[8]: http://www.hightman.cn 183 184