董 勃 罗森林
(北京理工大学信息与电子学院 北京 100081)
数据安全治理[1]的目标是让数据使用更为安全,保障数据保密性、完整性、可用性以及数据使用的合规性[2].在数据使用合规性方面,自动分析报告生成、自动文本摘要生成等人工智能技术提高了人们的创作效率,但同时不法分子使用自动生成技术剽窃、修改他人成果,侵害他人知识产权.通过文本语义相似性分析技术可实现文本溯源,发现知识产权侵害行为,保障数据使用的安全性.
网络公开文本语义相似性分析研究的主要限制条件为标注数据资源受限,针对该问题引入对比学习框架[3],模型无需标注数据,通过数据增强策略基于原始样本构造正样本,将无监督学习转化为“监督”学习.利用所构造的正样本微调预训练语言模型,可缓解嵌入空间语义塌陷问题,提高文本表示的质量.
部分细分领域如诗歌类文本,无标注数据资源同样受限,但现有对比学习常用的目标函数[4]训练时要求单批次包含较多样本,如SimCLR[5]实验设置的批次大小为4096,较大的批次样本数量对计算能力要求高,且小数据集由于批次划分的数量少,难以支撑模型收敛至局部最优.另外,对比学习模型的数据集体量通常为百万级,使用千级或万级体量小数据集训练模型难以达到较好效果.
针对上述问题,本文提出一种小数据集文本语义相似性分析模型,主要贡献是:
1) 引入样本解耦机制改进对比学习目标函数,样本解耦后加快模型收敛速度,降低对无标注数据资源的需求,提高模型的领域适用性;
2) 本文方法在CAIL2019-SCM相似案例匹配数据集[6]上达到较好的文本语义相似性分析效果,可推广应用于其他领域数据,保障数据使用的合规性.
近些年计算能力的提升和神经网络技术的发展使得基于深度学习的文本语义相似性分析方法成为主流.但文本语义相似性分析在细化垂直领域的推广面临领域数据资源受限的问题,可基于对比学习研究少量无标注数据资源下的文本语义相似性分析模型.另外,目前数据使用合规性方向暂未基于对比学习开展大规模研究,本文将基于自然语言处理和图像处理领域先进对比学习方法进行迁移,提高数据资源受限情况下的文本语义相似性分析模型效果.
对比学习任务的训练目标是减小原始样本与正样本在嵌入空间中的文本表示距离,同时增大原始样本与负样本在嵌入空间中的文本表示距离,可以有效解决预训练语言模型的语义塌陷问题,学习到更好的文本表征.现有模型对数据和计算资源需求大,本文重点研究目标函数的优化方式来解决该问题.
对比学习文本匹配方法常用的目标函数为InfoNCE[4],该目标函数的特点为单批次需要大量正负样本来保证模型训练效果,从而使模型学习到更丰富的信息,如SimCLR[5]实验设置的单批次样本数量最大达到8092,在256,512等样本数量设置下模型的预测效果大幅降低,这对计算资源提出极高要求.MoCo[7]引入动量编码器,通过维护一个负样本队列替代单次迭代中的大量正负样本,从而将计算资源的压力转向内存空间,达到同样训练效果的同时降低对硬件资源的依赖.DCL[8]分析目标函数InfoNCE的反向传播偏导数发现存在正负样本耦合算子,该算子会降低反向传播的梯度大小,导致模型训练缓慢,去除该耦合算子后可以提高模型前期的训练效率,减小对批次大小的依赖.
现有方法存在的主要问题是模型训练需要较大的单批次样本数量,模型收敛速度缓慢,需要较大数据体量和计算资源支撑,在小数据集任务上,因模型训练时可利用的批次数量少,难以支撑模型收敛至局部最优,其主要原因为InfoNCE目标函数中存在正负样本耦合算子,本文研究重点为消除该耦合算子,提高模型在小数据集任务上的表现效果.
本文方法的技术路线是优化对比学习目标函数,计算目标函数反向传播时正负样本分别对应的偏导数,消除其中的公因算子,从而降低模型对数据资源和计算资源的需求,提高对比学习模型在无标注小数据集上的表现效果.
本节将介绍小数据集对比学习文本语义相似性分析模型,原理框架如图1所示,模型主要由3部分构成:数据增强模块、编码器、样本解耦目标函数.
图1 模型原理框架图
dropout是常见的避免过拟合的正则化方式,使用BERT预训练模型作为编码器时,将相同句子输入编码器2次,编码器会独立进行2次随机dropout掩码操作,模型其余结构和参数保持不变,2次掩码得到的句子嵌入互为相似样本.
BERT编码器的位置编码包含句子的长度信息[11],而只进行dropout掩码操作得到的正样本与原始样本长度一致,模型会误把句子长度信息作为判断句子相似的依据.针对上述问题,本文在不影响原始句子语义且不引入额外混淆信息的前提下,使用词重复方法随机重复句子中的部分词语,使正样本与原始样本拥有不同的长度,消除由编码器带来的长度混淆信息.重复词语数量dup_len计算公式为
dup_len∈[0,max(2,int(dup_rate×N))],
(1)
其中:dup_rate为重复率,是一个超参数;N为句中词语总数量;int()为取整操作;dup_len需保证均匀分布,使得新构造句子长度不固定.词重复构造正样本方式如式(2)所示:
(2)
hi=f(xi,zi),
(3)
(4)
BERT编码器的重要参数设置:dropout率为0.15;注意力头数为12;隐藏层数为12;隐藏层维度为768;输出选取末层[CLS]向量;BERT微调过程使用2.2节构造的正样本对,原始数据为CAIL2019-SCM训练集中的每篇案件;优化目标为2.4节所述样本解耦目标函数;预测过程使用CAIL2019-SCM测试集,同时固化模型参数.
(5)
其中:τ为temperature超参数;sim(h,h+)表示cosine相似度运算,如式(6)所示:
(6)
参照DCL[8]的分析,对目标函数求偏导,可以发现存在正负样本耦合算子qB,偏导数计算如式(7)~(9)所示:
(7)
(8)
(9)
qB,i=1-
(10)
耦合算子qB的作用是消极的,因qB<1,当训练对比学习任务时会导致反向传播梯度衰减.当负样本较为简单时负样本与正样本之间的相似度会更低,导致耦合算子分母减小,qB的值也更小;而当正样本与原始文本相似度较高时,同样会导致qB的值变小.
(11)
得到的样本解耦目标函数作为BERT编码器微调过程的损失函数,用来更新学习网络整体参数,模型的超参数设置详见3.3.1节.
因公开领域的数据资源限制,本文在案件文本数据集CAIL2019-SCM[6]上开展对比分析实验和样本解耦效果实验,验证本文模型的有效性.该数据集体量小,仅包含15000余条无标注训练数据,同时案件文本篇幅长,案情灵活多变,要素特征多,符合公开领域的文本特征.
使用CAIL2019-SCM相似案例匹配公开数据测试模型在无标注小体量数据集上的表现.该数据集中的案件属于民间借贷领域,任务旨在判断案件三元组中更为相似的2篇案件.实验训练集为CAIL2019-SCM训练集中的案件集合,验证集和测试集构建方式为将原始三元组对拆成2个二元组对,并对2个二元组对分别标记为0或1,测试后将2个二元组对的预测结果进行合并,拆分后的数据集详细统计信息如表1所示:
表1 CAIL2019-SCM拆分数据集统计信息
CAIL2019-SCM数据集匹配结果的评判原则为:若模型输出为0,则表示案件{a,b}更相似,反之模型输出为1,则表示案件{a,c}更相似,使用评价指标精确率来衡量模型效果,精确率表示被正确预测的三元组数量与测试集三元组总数量的比率,精确率计算公式为
(12)
其中:TP表示被模型正确预测的三元组数量;FP表示被模型错误预测的三元组数量,TP+FP与三元组总数量相等.
3.3.1 实验过程和参数
为验证本文方法在法律领域小数据集CAIL2019-SCM上的有效性,选取SimCSE-Chinese[9](2021)作为对照模型在CAIL2019-SCM数据集上进行整体效果的对比.
模型实验重要参数设置为:模型主体结构使用中文法律领域预训练语言模型Lawformer[12],在[CLS]表示层后拼接多层感知机,得到最终的句子表达;模型训练轮次为1,每训练50步,在验证集上进行测试并保留最好结果的检查点;使用AdamW优化器优化训练过程的参数;批次大小为16;目标函数的temperature参数值为0.05;学习率为3E-5;dropout率为0.15.
3.3.2 结果分析和主要结论
本文模型在案件文本匹配小数据集CAIL2019-SCM上精确率达到71.42%,证明样本解耦机制在案件小数据集上的有效性,结果如表2所示.通过10次随机种子实验的平均值获得最终结果,保证了结果稳健性.SimCSE-Chinese模型精确率为69.03%,本文模型相比该基线模型提高2.39%,提升效果明显.
表2 法律案件对比学习实验精确率 %
3.4.1 实验过程和参数
对正负样本解耦模块进行效果验证实验,观察其能否加快模型训练速度,提升小数据任务训练效果.使用CAIL2019-SCM法律案件数据集进行训练和测试,记录模型训练过程中在案件测试集的各采样点精确率,具体过程及参数设置如下,模型其余参数均与对比分析实验保持一致.
单个训练轮次选取[0.1,0.2,…,1.0]这10个采样点,记录本文模型添加样本解耦模块前后在CAIL2019-SCM测试集的各采样点精确率,并将10个采样精确率绘制为曲线图.
3.4.2 结果分析和主要结论
实验结果证明样本解耦可以大幅加快模型训练速度,提高模型在小数据集上的表现效果,图2为模型训练曲线.从训练曲线可以看出添加样本解耦模块后模型收敛到稳定的速度大幅提升,从模型训练效率角度来看,同样达到精确率69.03%,无样本解耦模块需训练0.91轮次,添加样本解耦模块后需训练0.18轮次,模型收敛速度提高406%.从模型训练效果角度来看,添加样本解耦模块后,模型精确率达到71.42%,不添加样本解耦模块模型精确率为69.03%,模型精确率提高2.39%.综合2个角度,证明样本解耦模块在小数据集上训练速度加快,且训练效果更好.
图2 案件数据集样本解耦结果曲线
本文提出一种小数据集对比学习文本语义相似性分析方法,通过计算目标函数InfoNCE反向传播时正负样本分别对应的偏导数,提取偏导数中的正负样本耦合公因算子,并在原目标函数中消除对应分项,抑制反向传播梯度衰减,获得样本解耦目标函数,提高了模型收敛速度.
在CAIL2019-SCM案件小数据集上进行实验,相比基线模型本文方法精确率提高2.39%,训练速度提高406%,证明样本解耦机制可以提高模型训练效率和效果,有效增强小数据集下案件文本语义相似性分析效果.该方法可推广应用于其他数据集,有效溯源相似文本,保护知识产权,从而保障数据使用的合规性.