Java版结巴分词项目地址:https://github.com/huaban/jieba-analysis
- 加载依赖
使用Maven构建项目
com.huabangroupId>
jieba-analysisartifactId>
1.0.2version>
dependency>
- 加载用户自定义词典
// 词典路径为Resource/dicts/jieba.dict
val path = Paths.get(new File(getClass.getClassLoader.getResource(“dicts/jieba.dict”).getPath).getAbsolutePath)
WordDictionary.getInstance().loadUserDict(path)
- 进行分词
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 = “啥快递发你看哈搜到家了卡手机号。”
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