[文档级关系抽取|ACL论文]文档级关系抽取中语言理解的基础模型

Did the Models Understand Documents? Benchmarking Models for Language Understanding in Document-Level Relation Extraction

School of Computer Science, Fudan University | ACL 2023.06 | 原文链接

BackGround

过去的工作大多数都是从单个句子中收获更多的关系,然而如今要采用多个句子作为一个整体来获得更多的关系,即文档级关系抽取(DocRE),因为需要综合文档中的所有信息,所以文档级关系抽取是更有挑战性的。

过去存在的问题

一种常见的评估方法是测量整个测试集的平均误差,这忽略了模型可以根据错误的特征做出正确预测的情况。如上图,Vera Cáslavská和Czech之间的关系,机器所考虑的决策方式与人类的完全不同,

文章工作内容简述

  1. 在DocRED上进一步注释成了 <math xmlns="http://www.w3.org/1998/Math/MathML"> D o c R E D H W E DocRED _ { HWE } </math>DocREDHWE
  2. 采用特征归因法观察模型在推理过程中考虑的最关键的词,发现模型总是将不相关的词语虚假的关联起来,形成了无法解释的决策
  3. 证明了模型中的决策方式是不可靠的,设计了6种RE攻击方式证明
  4. 引入平均精度(MAP)指标评价模型的理解能力和推理能力,由此区分因伪相关性引起的能提升因理解能力引起的性能提升,最终发现MAP越高,模型的鲁棒性和泛化能力越强
  • DocRED: 大型文档级关系抽取数据集
  • <math xmlns="http://www.w3.org/1998/Math/MathML"> D o c R E D H W E DocRED _ { HWE } </math>DocREDHWE: HWE表示人类注释的词级证据,human-annotated word-level evidence

过去的文档级关系识别

主要分为图的方法基于变换器的方法

  • 基于图的:基于图的方法利用上下文的结构信息构造各种图,并通过图中的路径对推理过程的多次反射进行建。DocuNet(SOTA)中构建了一个实体级的关系图,然后利用图上的U形网络来捕获全局相互依赖性

  • 基于Transformerbased方法的:执行推理隐式识别的长距离令牌依赖通过transformers。ATLOP通过相关上下文增强了实体对的嵌入,并为多标签分类引入了一个可学习的阈值

工作内容1 : DocRED_HWE

难点:第一个挑战来自原始数据集中的注释工件,第二个挑战在于单个关系的多个推理路径

解决方式:采用细粒度的单词级的证据,并且提出了一个新的检查规则,用于二次推理,只有被验证两次才会被采用

  • 来自原始数据集中的注释工件:注释器可以使用先验知识通过实体名称来标记关系,而不需要观察上下文。例如,给定一个跨句实体对"Obama"和"the US"的文档,尽管缺乏理论依据注释者还是倾向于标注"president of"。可以通过注释细粒度的单词级证据来自然地解决
  • 需要注释器对所有推理路径中的单词进行注释。当注释者通过相应的证据词成功推理出某种关系时,其他推理路径中的证据词往往会被忽略。为了解决这一问题,对每个文档采用了多个(滚动)标注,并提出了检查规则:给定一个文档,之前标注的关系被屏蔽,标注者将无法对关系进行推理。如果违反规则,新的证据词将被标注。更新将由下一个注释器检查,直到没有更新发生。所有注释的证据词至少被验证两次。

并且作者最后对于结果进行了一定的人工筛选

工作内容2 : 发现模型总是将不相关的词语虚假的关联起来,形成了无法解释的决策

建立模型

  • 文档 <math xmlns="http://www.w3.org/1998/Math/MathML"> d d </math>d
  • 实体集 <math xmlns="http://www.w3.org/1998/Math/MathML"> ε = { e i } i = 1 n \varepsilon = \{ e_i \} ^n _ { i = 1 } </math>ε={ei}i=1n
  • 提取的目标为预测实体对中 <math xmlns="http://www.w3.org/1998/Math/MathML"> ( e i , e j ) i , j = 1... n ; i ! = j (e_i , e_j)_ { i, j=1...n;i!=j } </math>(ei,ej)i,j=1...n;i!=j
  • 范围是在 <math xmlns="http://www.w3.org/1998/Math/MathML"> R ∪ { N A } R \cup \{ NA \} </math>R∪{NA}中,
    • 其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> R R </math>R表示为预测的关系集
    • <math xmlns="http://www.w3.org/1998/Math/MathML"> N A NA </math>NA为没有关系的实体对。
  • 使用 <math xmlns="http://www.w3.org/1998/Math/MathML"> { m j i } j = 1 N i \{ m _ j ^ i \} _ { j = 1 } ^ { N _ i } </math>{mji}j=1Ni区分每个实体,
  • 最终抽取的三元组的格式为 <math xmlns="http://www.w3.org/1998/Math/MathML"> { ( e i , r i j , e j ) ∣ e i , e j ∈ ε , r i j ∈ R } \{ (e_i, r _ ij, e _ j ) | e_i, e_j \in \varepsilon, r_ij \in R \} </math>{(ei,rij,ej)∣ei,ej∈ε,rij∈R}

