几种开源分词工具的比較

几种开源分词工具的比較

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

分词工  具

      特点

  

支持语言

    原理

词典及扩展性

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119089.html原文链接:https://javaforall.net

(0)
上一篇 2021年11月16日 下午3:00
下一篇 2021年11月16日 下午4:00


相关推荐

  • icem二维非结构网格划分_Ansys Icem CFD网格划分实例详解PDF及附件[通俗易懂]

    icem二维非结构网格划分_Ansys Icem CFD网格划分实例详解PDF及附件[通俗易懂]网格划分是CFD仿真计算中重要的一环,icem也是Ansys家族的王牌成员,虽然现在已被mesh以及fluentmesh追赶,但是依旧是学生时代主流的追求完美结构化网格的利器!学好icem对于拓结构的理解也会更深刻!这本书没找到原版的,只有影印版,看起来不是很舒服,但是有配套视频可以学习,也算慰藉。建议买本纸质版康康,虽然纸质版也不是很清晰,因为不是彩印的,所以凑活看吧!一、书籍简介名…

    2022年5月26日
    49
  • 微信小程序生成二维码、程序码、海报

    微信小程序生成二维码、程序码、海报文章目录前言一 二维码 1 选用 getUnlimited 后端 java3 前端 小程序页面 二 普通二维码使用总结 前言微信二维码 方便传播和列表 可以用于签到扫码 分销二维码 团长二维码 分享海报等一系列二维码效果如图 一 二维码 1 选用 getUnlimited getUnlimited 因为它 永久有效 数量暂无限制 使用后端生成 返回到前端显示 2 后端 javaservice 写好的服务第一步 获取 access token 我这里把它做一个一下处理 把他存在 red

    2026年3月18日
    0
  • 深度搜索算法查找最短路径的方法_深度优先搜索算法

    深度搜索算法查找最短路径的方法_深度优先搜索算法如图,百度地图上有5个地点,各个地点间是单向的路径,试求出从1到5的最短路径。从图中可以得到一个5*5的二维矩阵,利用深度搜索算法,求出最短路径。从最后的运行结果,可以直观的看出搜索的过程代码实现如下:#include"pch.h"#include<stdio.h>#include<stdlib.h>#include<vector&g…

    2025年6月6日
    5
  • python 中的 type(), dtype(), astype()的区别

    python 中的 type(), dtype(), astype()的区别函数 说明 type() 返回数据结构类型(list、dict、numpy.ndarray等) dtype() 返回数据元素的数据类型(int、float等) 备注:1)由于list、dict等可以包含不同的数据类型,因此不可调用dtype()函数 2)np.array中要求所有元素属于同一数据类型,因此可调用d…

    2022年6月7日
    36
  • java executeupdate,Java线程安全中的executeUpdate方法[通俗易懂]

    java executeupdate,Java线程安全中的executeUpdate方法[通俗易懂]IhavemultiplethreadstryingtoupdateaMySQLdatabase?isexecuteUpdatemethodthread-safetouse?解决方案No,itisnotthread-safetouse.Infact,ifsomeotherthreadusesastatement,andthenanot…

    2022年10月20日
    6
  • Win10计算器在哪里?三种可以打开Win10计算器的方法图文介绍

    全新的windows10系统带来了不少新的特性和改变,其中win10的计算器位置就发生了很多的变化,导致很多网友们都以为win10计算器不见了,那么,win10计算器在哪里?如何打开?针对此问题,本文

    2021年12月27日
    111

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号