基于增EBET易博量预训练和对抗训练的文本匹配模型

  新闻资讯     |      2023-09-28 10:12

  收稿日期:2022-01-29; 修改日期:2022-02-24; 采用时间:2022-04-02; csa 在线:文本匹配是自然语言理解的关键技术之一, 其任务是判断两段文本的相似程度. 近年来随着预训练模型的发展, 基于预训练语言模型的文本匹配技术得到了广泛的应用. 然而, 这类文本匹配模型仍然面临着在某一特定领域泛化能力不佳、语义匹配时鲁棒性较弱这两个挑战. 为此, 本文提出了基于低频词的增量预训练及对抗训练方法来提高文本匹配模型的效果. 本文通过针对领域内低频词的增量预训练, 帮助模型向目标领域迁移, 增强模型的泛化能力; 同时本文尝试多种针对低频词的对抗训练方法, 提升模型对词级别扰动的适应能力, 提高模型的鲁棒性. 本文在LCQMC数据集和房产领域文本匹配数据集上的实验结果表明, 增量预训练、对抗训练以及这两种方式的结合使用均可明显改善文本匹配结果.Text Matching Model Based on Incremental Pre-training and Adversarial Training1. State Key Laboratory of Communication Content Cognition, People’s Daily Online, Beijing 100733, China;

  文本匹配是自然语言理解的关键技术之一, 通常可以将研究两段文本之间关系的问题看作文本匹配问题, 本文主要研究两个文本的语义相似问题. 传统的文本匹配方法如TFIDF[1]、BM25[2]等, 它们基于词频统计特征计算文本与文本之间的相似度, 但是这些方法并没有利用到文本的上下文信息和语义信息. 近些年来, 深度学习在文本语义匹配中起到重要作用. 基于深度学习的文本匹配方法主要分为两种, 基于表示的文本匹配方法[3]和基于交互的文本匹配方法[4]. 基于表示的文本匹配模型以经典双塔模型为代表, 通过将文本表示成向量计算文本之间的相似度; 而基于交互的文本匹配模型通过不同策略构建匹配特征, 尽可能保留重要的相似句子信息. 此外, 随着预训练模型BERT[5]的广泛应用, 文本匹配的效果有了明显改善[6]. 但是, 目前的预训练模型通常采用通用领域的语料进行训练, 特定数据进行微调, 而特定数据的领域与预训练领域若存在较大差异, 会导致模型对目标领域样本的匹配效果不理想; 此外, 在现有的基于预训练模型的文本匹配模型中, 文本格式的高度相似导致模型的泛化能力变弱.

  针对上述问题, 本文在一个基于文心(ERNIE[7])的基线文本匹配模型, 利用逆文档频率(IDF)提取文本匹配的低频词信息, 然后对领域样本中低频但信息量大的词进行增量预训练和对抗训练以提高文本匹配的效果. 一方面, 通过对低频词进行全词掩码(whole word MASK)的形式, 对特定领域的语料进行增量预训练, 鼓励模型更多的重视文本中低频词带来的信息, 并改善模型对特定领域文本的编码表示; 另一方面, 通过使用对抗训练, 例如FGM (fast gradient method)[8]等, 对低频词的词向量梯度施加扰动, 提高模型对词级别扰动的适应能力, 相当于变向地对低频词进行数据增强. 在两个不同领域数据集上的实验验证表明, 上述两个策略可以提升文本匹配性能, 增强模型的泛化能力和鲁棒性.

  文本匹配是自然语言理解的关键技术之一, 它研究两个文本语义相似程度的问题. 传统的文本匹配方法利用句法信息、统计信息等浅层特征进行相似度的计算, 例如Song等人[9]利用生成词语的概率来计算文本之间的相似度, 然而这些基于浅层语义特征的匹配方式难以处理复杂文本的匹配. 近些年随着深度学习的发展, 各种神经网络模型被用于文本匹配任务中. 例如, 微软提出了DSSM[3], 将两个文本映射成低维稠密向量, 然后通过多层感知机进行编码, 最终使用余弦相似度来计算文本向量的语义匹配程度; Chen等人[10]综合Bi-LSTM和注意力机制, 有效提取了文本之间蕴含的全局信息和局部信息, 提出了ESIM模型; Wang等人[11]提出了BiMPM, 其最大的创新点是双向多角度匹配, 解决了文本匹配模型交互不充分的问题. 这些深度学习模型虽然能够充分利用语义交互信息进行相似度计算, 但仍使用词向量Word2Vec[12]等方式进行句子的编码, 语义信息表达不够充分, 使得一词多义的情况没有解决. 近些年, 基于预训练模型的文本表示方法逐渐成为主流, 谷歌提出BERT模型[5], 刷新了各项自然语言处理任务的榜单; Reimers等人[13]提出了sentence-BERT模型, 利用孪生网络结构在保证准确性的同时大大提高了速度. 上述基于预训练的文本匹配模型大多采用了“预训练+微调”的形式, 即首先在大量无监督语料进行训练, 然后针对自己的数据集进行微调, 这种模式在针对特定领域时, 例如房产领域, 微调效果提升有限. 对此, Gururangan等人[14]设计了多个领域的分类任务, 进行领域自适应训练(DAPT). 实验表明, 对于特定任务可以用任务相关数据再对语言模型做二次预训练, 能有效提高模型性能; Gu等人[15]将这种训练方式总结出一个通用的范式, 即“预训练-领域增量训练-微调”.

  本文在增量预训练时, 采用的掩码策略并非随机选取词语, 而是遮盖文本匹配中的低频词, 使得模型根据上下文去预测这个词, 有效提高了模型特定领域的泛化性.

  对抗训练是一种引入噪声的训练方式, 在训练过程中人为地在样本中混入一些微小的扰动, 它对于模型参数改变很小, 但是却可以造成误分类. 因此, 对扰动后的对抗样本进行训练, 能够增强模型的泛化能力[16]. Miyato等人[8]提出了快速梯度对抗方法(FGM)的对抗训练方式, 对词向量层的参数施加扰动, 取得了很好的效果; 但由于FGM是一次性施加扰动, 不能找到最优的扰动范围, 所以Madry等人[17]提出了投影梯度下降(projected gradient descent, PGD)的对抗训练方式. 该方法采取迭代式的k步扰动策略, 虽然对抗扰动效果更好, 但是对抗训练k次消耗了更多计算资源, 训练速度大大减缓; Shafahi等人[18]综合两者特点提出了自由对抗训练(free adversarial training, FreeAT), 在PGD的基础上进行训练速度的优化, 找到了最优的对抗训练的参数. 然而这些对抗训练的方式都对整个词表扰动, 针对性不强, 本文在微调时针对低频词有目的性地进行对抗训练以增强模型的鲁棒性, 使得模型更好表达语义匹配中低频词的信息.

  在本节中, 我们首先介绍了基于ERNIE[7]的文本匹配基线模型, 随后给出了基于低频词掩码的增量预训练方法和基于低频词对抗训练的方法, 并说明两种方法怎样融合来实现文本匹配.

  本节介绍基线文本匹配模型, 采用了百度发布的文心(ERNIE[7])预训练模型作为基础模型, 它相较于BERT[5]、RoBERTa[19]等模型, 采用了知识掩码的训练策略, 一次掩码(MASK)一个中文的实体和短语, 能够取得更好的性能, 具体的匹配模型如图1所示.

  在进行文本匹配任务时, 首先将待匹配的两段文本拼接成一个句子, 在句子头部添加[CLS]符号, 在文本之间添加[SEP]分隔符, 作为模型的输入.模型使用ERNIE[7]对文本的语义特征进行编码, 最终的输出${T_i}$是一个768维的向量. 在得到输出后, 本文使用句首标识符[CLS]对应的向量作为整个句子的向量表征; Reimers等人[13]探究以平均池化和最大池化后的向量代表整个句子的向量. 因为最大池化可以表征一个句子中关键的语义特征信息, 而平均EBET易博官网池化则可以最大程度保留文字的背景信息. 所以在基线文本匹配模型的构建中, 我们将[CLS]标签代表的句向量${{{T}}_{{\left[ \text{CLS} \right] }}}$、平均池化向量${{{T}}_{{\rm{avg}}}}$和最大池化向量${T_{{\rm{max}}}}$拼接得到向量${T_{{\rm{all}}}}$, 如式(1)所示:

  在获得文本匹配的基线模型后, 我们希望将特定任务的数据集进行增量的预训练, 将特定领域的语义知识嵌入到通用领域的预训练模型中.

  ]实验发现NSP任务对于提升下游任务的性能并没有太大作用, 我们只选取了MLM任务, 如图2所示.由于ERNIE模型[7]是在通用领域上训练的, 可以表达中文基本语法语义, 但是对于特定领域例如房产、娱乐、体育等领域的数据集进行直接微调(fine-tune)效果有时候不理想. 因此, 为了更好地编码特定领域的数据集, 本文提出了针对文本匹配中低频词的增量预训练方法.

  [5]的方式, 将数据集复制10份, 对每条训练语句进行全词掩码. 因为随机掩码的字词可能没有意义, 例如 “的”. 所以, 我们使用IDF对分词后的语料进行打分, 掩码IDF值高的词语, 以强化模型对语料中低频但信息量大词的语义表示. IDF计算如式(3)所示:

  ${g_\theta }$,${\nabla _{{x}}}$代表求损失函数$l$的梯度. 对于原始输入文本, 经过嵌入层和编码层后计算损失函数, 得到反向传播后的梯度. 在词向量的梯度上添加针对低频词的对抗扰动, 即将算法第11行的梯度${g_{{\text{adv}}}}$与低频词掩码(MASK)矩阵$M$相乘, 生成新的扰动向量, 将叠加扰动向量后的输入通过模型编码层计算产生的损失函数重新进行反向传播, 更新模型参数.2.4 融合增量预训练和对抗训练的文本匹配本节主要介绍如何将第2.2节增量预训练和第2.3节对抗训练的内容融合在一起, 形成一个完整的文本匹配.如图3

  上半部所示, 增量预训练是文本匹配模型训练的前置部分, 利用语料中低频词增量后的模型改善了预训练模型对于某一特定领域的语言表示, 增强了模型的泛化能力, 得到包含领域知识的模型CONTINUAL-ERNIE. 在后续文本匹配时, 使用的也是这个模型.

  对抗训练则是与文本匹配模型一起训练, 在训练过程中通过对低频词的词向量施加扰动, 学习这些领域低频词带来的重要信息, 从而增强模型的鲁棒性, 具体如

  的领域中意图匹配数据和房产问答匹配的数据, 皆为工业界文本匹配的数据集.

  本文选取的LCQMC是中文问题匹配的语料库, 它更侧重两个问句的意图匹配, 是中文文本匹配经典的语料库之一. 该数据集包含了260 068个人工标注的问题对且已划分好训练集、验证集和测试集, 具体情况如

  ]基础上进行了基于低频词的增量预训练及对抗训练, 具体的实验设置如下:(1) ESIM模型[10], 该方法利用Bi-LSTM和注意力机制进行文本之间的信息交互, 提升了模型对于文本全局信息和局部信息的捕获能力.

  (3) ERNIE+增量预训练模型, 对ERNIE模型进行了低频词掩码的增量预训练, 对比了该种方式相对于随机全词掩码的效果.(4) ERNIE+对抗训练模型, 通过选取IDF分值排名前25%、50%和75%的低频词进行对抗训练, 探究基于低频词对抗训练的文本匹配模型收益.

  1达到了87.63%和79.95%, 高于其他预训练模型. 这印证了ERNIE模型在预训练时采用的实体和短句级别的掩码是有效的, 因此本文在ERNIE模型的基础上进行了其他方法的实验.

  (2) 模型的鲁棒性: 在设置对抗训练的实验时, 本文选取了IDF分值高的前25%、50%和75%的词进行了对抗训练, 其结果如

  1值. 分析可知, 选取25%和50%的低频词进行对抗训练, 可使模型在对抗训练的基础上再次提高, 这是因为低频词虽然频率低, 却是领域内“代表词”, 针对这类词语的对抗扰动大大增强了模型的鲁棒性. 例如基线模型对于问答对“学区划分在哪呢?”“飞鹅岭小学”识别困难, 但经过低频词“飞鹅岭”的对抗训练后, 模型成功将问答匹配.

  (3) 模型特定领域的泛化能力: 本文还实验了在领域增量预训练时对低频词进行掩码的策略, 并将对抗训练和增量预训练两种方式结合在一起进行实验. 其结果如表5和表6所示. 由表5

  F1值相比Baseline分别提升了0.65%和0.40%, 相比于普通增量预训练有0.13%和0.09%的提升. 这些都印证了本文的假设: 使用IDF提取出的词为低频但信息量大的词语, 更容易使得模型出错, 所以对低频词的增量预训练增强了模型泛化能力.(4) 模型泛化能力和鲁棒性的结合: 如表6所示, 本文选取效果最好的50%词对抗, 将上述两种方法结合进行了实验, 低频词增量+FreeAT的训练取得了最好的效果, 其F1值在两个数据集分别提升了0.23%和 0.28%. 此外, 对于包含对抗训练的每组实验, 我们设置了4个随机种子数进行多次实验, 以多次实验的平均结果作为该组实验的最终结果, 这样做的目的排除了因参数初始化不同带来的偶然性.

  对比两个数据集的实验结果, 可以发现相同实验设置条件下实验结果差别较大. 这是因为LCQMC数据集更侧重于意图的匹配, 两个匹配的句子含义相近, 例如“上班族, 做什么兼职好呢?”“上班族兼职做什么好?”. 房产数据则是问答对的匹配, 例如“房子几年了?”“两年了”. 可以明显感觉到, LCQMC数据更加规整, 而房产数据则侧重于问答语义的流畅性, 任务难度相对大, 造成了整体结果相较于LCQMC偏低.

  [23].基于上述的实验结果及分析, 我们的模型通过利用领域内的低频词, 为下游文本匹配任务带来了巨大性能上的提升.4 结论与展望本文构建了基于低频词的增量预训练和对抗训练的文本匹配模型. 通过IDF提取文本中的低频词, 利用低频词掩码的形式进行增量预训练, 强化了模型对于特定领域数据的适配性, 提升了模型的泛化能力; 同时, 本文还将针对低频词的对抗训练融入到模型的训练过程中, 在模型的词向量编码阶段施加扰动, 探索了最优的扰动对抗方式, 有效提升了模型的鲁棒性. 增量预训练使整个模型向特定领域迁移, 而对抗训练更好地表征了低频词的词嵌入向量, 通过全局增量预训练和局部对抗训练的结合使模型效果有了更进一步提升, 在两个不同领域数据集的实验证明了本文方法的有效性.