hankcs/HanLP

中文分词 词性标注 命名实体识别 依存句法分析 成分句法分析 语义依存分析 语义角色标注 指代消解 风格转换 语义相似度 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理

HanLP – 多语言自然语言处理工具包

简介 – HanLP 是一个开源的 Python 库(附带 Java 和 Go 绑定),为多种语言提供生产级的 NLP 模型。它同时提供轻量级的 RESTful 服务(仅需极小的客户端,无需 GPU)以及功能完整的 原生 Python API,可在 PyTorch 或 TensorFlow 2.x 上运行。该项目专注于速度、准确性与易于定制,并内置数十种预训练模型,涵盖分词、词性标注、命名实体识别 (NER)、依存/成分句法分析、语义角色标注、AMR、共指消解、文本相似度、摘要、风格转换、情感分析、语言检测等功能。


主要功能 (详见 README)

功能 提供方式 亮点
多语言支持 涵盖 130 种语言的模型(中文、英文、日文、俄文、法文、德文等) 跨语言统一 API
联合 (多任务) 模型 单一模型可同时执行多达 10 项任务(例如:分词 + 词性 + NER + SRL + 依存 + 语义依存 + 成分句法) 推理速度更快,内存占用更低
单任务模型 当您需要最高准确度时,可选用各任务的高精度模型 灵活的管线组合
两种 API 风格 RESTful – 极小客户端,适用于任何语言,无需 GPU \n• 原生 – Python 库,在本地加载大型模型 (CPU/GPU/TPU) 根据部署规模选择
易于定制 基于 Trie 的用户词典、基于规则的词汇合并/拆分,并可移除不需要的任务以缩减模型大小 快速适应新领域
一致的 JSON 输出 所有 API 皆返回 JSON 兼容的 Document 对象,包含 tok/finepos/ctbner/msradepsrl 等字段 简化后续处理流程
可视化 基于控制台的树状结构可视化,用于依存/语义结构 有助于调试与教学
生产级就绪 经 Linux/macOS/Windows 单元测试,支持 Python 3.6‑3.10,GPU/TPU 可选 适用于真实生产环境

典型应用场景

  • 文本预处理管线:用于后续机器学习任务(例如:分类前的分词 + 词性 + NER)。
  • 信息提取:如新闻、金融或法律文件中的命名实体识别、关系提取与语义角色标注。
  • 多语言内容分析:跨数十种语言的情感分析、语言检测或关键词提取。
  • 学术研究:无需从头训练模型,即可快速获取用于句法分析、AMR 或共指消解的基准模型。
  • 生产服务:通过 RESTful 端点为移动应用程序或微服务提供低延迟的 NLP 功能,无需管理 GPU。

入门指南

1. 安装

# 原生 Python API (完整模型,GPU 可选)
pip install hanlp

# 轻量级 RESTful 客户端 (任何语言)
pip install hanlp_restful   # Python 示例

2. Python 快速示例 (原生 API)

import hanlp
# 加载多语言联合模型 (小型中文 ELECTRA 主干)
HanLP = hanlp.load(
    hanlp.pretrained.mtl.CLOSE_TOK_POS_NER_SRL_DEP_SDP_CON_ELECTRA_SMALL_ZH)

sentences = [
    "2021年HanLPv2.1为生产环境带来次世代最先进的多语种NLP技术。",
    "阿婆主来到北京立方庭参观自然语义科技公司。"
]
result = HanLP(sentences)
print(result)          # JSON‑compatible output
HanLP.pretty_print()   # visual console view

3. Python 快速示例 (RESTful API)

from hanlp_restful import HanLPClient
client = HanLPClient('https://www.hanlp.com/api', auth=None, language='zh')
print(client.parse("HanLP提供了强大的中文分词和命名实体识别功能。"))

4. 其他语言

GoJava 亦提供相同的客户端库;只需加入依赖项并使用服务器 URL 与选用的 API 密钥创建 HanLPClient 即可。


文档与社区


总结

HanLP 是一个成熟的多语言 NLP 库,提供轻量级的 RESTful 服务与功能完整的原生 Python API。它内置数十种预训练模型,涵盖从分词到语义分析的各项任务,支持自定义词典,专为研究原型设计与生产环境部署而打造。

相关

  • 项目
  • 项目
  • 项目
  • 项目