
摘要
在自然语言处理(NLP)分类任务中,对大规模预训练语言模型(LLMs)在特定数据集上进行微调是一种常用策略。然而,该方法通常会导致模型泛化能力的下降。本文提出一种新框架,能够在保持模型泛化能力的同时,通过引入任务特定的上下文归因(context attribution)机制,提升下游任务的性能。我们证明,利用任务特定的概念算子(concept operator)对任意Transformer模型的文本表示进行线性变换,可实现其在潜在概念空间中的投影,本文将此过程称为“上下文归因”。该任务特定的概念算子在监督学习阶段通过新型损失函数进行优化。实验结果表明,针对每个任务目标对文本表示进行上下文归因,能够增强判别函数的表达能力,从而显著提升分类任务的性能。在三个数据集上的实验验证了所提模型的优越性:HateXplain、IMDB影评和社交媒体归因数据集(Social Media Attributions)。具体而言,在HateXplain数据集上,对于未经微调的BERT模型,准确率提升8%,F1分数提升10%;在IMDB数据集上,所提模型优于经过微调的先进模型XLNet,准确率与F1分数均提升1%。此外,在跨领域、跨数据集的测试中,基于IMDB数据集微调的DistilBERT结合本文框架,在HateXplain数据集上的F1分数提升7%。在YouTube评论的社交媒体归因数据集上,F1指标提升达5.2%。所提出的框架基于PyTorch实现,并已开源发布于GitHub。
代码仓库
stepantita/space-model
官方
pytorch
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| sentiment-analysis-on-imdb | Space-XLNet | Accuracy: 94.88 |
| sentiment-analysis-on-imdb-movie-reviews-1 | Space-DistilBERT | Accuracy (2 classes): 0.8322 F1 Macro: 0.8320 |
| sentiment-analysis-on-imdb-movie-reviews-1 | Space-XLNet | Accuracy (2 classes): 0.9488 F1 Macro: 0.9487 |
| text-classification-on-hatexplain-1 | XLNet | Accuracy (2 classes): 0.8160 F1 Macro: 0.8156 |
| text-classification-on-hatexplain-1 | Space-XLNet | Accuracy (2 classes): 0.8798 F1 Macro: 0.8797 |
| text-classification-on-hatexplain-1 | BERT-base | Accuracy (2 classes): 0.6588 F1 Macro: 0.6555 |
| text-classification-on-hatexplain-1 | Space-BERT | Accuracy (2 classes): 0.8110 F1 Macro: 0.8108 |
| text-classification-on-imdb-movie-reviews-1 | XLNet | Accuracy (2 classes): 0.9387 |
| text-classification-on-imdb-movie-reviews-1 | Space-XLNet | F1 Macro: 0.9487 |
| text-classification-on-social-media | BERT-base | Accuracy (2 classes): 0.8220 F1 Macro: 0.7484 |
| text-classification-on-social-media | Space-BERT | Accuracy (2 classes): 0.8309 F1 Macro: 0.8006 |