图神经网络关系抽取论文阅读笔记(六)

news2024/9/21 20:27:36

1 一个新颖的关系元组抽取级联二元标记框架(A Novel Cascade Binary Tagging Framework for Relational Triple Extraction)

1.1 引言

本文提出了关系三元组重叠的问题(一个sentence中有多个三元组,其中三元组中有的实体是同一个)。本文将其建模为级联二级制框架,从原来的 f (   s , o ) → r f(\mathrm{~s}, \mathrm{o}) \rightarrow \mathrm{r} f( s,o)r从实体对找关系的过程,变成 f r ( s ) → O \mathrm{f}_{\mathrm{r}}(\mathrm{s}) \rightarrow \mathrm{O} fr(s)O给定头实体,针对头实体可能的关系,预测尾实体。即头实体不一定是subject,与multi-QA思想相似。

1.2 背景

首先作者提出了问题,传统的关系抽取是不能很好的解决三元组重叠,上图:

在这里插入图片描述

从图中可以发现,传统的关系抽取针对Normal类型的数据还是可以的,但是针对EPO和SEO的情况就不怎么行了,首先说下EPO,可以看出同一对实体,在传统的关系抽取下只能抽取出一种关系,比如:要么是Act in 或者 Direct movie的关系,然后说下SEO,按说传统的关系抽取也可以,但是数据分布不均衡,比如有的关系标签很多,有的很少,有的正例很多,有的负利很多,这样导致传统模型不能很好的进行学习。尽管像这样的问题已经有人做了很多研究,但是仍然存在很多的问题,他们都把每个实体对的关系看作离散的,这样导致会导致模型学习很困难,原因有两点:第一点,也是上面所说的,数据分布不均衡,第二点, 针对重叠的标签,如果在训练数据很少的情况下,分类器很难去正确的分类。

1.3 The CASREL Framework

  • 以前的工作都没有:都是单独定义关系和实体,没有在三元组层次上集成

  • 最大化目标函数(1):公式2:概率的链式法则;公式3:利用了一个事实,所有与s相关的关系必然有o,而其他关系则无o。

  • ∏ j = 1 ∣ D ∣ [ ∏ ( s , r , o ) ∈ T j p ( ( s , r , o ) ∣ x j ) ] = ∏ j = 1 ∣ D ∣ [ ∏ s ∈ T j p ( s ∣ x j ) ∏ ( r , o ) ∈ T j ∣ s p ( ( r , o ) ∣ s , x j ) ] = ∏ j = 1 ∣ D ∣ [ ∏ s ∈ T j p ( s ∣ x j ) ∏ r ∈ T j ∣ s p r ( o ∣ s , x j ) ∏ r ∈ R \ T j ∣ s p r ( o ∅ ∣ s , x j ) ] . \begin{aligned} & \prod_{j=1}^{|D|}\left[\prod_{(s, r, o) \in T_j} p\left((s, r, o) \mid x_j\right)\right] \\ =& \prod_{j=1}^{|D|}\left[\prod_{s \in T_j} p\left(s \mid x_j\right) \prod_{(r, o) \in T_j \mid s} p\left((r, o) \mid s, x_j\right)\right] \\ =& \prod_{j=1}^{|D|}\left[\prod_{s \in T_j} p\left(s \mid x_j\right) \prod_{r \in T_j \mid s} p_r\left(o \mid s, x_j\right) \prod_{r \in R \backslash T_j \mid s} p_r\left(o_{\varnothing} \mid s, x_j\right)\right] . \end{aligned} ==j=1D(s,r,o)Tjp((s,r,o)xj)j=1DsTjp(sxj)(r,o)Tjsp((r,o)s,xj)j=1DsTjp(sxj)rTjspr(os,xj)rR\Tjspr(os,xj).

  • 该公式的优点:

    • 该似然是开始于三元组级别的,优化也是在三元组级别上
    • 对于复数三元组如何在句中共享实体没有假设,通过设计来处理三元组问题
    • 公式3分解而来的启发:先得到s,再对关系r,找到其对应的o
    • 这种模式:允许一次性提取多个三元组

1.3.1 BERT Encoder

输入嵌入分别是token embeddings( W s W_s Ws),segmentation embeddings 和position embeddings( W p W_p Wp)的总和。
h 0 = S W s + W p h α = Trans ⁡ ( h α − 1 ) , α ∈ [ 1 , N ] \begin{aligned} \mathbf{h}_0 &=\mathbf{S} \mathbf{W}_s+\mathbf{W}_p \\ \mathbf{h}_\alpha &=\operatorname{Trans}\left(\mathbf{h}_{\alpha-1}\right), \alpha \in[1, N] \end{aligned} h0hα=SWs+Wp=Trans(hα1),α[1,N]

