【Java】jieba结巴分词器自定义分词词典 超详细完整版

news2024/11/15 0:22:19

发现一款很轻量好用的分词器->结巴分词器 分享给大家
不仅可以对常规语句分词,还可以自定义分词内容,很强大!!

源码地址👉:https://github.com/huaban/jieba-analysis

简单使用

如果是常规的语句,使用这种方式没有问题,如果是复杂语句或带有专业名词的语句请看 下方“复杂语句分词”

1.引入依赖

<dependency>
       <groupId>com.huaban</groupId>
    <artifactId>jieba-analysis</artifactId>
     <version>1.0.2</version>
 </dependency>

2.使用方法

	@Test
    public void demo() {
        String content = "中华人民共和国万岁,世界人民大团结万岁";
        JiebaSegmenter segmenter = new JiebaSegmenter();
        List<String> result = segmenter.sentenceProcess(content);
        System.out.println("分词:" + result );
        //分词结果->分词:中华人民共和国 万岁  世界 人民 大团结 万岁
    }

复杂语句分词

自定义分词,适合对带有专业名词的语句分词

问题复现

使用上方代码如果我对“使用前对yb清洗后,将妇科凝胶推进器伸入yd,将妇科凝胶推入yd深处。每日1次,每次1支。”分词 ;

结果为:分词:[使用, 前, 对, yb, 清洗, 后, ,, 将, 妇科, 凝胶, 推进器, 伸入, yd, ,, 将, 妇科, 凝胶, 推入, yd, 深处, 。, 每日, 1, 次, ,, 每次, 1, 支, 。] ;
妇科凝胶是一个专业名词,很显然不符合我分词的需求 另外我还想把每日1次每次1支合并在一起

自定义分词

	@Test
    public void demo() {
   		String content = "使用前对yb清洗后,将妇科凝胶推进器伸入yd,将妇科凝胶推入yd深处。每日1次,每次1支。";
        JiebaSegmenter segmenter = new JiebaSegmenter();
        List<String> result = segmenter.sentenceProcess(content);
        System.out.println("分词:" + result);
        //↓↓↓↓自定义分词器↓↓↓↓↓
        Path path = Paths.get("D:\\资料\\fkck.txt");
        WordDictionary.getInstance().loadUserDict(path);
        List<String> result2 = segmenter.sentenceProcess(content);
        System.out.println("自定义分词:" + result2);
        //自定义分词:[使用, 前, 对, yb, 清洗, 后, ,, 将, 妇科凝胶, 推进器, 伸入, yd, ,, 将, 妇科凝胶, 推入, yd, 深处, 。, 每日1次, ,, 每次1支, 。]
        //可以看到妇科凝胶和每日1次,每次1支都正确的进行了分词
}

fkck.txt内容

在这里插入图片描述

妇科凝胶 1 n
每日1次 1 num
每次1支 1 num

格式为:一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。

去掉标点符号

用正则表达式,把分词后的结果中所有的标点符号全部去除

result.toString().replaceAll("[\\pP‘’“”]", "")

觉得好用点个赞吧😄😄😄

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/443120.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

transformer与vit

transformer结构&#xff0c;位置编码复现 https://wandb.ai/authors/One-Shot-3D-Photography/reports/-Transformer—Vmlldzo0MDIwMjc 训练部分 https://nlp.seas.harvard.edu/2018/04/03/attention.html#training transform训练代码从0构建 https://blog.csdn.net/BXD1…

全注解下的SpringIoc 续1

上篇文章介绍了ioc的基本用法和ComponentScan注解的使用&#xff0c;这篇文章我们来看看依赖注入的部分。 提起依赖注入&#xff0c;想必大家肯定会想到Autowired注解&#xff0c;的确&#xff0c;它是我们用的最多的一个。 还记得容器的顶级接口BeanFactory 吗&#xff0c;它定…

微信开发者工具使用git提交项目至gitee远程仓库(保姆级)

1. 开始 1.1. 点击进入gitee官网 进入主页之后,根据图片右上角点击新建仓库 输入自定义仓库名称, 访问路径点击创建仓库 这里不要点击初始化文件, 复制Git远程仓库路径 打开微信开发者工具,新建项目什么的就不多说了,打开项目,根据图片所示, 点击版本管理弹出窗口, 点击远程…

代码生涯冲常见的的bug.例如layui表格中日期自动生成、eacharts 报表的重复点击事件

1、layui表格中日期不受控制的自动生成&#xff0c;这种情况往往是你设置了日期类型的强转 例 对于这种情况你需要定义templet模板 1、 {field: outtime, title: 离开时间,templet : "#time"} 2、 <script type"text/html" id"time"> …

通过Salesforce考试 (考证) 后,如何在Trailhead上验证和维护证书?

随着Salesforce产品家族的不断壮大&#xff0c;学习者可以考的认证也在不断增多。从十几年前的几个认证&#xff0c;增长到现在的40多个认证。 在获得Salesforce认证之后&#xff0c;除了要将其放在LinkedIn和Trailblazer.me个人资料中&#xff0c;还有一种官方途径可以让其他…

野火STM32电机系列(五)Cubemx配置高级定时器TIM1

鸽了一段时间&#xff0c;放心不会断的哈&#xff0c;目前仅仅是显示屏坏了&#xff0c;不影响后面项目 前文已经配置了GPIO、编码器 本节讲解CubeMX高级定时器TIM1配置带死区的6路互补的PWM 同时配置信号触发后续ADC采集 板子引角的原理图如下 对应的&#xff1a; Motor1…

一文告诉你什么是无代码?无代码开发有什么好处

