Java版结巴分词自定义词库

本文介绍了在Java中使用结巴分词(jieba-analysis)项目,通过加载Maven依赖、加载用户自定义词典以及进行分词操作。用户自定义词典包含词、词频和词性,分隔符可以是或空格。分析过程包括查看分词器源码、理解加载自定义词典的方法,并了解如何指定字典文件路径。
摘要由CSDN通过智能技术生成
1. 加载依赖

使用Maven构建项目

<dependency>
  <groupId>com.huaban</groupId>
  <artifactId>jieba-analysis</artifactId>
  <version>1.0.2</version>
</dependency>
2. 加载用户自定义词典
// 词典路径为Resource/dicts/jieba.dict
val path = Paths.get(new File(getClass.getClassLoader.getResource("dicts/jieba.dict").getPath).getAbsolutePath)

WordDictionary.getInstance().loadUserDict(path)
3. 进行分词
import scala.collection.JavaConverters._
import com.huaban.analysis.jieba.{JiebaSegmenter, SegToken, WordDictionary}
import com.huaban.analysis.jieba.JiebaSegmenter.SegMode
import scala.collection.mutable

val segmenter = new JiebaSegmenter()
val line = "这是一个伸手不见五指的黑夜。我叫孙悟空,我爱北京,我爱Python和C++。"
val list: mutable.Buffer[SegToken] = segmenter.process(line, SegMode.SEARCH).asScala
用户自定义分词字典描述

三列数据:

  • 词频
  • 词性

分隔符:\t或空格

附分析过程如下:

1、展开源码分析,JiebaSegmenter是分词器,WordDictionary这个就是词典了。

2、分析方法,loadUserDict很明显是加载用户自定义的词典

3、public void loadUserDict(Path userDict) 需要传入字典文件对应的nio.Path

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值