Skip to main content
QUICK REVIEW

[论文解读] Small-Text: Active Learning for Text Classification in Python

Christopher Schröder, Lydia Müller|Zenodo (CERN European Organization for Nuclear Research)|Jul 21, 2021
Machine Learning and Algorithms被引用 6
一句话总结

small-text 是一个模块化、开源的 Python 库,用于文本分类中的基于池的主动学习,集成 scikit-learn、PyTorch 和 Hugging Face Transformers,支持高效、GPU 加速的实验,可灵活使用多种分类器和查询策略。实验表明,SetFit 微调在准确率上与原始 BERT 微调相当,但在 AUC 上表现更优,实现了数据高效的模型训练。

ABSTRACT

We introduce small-text, an easy-to-use active learning library, which offers pool-based active learning for single- and multi-label text classification in Python. It features numerous pre-implemented state-of-the-art query strategies, including some that leverage the GPU. Standardized interfaces allow the combination of a variety of classifiers, query strategies, and stopping criteria, facilitating a quick mix and match, and enabling a rapid and convenient development of both active learning experiments and applications. With the objective of making various classifiers and query strategies accessible for active learning, small-text integrates several well-known machine learning libraries, namely scikit-learn, PyTorch, and Hugging Face transformers. The latter integrations are optionally installable extensions, so GPUs can be used but are not required. Using this new library, we investigate the performance of the recently published SetFit training paradigm, which we compare to vanilla transformer fine-tuning, finding that it matches the latter in classification accuracy while outperforming it in area under the curve. The library is available under the MIT License at https://github.com/webis-de/small-text, in version 1.3.0 at the time of writing.

研究动机与目标

  • 为解决文本分类中高昂的标注成本问题,通过最小化人工标注实现主动学习。
  • 提供一个模块化、可扩展且易于使用的库,集成广泛使用的机器学习框架,如 scikit-learn、PyTorch 和 Hugging Face Transformers。
  • 通过提供分类器、查询策略和停止标准的标准化接口,同时支持研究与应用开发。
  • 支持高效实验现代主动学习策略,包括利用深度学习和对比学习的策略。
  • 通过开源代码和对新组件与用例的可扩展性,促进可复现的研究。

提出的方法

  • 该库实现了一个模块化的基于池的主动学习框架,支持可插拔组件:分类器、查询策略和停止标准。
  • 集成 scikit-learn 用于传统机器学习模型,PyTorch 用于深度学习,Hugging Face Transformers 用于最先进的 Transformer 模型,支持可选的 GPU 加速。
  • 支持 13 种查询策略,涵盖四种范式:基于置信度、基于嵌入、基于梯度和基于核心集的方法。
  • 包含 SetFit 训练范式的封装器,该方法利用对比学习,以少量标注样本高效微调 SBERT 嵌入表示。
  • 通过标准化接口实现组件的灵活组合,支持快速原型设计与实验。
  • 该库具有可扩展性,支持可选安装,GPU 支持通过 PyTorch 和 Hugging Face 集成实现。

实验结果

研究问题

  • RQ1一个模块化的主动学习库是否能显著减少文本分类所需的标注工作量,同时保持高性能?
  • RQ2在文本分类任务中,SetFit 训练范式与标准 BERT 微调在准确率和 AUC 上相比如何?
  • RQ3在基于置信度、基于嵌入、基于梯度和基于核心集的范式中,哪些查询策略在实践中能实现最有效的主动学习性能?
  • RQ4small-text 在多大程度上能支持现实世界的应用,如滥用语言检测和公民参与文本分类,且仅使用极少的标注数据?
  • RQ5将 Hugging Face Transformers 和 GPU 加速等现代深度学习组件集成,对主动学习流水线的效率和可扩展性有何影响?

主要发现

  • SetFit 微调在分类准确率上与原始 BERT 微调相当,但在曲线下面积(AUC)上表现更优。
  • 在基于不确定性的主动学习中,'打破平局'查询策略是预测熵的稳健、即插即用的替代方案,尤其适用于现代 Transformer 模型。
  • 使用 small-text 的主动学习在现实应用中显著减少了标注工作量,例如在仅使用极少标注数据的情况下,将德语公民参与文本分类为八个主题。
  • 该库在六个数据集上实现了高效的滥用语言检测,表明使用主动学习时仅需少量数据即可达到良好效果。
  • Hugging Face Transformers 和 PyTorch 的集成支持 GPU 加速训练与推理,提升了性能,且无需强制使用 GPU。
  • small-text 的模块化设计支持快速实验和可复现的研究,已有多个研究成功将该库应用于多样化的 NLP 任务。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。