结巴分词-强大的中文分词器实践(java版)

简介

原生jieba分词是强大的Python组件,可以用来进行关键词提取,标注以及定位。

java版支持三种模式

  • 精确模式:试图将句子最精确地切开,适合文本分析;
  • 全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
  • 搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词

使用

导入maven依赖

项目地址:GitHub - huaban/jieba-analysis: 结巴分词(java版)

com.huaban
jieba-analysis
1.0.2

三种模式使用

准备一段文本 奥利给 我是照明灯具 普通型 安全出口标志灯 DC36V 6W 壁式,看三种模式抽取出的关键词区别

  • 代码

     

  • 效果
    精确模式:["奥利","给","我","是","照明灯","具","普通型","安全","出口","标志灯","DC36V6W","壁式"]
    INDEX模式:["奥利","给","我","是","照明","明灯","照明灯","具","普通","普通型","安全","出口","标志","标志灯","dc36v6w","壁式"]
    SEARCH模式:["奥利","给","我","是","照明灯","具","普通型","安全","出口","标志灯","dc36v6w","壁式"]
    可以看出serch模式和精确模式区别不大

自定义词典

jieba 分词内置了常用词典,在源代码目录下有个dic.txt文件

当内置词典不满足我们的业务场景时,可以自定义词典
词典格式和 dict.txt 一样,一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒

举个栗子,把文本中的奥利给 和 我是照明灯 定义成关键词,就得这样定义
奥利给 50
我是照明灯具 50

  • 新建自定义词典文件:
    在resource 目录下新建jiebaCon目录,并新建自定词典文件

  • 加载用户词典文件

  • 效果

动态加载用户词典

思路:从外部读取词典数据,生成临时文件供jieba分词组件使用

  • 代码

  • 效果

猜你喜欢

转载自blog.csdn.net/2301_78834737/article/details/131990541