全球知名IT研究机构曾预测&#xff1a;到2025年&#xff0c;企业机构开发的新应用中&#xff0c;有70&#xff05;将会使用无代码技术&#xff0c;并会使用至少四种低代码或无代码开发工具。甚至有人预言&#xff1a;“代码—低代码—无代码”&#xff0c;将是编程历史上的一种…

2022年中国广义数据智能市场规模为442亿元

数据智能是当前市场上的热点应用。但业界对于数据智能的发展状况&#xff0c;缺乏深入探讨与研究。为了系统梳理中国数据智能行业市场全景&#xff0c;厘清行业发展脉络&#xff0c;为从业者提供有价值的借鉴&#xff0c;海比研究院联合中国软件网、中国软件行业协会应用软件产…

Zabbix“专家坐诊”第188期问答汇总

问题一 Q&#xff1a;zabbix能监控waf日志针对告警么&#xff1f; A&#xff1a;可以通过snmp trap的方式。 Q&#xff1a;snmp trap在zabbix端怎么配置呢&#xff1f;我配置的不生效&#xff0c;zabbix服务器端。 A&#xff1a;trap要先在设备开启&#xff0c;设备有告警会…

绒毛/短毛渲染

文章目录 多层毛发模型123 代码实现cgincshader refer&#xff1a; 腾讯游戏学堂 主要来自这里&#xff0c;感谢讲解&#xff01; 首先说一点&#xff0c;很多文章都把毛发和头发弄混&#xff0c;根本就不是一回事好吧&#xff0c;为了区分&#xff0c;我的两篇文章分别用了长…

数值分析(四) Hermite(埃尔米特)插值法及matlab代码

目录 前言一、Hermite插值1. Hermite定理2. 重节点差商3. 重节点Newton插值4. Hermite 插值公式4.1 三点三次 Hermite插值4.2 两点三次 Hermite插值4.3 2 n 1 2n1 2n1次Hermite插值多项式 二、Hermite插值算法及matlab代码1. 2 n 1 2n1 2n1次Hermite插值matlab代码实现2. 例…

2.1寸黑白TFT电子标签【基站版】

ESL_TFT_2.1_V4 产品参数 产品型号 ESL_TFT_2.1_V4 尺寸(mm) 69.5*35*14.8mm 显示技术 TFT 反射式 显示区域(mm) 23.71(H) * 48.55(V) 分辨率(像素) 250*122 像素尺寸(mm) 0.194*0.194 显示颜色 黑/白 视觉角度 45/45/60/60 工作温度 -20-70℃ 产品重量 …

Mysql第一章 字符集

字符集修改 一 在mysql5.7中输入汉字报错二 修改针对修改后创建的数据库&#xff0c;过去创建的数据库不算三 想要单独修改四 基本的mysql命令五 各级别的字符集 一 在mysql5.7中输入汉字报错 # 在5,7中&#xff0c;默认字符集为latin1,开发人员在数据库设计时&#xff0c;需要…

Python用curve_fit进行多元拟合

文章目录 入门参数多元拟合 入门 scipy.optimize中&#xff0c;curve_fit函数可调用非线性最小二乘法进行函数拟合&#xff0c;例如&#xff0c;现在有一个高斯函数想要被拟合 y a exp ⁡ − ( x − b c ) 2 y a\exp-(\frac{x-b}{c})^2 yaexp−(cx−b​)2 则调用方法如下 …

Zookeeper源码分析——Follower和Leader状态同步源码

Follower和Leader状态同步源码 当选举结束后&#xff0c;每个节点都需要根据自己的角色更新自己的状态。选举出的Leader更新自己状态为 Leader&#xff0c;其他节点更新自己状态为 Follower Leader更新状态入口&#xff1a; leader.lead() Follower更新状态入口&#xff1a; f…

VUE3 学习笔记(九)使用富文本编辑器tinymce最新版

目录 1、安装相关依赖 2、下载中文包 3. 引入皮肤和汉化包 4. 封装组件:在src/components下新建TEditor.vue&#xff0c;并写入以下代码 5. 注册及使用组件 6. Tinymce 版本&#xff08;截至2023-04-18&#xff09; 1、安装相关依赖 npm install tinymce -S npm install ti…

python+vue小型公司人事企业员工培训报名管理系统

该系统主要实现了公告信息管理、个人考勤管理、培训信息管理、员工管理、员工工资管理等主要模块功能。具体功能如下所示&#xff1a; 1. 公告信息管理&#xff1a;查看公告标题、公告类型、公告图片、发布日期等一系列信息。 2. 个人考勤管理&#xff1a;查看考勤名称、员工工…

Springboot整合Quartz定时任务框架(Spring解决方案)

目录 前言 介绍 集成 POM依赖 基础配置 1、配置数据源 2、配置JOB实例与触发器 3、配置SchedulerJobFactory 4、配置SchedulerFactoryBean 业务集成 job编写 接口编写 接口实现 前言 系统现在有定时任务触发业务场景的需求&#xff0c;并且频率及次数不固定&…

【案例教程】FVCOM流域、海洋水环境数值模拟方法及实践技术应用

近年来&#xff0c;随着人类活动产生营养负荷的增加&#xff0c;流域、海洋生态系统面临严重威胁。近岸水质数值模是近岸水环境保护的有效工具&#xff0c;已经应用于近岸水环境污染控制、水质规划管理中。FVCOM在近岸水环境模拟方面具有一定优势&#xff0c;如采用非结构化三角…

王道计组(23版)2_数据的表示和运算

1.数制和编码 十进制转换为二进制&#xff1a; 原码&#xff1a; [0]原0,0000 [-0]原1,0000 -1无法表示 补码&#xff1a; 按位取反&#xff0c;末位加1 [0.0000]补[-0.0000]补0.00000 反码&#xff1a; 按位取反 [0]反0,0000 [-0]反1,1111 移码&#xff1a; 与补码仅符号位…