这个项目能做什么
HanLP(Han Language Processing)是一个面向生产环境的多语种自然语言处理工具包,基于 PyTorch 和 TensorFlow 2.x 双引擎。项目目标是普及落地前沿 NLP 技术,具备功能完善、精度准确、性能高效、语料时新、架构清晰、可自定义等特点。
功能覆盖:
- 分词(粗分、细分)
- 词性标注(CTB、PKU、863 等标准)
- 命名实体识别(PKU、MSRA、OntoNotes 等标准)
- 依存句法分析(SD、UD、PMT)
- 成分句法分析(Chinese Tree Bank)
- 语义依存分析(CSDP)
- 语义角色标注(Chinese Proposition Bank)
- 抽象意义表示(CAMR)
- 指代消解
- 语义文本相似度
- 文本风格转换
- 关键词短语提取
- 抽取式与生成式自动摘要
- 文本语法纠错
- 文本分类与情感分析
- 语种检测
- 词向量与完形填空
- 简繁转换、拼音、新词发现、文本聚类(参考 1.x 版本)
多语种支持:借助大规模多语种语料库,HanLP 2.1 支持包括简繁中文、英语、日语、俄语、法语、德语在内的 130 种语言上的 10 种联合任务以及多种单任务。
两种 API 形态:
1. 轻量级 RESTful API:体积仅数 KB,适合敏捷开发、移动应用等场景,无需 GPU 环境,安装快捷。提供 Python、Golang、Java 等客户端。
2. 海量级 native API:依赖 PyTorch、TensorFlow 等深度学习技术,适合专业 NLP 工程师、研究者及本地海量数据场景。要求 Python 3.6 至 3.10,支持 Windows,推荐类 Unix 系统,可在 CPU 运行,推荐 GPU/TPU。
模型类型:
- 多任务模型:速度快、省显存,可一次调用完成多项任务。
- 单任务模型:精度更高、更灵活,可通过流水线模式组装。
自定义能力:支持高效的 trie 树自定义词典,以及强制、合并、校正三种规则,规则效果可无缝应用到后续统计模型,快速适应新领域。
输出格式:无论何种 API、开发语言或自然语言,输出统一为 JSON 格式、兼容 dict 的 Document 对象,包含分词、词性、命名实体、语义角色、依存句法、语义依存、成分句法等字段。Python 的 RESTful 和 native API 还支持基于等宽字体的可视化,可直接在控制台展示语言学结构。
项目还提供训练自定义领域模型的途径,并附有 EMNLP 论文引用。
评论
0 评分人数达到10人后显示
登录后参与讨论。