SCWS 是 Simple Chinese Words Segmentation 的缩写,即简易中文分词系统。
这是一套基于词频词典的机械中文分词引擎,它能将一整段的汉字基本正确的切分成词。词是汉语的基本语素单位,而书写的时候不像英语会在词之间用空格分开, 所以如何准确而又快速的分词一直是中文分词的攻关难点。
SCWS 在概念上并无创新成分,采用的是自行采集的词频词典,并辅以一定程度上的专有名称、人名、地名、数字年代等规则集,经小范围测试大概准确率在 90% ~ 95% 之间,已能基本满足一些中小型搜索引擎、关键字提取等场合运用。 SCWS 采用纯 C 代码开发,以 Unix-Like OS 为主要平台环境,提供共享函数库,方便植入各种现有软件系统。此外它支持 GBK,UTF-8,BIG5 等汉字编码,切词效率高。
SCWS 是开放源码并且免费的。
SCWS 智能卡网络服务器,是由SIM卡行业开发的一种解决方案,旨在为运营商提供一个功能丰富的便携式环境来开发基于多媒体SIM卡的应用。
特色与内容
SCWS 采用标准C开发由 hightman 个人开发,无任何第三方库函数依赖。提供 C的接口、PHP的扩展(源码、WIN32的DLL文件),是目前使用最方便的开源免费中文分词软件之一。
SCWS 特别为全文索引考虑,提供了自创的复合分词,可以把长词再分成短词,把散字按二元切词法进行结合的功能。
SCWS 默认提供通用的互联网信息词库,提供 PHP编写的词典导入导出工具 。自 1.1.1 版起,支持用户自定义文本词典,支持基于词性的规则权重。
SCWS 软件包中除包含核心库代码外,还包含一个命令行工具、词典转换工具。
PHP调用范例
例子1. 使用类方法分词
<?php
$so = scws_new();
$so->set_charset(‘gbk’);
// 这里没有调用 set_dict 和 set_rule 系统会自动试调用 ini 中指定路径下的词典和规则文
$so->send_text(“我是一个中国人,我会C++语言,我也有很多T恤衣服”);
while ($tmp = $so->get_result())
{
print_r($tmp);
}
$so->close();
?>
例子2. 使用函数提取高频词
<?php
$sh = scws_open();
scws_set_charset($sh, ‘gbk’);
scws_set_dict($sh, ‘/path/to/dict.xdb’);
scws_set_rule($sh, ‘/path/to/rules.ini’);
$text = “我是一个中国人,我会C++语言,我也有很多T恤衣服”;
scws_send_text($sh, $text);
$top = scws_get_tops($sh, 5);
print_r($top);
?>
评论