基于无监督对比学习的文本表示方法
摘要
关键词
BERT;对比学习;文本表示;正样本对
正文
1 研究方法
本文提出的无监督对比学习文本表示方法的整体结构图如下图所示,其主要分为以下三个模块:
第一个模块为数据增强模块,在基于无监督的对比学习的文本表示方法中,其难点在于如何有效获取对比学习中的正样本对,一个好的正样本对对于对比学习的成功至关重要,在本文提出的文本表示方法中使用了一种混合式正样本对数据增强方法,该方法通过混合使用“打乱局部语句顺序”以及“随机增加字符长度”的方法生成正样本对。对于初始的N个句子,其经过数据增强模块后,会生成2N个句子,每个句子拥有一个正样本语句和2N-2个负样本语句。
第二个模块为编码模块,从下图可以看出,本文提出的无监督对比学习文本表示方法不依赖于某个编码模型,因此,其除了使用BERT模型作为编码器之外,还拥有其他选择,如目前比较流行的RoBERTa模型。
第三个模块为对比损失模块,在对比损失模块中,本文使用了与SimCLR一致的NT-Xent损失作为本文所提方法的损失函数,其公式如下:
其中,代表经过编码模块后的文本表示向量,
是超参数,在本文其取值为0.1,使用NT-Xent损失函数作为本文的对比损失,可以使模型生成的文本表示朝着这一方向优化:即样本与正样本的文本表示间差异尽可能小,与负样本的文本表示间的差异尽可能的大。
2 实验
2.1 实验运行环境
本文基于python和pytorch框架实现了本文所提无监督对比学习的文本表示方法实验,所有实验均在配置了2张3090显卡的Ubuntu系统的服务器上进行。
2.2 数据集介绍
为了验证本文所提方法的有效性,本文使用了3个常用的数据集,分别是LCQMC数据集(A Large-scale Chinese Question Matching Corpus)、BQ数据集(Bank Question Corpus)、STS-B 数据集(Semantic Textual Similarity Benchmark),这些数据集中的样本来自于多个领域。
2.3 评价指标
为了有效评估本文所提方法的效果,本文使用了斯皮尔曼相关系数作为实验结果的评价指标,斯皮尔曼相关系数是一种衡量两个变量之间相关程度的系数,其取值范围为-1到1之间,当其值越接近1时,两个变量间相关程度越高,反之越不相关。其公式如下所示:
其中,表示斯皮尔曼相关系数,
表示模型预测的文本相似度和数据集标注的文本相似度之间的排名差异,n表示样本对的数量。
2.4 实验结果
为了评估本文所提出的文本表示方法的表现,我们分别使用BERT和RoBERTa作为基础编码模型,基于本文所提方法和表现较好的SimCSE[2]方法,在上述三个数据集中进行了实验,实验结果如下表所示:
文本表示方法/(%) | LCQMC | BQ | STS-B |
BERT | 64.75 | 38.81 | 61.66 |
SimCSE-BERT | 71.76 | 50.73 | 70.37 |
Our-Method-BERT | 72.85 | 52.31 | 71.43 |
RoBERTa | 68.13 | 43.13 | 66.91 |
SimCSE-RoBERTa | 74.03 | 51.34 | 71.23 |
Our-Method-RoBERTa | 76.25 | 52.68 | 72.55 |
根据表中结果,不难看出,本文所提出的文本表示方法,不仅明显优于基于原生BERT的文本表示方法,还高于SimCSE方法,这表明本文提出的方法能有效提高模型在文本表示领域的准确性。
3 结语
为了解决基于BERT的文本表示坍塌问题,本文提出了一种基于无监督对比学习的方法,该方法通过本文所提方法对原始数据进行数据增强,从而使模型在训练的过程中能有效学习到语义相似的样本和语义不相似的样本之间的差异,从而让模型在学到的文本表示更好的应用在基于句子语义匹配的下游任务中。
参考文献:
[1]吴量,张方方,程超,等.基于双层数据增强的监督对比学习文本分类模型[J].吉林大学学报(理学版),2024,62(05):1179-1187.
[2]Gao T, Yao X, Chen D. SimCSE: Simple Contrastive Learning of Sentence Embeddings[C]//2021 Conference on Empirical Methods in Natural Language Processing, EMNLP 2021. Association for Computational Linguistics (ACL), 2021:6894-6910.
...