验证方式

选择基于图的DocuNet,基于Transformer的ATLOP,通过综合梯度(IG)作为归因方法(因为具有简单且可信的特性)。

使用积分梯度法,计算模型在输入上的输出和参考点上的输出,它俩之间的差值作为token的score进行分配。即如下图所示,给定一个输入 <math xmlns="http://www.w3.org/1998/Math/MathML"> x x </math>x,和参考点 <math xmlns="http://www.w3.org/1998/Math/MathML"> x ′ x' </math>x′,IG计算从 <math xmlns="http://www.w3.org/1998/Math/MathML"> x ′ x' </math>x′ 到 <math xmlns="http://www.w3.org/1998/Math/MathML"> x x </math>x的第i维的梯度 <math xmlns="http://www.w3.org/1998/Math/MathML"> g i g _ i </math>gi线性积分。其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> ∂ F ( x ) ∂ x i \frac { \partial F(x) } { \partial x_i } </math>∂xi∂F(x)表示输出 <math xmlns="http://www.w3.org/1998/Math/MathML"> F ( x ) F(x) </math>F(x)到 <math xmlns="http://www.w3.org/1998/Math/MathML"> x x </math>x的梯度。将 <math xmlns="http://www.w3.org/1998/Math/MathML"> x ′ x' </math>x′设置所有值为0的Embbeding vectors

数据集有:

  • <math xmlns="http://www.w3.org/1998/Math/MathML"> D o c R E D DocRED </math>DocRED、 <math xmlns="http://www.w3.org/1998/Math/MathML"> D o c R E D S c r a t c h DocRED _ { Scratch } </math>DocREDScratch,其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> D o c R E D DocRED </math>DocRED有56354个关系,96种关系类型,大多只能通过推理识别。 <math xmlns="http://www.w3.org/1998/Math/MathML"> D o c R E D S c r a t c h DocRED_ { Scratch } </math>DocREDScratch很大程度偏离了 <math xmlns="http://www.w3.org/1998/Math/MathML"> D o c R E D DocRED </math>DocRED的训练集,可以用于测试模型的泛化能力
  • <math xmlns="http://www.w3.org/1998/Math/MathML"> D o c R E D H W E DocRED_{HWE} </math>DocREDHWE人工注释了1521不同实体的代词,用于忽略。

实验与分析

位置误导

使用IG来描述模型的决策规则。 <math xmlns="http://www.w3.org/1998/Math/MathML"> A T L O P R o B E R T a ATLOP _ RoBERTa </math>ATLOPRoBERTa在DocRED验证集中不同位置的上平均分布,归因DocuNet也会出现类似的曲线。

如上图所示,特定位置的token信息比其他位置的words信息的affect更明显。

也就是说,模型根据单词在文档中的位置来区分单词,原因应该为:

  • 在学习过程中扭曲了位置特征,将其与预测结果虚假地关联了起来
  • 位置Embbeding被错误的训练(没监督),偏离了表示位置信息的原始功能 由此说明,泛化能力弱

狭隘的推理

推理正确关系所需要的单词,代表模型的推理范围

设模型为"A X B",A、B为实体,X为推理关系所需要的单词/单词序列,设X为$r_AB$的前k个赋值token,token的顺序与原文相同,DocRED性能如上图所示。

  • 添加最高属性(我理解为强属性)的单词会导致性能下降
  • position的权重比较大
  • 当只给出实体名称不给上下文,性能可以达到原模型的85%(53%的f1分数) 由此推出,模型在一个比较狭隘的范围内推理

虚假相关

选择前5个具有属性的单词来显示模型的证据单词。可以发现,很大程度上依赖了一些非因果标记(如实体名称和标点符号),这不利于深度学习。比如逗号就起到了很大作用(SEP和CLS可以证明为无操作的操作符)。因此,该模型不能被部署到现实场景中,因为非因果令牌很容易被替换掉。

