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

可莉
• 阅读 854

本文的目标有两个:

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
1年前
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
刚刚好 刚刚好
5个月前
css问题
1、在IOS中图片不显示(给图片加了圆角或者img没有父级)<div<imgsrc""/</divdiv{width:20px;height:20px;borderradius:20px;overflow:h
小森森 小森森
5个月前
校园表白墙微信小程序V1.0 SayLove -基于微信云开发-一键快速搭建,开箱即用
后续会继续更新,敬请期待2.0全新版本欢迎添加左边的微信一起探讨!项目地址:(https://www.aliyun.com/activity/daily/bestoffer?userCodesskuuw5n)\2.Bug修复更新日历2.情侣脸功能大家不要使用了,现在阿里云的接口已经要收费了(土豪请随意),\\和注意
晴空闲云 晴空闲云
5个月前
css中box-sizing解放盒子实际宽高计算
我们知道传统的盒子模型,如果增加内边距padding和边框border,那么会撑大整个盒子,造成盒子的宽度不好计算,在实务中特别不方便。boxsizing可以设置盒模型的方式,可以很好的设置固定宽高的盒模型。盒子宽高计算假如我们设置如下盒子:宽度和高度均为200px,那么这会这个盒子实际的宽高就都是200px。但是当我们设置这个盒子的边框和内间距的时候,那
艾木酱 艾木酱
5个月前
快速入门|使用MemFire Cloud构建React Native应用程序
MemFireCloud是一款提供云数据库,用户可以创建云数据库,并对数据库进行管理,还可以对数据库进行备份操作。它还提供后端即服务,用户可以在1分钟内新建一个应用,使用自动生成的API和SDK,访问云数据库、对象存储、用户认证与授权等功能,可专
Stella981 Stella981
1年前
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
1年前
HanLP分词工具中的ViterbiSegment分词流程
本篇文章将重点讲解HanLP的ViterbiSegment分词器类,而不涉及感知机和条件随机场分词器,也不涉及基于字的分词器。因为这些分词器都不是我们在实践中常用的,而且ViterbiSegment也是作者直接封装到HanLP类中的分词器,作者也推荐使用该分词器,同时文本分类包以及其他一些自然语言处理任务包中的分词器也都间接使用了ViterbiSegment
Stella981 Stella981
1年前
Lucene 03
\TOC\1分词器概述1.1分词器简介在对文档(Document)中的内容进行索引前,需要对域(Field)中的内容使用分析对象(分词器)进行分词.\\分词的目的是为了索引,索引的目的是为了搜索.\\分词的过程是先分词,再过滤:分词:将Doc
Stella981 Stella981
1年前
ElasticSearch(六):IK分词器的安装与使用IK分词器创建索引
之前我们创建索引,查询数据,都是使用的默认的分词器,分词效果不太理想,会把text的字段分成一个一个汉字,然后搜索的时候也会把搜索的句子进行分词,所以这里就需要更加智能的分词器IK分词器了。1\.ik分词器的下载和安装,测试第一:下载地址:https://github.com/medcl/elasticsearchanalysisi
helloworld_28799839 helloworld_28799839
5个月前
常用知识整理
Javascript判断对象是否为空jsObject.keys(myObject).length0经常使用的三元运算我们经常遇到处理表格列状态字段如status的时候可以用到vue