1.3.2 Cascade Decoder

首先,我们从输入的句子中检测主语。然后,对于每个候选主语,我们检查所有可能的关系,看看是否有关系可以将句子中的宾语与该主语关联起来。对应于这两个步骤,级联解码器由两个模块组成,如图2所示:一个主题标记器;以及一组特定于关系的对象标记器。

在这里插入图片描述

主题标记器:底层标记模块通过直接解码n层BERT编码器产生的编码向量hN来识别输入句子中所有可能的主语,更精确地说,它采用两个相同的二进制分类器分别检测主题的开始位置和结束位置,为每个标记分配一个二进制标记(0/1)
p i start-s  = σ ( W start  x i + b start  ) p i end-s  = σ ( W end  x i + b end  ) \begin{array}{r} p_i^{\text {start-s }}=\sigma\left(\mathbf{W}_{\text {start }} \mathbf{x}_i+\mathbf{b}_{\text {start }}\right) \\ p_i^{\text {end-s }}=\sigma\left(\mathbf{W}_{\text {end }} \mathbf{x}_i+\mathbf{b}_{\text {end }}\right) \end{array} pistart-s =σ(Wstart xi+bstart )piend-s =σ(Wend xi+bend )
其中,xi是输入序列中第i个token的编码表示,即xi =hN[i]。主体标记器优化了以下似然函数识别句子x中主体s的跨度:
p θ ( s ∣ x ) = ∏ t ∈ {  start-s end-s  } ∏ i = 1 L ( p i t ) I { y i t = 1 } ( 1 − p i t ) I { y i t = 0 } . \begin{aligned} & p_\theta(s \mid \mathbf{x}) = \prod_{t \in\{\text { start-s end-s }\}} \prod_{i=1}^L\left(p_i^t\right)^{\mathbf{I}\left\{y_i^t=1\right\}}\left(1-p_i^t\right)^{\mathbf{I}\left\{y_i^t=0\right\}} . \end{aligned} pθ(sx)=t{ start-s end-s }i=1L(pit)I{yit=1}(1pit)I{yit=0}.
Relation-specific Object Taggers:

