Java调用IK分词器进行分词方式,封装工具类
更新时间:2024年08月12日 14:31:35 作者:程序员阿伟
这篇文章主要介绍了Java调用IK分词器进行分词方式,封装工具类,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
使用场景
在大数据的场景下,一般用于统计关键词出现的频率,因此我们需要对一些数据文本进行分词,得到我们想要的关键词。
导入依赖
<dependency> <groupId>com.janeluo</groupId> <artifactId>ikanalyzer</artifactId> <version>2012_u6</version> </dependency>
分词的使用
ArrayList<String> result = new ArrayList<>(); // 创建一个reader对象 StringReader reader = new StringReader(keyword); // 创建一个分词对象 IKSegmenter ikSegmenter = new IKSegmenter(reader, true); Lexeme next = ikSegmenter.next(); while ( next != null ) { // 获取分词的结果 result.add(next.getLexemeText()); next = ikSegmenter.next(); } return result;
分词结果:
- useSmart = true时的结果,一个词不会重复出现
- useSmart = false时的结果,词会多次出现
显然useSmart = false效果好点
封装工具类
package com.cw.util; import org.wltea.analyzer.core.IKSegmenter; import org.wltea.analyzer.core.Lexeme; import java.io.IOException; import java.io.StringReader; import java.util.ArrayList; import java.util.List; /** * @author CW * @version 1.0 * @date 2023/3/1 8:41 * @desc ik分词工具类 */ public class IKUtil { /** * 分词 * @param keyword 需要分词的文本 * @return */ public static List<String> splitKeyWord(String keyword) throws IOException { ArrayList<String> result = new ArrayList<>(); // 创建一个reader对象 StringReader reader = new StringReader(keyword); // 创建一个分词对象 IKSegmenter ikSegmenter = new IKSegmenter(reader, false); Lexeme next = ikSegmenter.next(); while ( next != null ) { // 获取分词的结果 result.add(next.getLexemeText()); next = ikSegmenter.next(); } return result; } }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Java面试为何阿里强制要求不在foreach里执行删除操作
那天,小二去阿里面试,面试官老王一上来就甩给了他一道面试题:为什么阿里的 Java 开发手册里会强制不要在 foreach 里进行元素的删除操作2021-11-11Mybatis之解决collection一对多问题(显示的结果没有整合到一起)
这篇文章主要介绍了Mybatis之解决collection一对多问题(显示的结果没有整合到一起),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-03-03详解Intellij IDEA 2017 debug断点调试技巧(总结)
这篇文章主要介绍了详解Intellij IDEA 2017 debug断点调试技巧(总结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-11-11SpringBoot中的@EnableConfigurationProperties注解原理及用法
在SpringBoot中,@EnableConfigurationProperties注解是一个非常有用的注解,它可以用于启用对特定配置类的支持,在本文中,我们将深入探讨@EnableConfigurationProperties注解,包括它的原理和如何使用,需要的朋友可以参考下2023-06-06
最新评论