强大的中文分词器--结巴分词(java版)
简介
原生jieba分词是强大的Python组件,可以用来进行关键词提取,标注以及定位。
java版支持三种模式
- 精确模式:试图将句子最精确地切开,适合文本分析;
- 全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
- 搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词
使用
导入maven依赖
项目地址:https://github.com/hexuefengx/jieba-analysis
三种模式使用
准备一段文本 奥利给 我是照明灯具 普通型 安全出口标志灯 DC36V 6W 壁式,看三种模式抽取出的关键词区别
- 代码
- 效果
精确模式:["奥利","给","我","是","照明灯","具","普通型","安全","出口","标志灯","DC36V6W","壁式"]
INDEX模式:["奥利","给","我","是","照明","明灯","照明灯","具","普通","普通型","安全","出口","标志","标志灯","dc36v6w","壁式"]
SEARCH模式:["奥利","给","我","是","照明灯","具","普通型","安全","出口","标志灯","dc36v6w","壁式"]
可以看出serch模式和精确模式区别不大
自定义词典
jieba 分词内置了常用词典,在源代码目录下有个dic.txt文件
当内置词典不满足我们的业务场景时,可以自定义词典
词典格式和 dict.txt 一样,一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒
举个栗子,把文本中的奥利给 和 我是照明灯 定义成关键词,就得这样定义
奥利给 50
我是照明灯具 50
- 新建自定义词典文件:
在resource 目录下新建jiebaCon目录,并新建自定词典文件
- 加载用户词典文件
- 效果
动态加载用户词典
思路:从外部读取词典数据,生成临时文件供jieba分词组件使用
- 代码
- 效果
实例代码
关注公众号,回复jieba 即可获取源码