11大Java开源中文分词器的使用方法和分词效果对比

可莉
• 阅读 1094

本文的目标有两个:

1、学会使用11大Java开源中文分词器

2、对比分析11大Java开源中文分词器的分词效果

本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断。

11大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口:

11大Java开源中文分词器的使用方法和分词效果对比

从上面的定义我们知道,在Java中,同样的方法名称和参数,但是返回值不同,这种情况不可以使用重载。

这两个方法的区别在于返回值,每一个分词器都可能有多种分词模式,每种模式的分词结果都可能不相同,第一个方法忽略分词器模式,返回所有模式的所有不重复分词结果,第二个方法返回每一种分词器模式及其对应的分词结果。

在这里,需要注意的是我们使用了Java8中的新特性默认方法,并使用stream把一个map的value转换为不重复的集合。

下面我们利用这11大分词器来实现这个接口:

1、word分词器

11大Java开源中文分词器的使用方法和分词效果对比

2、Ansj分词器

11大Java开源中文分词器的使用方法和分词效果对比

3、Stanford分词器

11大Java开源中文分词器的使用方法和分词效果对比

4、FudanNLP分词器

11大Java开源中文分词器的使用方法和分词效果对比

5、Jieba分词器

11大Java开源中文分词器的使用方法和分词效果对比

6、Jcseg分词器

11大Java开源中文分词器的使用方法和分词效果对比

7、MMSeg4j分词器

11大Java开源中文分词器的使用方法和分词效果对比

8、IKAnalyzer分词器

11大Java开源中文分词器的使用方法和分词效果对比

9、Paoding分词器

11大Java开源中文分词器的使用方法和分词效果对比

10、smartcn分词器

11大Java开源中文分词器的使用方法和分词效果对比

11、HanLP分词器

11大Java开源中文分词器的使用方法和分词效果对比

现在我们已经实现了本文的第一个目的:学会使用11大Java开源中文分词器。

最后我们来实现本文的第二个目的:对比分析11大Java开源中文分词器的分词效果,程序如下:

11大Java开源中文分词器的使用方法和分词效果对比

运行结果如下:

11大Java开源中文分词器的使用方法和分词效果对比

11大Java开源中文分词器的使用方法和分词效果对比

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Johnny21 Johnny21
3年前
elasticsearch教程--Plugins篇
目录概述环境准备认识es插件插件安装插件管理命令彩蛋概述上一篇博文记录了,在地大物博的祖国使用es,不得不考虑中文分词器,es内置的分词器对中文分词的支持可以用惨不忍睹来形容不为过,如果想安装中文分词器,就需要借助es的插件。本文将记录一下项目中如何使用插件,希
Stella981 Stella981
2年前
Jieba分词Python简单实现
上一章分享了IKAnalyzer中文分词及词频统计基于Hadoop的MapReducer框架Java实现。这次将与大家分享Jieba中文分词Python简单实现,由于Jieba分词是基于词频最大切分组合,所以不用做词频统计,可以直接得到其关键字。1、安装jieba安装方式可以查看博主的中文分词工具(http://my.oschina.net/ea
Stella981 Stella981
2年前
Elasticsearch spring boot 指定拼音分词器
1下载ik中文/拼音分词器ik分词器:https://github.com/medcl/elasticsearchanalysisik(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Flink.jianshu.com%2F%3Ft%3Dhttps%3A
Stella981 Stella981
2年前
HanLP分词工具中的ViterbiSegment分词流程
本篇文章将重点讲解HanLP的ViterbiSegment分词器类,而不涉及感知机和条件随机场分词器,也不涉及基于字的分词器。因为这些分词器都不是我们在实践中常用的,而且ViterbiSegment也是作者直接封装到HanLP类中的分词器,作者也推荐使用该分词器,同时文本分类包以及其他一些自然语言处理任务包中的分词器也都间接使用了ViterbiSegment
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Lucene 03
\TOC\1分词器概述1.1分词器简介在对文档(Document)中的内容进行索引前,需要对域(Field)中的内容使用分析对象(分词器)进行分词.\\分词的目的是为了索引,索引的目的是为了搜索.\\分词的过程是先分词,再过滤:分词:将Doc
Stella981 Stella981
2年前
ElasticSearch(六):IK分词器的安装与使用IK分词器创建索引
之前我们创建索引,查询数据,都是使用的默认的分词器,分词效果不太理想,会把text的字段分成一个一个汉字,然后搜索的时候也会把搜索的句子进行分词,所以这里就需要更加智能的分词器IK分词器了。1\.ik分词器的下载和安装,测试第一:下载地址:https://github.com/medcl/elasticsearchanalysisi
Stella981 Stella981
2年前
Elasticsearch学习笔记——分词
1.测试Elasticsearch的分词Elasticsearch有多种分词器(参考:https://www.jianshu.com/p/d57935ba514b)Settheshapetosemitransparentbycallingset\_trans(5)(1)standardanalyzer:标准分词器(默认是