论文阅读“Improving BERT Model Using
Su P, Peng Y, Vijay-Shanker K. Improving BERT Model Using Contrastive Learning for Biomedical Relation Extraction[C]//Proceedings of the 20th Workshop on Biomedical Language Processing. 2021: 1-10.
摘要翻译
对比学习在计算机视觉中被用来学习图像的高质量表示。然而,由于缺乏一种针对文本数据的通用的数据增强方法,对比学习在自然语言处理中没有得到广泛利用。在这项工作中,作者探索了采用对比学习方法来改进BERT模型的文本表示,以实现关系提取。提出的框架的关键部分是为关系提取任务量身定做的独特的基于对比学习的预训练步骤,将语言学知识无缝整合到数据增强中。此外,还研究了从外部知识库中构建的大规模数据如何能够提高BERT的对比预训练的通用性。在三个关系提取基准数据集上的实验结果表明,提出的方法可以改善BERT模型的表示,并达到最先进的性能。
模型浅析
从模型图来看,是一种中规中矩的对比学习模型,先通过对原始文本表示进行数据增强,得到两个增强样本用来构建正例样本对,然后通过BERT进行编码,得到[CLS]位的表示,再通过一个两层的非线性全连接层,得到的表示用于构造对比损失。对于提出的框架而言,最重要的部分莫过于数据增强部分的设计。针对关系抽取的信息增强方法
在本工作中,主要关注的是二元关系类型。给定<>,和分别是句子中的两个实体,二者的关系为。数据增强的一个比较难得点在于保持居中实体和关系得不变性。
基于这一点,作者利用最短依赖路径(shortest dependency path, SDP)来确定两个实体之间得关系。在固定SDP得前提下,对句中得其他token进行替换以获得增强文本。这里设计了三种替换token得操作:(1)同义替换:使用wordNet构建同义词表,从中随机挑选一个作为同义词,(2)随机交换:对句子中得任意两个词进行位置交换,该操作可进行n次,(3)随机删除:给定一个删除概率,结合句子长度,随机从居中删除个词。对于这三种操作,后续得实验也进行了性能得比较:
语义提取器
显而易见,这里使用得BERT进行句子信息的提取,使用[CLS]的embedding表示作为下一阶段的输入。
非线性映射模块
其中为ReLU激活函数,和分别为两个隐藏层的权重参数。As demonstrated in (A simple framework for contrastive learning of visual representations, ICML 2020), adding a nonlinear projection head on the model output will improve the representation quality during training.
对比损失的设计
假设给定batch_size=N,使用数据增强后样本扩展为2N个。给定样本,与之对应的增强样本作为正例样本对,剩余的2(N-1)个均与之形成负例样本对。其样本损失为:
为余弦相似度,整个batch的损失计算如下: 为所有的正例样本对。训练过程
基于对比预训练的BERTmodel的整个工作流程如下:主要包含三个步骤:(1)指定领域的预训练过程(该预训练阶段使用与BERT相同的Mask语言模型和下句预测任务);(2)基于任务数据集的对比预训练(本文提出的框架);(3)在有标签数据集上的微调。
外部数据支持
使用基于知识的方式对训练数据进行扩充,以达到大规模的task-specific data进行第二步骤的预训练。因为笔者并不是做信息抽取任务的,因此这里对数据集的扩充不进行赘述,这里贴出原文中的扩充方式:因为提出的框架是针对BERT进行的第二步预训练过程,因此这里的对比实验并没有涉及到其他的关系抽取模型,而是在使用的BERT模型上增加的一系列操作。那么,针对包含non-contextual view的多视图文本数据,是不是可以利用什么巧妙的方式,对其表示进行预训练,来代替其他可处理non-contextual特征的模型如AE。不过,这里使用task-specific data进行二次对比预训练确实是笔者没想到的。