HanLP 使用教程:从安装到实战应用

HanLP 是由hankcs开发的一款高效、多功能的中文自然语言处理(NLP)工具包,支持分词、词性标注、命名实体识别(NER)、依存句法分析、关键词提取、文本摘要等任务。本教程将详细介绍 HanLP 的安装、基本功能及实战应用。


1. HanLP 简介

HanLP 具有以下特点:
高性能:基于 PyTorch/TensorFlow 2.x 实现,速度极快
多语言支持:支持中文、英文、日文等
多功能:涵盖 NLP 常见任务(分词、NER、句法分析等)
预训练模型:提供多种预训练模型(如 BERT、ALBERT)
简单易用:Python API 友好,适合快速开发


2. 安装 HanLP

HanLP 支持 Python 3.6+,推荐使用 pip 安装:

pip install hanlp

如果需要 GPU 加速(推荐):

pip install hanlp[gpu]

3. 基本功能示例

(1) 分词(Word Segmentation)

import hanlp# 加载预训练分词模型
tokenizer = hanlp.load(hanlp.pretrained.tok.COARSE_ELECTRA_SMALL_ZH)text = "HanLP是一款优秀的中文自然语言处理工具包。"
tokens = tokenizer(text)
print(tokens)

输出

['HanLP', '是', '一款', '优秀', '的', '中文', '自然语言处理', '工具包', '。']

(2) 词性标注(Part-of-Speech Tagging)

tagger = hanlp.load(hanlp.pretrained.pos.CTB9_POS_ELECTRA_SMALL)
pos_tags = tagger(tokens)
print(list(zip(tokens, pos_tags)))

输出

[('HanLP', 'NR'), ('是', 'VC'), ('一款', 'CD'), ('优秀', 'JJ'), ('的', 'DEC'), ('中文', 'NN'), ('自然语言处理', 'NN'), ('工具包', 'NN'), ('。', 'PU')]

(3) 命名实体识别(NER)

recognizer = hanlp.load(hanlp.pretrained.ner.MSRA_NER_ELECTRA_SMALL_ZH)
entities = recognizer([tokens])
print(entities)

输出

[[('HanLP', 'ORGANIZATION')]]

(4) 依存句法分析(Dependency Parsing)

parser = hanlp.load(hanlp.pretrained.dep.CTB9_DEP_ELECTRA_SMALL)
dep_tree = parser([tokens])
print(dep_tree)

输出(可视化依存关系):

  HanLP ──► 是 (主谓关系)是 ──► 工具包 (动宾关系)一款 ──► 工具包 (定中关系)优秀 ──► 工具包 (定中关系)的 ──► 优秀 (右附加关系)中文 ──► 自然语言处理 (定中关系)自然语言处理 ──► 工具包 (定中关系)。 ──► 是 (标点符号)

4. 进阶功能

(1) 关键词提取(Keyphrase Extraction)

extractor = hanlp.load(hanlp.pretrained.keywords.TEXTRANK_ZH)
keywords = extractor(text, topk=3)
print(keywords)

输出

['自然语言处理', 'HanLP', '工具包']

(2) 文本摘要(Text Summarization)

summarizer = hanlp.load(hanlp.pretrained.summarization.LEMON_NEWS_ELECTRA_SMALL_ZH)
summary = summarizer(text, max_sentences=1)
print(summary)

输出

HanLP是一款优秀的中文自然语言处理工具包。

(3) 情感分析(Sentiment Analysis)

classifier = hanlp.load(hanlp.pretrained.classify.CHNSENTICORP_BERT_BASE_ZH)
sentiment = classifier("这家餐厅的服务很棒!")
print("积极" if sentiment else "消极")

输出

积极

5. 使用自定义模型

HanLP 支持加载本地或 Hugging Face 模型:

custom_model = hanlp.load("/path/to/your/model")

6. 常见问题

(1) 报错 CUDA out of memory

  • 原因:GPU 显存不足。
  • 解决
    hanlp.prefer_cpu()  # 强制使用 CPU
    

(2) 下载模型失败

  • 解决:手动下载模型并指定路径:
    hanlp.load("/path/to/model.zip")
    

(3) 如何提高分词精度?

  • 使用更大的模型:
    hanlp.load(hanlp.pretrained.tok.FINE_ELECTRA_LARGE_ZH)
    

