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

过去的文档级关系识别

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

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

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

工作内容1 : DocRED_HWE

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

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

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

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

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

建立模型参数

  • 文档$ d $
  • 实体集 $ \varepsilon = { e_i } ^n _ { i = 1 } $
  • 提取的目标为预测实体对中$ (e_i , e_j)_ { i, j=1…n;i!=j } $
  • 范围是在 R ∪ { N A } R \cup \{ NA \} R{NA}中,
    • 其中 R R R表示为预测的关系集
    • N A NA NA为没有关系的实体对。
  • 使用 { m j i } j = 1 N i \{ m _ j ^ i \} _ { j = 1 } ^ { N _ i } {mji}j=1Ni区分每个实体,
  • 最终抽取的三元组的格式为 $ { (e_i, r _ ij, e _ j ) | e_i, e_j \in \varepsilon, r_ij \in R } $

验证方式

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

使用积分梯度法,计算模型在输入上的输出和参考点上的输出,它俩之间的差值作为token的score进行分配。即如下图所示,给定一个输入 x x x,和参考点$ x’ , I G 计算从 ,IG计算从 IG计算从 x’ $ 到 $ x 的第 i 维的梯度 的第i维的梯度 的第i维的梯度 g _ i 线性积分。其中 线性积分。其中 线性积分。其中 \frac { \partial F(x) } { \partial x_i } 表示输出 表示输出 表示输出 F(x) $到 $ x 的梯度。将 的梯度。将 的梯度。将 x’ $设置所有值为0的Embbeding vectors

在这里插入图片描述

数据集有:

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

实验与分析

位置误导

使用IG来描述模型的决策规则。
A T L O P R o B E R T a ATLOP _ RoBERTa 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联系在一起用了而已,就像世界十大难题中的中文房间问题一样,就算给出正确的结果,不知道里面的人到底会不会中文。对于这篇文章,完全揭示了当前文档级关系抽取(甚至句子级关系抽取)的现状,知识把杂七杂八的东西放到了池子中去学习,让模型只能在学习到的数据集中有比较好的效果。对于以后的实验中,针对于这一部分,可以优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/233757.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1-2、Java环境搭建

语雀原文链接 文章目录 1、JDK安装2、Hello World2-1、Hello World示例2-2、类名和文件名2-3、注释2-4、javadoc 3、环境变量3-1、Path作用3-2、classpath3-3、JAVA_HOME 4、Java组成5、跨平台原理5-1、Java跨平台原理5-2、C语言的跨平台原理 1、JDK安装 下载地址&#xff1a…

(JAVA)-IDEA导第三方包

1.下载好第三方的包 2.将jar包复制,上图中的第一个数字jar包是我们要选择的 3.模块下新建外包文件 4.将复制的jar文件粘贴进去 . 5.右键jar包将文件与jar包关联 注意:第三方库中有些名字跟java包中重名,导包时候注意不要导错了。

数据结构算法-归并排序

引言 小明和小森是超市的货架管理人员,他们每天都要确保货架上的商品摆放整齐、有序。一天,他们发现一个货架上的商品有些混乱,需要尽快进行补货。由于该货架上的商品种类繁多,不同种类的商品之间还要考虑价格、销量等因素&#…

data_loader返回的每个batch的数据大小是怎么计算得到的?

data_loader是一个通用的术语,用于表示数据加载器或数据批次生成器。它是在机器学习和深度学习中常用的一个概念。 一、data loader 数据加载器(data loader)是一个用于加载和处理数据集的工具,它可以将数据集划分为小批次&#…

【2023高教社杯】C题 蔬菜类商品的自动定价与补货决策 52页论文及代码

【2023高教社杯】C题 蔬菜类商品的自动定价与补货决策 52页论文及代码 1 题目 C题蔬菜类商品的自动定价与补货决策 在生鲜商超中,一般蔬菜类商品的保鲜期都比较短,且品相随销售时间的增加而变差, 大部分品种如当日未售出,隔日就…

2023.12.10 homework

五年级一元一次方程

Autosar通信入门系列07-CanNM状态机切换详解

本文框架 1. 概述2. NM状态机时间参数及常用接口介绍2.1 涉及时间参数说明2.2 状态机切换涉及接口介绍 3 NM状态机及其切换介绍3.1 NM状态机概览3.2 NM状态机切换过程详解 1. 概述 本文为Autosar通信入门系列介绍,如您对AutosarMCAL配置,通信&#xff0…

P13 Linux进程间通信——管道

前言 🎬 个人主页:ChenPi 🐻推荐专栏1: 《Linux C应用编程(概念类)_ChenPi的博客-CSDN博客》✨✨✨ 🔥 推荐专栏2: 《C_ChenPi的博客-CSDN博客》✨✨✨ 🛸推荐专栏3: ​​​​​​《链表_C…

