jieba分词
1.引入依赖
1 2 3 4 5 | <dependency> <groupId>com.huaban</groupId> <artifactId>jieba-analysis</artifactId> <version> 1.0 . 2 </version> </dependency> |
2.分词工具类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | package com.itcast.utils; import com.huaban.analysis.jieba.JiebaSegmenter; import com.huaban.analysis.jieba.SegToken; import com.huaban.analysis.jieba.WordDictionary; import java.io.*; import java.nio.file.*; import java.util.ArrayList; import java.util.List; public class JiebaAnalyzerUtil { /* *对语句进行分词 *@Param text 语句 *@return 分词后的集合 *@throws IOException */ public List segment(String text) throws IOException { List<Object> strings = new ArrayList<>(); //dict.txt 自定义词典 String path = getClass().getClassLoader().getResource( "dict.txt" ).getPath(); Path upath = Paths.get( new File(path).getAbsolutePath()); WordDictionary.getInstance().loadUserDict(upath); JiebaSegmenter jiebaSegmenter = new JiebaSegmenter(); List<SegToken> process = jiebaSegmenter.process(text, JiebaSegmenter.SegMode.SEARCH); for (SegToken segToken : process) { String word = segToken.word; strings.add(word); } return strings; } } |
3.测试
1 2 | public static void main(String[] args) throws IOException { String str= "亲爱的请帮忙推荐一个稳健型-理财基金1期封闭式净值型产品" ;<br> List<String > segment = new JiebaAnalyzerUtil().segment(str); System.out.println(segment); } |
4.未指定分词效果
1 | [亲爱, 的, 请, 帮忙, 推荐, 一个, 稳健, 型, -, 理财, 基金, 1 , 期, 封闭式, 净值, 型, 产品] |
5.指定分词:
dict.txt中输入:
1 2 3 4 | 亲爱的 3 n 稳健型 3 n 理财基金 1 期 3 n 净值型产品 3 n |
6.指定分词效果:
[亲爱的, 请, 帮忙, 推荐, 一个, 稳健型, -, 理财基金1期, 封闭式, 净值型产品]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~