当前位置: 首页 > news >正文

HanLP分词的使用与注意事项

1 概述

HanLP是一个自然语言处理工具包,它提供的主要功能如下:

  • 分词
  • 转化为拼音
  • 繁转简、简转繁
  • 提取关键词
  • 提取短语
  • 提取词语
  • 自动摘要
  • 依存文法分析

下面将介绍其分词功能的使用。

2 依赖

下面是依赖的jar包。

<dependency><groupId>com.hankcs</groupId><artifactId>hanlp</artifactId><version>portable-1.7.8</version>
</dependency>

3 使用

下面demo是往HanLP词典中加入自定义的词和词性。将“国家森林公园”的词性定义为“myCustomWord”。

public static void main(String[] args) {// 往HanLP词典中加入自定义的词和词性CustomDictionary.insert("国家森林公园", "myCustomWord 1");List<Term> termList = HanLP.segment("你好,欢迎来到美丽的大兴安岭国家森林公园");System.out.println(JSON.toJSONString(termList));
}

分词结果如下:

4 注意事项

  • 通过api接口自定义hanlp词典或者自定义词典文件,可以对同一个词设置多个词性
  • 但即使对同一个词设置了多个词性,根据HanLP的模型特征,分词时也只会返回其中一个词性,不会返回多个词性。
  • 另外即使hanlp词典中有多个类似词,分词时也只会返回文本相近词中的一个词

4.1 一个词只会返回一个词性

举例如下,给“国家森林公园” 定义两个词性,分别为:“myCustomWord”,“myCustomWord_new”。但是切词后,对于“国家森林公园”,只返回了一个词性“myCustomWord_new”。

public static void main(String[] args) {// 往HanLP词典中加入自定义的词和词性,一个词设置多个词性CustomDictionary.insert("国家森林公园", "myCustomWord_new 1 myCustomWord 1");List<Term> termList = HanLP.segment("你好,欢迎来到美丽的大兴安岭国家森林公园");System.out.println(JSON.toJSONString(termList));
}

切词后结果如下所示:

4.2 只返回文本相近词中的一个词