该模块同时识别客体以及与上一模块识别出的主体的相关关系,包含一组特定关系的客体标记器,与直接对hN解码的主体标记器不同,客体标记器还考虑了主体的特征:
p i start-o  = σ ( W start  r ( x i + v sub  k ) + b start  r ) p i end-o  = σ ( W end  r ( x i + v sub  k ) + b end  r ) \begin{array}{r} p_i^{\text {start-o }}=\sigma\left(\mathbf{W}_{\text {start }}^r\left(\mathbf{x}_i+\mathbf{v}_{\text {sub }}^k\right)+\mathbf{b}_{\text {start }}^r\right) \\ p_i^{\text {end-o }}=\sigma\left(\mathbf{W}_{\text {end }}^r\left(\mathbf{x}_i+\mathbf{v}_{\text {sub }}^k\right)+\mathbf{b}_{\text {end }}^r\right) \end{array} pistart-o =σ(Wstart r(xi+vsub k)+bstart r)piend-o =σ(Wend r(xi+vsub k)+bend r)
多个token组成,为了使式(9)(10)中xi和vsub相加,需要保持两个向量维度一致。为此,作者取第k个主体开始token和结束token的平均向量表示作为vsub.
标记器优化了以下似然函数,以确定给定句子表示x和主体s的客体的跨度。
p ϕ r ( o ∣ s , x ) = ∏ t ∈ {  start-o,end-o  ∏ i = 1 L ( p i t ) I { y i t = 1 } ( 1 − p i t ) I { y i t = 0 } \begin{aligned} & p_{\phi_r}(o \mid s, \mathbf{x}) =& \prod_{t \in\{\text { start-o,end-o }} \prod_{i=1}^L\left(p_i^t\right)^{\mathbf{I}\left\{y_i^t=1\right\}}\left(1-p_i^t\right)^{\mathbf{I}\left\{y_i^t=0\right\}} \end{aligned} pϕr(os,x)=t{ start-o,end-o i=1L(pit)I{yit=1}(1pit)I{yit=0}

1.3.3 Data Log-likelihood Objective

对式(3)取对数:
∑ j = 1 ∣ D ∣ [ ∑ s ∈ T j log ⁡ p θ ( s ∣ x j ) + ∑ r ∈ T j ∣ s log ⁡ p ϕ r ( o ∣ s , x j ) + ∑ r ∈ R \ T j ∣ s log ⁡ p ϕ r ( o ∅ ∣ s , x j ) ] . \begin{aligned} \sum_{j=1}^{|D|} & {\left[\sum_{s \in T_j} \log p_\theta\left(s \mid \mathbf{x}_j\right)+\sum_{r \in T_j \mid s} \log p_{\phi_r}\left(o \mid s, \mathbf{x}_j\right)\right.} &\left.+\sum_{r \in R \backslash T_j \mid s} \log p_{\phi_r}\left(o_{\varnothing} \mid s, \mathbf{x}_j\right)\right] . \end{aligned} j=1DsTjlogpθ(sxj)+rTjslogpϕr(os,xj)+rR\Tjslogpϕr(os,xj).

1.4 Results

在两个公共数据集上NYT,WebNLG评估这个框架。将句子分为Normal, EPO, SEO。
作者在BERT上实例化了CASREL框架,结合新的标记模式和预先学习的知识以获得更好的性能。

在这里插入图片描述

为了评估引入Transfomer对BERT模型的影响,设置了一组消融实验:CASRELrandom是BERT所有参数随机初始化;CASRELLSTM是在LSTM结构上实例化的框架;CASREL使用了预先训练好的BERT权值。

在这里插入图片描述

1.5 总结

本文从关系三元组抽取的一个公式出发,提出了一个新的级联二元标记框架(CASREL)。作者没有将关系建模为实体对的离散标签,而是将关系建模为将主体映射到客体的函数,这为重叠三元组提取提供了一个新的视角。作为结果,该模型可以同时从句子中提取多个关系三元组,而不会出现重叠问题。在两个广泛使用的数据集上进行了大量的实验,以验证提出的CASREL框架的有效性。实验结果表明,CASREL在不同的场景下,尤其是在重叠关系三元组的提取上,压倒性地优于最先进的基线。

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

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

相关文章

TTL反相器和CMOS

CMOS电路的动态特性: 1.传输延迟特性 在输入电压发生变化的时候,因为电容得存在,输出时间就得到了延迟 2.交流噪声容限 交流噪声容限是大于直流噪声容限 3.动态功耗 输入电压在二分之一,所以瞬间会流过很大的电流,会有瞬间很…

python练习题集锦之一

python练习题集锦之一 python练习题集锦之一,包括:1.限制输入的整数范围1到10之间、2.输出100以内素数(质数)及其和、3.求两个数最大公约数、最小公倍数 1.限制输入的整数范围1到10之间 源码如下: 提示 输入错误&…

时间复杂度(Time Complexity)

预计阅读时间:5分钟 一、简介 时间复杂度,又叫时间复杂性,也就是我们常说的大O。时间复杂度是不容忽视的衡量算法好坏的重要指标。 时间复杂度是一个函数,用于描述该算法的运行时间。 举个简单的例子:一个20米的木头&…

基于FPGA开发板使用Verilog设计PWM呼吸灯实验

基于FPGA开发板使用Verilog设计PWM呼吸灯实验 1,实验原理2,实验模块设计2.1 RTL设计,呼吸灯模块设计2.2,测试数据,下载到FPGA开发板板级的数据2.3,两个模块综合的netlist3,管脚约束4,FPGA开发板上的`led1` 灯上显示,一个复位键`key1`5,testbench6,前仿真,波形仿真验…

Mac os 如何安装SVN

环境: Mac os X 问题描述: Mac os 如何安装SVN 解决方案: 1.从App Store上下载SnailSVNLite 2.下载完成,打开软件,在【SVN设置】下,看下面提示设置好3个路径 ~/.ssh 查找对应的文件夹,如…

AprilTags论文翻译

AprilTag三篇论文的简单翻译.2011,2016,2019GitHub - AprilRobotics/apriltag: AprilTag is a visual fiducial system popular for robotics research. AprilTag:一个健壮而灵活的视觉基准系统 摘要-虽然使用自然出现的特征是机器感知的重点,但人工特征在创建可控…

【SpingBoot定时任务】Spring自带@Scheduled、异步多线程@Async、quartz框架 定时任务示例

文章目录springboot定时任务1、基于注解(Scheduled)2、异步多线程使用定时任务3、使用quartz实现定时任务使用Springboot整合Quartz定时任务框架springboot定时任务 在springboot环境中,实现定时任务有两种方案: 使用 Spring 自带的定时任务处理器 Sched…

程序员,阿里 P8java 大神讲的 Spring 大家族原理汇总,你确定不看?

之前分享的 java 核心面试知识点已经花了三篇文章的篇幅讲完了 java 多线程并发。作为程序员来讲,多线程并发要学的东西确实挺多的,那天跟阿里程序员朋友聊天的时候,被绝对技术碾压了,多线程并发里的内容,能够全面的讲…

太硬核!用大数据技术预测足球胜率

点个关注👆跟腾讯工程师学技术引言| 足球作为世界第一运动,充满了速度和力量的结果,团队与谋略的对抗。人们也说,足球是圆的,恰恰也表明了足球比赛的不可预知性,一切结果都皆有可能。强如巴萨,也…

JavaScript 简单介绍和使用

JS 环境搭建 基本语法: 注释: // 单行注释 /* 多行注释 */ 输入输出语句 // 输入输出语句 document.getElementById("btn").onclick function(){// 输入语句var message prompt("输入信息")var insure confirm("是否确认…

FrameWork之旅 -- 源代码主要目录结构

本系列的阅读,前提你是一个Android开发者,而且是一个app开发,并且有一定的工作经验。本系列的学习,不会每个细节都说明,会把有“看点”的地方加以说明。 我们开发或者熟悉任何软件项目,都要了解包名结构或…

Python学习基础笔记十五——命名空间和作用域

从Python解释器开始执行之后,就在内存中开辟了一个空间。 每当遇到一个变量的时候,就把变量名和值的对应关系记录下来。 但是当遇到函数定义的时候解释器只是象征性地将函数名读入内存,表示知道这个函数的存在了,至于函数内部的变…

Vue 插槽(slot)使用

1 为什么使用slot 组件的插槽 组件的插槽是为了让我们封装的组件更加具有扩展性。 让使用者可以决定组件内部一些内容到底展示了什么。 举例: 移动开发中,几乎每个页面都有导航栏 导航栏我们会分装成一个插件,比如nav-bar组件 一旦有了…

vue父子组件间数据的双向绑定

在vue中数据的流向通常是单向的,但是实际开发中,存在父子组件都需要对父组件值进行更新的情况,vue提供了两种方法实现数据的双向绑定: 1、使用v-model指令 在父组件上 v-model 会利用子组件名为 value 的 prop 和名为 input 的…

第5 部分 EIGRP

目录 5.1 EIGRP 概述 5.2 实验1:EIGRP 基本配置 1. 实验目的 2. 实验拓扑 3. 实验步骤 4. 实验调试 (1)show ip route (2)show ip protocols​编辑 (3)show ip eigrp neighbors &#…

[激光原理与应用-31]:典型激光器 -3- 光纤激光器

目录 第1章 光纤激光器概述 1.1 什么是光纤激光器 1.2 应用 1.3 光纤激光器的结构组成 1.4 特点 1.5 优势 第2章 光纤激光器的类型 2.1 按照光纤材料的种类进行分类 2.2 按增益介质分类为: 2.3 按谐振腔结构分类 2.4 按光纤结构分类 2.5 按输出激光特性…

基于 ARM + FPGA 的 EtherCAT 主站设计及实现

为解决实时工业以太网协议 EtherCAT 应用于嵌入式主站控制器所产生的实时性和稳定性等问题,首先研究了 EtherCAT 主站控制器在 EtherCAT 网络控制系统中的功能需求,分析并提出了实现嵌入式 EtherCAT 主站的架构,然后针对上述架构设计了基于 A…

补知识点:Feign、Nacos配置中心(命名空间、配置分组)

一、Feign的应用 和前面的Feign笔记是一样的,不过这里更深刻的理解一下 使用Feign的整体步骤就分为以下几个步骤: 1、引入open-feign依赖坐标 2、编写一个接口,告诉springCloud这个接口需要调用远程服务 3、在启动类当中开启远程调用功能注解…

[附源码]计算机毕业设计JAVA学生宿舍管理系统

[附源码]计算机毕业设计JAVA学生宿舍管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybati…

06_openstack之创建云主机和常见错误

目录 一、环境准备 二、创建云主机 三、常见错误 1、创建云主机时,主机状态显示“错误” 2、云主机控制台无法访问,报错1006 3、云主机创建错误,提示“找不到有效主机,原因是没有足够的主机可用” 一、环境准备 部署openst…