urchade/GLiNER

Generalist and Lightweight Model for Named Entity Recognition (Extract any entity types from texts)

解决的问题

GLiNER 旨在克服传统命名实体识别(NER)模型的局限性,这些模型通常需要大量标注数据和针对每种新实体类型的特定训练。它提供了一个轻量级、通用的框架,无需新的训练数据即可以零样本方式提取任何实体类型。

工作原理

GLiNER 使用基于 Transformer 的架构进行标记分类。它提供多种专用架构:

  • Uni-encoder:原始架构,具备强大的零样本能力。
  • Bi-encoder:通过预先计算标签嵌入,可扩展至数百或数千种实体类型。
  • RelEx:联合架构,用于同时提取实体及其之间的关系。
  • GLiNER Decoder:混合架构,可生成实体类型以实现最大灵活性。
  • StreamingSpan:因果跨度模型,支持增量 NER 和滚动预测更新。

为优化性能,支持 torch.compile、FP16 和 INT8 量化,以及 ONNX 导出,适用于 CPU 和消费级硬件部署。

适用人群

本工具适用于从事信息抽取任务的开发者和数据科学家,例如 PII 检测、知识图谱构建,以及多语言环境下的领域特定 NER(如法律或生物医学领域)。

主要亮点

  • 零样本识别:无需标注数据即可提取任意实体类型。
  • 高可扩展性:Bi-encoder 架构支持数百万标签且性能不下降。
  • 联合抽取:单次处理即可同时提取实体和关系。
  • 生产就绪:包含基于 Ray Serve 的服务层,支持动态批处理和水平扩展。
  • 硬件高效:通过量化和编译优化,适用于 CPU 和消费级硬件。

相关

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