7. 总结

任务代码示例
分词hanlp.load(hanlp.pretrained.tok.COARSE_ELECTRA_SMALL_ZH)(text)
词性标注hanlp.load(hanlp.pretrained.pos.CTB9_POS_ELECTRA_SMALL)(tokens)
NERhanlp.load(hanlp.pretrained.ner.MSRA_NER_ELECTRA_SMALL_ZH)([tokens])
依存分析hanlp.load(hanlp.pretrained.dep.CTB9_DEP_ELECTRA_SMALL)([tokens])
关键词提取hanlp.load(hanlp.pretrained.keywords.TEXTRANK_ZH)(text, topk=3)

📌 官方资源

  • HanLP GitHub
  • HanLP 文档

掌握 HanLP 后,你可以轻松处理中文 NLP 任务!🚀 如果有问题,欢迎留言讨论。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 分组函数全面详解与最佳实践

MySQL 分组函数全面详解与最佳实践 MySQL 分组函数(聚合函数)的核心知识、注意事项和高级应用技巧: 📊 分组函数核心列表 函数描述示例COUNT()计算行数COUNT(*)SUM()计算数值总和SUM(salary)AVG()计算平均值AVG(score)MAX()获取…

华为OD 最小循环子数组

1. 题意 给定一个由若干整数组成的数组 nums,请检查数组是否是由某个子数组重复循环拼接而成,请输出这个最小的子数组。 2. 题解 利用 k m p kmp kmp中的 n e x t next next数组性质,我们可以求出 n u m s nums nums中的最长公共 前缀后缀…

FreeCAD创作参数化凹形和水波纹式雨水箅子

这种非常流行的美观的雨水篦子是都市的宠爱,大家要多多去用。 用FC来创建参数化后,设计人员可以随意修改参数,满足自身的要求,调整各部件的位置,达到满意的布局,非常快捷。 水波纹雨水篦子 凹形雨水篦子

如何用一台服务器用dify私有部署通用的大模型应用?

dify是什么?如何用一台服务器用dify私有部署通用的大模型应用? Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和LLMOps的理念,使开发者可以快速搭建生产级的生成式 AI 应用…

海洋捕食算法优化BP神经网络

引言BP神经网络因梯度下降法的固有缺陷,常出现训练震荡和早熟收敛。海洋捕食算法(MPA)受海洋生物觅食行为启发,其分阶段搜索策略(高速游动→自适应步长→局部开发)能有效平衡全局探索与局部开发。本文通过MPA优化BP初始权值及学习率,构建混合优化模型。 方法论2.1 MPA算…

C++/OpenCV 图像预处理与 PaddleOCR 结合进行高效字符识别

C/OpenCV 图像预处理与 PaddleOCR 结合进行高效字符识别 在许多实际应用场景中,直接从原始图片中提取文字的准确率可能不尽人意。图像中的噪声、光照不均、角度倾斜等问题都会严重干扰 OCR (Optical Character Recognition) 引擎的识别效果。本文将详细介绍如何利用…

线程的学习

1. 线程 1. 线程是一个进程内部的控制序列 2. 线程在进程内部运行,本质是在进程地址空间内运行 3. 进程:承担分配系统资源的基本实体 线程:CPU调度的基本单位 4. 线程在进程地址空间内运行 进程访问的大部分资源都是通过地址空间访问的 …

Qt Quick 与 QML(三)qml中的基础控件

一、基础控件 控件名称‌‌功能描述‌‌示例代码‌‌Rectangle‌基础绘图控件&#xff0c;创建矩形区域Rectangle {width: 100; height: 100<br> color: "red"; radius: 5}‌Text/Label‌文本显示控件Text {text: "Hello World";<br> font.pi…

Redis实现消息队列全解析:从基础到高级应用实战

目录 一、Redis作为消息队列的优势与局限 1.1 核心优势 1.2 适用场景 1.3 局限性及解决方案 二、Redis消息队列实现方案对比 三、List实现基础消息队列 3.1 生产者实现原理 3.2 消费者实现原理 3.3 可靠性增强&#xff1a;ACK机制 四、Pub/Sub实现发布订阅 4.1 消息发…

Windows应用商店中的国学启蒙教育应用

