4款开源的中文分词系统



    中文分词是做好中文内容检索、文本分析的基础,主要应用于搜索引擎与数据挖掘领域。中文是以词为基本语素单位,而词与词之间并不像英语一样有空格来分隔,因而中文分词的难点在于如何准确而又快速地进行分词。以下介绍4款开源中文分词系统。

    1、ICTCLAS - 全球最受欢迎的汉语分词系统



    中文词法分析是中文信息处理的基础与关键。中国科学院计算技术研究所在多年研究工作积累的基础上,研制出了汉语词法分析系统ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System),主要功能包括中文分词;词性标注;命名实体识别;新词识别;同时支持用户词典;支持繁体中文;支持GBK、UTF-8、UTF-7、UNICODE等多种编码格式。我们先后精心打造五年,内核升级6次,目前已经升级到了ICTCLAS3.0。ICTCLAS3.0分词速度单机996KB/s,分词精度98.45%,API不超过200KB,各种词典数据压缩后不到3M,是当前世界上最好的汉语词法分析器。

    系统平台:Windows

    开发语言:C/C++、Java、C#

    使用方式:dll调用

    演示网址:http://ictclas.org/test.html

    开源官网:http://ictclas.org

    晴枫附注:ICTCLAS有共享版、商业版、行业版,支持Linux平台,但不开源。ICTCLAS已进入商用,且应用范围较广,相信分词效率出色。

    2、HTTPCWS - 基于HTTP协议的开源中文分词系统

    HTTPCWS 是一款基于HTTP协议的开源中文分词系统,目前仅支持Linux系统。HTTPCWS 使用“ICTCLAS 3.0 2009共享版中文分词算法”的API进行分词处理,得出分词结果。

    ICTCLAS是中国科学院计算技术研究所在多年研究工作积累的基础上,基于多层隐马模型研制出的汉语词法分析系统,主要功能包括中文分词;词性标注;命名实体识别;新词识别;同时支持用户词典。ICTCLAS经过五年精心打造,内核升级6次,目前已经升级到了ICTCLAS3.0,分词精度98.45%,各种词典数据压缩后不到3M。ICTCLAS在国内973专家组组织的评测中活动获得了第一名,在第一届国际中文处理研究机构SigHan组织的评测中都获得了多项第一名,是当前世界上最好的汉语词法分析器。

    ICTCLAS 3.0 商业版是收费的,而免费提供的 ICTCLAS 3.0 共享版不开源,词库是根据人民日报一个月的语料得出的,很多词语不存在。所以本人补充的一个19万条词语的自定义词库,对ICTCLAS分词结果进行合并处理,输出最终分词结果。

    由于 ICTCLAS 3.0 2009 共享版只支持GBK编码,因此,如果是UTF-8编码的字符串,可以先用iconv函数转换成GBK编码,再用httpcws进行分词处理,最后转换回UTF-8编码。

    HTTPCWS 软件自身(包括httpcws.cpp源文件、dict/httpcws_dict.txt自定义词库)采用NewBSD开源协议,可以自由修改。HTTPCWS 使用的 ICTCLAS 共享版 API 及 dict/Data/ 目录内的语料库,版权及著作权归中国科学院计算技术研究所、ictclas.org所有,使用需遵循其相关协议。

    系统平台:Linux

    开发语言:C++

    使用方式:HTTP服务

    演示网址:http://blog.s135.com/demo/httpcws/

    开源官网:http://blog.s135.com/httpcws_v100/

    晴枫附注:基于ICTCLAS,增加了19万条词语的扩展词库,并且构建成HTTP服务的方式,使用上更加便捷。

    3、SCWS - 简易中文分词系统

    SCWS 在概念上并无创新成分,采用的是自行采集的词频词典,并辅以一定程度上的专有名称、人名、地名、数字年代等规则集,经小范围测试大概准确率在 90% ~ 95% 之间,已能基本满足一些中小型搜索引擎、关键字提取等场合运用。 SCWS 采用纯 C 代码开发,以 Unix-Like OS 为主要平台环境,提供共享函数库,方便植入各种现有软件系统。此外它支持 GBK,UTF-8,BIG5 等汉字编码,切词效率高。

    系统平台:Windows/Unix

    开发语言:C

    使用方式:PHP扩展

    演示网址:http://www.ftphp.com/scws/demo.php

    开源官网:http://www.ftphp.com/scws/

    晴枫附注:作为PHP扩展,容易与现有的基于PHP架构的Web系统继续集成,是其一大优势。

    4、PhpanAlysis - PHP无组件分词系统

    PhpanAlysis分词系统是基于字符串匹配的分词方法 ,这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配 和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。 

    系统平台:PHP环境

    开发语言:PHP

    使用方式:HTTP服务

    演示网址:http://www.itgrass.com/phpanalysis/

    开源官网:http://www.itgrass.com/phpanalysis/

    晴枫附注:实现简单,容易使用,能做一些简单应用,但大数据量的计算效率不如前几种。

    试用了几个系统,基本分词功能都没什么问题,只是在个别一些词的划分上存在一些差异;对于词性的确定,系统间有所不同。



    本博客所有文章如无特别注明均为原创。
    复制或转载请以超链接形式注明转自枫芸志,原文地址《4款开源的中文分词系统
    标签:
    分享:

已经有5 条评论抢在你前面了~

  1. 沙发
    robbe 2013年5月14日 上午12:29

    发现一款不错的分词器, php高性能中文分词扩展-robbe, 是基于c语言开发的一款分词器friso 而开发的一个php扩展,分词速度和精度比scws. phpAnalisis什么的都要好。 官网:http://code.google.com/p/robbe

    [回复]

    晴枫

    晴枫 回复:

    @robbe, 有空来玩玩

    [回复]

  2. 板凳
    yzhkpli 2012年8月5日 下午12:33

    求问,怎么没有 coreseek/sphinx?这个不算中文分词么?

    [回复]

    晴枫

    晴枫 回复:

    @yzhkpli, 不算,coreseek是检索引擎,里面包括了分词系统

    [回复]

无觅相关文章插件,快速提升流量