[论文精读|顶刊论文]Relational Triple Extraction: One Step is Enough

news2024/7/6 19:50:31

2022.5.11 |IJCAI-2022|华中科技大学|2022年SOTA| 原文链接

Relational Triple Extraction: One Step is Enough

过去的步骤:

  1. 寻找头尾实体的边界位置(实体识别)
  2. 将特定令牌串联成三元组(关系分类)

存在误差累计问题,每个实体边界识别误差会累积到最终的组合三元组中

论文中的方法:
先通过枚举句子中的令牌序列生成候选实体,然后将三元抽取任务转化为"头->尾"二部图上的连接问题。

基础准备

名词解析:

  1. 令牌序列:令牌是自然语言的基础。令牌化是一种将文本分成称为令牌的较小单元的方法。在这里,令牌可以是单词,字符或子单词。因此,标记化可以大致分为3种类型:单词,字符和子词(n-gram字符)标记化。
  2. 重叠模式

    EntityPairOverlap(EPO) 一个实体对具有多种关系
    SingleEntityOverlap(SEO) 两个三元组共享一个重叠的实体
    HeadTailOverlap(HTO) 三元组的头部实体和尾部实体部分或完全重叠

现有的联合抽取方法:

  1. 序列标注 :即给定一个输入序列,使用模型对这个序列的每一个位置标注一个相应的标签,是一个序列到序列的过程。(使用各种标记序列来确定实体的开始和结束位置,有时还包括关系)

2020用序列标记来识别句子中的所有实体,然后通过各种网络进行关系检测
2021用一个预测潜在关系的组件,约束到预测的关系子集,而不是所有关系
2022提出双向实体提取框架,考虑头尾和尾头的提取顺序、约束条件

  1. 表格填充 :为一个句子构造一个表,并用对应的正确的标记填充每个表单元格

2019通过关系加权图卷积网络来考虑实体和关系之间的作用
2020三元组抽取转化为令牌对链接问题,引入特定于关系的握手标记方案对其实体对的边界令牌
2021利用一个分区过滤网络,该网络生成任务特殊特征,用于建模实体识别和关系分类之间的交互

  1. 文本生成:将三元组作为令牌序列,病采用编码器-解码器结构来生成像机器翻译一样的三元组元素

2018用复制机制生成两个对应实体所遵循的关系,但只能预测实体的最后一个单词
2020使用多任务学习框架解决多令牌实体问题
2021一种带有生成变压器的对比三元组提取方法解决长期依赖问题
2021设计一个二进制指针网络来提取显式三元组和隐式三元组

文中的方法:

例子
暴力方法:
穷举一个句子的令牌序列,结果是肯定会包含正确的实体
因此:看是否存在关系,可以直接识别三元
通过枚举令牌序列生成候选实体
为每个关系设计一个链接矩阵来检测两个候选实体是否可能构成有效的三元组
三元组的提取转化为一个关系特定的二部图链接问题

方法详解

总体架构图

实体: S = { w 1 , w 2 , . . . , w L } S =\lbrace {w_1, w_2, ..., w_L} \rbrace S={w1,w2,...,wL}
三元组: T = { ( h , r , t ) ∣ h , t ∈ ξ , r i ∈ R } T =\lbrace {(h, r, t)|h, t ∈ \xi, r_i ∈ R}\rbrace T={(h,r,t)h,tξ,riR} ξ \xi ξ为头部和尾部实体
k个预设的关系: R = { r 1 , r 2 , . . . , r K } R = \lbrace{r_1, r_2, ..., r_K}\rbrace R={r1,r2,...,rK}

1. 候选实体生成

例子:
枚举句子中所有长度小于C(C<L)的连续令牌作为候选实体,若C=2
“Beijing is the capital of China“
E = { “Beijing”, “Beijing is”, “is”, “is the”, “the”, “the Capital”, “Capital”, “Capital of”, “of”, “of China”, “China”}.

∣ ξ ∣ = L × C + C 2 − C 2 2 (1) | \xi| = L \times C +\frac{C}{2} - \frac{C^2}{2} \tag{1} ξ=L×C+2C2C2(1)

缺点:

  1. 负三元组占主导地位,训练偏向负三元组,会降低识别正三元组的能力
  2. 训练句子多,所以训练效率低

解决:
ξ \xi ξ随机提取 n n e g n_{neg} nneg否定实体,与所有基本真值实体一起训练模型,新的子集表示为 ξ ‾ \overline\xi ξ

2. 二部图链接

目的:句子、 ξ ‾ \overline\xi ξ、作为句子的编码器的BERT -> 每个令牌的D维上下文表示 h i h_i hi


