HanLP 项目介绍
项目概述
HanLP 是一个面向生产环境的多语种自然语言处理工具包。它基于双引擎框架——PyTorch 和 TensorFlow 2.x,旨在普及和应用最先进的自然语言处理(NLP)技术。HanLP 具备功能完善、精度高、性能优异、语料最新、架构清晰、可自定义等特点。
多语种支持
HanLP 利用全球最大的多语种语料库,支持包括简繁中英日俄法德在内的130种语言。它可以处理10种联合任务和多个单任务,涵盖了各种自然语言处理功能。
主要功能
- 分词:HanLP 提供了粗分、细分的分词功能,支持多任务及单任务的不同使用场景。
- 词性标注:具备多种标注标准,包括 CTB、PKU 和 863。
- 命名实体识别:支持 PKU、MSRA、OntoNotes 标准,能够识别日期、地点、组织等多种实体。
- 依存句法分析:使用 SD、UD 和 PMT 标准进行句法结构的分析。
- 成分句法分析、语义依存分析、语义角色标注:提供对句子成分、依存关系、语义角色的深入分析。
- 高级功能:包括抽象意义表示、指代消解、语义文本相似度、文本风格转换、关键词提取、自动摘要(抽取式和生成式)、语法纠错、文本分类、情感分析和语种检测等。
API 使用
HanLP 提供两种主要的API:RESTful 和 native,以满足不同的开发需求。
RESTful API
RESTful API 轻量、易用,适合敏捷开发和移动应用。用户无需配置 GPU,安装简单快捷,并提供匿名和授权模式。
-
Python 应用:
from hanlp_restful import HanLPClient HanLP = HanLPClient('https://www.hanlp.com/api', auth=None, language='zh')
-
Golang 应用:
HanLP := hanlp.HanLPClient(hanlp.WithAuth(""),hanlp.WithLanguage("zh"))
Native API
适合需要利用深度学习技术的工程师和研究者,可在大规模数据的本地处理场景中应用。
-
安装:
pip install hanlp
-
多任务模型:
import hanlp HanLP = hanlp.load(hanlp.pretrained.mtl.CLOSE_TOK_POS_NER_SRL_DEP_SDP_CON_ELECTRA_SMALL_ZH) HanLP(['2021年HanLPv2.1为生产环境带来次世代最先进的多语种NLP技术。', '阿婆主来到北京立方庭参观自然语义科技公司。'])
模型训练与性能
HanLP 支持用户训练自己的领域模型,提供可复现的结果。其模型库包含多任务和单任务模型,使用户可以根据具体需求选择速度更快的多任务模型或精度更高的单任务模型。
通过三行代码,用户便能在 SIGHAN2005 PKU 语料库上训练出精度超越学术SOTA的分词模型。并且 HanLP 保证所有实验结果是可复现的。
输出格式
无论采用何种开发语言,HanLP 的输出结果统一为 JSON 格式,兼容字典类型的 Document
,确保与不同开发环境和语言的适配性。
总之,HanLP 是自然语言处理领域的一款强大工具,无论是研究人员还是开发者,都可以利用其丰富的功能、灵活的接口进行深度的语言处理和分析。