什么是双亲委派模型

一、定义 双亲委派模型是 Java 类加载器的一种工作模式,通过这种工作模式,Java 虚拟机将类文件加载到内存中,这样就保证了 Java 程序能够正常的运行起来。 二、类加载器 双亲委派模型针对的是 Java 虚拟机中三个类加载器的,这三…

NSSCTF-Crypto靶场练习--第11-20题wp

文章目录 [SWPUCTF 2021 新生赛]traditional[LitCTF 2023]梦想是红色的 (初级)[SWPUCTF 2021 新生赛]crypto2[羊城杯 2021]Bigrsa[LitCTF 2023]Hex?Hex!(初级)[SWPU 2020]happy[AFCTF 2018]BASE[安洵杯 2019]JustBase[鹤城杯 2021]Crazy_Rsa_Tech[SWPUCT…

安装 DevEco Studio 后不能用本地 Node.js 打开

安装 DevEco Studio 后第一次打开时,不能用本地 Node.js 打开 答:因为本地 Node.js 文件夹名字中有空格 Node.js路径只能包含字母、数字、“。”、“_”、“-”、“:”和“V” 解决方法: 1.修改文件夹名称 2.重新下载 注意:找一…

如何使用 Explain 分析 SQL 语句?

如何使用 Explain 分析 SQL 语句? MySQL中EXPLAIN命令是我们分析和优化SQL语句的利器。 如何使用EXPLAIN来分析SQL语句,接下来有15个例子,一起学习呗 1. EXPLAIN的基本使用 EXPLAIN可以用于分析MySQL如何执行一个SQL查询,包括如…

m6A RNA甲基化MeRIP-seq测序分析实验全流程解析

甲基化RNA免疫共沉淀(MeRIP-seq/m6A-seq)实验怎么做,从技术原理、建库测序流程、信息分析流程和研究套路等四方面详细介绍。 一、甲基化RNA免疫共沉淀(MeRIP-seq/m6A-seq)测序技术原理 表观转录组指RNA序列不发生改变的情况下,由RNA上的化学修饰调节基因…

股票放量成交后,大涨的概率有多少?

很多时候,经常有人会感觉,成交量突然放大5倍以上,后面的股价大概率会上涨,很多投顾班的老师也是给大家展示这样的感觉,那究竟有多大比例的上涨呢? 【文章仅是数据分析,不构成任何投资建议】 一…

如何主持一场知识竞赛抢答赛

知识竞赛主持说难不难,说简单也不简单,我就从易到难介绍一下。 入门级,题主不用练习太多其他花哨的技巧,只要注意一点,熟悉比赛流程。知识竞赛需要给所有选手一个公平流畅的答题环境,所以题主自身必须非常…

FreeRTOS的任务优先级、Tick以及状态讲解(尊敬的嵌入式工程师,不妨进来喝杯茶)

任务优先级和Tick 在FreeRTOS中,任务的优先级和Tick是两个关键的概念,它们直接影响任务的调度和执行。 任务优先级 每个任务都被分配一个优先级,用于决定任务在系统中的调度顺序。 优先级是一个无符号整数,通常从0开始&#xff0…

使用大语言模型生成自动驾驶指令代码可行吗?

大语言模型最近太火了,大家都在各个方向上应用它。自动驾驶也是当下一个热门领域,两个热门领域的结合自然非常令人期待。AIGCer在读了一些相关文献后,感觉在自动驾驶这个热点方向上应用大语言模型,也将是一个很有前途的方向。 这…

设计模式篇---享元模式

文章目录 概念结构实例总结 概念 享元模式:运用共享技术有效地支持大量细粒度对象的复用。 当系统中出现大量相同或者相似的对象时,可以考虑使用享元模式。享元模式中提供了一个享元池用于存储已经创建好的对象。享元对象能做到共享的关键是区分了内部状…

Diary22-全网最全的CSS3.0讲解

CSS学习 1.认识CSS 1.1什么是CSS CSS:Cascading Style Sheet——层叠级联样式表 CSS:表现(美化网页) 字体;颜色;边距;高度;宽度;背景图片;网页定位&…

Nginx按指定格式记录访问日志以及利用logrotate做日志轮转

今天突然想起来一个日志的一个东西,因为拉项目无意中看到了日志文件的一些东西,现在不经常做后端了,加上其他的一些原因吧.有时候有些问题也没想太多,马马虎虎就过了,后来想想还是要记录一下这方面的处理过程吧: 一般我们作为开发人员关注的日志只是在应用程序层面的,我们称它…