这个项目能做什么

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 论文引用。