GEAR: Graph-based Evidence Aggregating and Reasoning for Fact Verification
GEAR: Graph-based Evidence Aggregating and Reasoning for Fact Verification
ACL19
推荐指数: #paper/⭐# 太久远了
动机:
这篇文章介绍了一个基于图的证据聚合和推理框架(GEAR),用于事实验证任务(Fact Verification, FV)。该框架通过构建全连接的证据图,促进证据之间的信息传递,并利用不同的聚合器收集多证据信息,以提高事实验证的准确性。
现有的证据链条将其视为NLP任务,但是,现实世界中,信息在整局中是传播的,需要聚合整局片段,来综合考虑主张。因此,作者采用NLP+Graph来处理。
模型架构:
模型分为三部分:文档检索,句子选择,验证组件。
文档检索和句子选择
在文档检索阶段,该方法基于Hanselowski等人(2018)的实体链接技术实现。首先利用AllenNLP的选区解析器从待验证声明中提取潜在实体,随后通过MediaWiki API以这些实体为查询词在线检索相关维基百科文档,保留每个实体查询结果的前7篇候选文章,并通过两步过滤策略优化候选集:一是剔除未包含在离线维基百科数据转储中的文档,二是基于文档标题与声明文本的词汇重叠度进行二次筛选。在句子选择阶段,采用改进版ESIM模型计算候选句子与声明的语义相关性得分,模型训练时引入合页损失函数(∑ max(0, 1 + sn−sp)并结合负采样策略,以增强正负样本的区分能力。测试阶段通过集成10个不同随机种子模型的预测结果,选取相关性得分最高的前5个句子作为基础证据集。为进一步降低噪声干扰,新增动态阈值τ对证据进行过滤——仅保留得分高于τ的句子,使得最终证据数量动态调整且不超过5条,该阈值根据开发集表现优化确定。整个文档检索与句子选择模块的性能评估结果详见原文第5.1节的实验分析。相较于原始方法,本方案的改进主要体现在通过阈值过滤提升证据质量,以及模型集成策略增强结果鲁棒性。
使用GEAR进行claim验证
在本节中,我们将描述用于索赔验证的GEAR框架。如图1所示,给定主张和检索到的证据,我们首先利用句子编码器来获取主张和证据的表示。然后,我们构建一个全连接的证据图,并提出一个证据推理网络(ERNet)来通过图在证据和推理之间传播信息。最后,我们利用证据聚合器来推断最终结果。
语句编码器
我们使用Bert作为句子编码器,并使用CLS来作为BERT分类的特征。
给定c个claim和N个检索到的证据 { e 1 , e 2 , . . . , e N } \{e_{1},e_{2},...,e_{N}\} {e1,e2,...,eN},,我们将每一对放入到bert中。
e i = B E R T ( e i , c ) , c = B E R T ( c ) . \mathbf{e}_{i}=\mathrm{BERT}\left(e_{i},c\right),\mathbf{c}=\mathrm{BERT}\left(c\right). ei=BERT(ei,c),c=BERT(c).
请注意,我们将证据和声明连接起来以提取证据表示,因为推理图中的证据节点需要来自声明的信息来指导它们之间的消息传递过程。
证据解释网络
为了鼓励证据之间的信息传播,我们构建了完全链接的整局图,每个节点都只是一个证据。自环被使用来表示自己的信息。我们使用 h t = { h 1 t , h 2 t , . . . , h N t } \mathrm{h}^{t}=\{\mathrm{h}_{1}^{t},\mathrm{h}_{2}^{t},...,\mathrm{h}_{N}^{t}\} ht={h1t,h2t,...,hNt}表示隐藏的状态。初始的证据是: h i 0 = e \mathbf{h}_{i}^{0}=\mathbf{e} hi0=e
我们提出了一个证据推理网络(ERNet)来在证据节点之间传播信息。
- MLP被使用去计算节点i和其邻居的注意力系数,其中 j ∈ N i j\in \mathcal{N}_i j∈Ni: p i j = W 1 t − 1 ( R e L U ( W 0 t − 1 ( h i t − 1 ∥ h j t − 1 ) ) ) p_{ij}=\mathbf{W}_1^{t-1}(\mathrm{ReLU}(\mathbf{W}_0^{t-1}(\mathbf{h}_i^{t-1}\|\mathbf{h}_j^{t-1}))) pij=W1t−1(ReLU(W0t−1(hit−1∥hjt−1)))
- normalize 被使用: α i j = s o f t m a x j ( p i j ) = exp ( p i j ) ∑ k ∈ N i exp ( p i k ) \alpha_{ij}=\mathrm{softmax}_j(p_{ij})=\frac{\exp(p_{ij})}{\sum_{k\in\mathcal{N}_i}\exp(p_{ik})} αij=softmaxj(pij)=∑k∈Niexp(pik)exp(pij)
- 节点表征: h i t = ∑ j ∈ N i α i j h j t − 1 . \mathrm{h}_i^t=\sum_{j\in\mathcal{N}_i}\alpha_{ij}\mathrm{h}_j^{t-1}. hit=∑j∈Niαijhjt−1.
证据聚合:
这部分有三种聚合方式:
基于注意力的聚合:
这里,我们使用claim c来表示证据的隐藏状态:
$$p_j=\mathbf{W}_1^{\prime}(\mathrm{ReLU}(\mathbf{W}_0^{\prime}(\mathrm{c}\|\mathbf{h}_j^T))),$$$$\begin{aligned} & \alpha_{j}=\mathrm{softmax}(p_{j})=\frac{\exp(p_{j})}{\sum_{k=1}^{N}\exp(p_{k})}, \\ & \mathbf{o}=\sum_{k=1}^{N}\alpha_{k}\mathbf{h}_{k}^{T}, \end{aligned}$$Max 聚合
o = M a x ( h 1 T , h 2 T , . . . , h N T ) . \mathrm{o}=\mathrm{Max}(\mathrm{h}_1^T,\mathrm{h}_2^T,...,\mathrm{h}_N^T). o=Max(h1T,h2T,...,hNT).
Min聚合:
o = M e a n ( h 1 T , h 2 T , . . . , h N T ) . \mathrm{o}=\mathrm{Mean}(\mathrm{h}_1^T,\mathrm{h}_2^T,...,\mathrm{h}_N^T). o=Mean(h1T,h2T,...,hNT).
最终的嵌入:
l = s o f t m a x ( R e L U ( W o + b ) ) , l=\mathrm{softmax}(\mathrm{ReLU}(\mathrm{Wo}+\mathrm{b})), l=softmax(ReLU(Wo+b)),
结果