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


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

    分词工  具

          特点

      

    支持语言

        原理

    词典及扩展性

    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||******


  • 相关阅读:
    Asynchronous AOF fsync is taking too long (disk is busy?). Writing the AOF buffer without waiting for fsync to complete, this may slow down Redis.
    DHCP "No subnet declaration for xxx (no IPv4 addresses)" 报错
    Centos安装前端开发常用软件
    kubernetes学习笔记之十:RBAC(二)
    k8s学习笔记之StorageClass+NFS
    k8s学习笔记之ConfigMap和Secret
    k8s笔记之chartmuseum搭建
    K8S集群集成harbor(1.9.3)服务并配置HTTPS
    Docker镜像仓库Harbor1.7.0搭建及配置
    Nginx自建SSL证书部署HTTPS网站
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4009147.html
Copyright © 2020-2023  润新知