原因分析

  • U是因果关系确定的证据词
  • Y是预测词
  • X是文档
  • 给定X和A,模型学习H和Y之间的伪相关。

基于transformer的预训练语言模型,都希望在给定上下文X的情况下,提高当前单词的概率Y,上下文应该由P(Y|X)表示,但学习的是P(Y|X, A),其中A表示为对采样过程的访问,从而导致有偏差。如上图的有向无环图所示。

其中H为有语法意义的(如the,逗号),U为相对不太可能访问采样过程或上下文。目前,Y的语义很大程度依赖着有明确语义的词,即U->Y,他们的组合形成了自然的语言表达,其过程可以使用A->X表述,其中A决定了单词在上下文的分布。

目前来说,PLM训练后的模型,倾向于将虚假的信息与关系关联起来。

工作内容3 : 针对SOTA模型的攻击

证明:

  1. 模型的决策规则与人类的不同
  2. 这种差异会严重损害鲁棒性和泛化能力

由十字架标注的为有监督的训练。

  • P2N:消极预测积极预测变为原始积极预测
  • UP:不变的积极预测变为原始积极预测的比例

Word-level Evidence Attacks

  1. 蒙面词级攻击,所有被人标注的Word-level Evidence(HWE)都被直接Masked(Mask)
  2. 反义词替换,HWE中一个词被一个反义词替换(ASA)
  3. 同义词替换,HWE中一个词被一个同义词替换(SSA)

结果如上图所示,在Mask攻击下,模型仍预测相同的关系【但是性能下降了79%】,在ASA攻击下性能下降了90%,和SSA性能与ASA大致相同。可证明鲁棒性很差。

Entite Name Attacks

  1. 屏蔽实体攻击(EM),直接屏蔽实体名称
  2. 随机打乱实体攻击(ER),随机置换每个文档中的实体名称
  3. 非分发(OOD)实体替换攻击(ES),使用训练数据中没有的实体名称来替换

结果如上图,ES下降最严重,从67.12->7.57

工作内容4 : 新的评价指标MAP

在上述中,证明了模型应该学习人类的决策规则。由此提出一个新的评价指标MAP:

  • 1t(i)表示预测第t个相关事实的第i个重要字的指示函数
  • K的选择,类似于推荐系统中的评价指标,取决于RE从业者的需求,通常设置为1、10、50和100。

如果单词在人类标注的单词级证据中,则1t(i)的输出值等于1。否则等于0

个人思考

对于以往的深度学习中,大多都是黑盒训练,每次看别人的论文也是,往往都不知道为什么就起作用了,故都是认为就把上下文的关系或者别的之类的token联系在一起用了而已,就像世界十大难题中的中文房间问题一样,就算给出正确的结果,不知道里面的人到底会不会中文。对于这篇文章,完全揭示了当前文档级关系抽取(甚至句子级关系抽取)的现状,知识把杂七杂八的东西放到了池子中去学习,让模型只能在学习到的数据集中有比较好的效果。对于以后的实验中,针对于这一部分,可以优化。

相关推荐
肥猪猪爸12 分钟前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
LZXCyrus41 分钟前
【杂记】vLLM如何指定GPU单卡/多卡离线推理
人工智能·经验分享·python·深度学习·语言模型·llm·vllm
我感觉。1 小时前
【机器学习chp4】特征工程
人工智能·机器学习·主成分分析·特征工程
YRr YRr1 小时前
深度学习神经网络中的优化器的使用
人工智能·深度学习·神经网络
DieYoung_Alive1 小时前
一篇文章了解机器学习(下)
人工智能·机器学习
夏沫的梦1 小时前
生成式AI对产业的影响与冲击
人工智能·aigc
goomind1 小时前
YOLOv8实战木材缺陷识别
人工智能·yolo·目标检测·缺陷检测·pyqt5·木材缺陷识别
只怕自己不够好1 小时前
《OpenCV 图像基础操作全解析:从读取到像素处理与 ROI 应用》
人工智能·opencv·计算机视觉
幻风_huanfeng1 小时前
人工智能之数学基础:线性代数在人工智能中的地位
人工智能·深度学习·神经网络·线性代数·机器学习·自然语言处理
嵌入式大圣1 小时前
嵌入式系统与OpenCV
人工智能·opencv·计算机视觉