
命名实体识别的高效训练框架
SpanMarker是一个基于Transformer库的命名实体识别框架,支持BERT、RoBERTa和ELECTRA等编码器。框架提供模型加载、保存、超参数优化、日志记录、检查点、回调、混合精度训练和8位推理等功能。用户可以方便地使用预训练模型,并通过免费API进行快速原型开发和部署。
SpanMarker 是一个用于训练强大命名实体识别(NER)模型的框架,其集成了常见的编码器,如 BERT、RoBERTa 和 ELECTRA。此框架构建在广泛使用的 Transformers 库之上,因此继承了许多强大的功能,例如轻松加载和保存模型、自动日志记录、检查点、回调功能、混合精度训练和8位推论等。
SpanMarker 的开发基于 PL-Marker 论文,目标是提供一个易于使用并且能够开箱即用的NER模型框架。更具体地,SpanMarker 可以与常见的编码器(如 bert-base-cased, roberta-large 和 bert-base-multilingual-cased)一起使用,并能够自动识别多种数据标注方式,如 IOB、IOB2、BIOES 和 BILOU。
SpanMarker 的设计使其在灵活性和功能强大方面独树一帜。用户可以轻松地改变超参数进行优化,并可以利用库提供的各种工具进行自动化和可追踪的模型训练。这对于需要频繁实验和调整的用户来说是一大助益。
SpanMarker 如何变得如此适应性强?它通过对 Hugging Face Hub 和 Hugging Face 预测API的集成,使用户能轻松地在平台上测试任何 SpanMarker 模型。此外,每个公共 SpanMarker 模型还提供免费的 API 来帮助快速原型开发,并可使用 Hugging Face 预测终端进行生产部署。
要安装 SpanMarker,用户仅需通过 pip 命令即可轻松完成:
pip install span_marker
通过在 Google Colab 或其它支持的环境中运行提供的样例脚本,用户可以迅速体验如何使用 SpanMarker 进行实体识别模型的训练。同样地,Hugging Face Hub 提供了各种已经训练好的模型,用户可以通过简单的配置来使用这些模型。
SpanMarker 提供了多个预训练模型,这些模型使用不同的数据集和编码器进行训练。例如:
bert-base 和 roberta-large 编码器进行多语言训练。roberta-large 编码器,表现超过现有的 spaCy 模型。xlm-roberta-large 编码器,支持文件级别上下文,达到业界领先水平。SpanMarker 可以很方便地与 spaCy 一起使用。只需简单的一行代码就可以将 SpanMarker 集成到 spaCy 的处理管道中,从而在 spaCy 环境下轻松执行命名实体识别任务。
SpanMarker 是作者在 Argilla 公司完成的硕士论文项目的一部分,读者有兴趣可以通过项目中的论文了解更多设计与实现细节。
项目的更新日志和使用许可证可以查看项目的 CHANGELOG.md 和 LICENSE 文件,以确保使用最新版本并了解其许可条款。
SpanMarker 带来了易用性和强大的可扩展性,让更多的人能够方便地进行命名实体识别模型的开发和实验。通过其与多种工具和平台的集成,SpanMarker 在命名实体识别领域中展示了其独特的优势。