国学启蒙是中国传统文化教育的重要组成部分&#xff0c;主要以经典诵读、传统礼仪、历史故事等内容为载体&#xff0c;向儿童传递中华文化的核心价值观。帮助孩子建立文化认同感&#xff0c;培养良好的道德观念和行为习惯。通过学习古代圣贤的言行&#xff0c;儿童可以初步理解…

安科瑞UL认证ADL3000-E/C导轨表:工商业储能领域的智能之选

一、产品简介 ADL3000-E/C是安科瑞针对电力系统、工矿企业、公用设施的电力监控及能耗统计、管理需求而精心设计的一款智能仪表。该电能表具有精度高、体积小、安装方便等显著优点&#xff0c;为工商业储能系统的智能化管理提供了强有力的技术支持。 功能特性 测量与计量功能…

条件向量运算与三元表达式

在工程计算和数学建模中&#xff0c;我们经常需要根据条件动态选择不同的向量运算方式。这种需求在动力学系统、控制理论和计算机图形学中尤为常见。本文将探讨如何通过 Python 的三元表达式结合 SymPy 符号计算库&#xff0c;实现条件向量运算的高效解决方案。 我们从定义两…

文档开发组件Aspose旗下热门产品优势及应用场景介绍

✨Aspose 是什么&#xff1f; Aspose 是全球领先的文档处理组件厂商&#xff0c;主打一个字&#xff1a;全。 &#x1f4cc; 支持超 100 种文档/图像格式 &#x1f4cc; 覆盖 Word、Excel、PDF、PPT、OCR、BarCode、Email 等模块 &#x1f4cc; 支持 .NET、Java、Python、C、N…

龙虎榜——20250618

上证指数缩量长下影小阳线&#xff0c;个股下跌超3300只&#xff0c;总体护盘的板块表现相对更好。 深证指数缩量收小阳线&#xff0c;横盘震荡已有4天&#xff0c;等待方向选择。 2025年6月18日龙虎榜行业方向分析 1. 半导体 代表标的&#xff1a;沪电股份&#xff08;高阶P…

layui和vue父子级页面及操作

最近在老项目里面添加一些页面&#xff0c;项目太老只能在原有的项目基础和插件上添加代码 html //表格 <table id"dataTable"><thead><tr><th>序号</th><th>名称</th><th></th></tr></th…

Houdini 节点使用方法

Houdini 的节点系统是其程序化建模和特效制作的核心功能之一&#xff0c;通过节点网络实现程序化建模、特效制作、动力学模拟等复杂任务。掌握节点使用方法是高效创作的关键&#xff0c;以下是围绕用户需求的 全面、深入且结构化 的节点使用指南 一、节点基础操作 1. 创建与连…

license授权文件说明

license管理 1.使用场景 系统将自动检测license信息是否过期 - license过去前一个月&#xff0c;会显示warning&#xff1a;license file will expire in 30 days - 当license过去&#xff0c;会显示license file expired#注意 1. 数据库重启时才会启动 License 授权期限校验…

C++11中alignof和alignas的入门到精通指南

文章目录 一、引言二、内存对齐的概念和作用2.1 什么是内存对齐2.2 内存对齐的优势 三、alignof运算符3.1 定义和作用3.2 语法规则3.3 使用示例3.4 注意事项 四、alignas说明符4.1 定义和作用4.2 语法规则4.3 使用示例4.4 注意事项 五、alignof和alignas的结合使用六、实际应用…

防爆+高性能!ABB 防爆伺服电机HY系列守护安全生产

在石油、化工、火工等高风险行业中&#xff0c;如何在易燃易爆环境中确保设备安全稳定运行&#xff0c;同时兼顾高性能&#xff1f;ABB防爆伺服电机HY系列给出了完美答案&#xff01; 专为爆炸性环境设计&#xff0c;安全与性能兼得 ABB HY系列基于先进的HDS伺服平台打造&…

洪千武—华为海外HRBP

我的个人介绍 辰熙咨询创始人&CEO 2005年入职华为人力资源管理部 华为海外首批HRBP推动者、华为TUP股权激励实战顾问 华为IBM项目组成员、华为海外代表处AT成员 著有《OKR管理法则》、《力出一孔》 2005年以HR英文专才&#xff0c;从香港著名咨询公司被猎聘到华为人力…