陈建贵,张儒清,郭嘉丰,范意兴
(1. 中国科学院 计算技术研究所 网络数据科学与技术重点实验室,北京 100190;2. 中国科学院大学,北京 100190)
随着互联网的发展,虚假信息(如假新闻、政治欺骗和网上谣言等)不断增加并能在短时间内迅速传播,这给公共安全带来了极大的隐患。如何自动核查信息的完整性是当前社会迫切需要的一项技术。因此,最近的许多研究工作[1-6]都致力于事实验证(Fact Verification,FV)任务,其目标是使用来自可靠语料库(如百度百科、维基百科等)的多个证据句子自动验证文本声明的真实性。
为了促进研究,一些事实验证数据集[7-9](如FEVER等)被提出。这些数据集通常采用众包机制构建,这种数据收集方法通常会引入特殊偏差,以意想不到的方式影响性能。例如,Schuster等人[8]发现声明中的某些语言模式会对模型的预测造成影响,甚至只用声明的分类器与证据感知的分类器的性能相当。如表1所示,该声明为“北京冬季奥运会在2021年举办”,由于“北京”与“冬季奥运会”共现的频率较高,模型在训练时容易将其与“SUPPORT”标签联系。因此,在预测时,即使在提供证据的情况下模型也更容易将该声明判断成“SUPPORT”。这种声明对结果的偏差会极大地影响模型的性能。
表1 事实验证数据中的偏差
尽管现有的事实验证方法取得了巨大的成功,但它们大多关注如何建模声明和证据的交互信息,忽略声明对结果带来的偏差影响[5,7,10-13]。例如,Zhou等人[10]设计图模型来增强声明和证据之间的交互信息;Liu等人[5]更进一步使用kernel信息来挖掘声明和证据之间的内在关联。这些工作都在回答一个问题,“如果模型得到声明和验证以及它们的交互信息,那么模型的输出是什么?”没有关注如何消除声明偏差。为了解决这个问题,一些事实验证去偏工作被提出[14-17],大致可分为基于数据增强的方法和基于权重正则化的方法。其中,基于数据增强的方法极大依赖于额外生成的训练数据来去偏[14-16],然而获得高质量的数据代价较大,导致此类方法不灵活,泛化性较差;基于权重正则化的方法的主要思想是将有偏数据对损失函数的影响权重降低,该类方法需要构建有偏模型和无偏模型。然而,训练时无偏模型的输出不准确且不稳定,可能会错误地导致对无偏样本的权重降低。
最近,反事实推理在许多任务上得到了广泛应用[18-20]。这些工作结合因果推理技术,以获得更无偏的模型。例如,Qiu等人[20]运用反事实推理解决推荐系统中的曝光偏差。具体的,该工作采用因果图来描述推荐过程中的重要因果关系,并基于因果图设计训练框架;Niu等人[18]基于因果效应提出反事实推理框架,该框架能将语言偏差捕获为问题对答案的直接因果效应,并通过从总因果效应中减去直接语言效应来减少语言偏差。
受反事实推理和因果效应的启发,本文提出一种新的基于反事实推理的事实验证去偏框架。与以往工作不同的是,本文考虑的问题是关于事实验证的反事实问题,即“如果只获得声明的信息,却无法得到证据以及声明和证据的交互信息,那么模型的输出是什么?”。根据反事实推理理论,声明对结果的影响可以通过想象场景来估计,在这个场景中,证据和交互信息被丢弃,模型只能得到声明信息。
基于上述理论,本文首先设计了事实验证中的因果图,建模声明、证据以及它们之间的交互和预测结果的因果关系。接着,我们根据因果图设计事实验证去偏方法,通过总间接效应去除声明带来的偏差影响。我们使用多任务学习的方式来训练模型。在FEVER数据集的有偏和无偏测试集上的实验结果表明,本文方法能够超过基准方法,去除声明对结果的负面影响,有效提高声明验证的质量。
本文的主要贡献如下:
(1) 从因果视角解释事实验证声明偏差,并提出对应的因果图;
(2) 提出基于反事实推理的事实验证去偏框架,该框架可以根据因果图训练事实验证模型,以消除声明对证据的偏差影响;
(3) 本文进行了详尽的实验和分析,证明所提方法的有效性和合理性。
本节将简要回顾两个方面工作,即事实验证和去偏方法。
事实验证要求在证据的上下文评估声明的有效性,判断的结果可以是支持(Support)、反驳(Refutes)或信息不足(Not Enough Info)[7,21-23]。目前主流的事实验证框架是一个三步流水线系统,即文档检索、句子检索和声明验证[3,5,7,10]。对于文档检索,现有的方法一般可以分为三类,即基于mention的方法[2,3,5,12,24]、基于关键词的方法[13,21-22]和基于特征的方法[4,11,25]。对于句子检索,通常有三种方法,包括传统的概率排序模型[2,6,26]、神经排序模型[3,11,25]和预训练模型[5,24]。对于声明验证,早期工作[7,27]将事实验证视为自然语言推理任务,并直接应用其方法设计事实验证模型。为了获得声明和证据之间更细粒度的语义一致性,后续工作又提出了一系列方法,通过将声明和证据表述为图结构数据来促进声明-证据的交互[10]。此外,受预训练语言模型[28]强大表示能力的启发,一些工作[29-30]尝试在事实检查数据集上微调预训练语言模型,并取得有竞争力的结果。最近,研究人员更加关注可解释的事实验证[31],这需要一个模型来产生准确性预测及其相应解释。
然而,已有方法仅关注如果更好建模声明和证据之间的交互信息,无法去除数据集中的偏差,缺乏稳健性。为此,本文围绕去偏事实验证模型开展研究,不同于之前的工作,本文关注声明对结果的偏差影响。基于反事实推理,本文方法能有效消除声明的偏差,在性能上得到提升。
为了增强事实验证模型的鲁棒性,一些无偏和对抗数据集被提出来评估模型的推理能力[8,32]。现有的去偏方法可以分为两类,基于数据增强的方法和基于权重正则化的方法。
基于数据增强的去偏方法的主要思想是在训练数据中增加足够数量的无偏样本,以降低有偏样本的比例,从而产生更无偏的模型[8,14-15,17,33-35]。其中,无偏样本可以通过对原始数据进行变换操作和释义生成得到。例如,Wei和Zou[14]使用同义词替换、随机插入、随机交换和随机删除等四种操作来获取新的训练数据。Lee等人[15]提出CrossAug模型,利用交叉对比策略以增加数据,具体地,该工作使用生成模型BART[16]将原始声明修改为负面声明,并通过片段替换来改变证据,以支持此类负面声明。基于权重正则化的去偏方法期望通过减少有偏样本对最终损失计算的贡献,让模型更关注无偏数据。例如,Schuster等人[8]提出Re-weighting策略,用局部互信息获得与特定标签高度相关的词组信息,并将包含该词组的声明权重调低,迫使模型将重点放在困难例子上。Mahabadi等人[17]采用有偏模型来捕捉声明中的偏差,并假设产出标签分布的不均匀性与偏差实例的置信度正相关。Xiong等人[33]提出两种校准器(Temperature变化和Dirichlet校准器)来调整有偏模型的预测类分布。
最近,其他领域(包括推荐系统、计算机视觉等)涌现出了一批新的工作,即利用因果推理技术获得更无偏的模型[18-20,35-37]。例如,Qiu等人[20]运用反事实推理解决推荐系统中普遍存在的曝光偏差。Niu等人[18]在视觉问答任务上提出反事实推理框架,通过从总因果效应中减去直接语言效应有效减少语言偏差所带来的影响。受这些工作启发,我们基于反事实推理构建了新的事实验证去偏方法,增强模型的去偏能力。
本节首先介绍关于反事实推理的概念。下文将随机变量表示为大写字母(如X),并将其观察值表示为小写字母(如x)。
因果图反映变量之间的因果关系,用有向无环图G={V,E}表示,其中,V表示变量集,E表示因果关系。图1显示了由三个变量组成的因果图示例。如果变量X对变量Y有直接影响,我们说Y是X的子元素,即X→Y。如果X通过变量M间接影响Y,我们说M在X和Y之间起中介作用,即X→M→Y。
图1 因果图及反事实符号
反事实符号用于将因果假设从图表转换为公式。如果X取值为x,M取值为m,则Y的取值表示如式(1) 所示。
Yx,m=Y(X=x,M=m)
(1)
在实际情况中,有m=Mx=M(X=x)。在反事实场景中,对于M和Y,X可以取不同值。例如,Yx,Mx*表示为X取值为x,而M的取值仅当X取值为x*的时候,也就是,Yx,Mx*=Y(X=x,M=M(X=x*))。注意,这里X只能在反事实场景中同时设置为不同的值x和x*。
因果效应反映了同一个变量在两种不同干预下的两种潜在结果之间的比较。 假设X=x表示“干预条件下”,X=x*表示“未干预条件下” 。 干预X=x对Y的总效应 (Total Effect, TE)比较了两种假设情况X=x和X=x*,表示如式(2)所示。
TE=Yx,Mx-Yx*,Mx*
(2)
总效应可分解为自然直接效应(Natural Direct Effect, NDE)和总间接效应(Total Indirect Effect, TIE)。NDE表示当中介M被阻断时,X对Y的影响。具体的,NDE表示当X从x变化到x*,M设置在X=x*时获得的值时,Y的增加量如式(3)所示。
NDE=Yx,Mx*-Yx*,Mx*
(3)
TIE是TE和NDE之间的差值如式(4)所示。
TIE=TE-NDE=Yx,Mx-Yx,Mx*
(4)
TE还可以分解为自然间接效应(Natural Indirect Effect, NIE)和总直接效应(Total Direct Effect, TDE)。 类似地,NIE通过中介M反映X对Y的影响,即X→M→Y,而通过将X设置为x*来阻止对X→Y的直接影响。NIE表示如式(5)所示。
NIE=Yx*,Mx-Yx*,Mx*
(5)
本节介绍事实验证去偏方法,其中包括因果效应、模型实现、模型训练和反事实推断。
针对事实验证的因果图如图2(a)所示。该因果图有四个变量,分别是声明(C)、证据(E)、声明与证据的交互信息(K),以及验证的结果(Y)。其中,C→Y和E→Y捕获到声明和证据对结果的直接影响,C,E→K→Y则捕获到声明和证据通过交互信息对结果的间接影响。在本文中,我们希望消除C→Y的直接影响,从而去除声明对结果带来的偏差。
图2 针对事实验证的因果图
假设当C取值为c,E取值为e时,Y为y,即:
Yc,e(y)=Y(y;C=c,E=e)
(6)
不失一般性,为了简洁,我们将y省去,即Yc,e=Y(C=c,E=e)。相似的,K的反事实符号为Kc,e=K(C=c,E=e)。
如图2所示,存在三条路径到Y,分别为C→Y,E→Y,K→Y。因此Yc,e可以表示如式(7)所示。
Yc,e=Zc,e,k=Z(C=c,E=e,K=k)
(7)
其中,k=Kc,e。根据2.3节的因果效应,我们可以得到当C取值为c,E取值为e时,对于结果y的总效应如式(8)所示。
TE=Yc,e-Yc*,e*=Zc,e,k-Zc*,e*,k*
(8)
其中,c*和e*表示为未干预情况下C和E的取值,k*=Kc*,e*。
为了消除声明对结果的直接影响,我们需要先得到声明对结果的作用。这里,我们通过阻断E和K对结果的影响来估计C→Y的作用,自然直接效应可表示如式(9)所示。
NDE=Zc,e*,k*-Zc*,e*,k*
(9)
因为C在K上的影响被阻隔,所以NDE能够捕获到声明C对结果Y的影响。如图2(b)所示,去偏的模型可以表示为总间接效应:
TIE=TE-NDE=Zc,e,k-Zc,e*,k*
(10)
基于3.1节中的讨论,我们提出了基于反事实推断的事实验证去偏模型CFFV,模型的整体架构如图3所示。
图3 CFFV模型整体架构图
该模型主要包含三个部分,分别是声明模型FC、证据模型FE以及交互模型FEC,模型的输出分别为Zc=FC(c)、Ze=FE(e)、Zk=FEC(c,e)。
未干预条件定义为将声明或证据的信号进行阻隔,即声明或证据未给定。因此,我们设定未干预条件为C=c*=φ和E=e*=φ。由于模型无法处理空输入,将每个类别赋予相同的概率作为模型当前的输出。
受Niu等人[18]启发,我们设计了两种非线性分数融合操作,也就是Harmonic和SUM。Harmonic操作表示如式(11)所示。
(11)
其中,ZHM=σ(Zc)*σ(Ze)(σ(Zk)。SUM操作则是将三部分的分数相加起来得到最终的融合分数,即:
Zc,e,k=h(zc,ze,zk)=logσ(ZSUM)
(12)
其中,ZSUM=Zc+Ze+Zk。
给定一个训练对(c,e,y),其中y是标签,c和e是声明-证据对。对于每个部分,我们使用交叉熵来计算损失。例如,声明模型的损失函数如式(13)所示。
(13)
其他部分的损失函数与上述公式一致。本文中,我们使用多任务学习方式得到最终的损失函数,如式(14)所示。
L=LC(c,y)+LE(e,y)+LC,E(c,e,y)
(14)
如3.1节所述,在训练完模型后,我们使用去偏的因果效应进行推断,如式(15)所示。
(15)
通过总间接效应公式,利用总效应减去代表声明对结果影响的自然直接效应,我们就能将声明对结果的偏差有效去除,得到一个无偏的预测结果。
本节介绍实验和分析。我们进行了一系列实验来验证本文方法的有效性。
本文在事实验证基准数据集FEVER[7]上进行实验。具体地,该数据集由185 455个标注的声明和5 416 537个维基百科文档组成。标注者将所有声明归类为支持(SUPPORT)、反驳(REFUTES)或信息不足(NOT ENOUGH INFO)。对于前两类,系统和标注者还需要返回构成支持或反驳该声明的必要证据的句子组合。这些声明是由标注者从维基百科中提取并以各种方式对其进行变异而产生的。每个声明要求的验证都是由标注者在单独的标注过程中进行的,标注者知道该文档,但不知道原始声明要求的句子。因此,有31.75%的声明需要一句以上的句子当作证据。在16.82%的数据中,声明要求从多个句子中组合证据。此外,在12.15%的声明中,证据取自多个维基百科文档。该数据集的基本信息如表2所示。
表2 数据集基本信息统计
除此之外,我们还使用Schuster等人基于FEVER构造的无偏数据集Fever-Symmetric[8]作为额外的测试集(1)包含两个版本,记作Symm.V1和Symm.V2。
本文实验主要基于PyTorch框架编写代码,并在Tesla 32GB V100 GPU上训练。为了公平比较[14-17,33],我们使用BERT模型的Base版本作为主干模型进行实验。我们在BERT模型的[CLS]上加了一层前向反馈层进行预测。在进行参数调整优化后,我们将训练轮数设置为5轮,优化器为Adam[36],使用具有线性Warmup的指数衰减学习率,学习率为2e-5,梯度剪裁的阈值设置为5,我们将实验数据分为32个一组的小批量进行训练,限制最长的输入为128。
我们采用准确率(Accuracy)来评估各方法的性能效果,计算方法如式(16)所示。
(16)
其中,TP是预测为该类别且真实为该类别的样本数目,TN是预测为不是该类别且真实不是该类别的样本数目,FP是预测为该类别且真实不是该类别的样本数目,FN是预测为不是该类别且真实为该类别的样本数目。
本文对比模型主要有两类基准方法,包括基于数据增强的方法以及基于权重正则化的方法。
4.4.1 基于数据增强的方法
首先和基于数据增强的方法进行比较,这类方法主要包括:
(1)EDA[14]该方法由四个操作组成: 同义词替换、随机插入、随机交换和随机删除,通过对原始数据进行四种操作来增加新的训练数据。
(2)Paraphrasing[14]使用GPT-2[37]模型对回译数据进行微调,以释义原始文本。对于每个原始声明-证据对,通过使用该方法转换声明来创建一个保持相同关系的新样本对,从而使扩增数据与原始数据的扩增比为1∶1。
(3)CrossAug[15]该方法设计了两阶段的增强形式,从现有样本中生成新的声明和证据。然后,将生成的样本与原始样本交叉配对,形成对比样本,以帮助模型减少对偏差模式的依赖,并学习更稳健的表示。
4.4.2 基于权重正则化的方法
我们还考虑了基于权重正则化的方法模型。这些方法包括:
(1)Re-weighting[8]是一种样本权重加权方法,该方法针对的是来自单词的偏差。通过重新权衡包含这些词的声明的重要性,迫使模型将重点放在依赖偏差导致错误预测的困难例子上。
(2)PoE[17]计算基本模型和有偏模型的集合中的训练损失。与Re-weighting类似,它根据对每个样本的有偏模型的预测来控制基础模型的损失。
(3)MoCaD[33]提出一种校准方法来调整有偏模型中不准确的预测类分布。具体而言,本文工作使用了两种校准器(即Temperature变化和Dirichlet校准器)。我们利用这些方法进一步优化模型PoE,形成两个变体,即PoETempS和PoEDirichlet。
我们的模型和对比模型的性能比较结果如表3所示。
表3 CFFV模型和对比模型的Accuracy性能对比 (单位: %)
从表中可以观察到:
(1) 有偏模型BERT在Dev上性能表现较好,但是在无偏测试集上性能下降得非常厉害。这可能是因为这些有偏模型在训练的过程中学习到数据集本身的偏差,因此无法很好地泛化到无偏测试集上。
(2) 已有去偏方法不仅能在有偏数据集Dev上达到和基础模型相当的性能,还能在无偏数据集上有较大性能提升。这说明精心设计的去偏方法可以一定程度上去除模型的偏差。
(3) 整体上,基于权重正则化的方法优于基于数据增强的方法。一方面,EDA和Paraphrasing在对称数据集上的性能改进微不足道。这些结果表明,简单地使用更多数据进行训练并不一定有助于缓解数据中的偏差。另一方面,基于权重正则化的方法通过改变样本的权重能显著增加模型对无偏样本的学习能力。值得注意的是,基于数据增强的方法CrossAug表现非常亮眼,是现有去偏方法中性能最好的。CrossAug的增强方法生成的对比样本通过学习更稳健的特征表示,增强了事实推理能力,展现出良好的泛化性。
(4) 我们的CFFV模型在各个测试集上都比其他模型表现更好。例如,在有偏数据集Dev上,本文模型进一步提高了性能,而其他的去偏方法都有不同程度的下降。这可能是因为我们在训练阶段能有效地将有偏预测和无偏预测分隔开,更好地消除偏差带来的影响。同时,在两个无偏数据集Symm.V1和Symm.V2上也达到了最高的性能,对比CrossAug分别提升了2.28%和3.06%。这说明从因果效应的角度看待事实验证偏差问题是可行的,通过构建因果图,利用反事实推理来消除声明带来的偏差,可以有效提升事实验证的性能。
为了更好地分析模型中不同分数融合操作对最后性能的影响,我们首先构建了模型的两个变体,然后在基准数据集上对它们进行评估。构造的变体如下:
(1)CFFV(HM): 使用Harmonic操作来融合分数;
(2)CFFV(SUM): 使用Sum操作来融合分数。
性能结果如表3所示。从表中可以看出Sum操作的性能比Harmonic操作更好,这可能是因为各个部分的分数都对最后的结果有类似的影响,Sum操作由于平等对待各部分的影响,可以强化这一特性。
为了进一步探究各个方法对实例的影响,我们从无偏数据集Symm.1中选取了一个代表性示例,并将我们的方法与基线模型CrossAug和PoE进行比较。
如表4所示,对于表中的示例,两个经典去偏模型CrossAug和PoE都预测错误,只有我们的模型CFFV能成功地预测出正确类别。该示例中的偏差主要是由单词“was”引起的,它与标签“SUPPORTS”
表4 样例分析
高度相关,因此有偏模型很容易将该声明预测成“SUPPORTS”。一方面,基于数据增强的方法CrossAug简单对原始声明进行词变换,例如,将“was”转换为“is”。这种方式无法捕获到声明和证据之间的真实关联信息,很难起到有效去偏作用。另一方面,基于权重正则化的方法PoE,因为在训练目标中仅根据声明模型会导致性能下降的偏差程度将声明对损失影响的权重值降低,因而预测错误。本文方法则直接捕获了声明-证据交互信息和声明偏差。因此,CFFV模型中的有偏预测分布得到了纠正,让错误预测概率进一步降低。
本文提出了一种基于反事实推理的去偏事实验证方法。具体的,我们首先针对事实验证任务设计了因果效应图,从因果关系出发设计事实验证中的因果图,从而消除声明对结果的偏差。训练时,我们采用多任务学习的方式建模各个因素的影响,分别在有偏和无偏基准测试集上进行评估性能。实验结果表明,本文模型对比基准方法在性能上取得一致的提升,验证了本文模型的有效性。
未来的工作可以进一步探索将反事实推理运用到其他自然语言理解任务上,例如,问答系统、对话任务等。此外,如何进一步运用因果相关理论去偏也是一个极大的挑战。