Document-Level Relation Extraction with Adaptive Thresholding and Localized Context Pooling

​​​​​​http://arxiv.org/abs/2010.11304

用自适应阈值和局部上下文池化技术进行文档级关系抽取任务

与句子级关系抽取相比,文档级关系抽取(RE)提出了新的挑战。一个文档通常包含多个实体对,一个实体对在与多个可能的关系关联的文档中多次出现。在本文中,我们提出了两种新的技术,自适应阈值和局部上下文池,以解决多标签和多实体问题。自适应阈值法用一个可学习的实体相关阈值代替了之前工作中多标签分类的全局阈值。本地化上下文池直接将注意力从预先训练的语言模型转移到定位相关上下文,从而有助于确定关系。

目录

1 动机

2 改进

2.1 局部上下文池化:

2.1.1 目的

2.1.2 做法

2.2 自适应阈值

2.2.1 目的

2.2.2 做法

2.2.3 注意

3 模型的框架

一.Encoder

二.Localized Context Pooling

三 . Classifier

四 . Adaptive Thresholding

4 测试时

5 模型结果


1 动机

  1. 在不同的实体对中,同一个实体的表示一样,忽略了实体的局部信息
  2. 在预测的关系概率值转换为关系标签时,需要用到阈值,而之前的方法时使用全局阈值,一个全局阈值不足以满足的不同实体对和类别,无法判断哪个阈值的效果最佳

2 改进

2.1 局部上下文池化:

2.1.1 目的

对动机1进行改进,为了使不同实体对中的同一实体得到额外的局部信息表示,以获取更好的实体对的局部信息表示

2.1.2 做法

1.获得预训练模型的注意力

2.对同一实体的提及的注意力进行平均,以获得实体级别的注意力

3.再将头实体和尾实体的注意力相乘,得到实体对的注意力

4.再通过实体对的注意力来获得对该实体对很重要的局部上下文表示

5.将获得的局部上下文表示添加到不同的全连接层中获得头实体和尾实体的隐藏状态

2.2 自适应阈值

2.2.1 目的

在本文中,我们提出了自适应阈值技术,用一个可学习的阈值类来代替之前的全局阈值阈值类是通过我们的自适应阈值损失来学习的,对于不同的数据集,阈值类的值是不同的,是自适应的。

2.2.2 做法

1.将实体对划分为正类和负类,正类表示实体对之间存在的关系,负类表示实体对之间不存在的关系

2.如果一个实体对被分类正确了,那么出现在正例中的logit都要比阈值大,而出现在负类中的样本都应该比阈值小

3.根据2,定义出自适应阈值损失函数

2.2.3 注意

阈值是无法求得确定的,我们只是通过阈值损失函数的损失反向传播来更新模型的权重参数,阈值是无法确定的,不同的数据的阈值计算出来的不同,然后计算数据集的关系概率值logits张量,将张量的第一列即NA的概率值当作阈值类的值,通过与该值进行比较,比阈值大,当作预测出来的关系,若一行都比阈值小,则该实体对的关系为NA。具体的去看代码在losses.py文件中


3 模型的框架

一.Encoder

1. 插入“ * ”,标记提及
2. 获得文档的上下文编码
3. 获得提及的编码
4. 获得实体的编码

二.Localized Context Pooling

1. 获得预训练的多头注意力矩阵
2. 对同一实体的提及注意力进行平均,获得实体级的注意力
3. 获得实体对的注意力
4. 得到实体对的局部上下文表示

. Classifier

1. 得到实体对中头实体和尾实体的隐藏状态
2. 通过线形层计算实体对关系r的概率值

. Adaptive Thresholding

1. 计算自适应阈值的损失函数值
2. 进行反向传播,更新权重参数

4 测试时

  1. 加载训练好的模型参数
  2. 将测试集放入模型中,得到预测的logits
  3. 第一列为阈值类,将logits的值和阈值作比较,若大于,则为预测的实体对关系。若一行中没有值大于阈值,则该实体对的的关系为NA

5 模型结果

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值