HanLP 使用教程:從安裝到實戰應用

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;從香港著名咨詢公司被獵聘到華為人力…