
摘要
对比学习已被证明在提升预训练语言模型(PLMs)以获得更优的通用句子嵌入方面具有显著效果。然而,现有的对比学习方法仍存在两个局限性。首先,以往的方法在领域偏移(domain shift)设置下表现较差,这限制了句子表示在实际应用中的推广。我们将其归因于PLMs本身参数量巨大(数百万参数)所导致的过参数化问题。为缓解这一问题,我们提出PromCSE(基于提示的句子嵌入对比学习方法),该方法仅训练小规模的可学习软提示(Soft Prompt,即一组可训练向量),同时保持预训练语言模型的参数固定不变。其次,在监督学习设置下,对比学习中常用的NT-Xent损失函数未能充分挖掘困难负样本(hard negatives)的信息。为此,我们受NT-Xent损失与基于能量的学习范式之间关联的启发,提出引入一种基于能量的合页损失(Energy-based Hinge loss),以增强句子对之间的判别能力。在七个标准语义文本相似度(STS)任务以及一个领域偏移的STS任务上的实验结果表明,与当前最先进的句子嵌入模型相比,我们的方法展现出显著优越的性能。相关代码已公开,可访问:https://github.com/YJiangcm/PromCSE
代码仓库
yjiangcm/promcse
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| semantic-textual-similarity-on-cxc | PromCSE-RoBERTa-large (0.355B) | avg ± std: 74.8± 1.0 |
| semantic-textual-similarity-on-sick | PromCSE-RoBERTa-large (0.355B) | Spearman Correlation: 0.8243 |
| semantic-textual-similarity-on-sts-benchmark | PromCSE-RoBERTa-large (0.355B) | Spearman Correlation: 0.8787 |
| semantic-textual-similarity-on-sts12 | PromCSE-RoBERTa-large (0.355B) | Spearman Correlation: 0.7956 |
| semantic-textual-similarity-on-sts13 | PromCSE-RoBERTa-large (0.355B) | Spearman Correlation: 0.8897 |
| semantic-textual-similarity-on-sts14 | PromCSE-RoBERTa-large (0.355B) | Spearman Correlation: 0.8381 |
| semantic-textual-similarity-on-sts15 | PromCSE-RoBERTa-large (0.355B) | Spearman Correlation: 0.8808 |
| semantic-textual-similarity-on-sts16 | PromCSE-RoBERTa-large (0.355B) | Spearman Correlation: 0.8496 |