[ h 1 , h 2 , . . . , h L ] = B E R T ( [ x 1 , x 2 , . . . , x L ] ) (2) [h_1,h_2,...,h_L] = BERT([x_1,x_2,...,x_L]) \tag{2} [h1,h2,...,hL]=BERT([x1,x2,...,xL])(2)
其中的 x i x_i xi是第i的令牌的输入表示,是令牌嵌入和位置嵌入的总和


e i = h s t a r t + h e n d 2 (3) e_i = \frac{h^{start} + h ^ {end}}{2} \tag{3} ei=2hstart+hend(3)
取实体 e i ∈ ξ ‾ e_i\in\overline\xi eiξ,即开始令牌和结束令牌之间的平均向量

为实体通常由多个令牌组成,为了便于并行计算,需要保持不同实体表示的维度一致


有向的“头->尾“二部图
使用一个有向的“头->尾“二部图提取三元组,将投影实体表示为
E h e a d = W h T E + b h E_{head}= W_h^TE + b_h Ehead=WhTE+bh E t a i l = W t T E + b t E_{tail}=W_t^TE+b_t Etail=WtTE+bt

E E E是由(3)式计算得出
W h , W t W_h,W_t Wh,Wt是两个project matrices, 从令牌的特征空间D维的头部实体空间到尾部实体空间,都允许模型识别每个实体的头部或尾部角色
b ( ⋅ ) b_{(·)} b()是偏差


对于每个关系 r k r_k rk,可以通过预测之间的链接来判断是否是一个有效的实体对儿
P k = σ ( E h e a d T U k E t a i l ) (4) P^k = \sigma(E_{head}^{T}U_kE_{tail}) \tag{4} Pk=σ(EheadTUkEtail)(4)

σ \sigma σ是sigma激活函数
U k d e × d e U_k^{d_e \times d_e} Ukde×de是链接矩阵,根据第k个关系的两个实体之间的相关性生成的
如果概率超过某个阈值 θ \theta θ,则 ( e i , r k , e j ) (e_i, r_k, e_j) (ei,rk,ej)判定为是正确的
而且实体的跨度在预处理就确定了,解码更容易
即,对于每个关系 r k r_k rk,如果 p i j k > θ p_{ij}^k > \theta pijk>θ,则预测的三元组是 ( e i ⋅ s p a n , r k , e j ⋅ s p a n ) (e_i\cdot span,r_k,e_j \cdot span) (eispan,rk,ejspan)


Directrel的目标函数定义为
L = − 1 ∣ ξ ‾ ∣ × K × ∣ ξ ‾ ∣ × = ∑ i = 1 ∣ ξ ‾ ∣ ∑ k = 1 K ∑ j = 1 ∣ ξ ‾ ∣ ( y t log ⁡ ( P i j k ) + ( 1 − y t ) log ⁡ ( 1 − P i j k ) ) (4) \begin{aligned} \mathcal{L} &= - \frac{1}{|\overline\xi| \times K \times |\overline\xi|}\times \\ &=\sum_{i=1}^{|\overline\xi|} \sum_{k=1}^K \sum_{j=1}^{|\overline\xi|}(y^t\log(P_{ij}^k) + (1-y_t)\log(1-P_{ij}^k)) \tag{4} \end{aligned} L=ξ×K×ξ1×=i=1ξk=1Kj=1ξ(ytlog(Pijk)+(1yt)log(1Pijk))(4)

实验

数据集

使用了NYT与WebNLG数据集进行实验

NYT:将FreeBase中的相关事件与纽约时报语料库对其,包含56k个训练句子和5k个测试句子
WebNLG:最初为自然语言生成开发,从给定的三元组生成相应的描述,包含5k个训练句子和703个测试句子
NYT*表示只注释实体的最后一个词的版本,NYT注释了整个实体,webNLG同理
采用Precision(Prec.),Recall(Rec.),F1-score(F1)评价性能,只有当头部h,尾部t和关系r是与事实完全一致时视为正确的

P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP+FP} Precision=TP+FPTP 预测为正确的数据中,真实值为正确的比例。抽取出的三元组准确与否
R e c a l l = T P T P + F N Recall = \frac{TP}{TP+FN} Recall=TP+FNTP 在所有的真实值为正确的数据中,有多少能预测正确。抽取出的正确三元组是否全面
F 1 = 2 × P r e c i s i o n × R e c a l l P r e c i s i o n + R e c a l l F1 = \frac {2 \times Precision \times Recall} {Precision + Recall} F1=Precision+Recall2×Precision×RecallF1 得分反映了模型抽取三元组的综合能力

