前言#
本文简单记录介绍一下 HanLP。
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保持同步。