banner
hughie

hughie

热爱技术的小菜鸟, 记录一下所学所感

HanLP-一个面向生产环境的多语种自然语言处理工具包

前言#

​ 本文简单记录介绍一下 HanLP。

​ HanLP 是一个多语种自然语言处理工具包,支持中文和拼音简繁转换、文本处理以及语义相关分析。

17-hanlp


正文#

一、什么是 HanLP#

HanLP 是一个面向生产环境的多语种自然语言处理工具包,支持中文分词、词性标注、命名实体识别、依存句法分析、成分句法分析、语义依存分析、语义角色标注、指代消解、风格转换、语义相似度、新词发现、关键词短语提取、自动摘要、文本分类聚类、拼音简繁转换等多种任务。HanLP 具备功能完善、精度准确、性能高效、语料时新、架构清晰、可自定义的特点。

二、HanLP 功能#

HanLP 具有功能完备、精度准确、效率高、语料库更新、结构清晰、可定制性强等特点。在全球最大的多语种语料库的支持下,HanLP2.1 支持 130 种语言(包括简体中文、繁体中文、英语、日语、俄语、法语和德语)的十种联合任务和多项单一任务。HanLP 已经在十几项任务上预训练了数十个模型,并不断迭代语料库和模型。

三、HanLP 使用与训练#

HanLP 提供 RESTful 和 native 两种 API,分别面向轻量级和海量级两种场景。无论何种 API 何种语言,HanLP 接口在语义上保持一致,在代码上坚持开源。可以在 CPU 上运行,推荐 GPU/TPU。安装 PyTorch 版:Native API 的输入单位为句子,需使用多语种分句模型或基于规则的分句函数先行分句。RESTful 和 native 两种 API 的语义设计完全一致,用户可以无缝互换。

native api 其实就是本地 python 运行:

# pip install hanlp
import hanlp
HanLP = hanlp.load(hanlp.pretrained.mtl.CLOSE_TOK_POS_NER_SRL_DEP_SDP_CON_ELECTRA_SMALL_ZH)
# 根据需要的任务,比如分词使用tok,命名实体识别使用ner,每种任务都有多个模型可选,对应不同自然语言标准集
hanlp_outs = HanLP(t, tasks=['tok/fine','ner/msra'])

四、总结#

最近,在处理相关的子任务时,我研究了 HanLP 并发现它具有广泛的功能并表现良好。然而,它需要基于特定项目的参数调整。

话虽如此,自 ChatGPT 发布以来,传统的 NLP 项目无疑受到了极大的影响。基本上,ChatGPT 可以完成传统 NLP 可以完成的任务,甚至更简单、更多功能(搞 NLP 的很愁呀)。

尽管如此,传统 NLP 仍然有其用途,出于各种原因并不是所有项目都可以利用 ChatGPT 或其他 LLM。


最后#

参考文章:

官方主页


声明#

本文仅作为个人学习记录。

本文与HBlog保持同步。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。