PHP中文分词扩展 SCWS

jopen 10年前

1、scws简介
SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统)。
这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成词。 词是中文的最小语素单位,但在书写时并不像英语会在词之间用空格分开, 所以如何准确并快速分词一直是中文分词的攻关难点。
SCWS 采用纯 C 语言开发,不依赖任何外部库函数,可直接使用动态链接库嵌入应用程序, 支持的中文编码包括 GBK、UTF-8 等。此外还提供了 PHP 扩展模块, 可在 PHP 中快速而方便地使用分词功能。

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

2、scws下载与安装
scws支持windows平台以及linux/unix平台,本次简单以windwos下安装为例进行说明:
[1]下载php_scws.dll文件、XDB 词典文件、规则集文件,具体可以参考网址:http://www.xunsearch.com/scws/download.php
[2]将php_scws.dll文件拷贝到php安装路径下。
[3]将XDB 词典文件、规则集文件解压到相应盘符,例如D:/ceshi
[4]修改php.ini,增加一下代码:

</div> </div>
    extension = php_scws.dll        scws.default.charset = gbk        scws.default.fpath = "D:\ceshi\"  

3、scws实现分词的简单案例
<?php    $sh = scws_open();    scws_set_charset($sh, 'gbk');    $text = "我是一个中国人,我会C++语言,我也有很多T恤衣服";    scws_send_text($sh, $text);    $top = scws_get_tops($sh, 5);    print_r($top);    ?>  
</div> </div>