案例如下,分词后,只会获取到“国家森林公园”,而没有“森林公园”。

    public static void main(String[] args) {test1();}private static void test1() {// 往HanLP词典中加入自定义的词和词性CustomDictionary.insert("国家森林公园", "myCustomWord 1");CustomDictionary.insert("森林公园", "myCustomWord_common 1");List<Term> termList = HanLP.segment("你好,欢迎来到美丽的大兴安岭国家森林公园");System.out.println(JSON.toJSONString(termList));}

分词后的结果如下所示:

5 参考文献

(1)Hanlp基本使用-CSDN博客

相关文章:

HanLP分词的使用与注意事项

1 概述 HanLP是一个自然语言处理工具包&#xff0c;它提供的主要功能如下&#xff1a; 分词转化为拼音繁转简、简转繁提取关键词提取短语提取词语自动摘要依存文法分析 下面将介绍其分词功能的使用。 2 依赖 下面是依赖的jar包。 <dependency><groupId>com.ha…...

Python 的进程、线程、协程的区别和联系是什么?

一、区别 1. 进程 • 定义&#xff1a;进程是操作系统分配资源的基本单位。 • 资源独立性&#xff1a;每个进程都有独立的内存空间&#xff0c;包括代码、数据和运行时的环境。 • 并发性&#xff1a;可以同时运行多个进程&#xff0c;操作系统通过时间片轮转等方式在不同…...

实时数据推送:Spring Boot 中两种 SSE 实战方案

在 Web 开发中&#xff0c;实时数据交互变得越来越普遍。无论是股票价格的波动、比赛比分的更新&#xff0c;还是聊天消息的传递&#xff0c;都需要服务器能够及时地将数据推送给客户端。传统的 HTTP 请求-响应模式在处理这类需求时显得力不从心&#xff0c;而服务器推送事件&a…...

数据守护者:SQL一致性检查的艺术与实践

标题&#xff1a;数据守护者&#xff1a;SQL一致性检查的艺术与实践 在数据驱动的商业世界中&#xff0c;数据的一致性是确保决策准确性和业务流程顺畅的关键。SQL作为数据查询和操作的基石&#xff0c;提供了多种工具来维护数据的一致性。本文将深入探讨如何使用SQL进行数据一…...

jenkins配置+vue打包多环境切换

jenkins配置流水线过程 1.新建item 加入相关的参数就行了。 流水线脚本设置 后端脚本 node {stage checkoutsh"""#每次打包清空工作空间目录rm -rf $workspace/*cd $workspace#到工作空间下从远端svn服务端拉取代码svn co svn://10.1.19.21/repo/技术中台/低…...

idea和jdk的安装教程

1.JDK的安装 下载 进入官网&#xff0c;找到你需要的JDK版本 Java Downloads | Oracle 中国 我这里是windows的jdk17&#xff0c;选择以下 安装 点击下一步&#xff0c;安装完成 配置环境变量 打开查看高级系统设置 在系统变量中添加两个配置 一个变量名是 JAVA_HOME …...

HTML静态网页成品作业(HTML+CSS)——电影网首页网页设计制作(1个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有1个页面。 二、作品演示 三、代…...

大数据系列之:Flink Doris Connector,实时同步数据到Doris数据库

大数据系列之&#xff1a;Flink Doris Connector&#xff0c;实时同步数据到Doris数据库 一、版本兼容性二、使用三、Flink SQL四、DataStream五、Lookup Join六、配置通用配置项接收器配置项查找Join配置项 七、Doris 和 Flink 列类型映射八、使用Flink CDC访问Doris的示例九、…...

LabVIEW VI 多语言动态加载与运行的实现

在多语言应用程序开发中&#xff0c;确保用户界面能够根据用户的语言偏好动态切换是一个关键需求。本文通过分析一个LabVIEW程序框图&#xff0c;详细说明了如何使用LabVIEW中的属性节点和调用节点来实现VI&#xff08;虚拟仪器&#xff09;界面语言的动态加载与运行。此程序允…...

Unity引擎基础知识

目录 Unity基础知识概要 1. 创建工程 2. 工程目录介绍 3. Unity界面和五大面板 4. 游戏物体创建与操作 5. 场景和层管理 6. 组件系统 7. 脚本语言C# 8. 物理引擎和UI系统 学习资源推荐 Unity引擎中如何优化大型游戏项目的性能&#xff1f; Unity C#脚本语言的高级编…...

练习题- 探索正则表达式对象和对象匹配

正则表达式(Regular Expressions)是一种强大而灵活的文本处理工具,它允许我们通过模式匹配来处理字符串。这在数据清理、文本分析等领域有着广泛的应用。在Python中,正则表达式通过re模块提供支持,学习和掌握正则表达式对于处理复杂的文本数据至关重要。 本文将探索如何在…...

Java集合提升

1. 手写ArrayList 1.1. ArrayList底层原理细节 底层结构是一个长度可以动态增长的数组&#xff08;顺序表&#xff09;transient Object[] elementData; 特点&#xff1a;在内存中分配连续的空间&#xff0c;只存储数据&#xff0c;不存储地址信息。位置就隐含着地址。优点 节…...

uniapp 微信小程序生成水印图片

效果 源码 <template><view style"overflow: hidden;"><camera device-position"back" flash"auto" class"camera"><cover-view class"text-white padding water-mark"><cover-view class"…...

ElasticSearch相关知识点

ElasticSearch中的倒排索引是如何工作的&#xff1f; 倒排索引是ElasticSearch中用于全文检索的一种数据结构&#xff0c;与正排索引不同的是&#xff0c;正排索引将文档按照词汇顺序组织。而倒排索引是将词汇映射到包含该词汇的文档中。 在ElasticSearch中&#xff0c;倒排索…...

css 文字图片居中及网格布局

以下内容纯自已个人理解&#xff0c;直接上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…...

解决ImportError: DLL load failed while importing _rust: 找不到指定的程序

解决ImportError: DLL load failed while importing _rust: 找不到指定的程序 python使用库cryptography 当 from cryptography.hazmat.bindings._rust import exceptions as rust_exceptions 时&#xff0c;会报错&#xff1a; ImportError: DLL load failed while importin…...

集合-List去重

1.利用Set去重 @Test public void distinctList() {List<String> oldList = new ArrayList<>();oldList.add("a");oldList.add("a");oldList.add("b");oldList.add("c");oldList.add("d");List<String> …...

ST-LINK USB communication error 非常有效的解决方法

文章目录 一、检查确定是ST-LINK USB communication error的问题二、关闭文件&#xff0c;打开keil软件所在文件夹&#xff0c;找到STLink文件夹&#xff0c;找到该应用程序双击 一、检查确定是ST-LINK USB communication error的问题 二、关闭文件&#xff0c;打开keil软件所在…...

探索CSS的:future-link伪类:选择指向未来文档的链接

CSS&#xff08;层叠样式表&#xff09;是Web设计中用于描述网页元素样式的语言。随着CSS4的提案&#xff0c;引入了许多新的选择器&#xff0c;其中之一是:future-link伪类。然而&#xff0c;需要注意的是&#xff0c;:future-link伪类目前还处于提议阶段&#xff0c;并没有在…...

【C++】序列与关联容器(三)map与multimap容器

【C】序列与关联容器&#xff08;三&#xff09;map与multimap容器 一、map二、multiset / multimap 一、map 树中的每个结点的类型是一个std::pair //pair的类型是<const key,value> pair是一个包含两个指针的结构体&#xff0c;第一个指针指向该节点的key&#xff0c;…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...