样本本身预测模型
TP
FP
FN

主要结果:
主要结果
F1得分优于所有其他模型


详细结果:
通过重叠模式和三元数拆分了NYT*和WebNLG*的测试集结果
通过重叠模式和三元数拆分了NYT和WebNLG的测试集
第一,它有效地缓解了误差积累问题,保证了提取三元组的精度
其次,在每个实体对之间采用特定于关系的链接,保证了三重抽取的召回性


两个子任务上的性能试验对比
在两个子任务上的性能试验对比,选择了PRGC(最先进的三元模型之一,在关系判断和头尾对齐方面很强)


在训练过程中的表现
不同 n n e g n_{neg} nneg对NYT和WebNLG的影响。
训练时间(ms)是指训练一个小批处理所需的平均时间
GPU内存(MB)是训练一个Epoch所需的平均GPU内存


WebNLG上的实体错误分类

在WebNLG上的不足之处:跨度分裂错误、未找到实体和实体角色错误。
“跨度分裂误差”所占比例相对较小,证明了在一个有向的“头→尾”二分图上通过链接预测直接提取三元组的有效性。
“实体角色错误”最具挑战性。 其主要原因是在三重提取过程中忽略了实体的上下文信息。

感悟

作者使用了另一角度去解决三元组抽取的难题,从过去的分步抽取到该方法的直接关注抽象出来的方法,从而无需确定实体的开始和结束的位置。
使用 n n e g n_neg nneg解决了样本中错误样本会影响识别的问题,使用二部图法直接抽取关系

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]Python计算机毕业设计Django区域医疗服务监管可视化系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

分享107个小清新,总有一款适合您

PPT链接&#xff1a;https://pan.baidu.com/s/1WqaR_29avEgq46iTSLKfmw?pwd5r81 提取码&#xff1a;5r81 源码下载链接&#xff1a;ppt.rar - 蓝奏云 采集的参数 page_count 1 # 每个栏目开始业务content"text/html; charsetgb2312"base_url "https://sc…

Python可视化招聘信息聚合系统 (附源码)!

前言 基于数据技术的互联网行业招聘信息聚合系统&#xff0c;本系统以Python为核心&#xff0c;依托web展示&#xff0c;所有功能在网页就可以完成操作&#xff0c;爬虫、分析、可视化、互动独立成模块&#xff0c;互通有无。 依托python的丰富库实现&#xff0c;爬虫使用Req…

详解设计模式:备忘录模式

详解设计模式&#xff1a;备忘录模式 备忘录模式&#xff08;Memento Pattern&#xff09;也被称为快照模式&#xff08;Snapshot Pattern&#xff09;、Token 模式&#xff08;Token Pattern&#xff09;&#xff0c;是在 GoF 23 种设计模式中定义了的行为型模式。 备忘录模式…

阿里云存储解决方案,助力轻舟智航“将无人驾驶带进现实”

轻舟智航介绍 轻舟智航是一家以“将无人驾驶带进现实”为使命的自动驾驶通用解决方案公司&#xff0c;依赖双擎战略&#xff0c;一方面主张以高性价比的前装量产方案&#xff0c;致力于打造L4级体验的城市高速NOA方案&#xff0c;满足不同客户不同等级的自动驾驶量产需求。另一…

Lottie 动画导出为 GIF/MP4 以及与 QML 集成演示

获取 Lottie 动画文件 lottiefiles 是一个很好的网站, 从上面可以下载到别人分享的 lottie 动画文件. 我们可以下载到多种格式, 下面分别讲解每个格式的下载和适用情景. 下载 JSON 源文件 这是体积最小的格式, 一般在 10kb ~ 100kb 之间. 考虑到 lottiefiles 的服务器在国外…

锂热电池检测设备 你一定没见过这种检测方式!

项目需求 用户希望纳米Namisoft帮他们设计开发一款系统&#xff0c;要求系统软件安装在PC控制装置上&#xff0c;系统通过使用USB、RS232、LAN通讯接口实现对锂电池测试过程中所用到的仪器&#xff08;内阻测试仪、扫码枪、触摸显示器和电源模块等&#xff09;进行软件控制&…

浸没式冷却-散热技术新趋势,一起学Flotherm电子元器件散热仿真

作者&#xff1a;Billy&#xff0c;仿真秀专栏作者 随着电子元器件功率的上升&#xff0c;散热成为技术发展的瓶颈之一。单纯的风冷在一些情况下无法满足散热需求&#xff0c;直接式液冷和间接式液冷因其可以提供更大量级的对流换热系数&#xff0c;带走更多的热量&#xff0c…

