• 几种开源分词工具的比較


      搜集了一些资料,与同学一起进行了简单的測试,总结例如以下。

    分词工  具

          特点

      

    支持语言

        原理

    词典及扩展性

    StandardAnalyzer

    中文、英文(unicode

    中文:单字符切分

    英文:依据空格切分

    ChineseAnalyzer

    中文,不支持中文和英文及数字混合的文本分词 

    按字分词,StandardAnalyzer对中文的分词没有大的差别

    CJKAnalyzer

    中文,英文,不支持中文和英文及数字混合的文本分词 

    採用的双字切分,也就是对一段文字按每两个字来进行切分 

    IKAnalyzer

    英文字母、数字、中文词汇等分词处理,兼容韩文、日文字符

    正向迭代最细粒度切分算法(词典+文法分析)

    收录27万中文词汇,

    支持用户词典扩展定义、支持自己定义停止词

    paoding

    中文

    支持不限制个数的用户自己定义词库

    MMAnalyzer

    支持英文、数字、中文(简体)混合分词

    正向最大匹配算法

    支持动态扩展

    MMSeg4j 

    中文,包含一些字符的处理 英文、俄文、希腊、数字(包含)的分出一连串的。眼下版本号没有处理小数字问题 

    用 Chih-Hao Tsai 的 MMSeg 算法MMSeg 算法有两种分词方法:SimpleComplex,都是基于正向最大匹配。在complex基础上实现了最多分词(max-word)   

    强制使用 UTF-8)

    使用sougou词库,也可自己定义覆盖

    imdict

    中文、英文、数字

    隐马尔科夫模型

    coredict核心字典、bigramdict词典,不含人名、地名词典。不支持自己定义词典

    分词工具

     

    特点

    速度

    文档完整性

    大小

    Lucene版本号

    备注

    StandardAnalyzer

    ChineseAnalyzer

    Lucene contrib中附带的分析器

    CJKAnalyzer

    Lucene contrib中附带的二元分词

    IKAnalyzer

    3.2.8

    83 万字/秒(1600KB/S

    具体

    2.62MB

    Lucene2.9

    Lucene3.0

    支持细粒度和最大词长两种切分模式

    paoding

    100万字/

    差点儿无

    1.3MB

    Lucene3.0

    MMAnalyzer

    第一次分词须要12秒(读取词典),之后速度基本与Lucene自带分词持平 

    原始站点已经找不到下载不提供维护和支持

    内存消耗30M+

    lucene 1.92.4之间 

    MMSeg4j 

    complex 1200kb/s左右, simple 1900kb/s左右 

    MMSeg 算法是英文的,但原理比較简单。实现也比較清晰。

    内存开销了50M左右 

    mmseg4j 1.8.3 仅仅支持 lucene 2.9/3.0 接口 。mmseg4j 1.8.5 支持 lucene 3.1

    imdict

    259517/

    较全

    词典大小7.26MB

    Lucene2.9直接收录

    分词效果演示:

    消歧义效果:

    分词工具

        效果

    张三买了张三角桌

    南京市长江大桥

    StandardAnalyzer

    |||||||

    ||||||

    ChineseAnalyzer

    |||||||

    ||||||

    CJKAnalyzer

    张三|三买|买了|了张|张三|三角|角桌

    南京|京市|市长|长江|江大|大桥

    IK

    Analyzer

    最大词长

    张三|买了|张三|三角|

    南京市|市长|长江大桥

    最细粒度

    张三||买了|张三|三角|||

    南京市|南京|市长|长江大桥|长江|大桥

    paoding

    张三|买了|张三|三角|  桌  

    |南京|南京市||市长|长江|大 |大桥  

    MMAnalyzer

    张三|买了|张三角|

    南京市|长江大桥

    MMSeg4j 

    SimpleSeg

    张三|买了|张三||

    南京市|长江大桥

    ComplexSeg

    张三|买了|张三||

    南京市|长江大桥

    imdict

    ||||||三角|

    南京市|长江|大桥

    数字、英文混合分词效果:

    分词工具

            效果

    我的QQ号是******

    StandardAnalyzer

    ||qq|||******

    ChineseAnalyzer

    ||qq||

    CJKAnalyzer

    我的|qq|||******

    IKAnalyzer

    IK

    ||qq|||******

    MIK

    ||qq|||******

    MMAnalyzer

    我的|qq|||******

    MMSeg4j 

    SimpleSeg

    我的|qq|||******

    ComplexSeg

    我的|qq|||******

    paoding

    |qq||****** 

    Imdict

    ||qq||******


  • 相关阅读:
    5.Hibernate实现全套增删改查和ajax异步分页
    3、Hibernate三态间的转换
    0. Java开发中的23种设计模式详解(转)
    4、Hibenrate中HQL的10中查询方式
    1.Hibernate框架核心组件 (转自冯岩)
    VB 进制转换大全
    详解 CSS 属性
    HTML5开发规范
    在 Windows 7 環境安裝 Python 2.6.6
    IBM开发者 JSON 教程
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/3791534.html
Copyright © 2020-2023  润新知