基于智能优化算法PSO/GWO/AFO+柔性车间生产调度(Matlab代码实现)

目录 1 柔性车间生产调度 2 运行结果 3 参考文献 4 Matlab代码实现 1 柔性车间生产调度 随着经济全球化的不断加深和市场竞争的日益严峻,传统的单一车间制造模式已经无法满足我国制造业的生产需求,分布式生产制造模式已经成为企业提高生产竞争力的重要手段。由于不同工厂之…

[附源码]计算机毕业设计校友社交系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

目标检测算法——3D公共数据集汇总 2(附下载链接)

>>>深度学习Tricks&#xff0c;第一时间送达<<< &#x1f384;&#x1f384;近期&#xff0c;小海带在空闲之余&#xff0c;收集整理了一批3D公共数据集供大家参考。 整理不易&#xff0c;小伙伴们记得一键三连喔&#xff01;&#xff01;&#xff01;&…

微服务自动化【Docker-Compose】

目录 1. docker-compose 2. docker-compose安装与配置 3. docker-compose.yml 配置文件基本介绍 3.1 version: 指定 docker-compose.yml 文件的写法格式 3.2 services&#xff1a;多个容器集合 4. docker-compose 基本指令 5. docker-compose 网络 5.1 指定网络模式 …

不懂业务不清楚指标?这40套可视化大屏模板,让你突破职场天花板

报表可以说是中国职场的一大特色&#xff0c;不少职场人需要每天做各种报表给领导或者业务决策者看&#xff0c;为此甚至诞生了不少的“表哥表姐”。但很多人在做报表的时候其实并不懂业务&#xff0c;需要找业务确定业务指标才做的下去。 今天我就分享40多个报表模板&#xf…

Spark 3.0 - 10.Ml 常用 Sample 采样方法

目录 一.引言 二.数据准备 三.随机采样 Sample 四.按权重拆分 randomSplit 五.分层采样 sampleByKey 六.总结 一.引言 使用 Spark 进行机器学习、数据分析等项目时&#xff0c;常常需要对数据进行采样&#xff0c;下面介绍三种最常用的采样方法&#xff1a; A.随机采样:…

Vue3 学习笔记 —— 自动导入 Vue3 APIs、v-model

目录 1. 自动导入 Vue3 APIs —— unplugin-auto-import/vite 2. v-model 2.1 相较于 Vue2&#xff0c;Vue3 做出了哪些变化&#xff1f; 2.2 绑定一个 v-model 2.2.1 父组件 2.2.2 子组件 2.3 绑定多个 v-model 2.3.1 父组件 2.3.2 子组件 2.4 v-model 中的自定义修…

Android Material Design之ShapeableImageView(十三)

效果图 资源引入 implementation com.google.android.material:material:1.4.0属性 属性描述android:id控件idandroid:layout_width控件长度android:layout_height控件高度app:shapeAppearance控件外观样式app:strokeWidth画笔粗度app:strokeColor画笔颜色android:src图像资源…

MySQL逻辑架构

逻辑架构剖析 服务器处理客户端请求 数据库查询请求流程&#xff1a; 连接层 系统&#xff08;客户端&#xff09;访问 MySQL 服务器前&#xff0c;做的第一件事就是建立 TCP 连接。 经过三次握手建立连接成功后&#xff0c; MySQL 服务器对 TCP 传输过来的账号密码做身份认…

了解Wi-fi频段概念

前言 信道带宽&#xff0c;应该了解wi-fi频段&#xff0c;这样才能分析有多少信道带宽可用&#xff0c;以及如何在没有任何干扰&#xff08;失真&#xff09;的情况下有效地使用它。 2.4GHz和5GHz频段可用于wi-fi。 2.4 GHz Wi-Fi频段&#xff1a;在2.4 GHz频段&#xff0c;…

通过Shell脚本自动安装HiveJDBC测试提供CDH5网盘地址

〇、参考地址 1、Linux下编写脚本自动安装hive https://blog.csdn.net/weixin_44911081/article/details/121227024?ops_request_misc%257B%2522request%255Fid%2522%253A%2522163695916016780269859534%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%252…

Linux——网络配置(重点)

目录 一、查看网络IP和网关 1.1 那怎么看连接成功呢&#xff1f; 1.1.1 虚拟机接受主机 1.1.2 主机可以接收到虚拟机 1.2 怎么查看电脑的IP地址 方法一&#xff1a; 方法二&#xff1a; 1.3 怎么查看虚拟机的IP地址 二、网络连接模式 2.1 基本了解 2.2 VMware三种网络…