A Span-based Multi-Modal Attention Network for joint entity-relationextraction

2023-09-21 11:11:49

原文链接:

https://www.sciencedirect.com/science/article/pii/S0950705122013247?via%3Dihub

Knowledge-Based Systems 2023

介绍

         作者认为当前基于span的关系提取方法都太关注于span内部的语义,忽略了span与span之间以及span与其他模态之间(比如tokens和labels)的交互。

        因此作者提出了SMAN结构,该结构使用了cloze mechanism(完型机制)来同时提取上下文和span位置的信息,并在关系提取阶段对span和标签进行建模。

方法

         SMAN模型的整体结构如下图所示:

        输入文件D=\left \{ w_{1},w_{2},,,,w_{N} \right \}E = BERT(D) = \left \{ e_{1},e_{2},,,e_{N}\right \}。在NER阶段,每个句子中枚举出的span set(最大长度设定为K的情况下)表示为:

        在NER阶段,整个句子以枚举出的span为界分为3部分,以span s_{4}^{3}={e4、e5、e6}为例,则ctx_up={e1、e2,e3},ctx_down={e7,e8}。

        在RE阶段,以span pair为界,分为5个子序列(如图b所示):

Modal-Enhanced Attention

         该模块用于提取输入序列的高维特征,针对单模态和多模态序列提出了两种模式。结构如下图所示:

        第一层是一个多头注意力块,对输入序列的全局信息进行编码。第二层是BiLSTM,重建第一层的输出并提取高维度特征,同时在每一层的后面都会使用残差连接和归一化。

Single-modal input sequence

        该模块级联一个多头注意力模块和BiLSTM网络,同时加入残差连接和层归一化,来防止模型在训练过程中退化。具体的计算过程如下所示,给定输入E={e1,e2,,,eN},

Multi-modal input sequence

         输入多模态的数据时,输入就不再是单一的序列,而是具有相同形状表示不同模态特征的多个序列:Sseq表示语义特征、Lseq表示label特征、SLseq由这两种特征concate通过一个BiLSTM得到。注意这里的多头注意力层只将SLseq进行了残差连接

        同样在多头注意力中,Ssqe、Lseq和SLseq分别用特征矩阵Q、K、V进行矩阵变换,完成多模态联合建模。

NER

         如上所示,s={e4、e5、e6}是枚举出的一个实体span,为了保持word之间的顺序,同时获取到整个句子的全局和局部特征,这里就使用一个单模型的MEA来得到span表征。

        具体的,先将句子以span为界分为三个部分:ctx_up、s、ctx_down,然后对ctx_up和ctx_down分别进行最大池化,得到粗粒度的表征。

        最后将c_{up}c_{down}s_{4}^{3}进行concate作为MEA模块的输入,另外作者对span的表征还考虑了span大小的embedding size_{emb}

         在NER阶段,引入了完型机制来充分利用上下文信息来进行辅助。如图左边部分,即将枚举的span进行maks,来使模型在上下文特征建模过程中更多的关注剩余token组成的上下文序列。

        同样使用单一模型的MEA来实现,将枚举的span使用一个特殊标记SEP代替,并将最后一层中SEP的隐藏状态作为输出,最后与span的表征相结合,使用NER分类器进行分类:

Relation extraction with multi-modal information 

          假设句子中存在两个实体分别是s_{3}^{1}s_{6}^{2},同样的使用最大池化来获取两个span上下文的粗粒度特征,用于构建Seq,然后将每个span预测的label embedding与上下文的label embedding(non-entity)得到Lseq,如图中绿色框所示。

        具体计算过程如下: 

        使用多模态的MEA对span pair的label和语义进行建模,将最后一层的隐藏状态{h}'_{5}作为关系过滤向量rel_{emb},进入sigmoid函数(不使用softmax的原因是因为:实体对之间可能存在多种关系)来得到span之间的关系)来得到span之间的关系:

Training 

         主要由两部分的loss组成:NER的交叉熵损失和关系提取的二值交叉熵损失。

实验

对比实验

         在SciERC数据集上进行实验,结果如下所示:

        在CoNLL04数据集上的结果:

        在ADE数据集上的结果:

分析

        由于模型在RE阶段是将预测的label与span的语义进行交互,作者为了探究他提出的这种label与语义的交互的效果,在CoNLL04数据集上进行了实验,即将gold label与span的语义信息进行交互(要是这个span不是真是的span 哪里去找它的gold label?分配一个?),实验结果如下所示:

        可以看出使用gold label对NER任务有副作用,但是在RE任务上有一个较大的提升,表示实体label在RE上起着重要的作用,同时作者提出的这种多模态信息交互也能提升RE任务的效果。

         作者探究了该模型在不同长度句子上的表现,结果如下所示:

        可以看出句子越长的情况下,SMAN模型的效果更好,作者认为这不仅得益与多模态之间的交互,还得益于注意力机制,使模型能够注意到全局的一个信息。

        为了探究模型在不同size的span上的表现,在CoNLL04数据集上进行了实验,结果如下:

        作者认为这是MAE模块中多级级联BiLSTM的效果,在捕获span表征的同时也会注意到单词顺序信息。

消融实验 

         作者对主要模块进行了消融实验,结果如下所示:

结论

         作者提出了SMAN结构,主要创新点在于对上下文新的建模方式,充分利用了文本中的多模态信息。1)完型机制使得模型更好的关注于上下文信息;2)两种形式的MEA用于获取不同模态之间的信息。

        将span进行mask得到上下文表征,来辅助进行NER任务,还挺有意思的,但是从消融实验的结果来看,对于NER任务的提升并不是很大(≈0.4%)。现在很多基于span的NER任务都是在丰富Span表征这一块做工作,有用到上下文表征的,有去构建句法树的。作者还使用用残差和多头注意力,根据实验结果也能看出来这两者对于长句有一定的优势,另外使用BiLSTM是一个比较普遍的方法,消融实验也可以看出来这个网络对于NER还比较有帮助的。

更多推荐

计算机证书java

利润importjava.util.Scanner;publicclassTest{publicstaticvoidmain(String[]args){//profit代表输入的利润,bonus代表奖金额doubleprofit=0,bonus=0;System.out.print("请输入本年利润(万):");Sc

Git 的基本概念和使用方式

Git是一种分布式版本控制系统,它可以帮助开发者管理代码,跟踪代码的变化并协作开发。以下是Git的一些基本概念和使用方式:1.仓库(repository):存放代码的地方,包括本地仓库和远程仓库。2.分支(branch):用来指代不同代码的开发路径,可以独立开发、测试和合并。3.提交(commit):每次修改代码时,需

selenium自动化测试-登录网站用户

昨天学习了selenium自动化测试工具的入门,知道了Selenium是用于自动化控制浏览器做各种操作,打开网页,点击按钮,输入表单等等。今天学习通过selenium自动化测试工具自动登录某网站用户操作。第一步:确定目标网址比如:天天基金网站登录页面"https://login.1234567.com.cn/login

SpringBoot中pom.xml配置详解

🔔简介pom.xml是Maven项目的核心配置文件,用于管理项目的依赖、插件、构建配置等。在SpringBoot项目中,pom.xml文件也扮演着重要的角色。在pom.xml文件中,可以配置项目的资源文件。在SpringBoot的pom.xml文件中,通常会有一个标签文件,用于指定资源文件的路径和名称。🔔基本配置�

关于时空数据的培训 GAN:实用指南(第 01/3 部分)

第1部分:深入了解GAN训练中最臭名昭著的不稳定性。一、说明GAN是迄今为止最受欢迎的深度生成模型,主要是因为它们最近在图像生成任务上产生了令人难以置信的结果。然而,GAN并不容易训练,因为它们的基本设计引入了无数的不稳定性。如果你尝试过用MNIST以外的任何东西训练GAN,你很快就会意识到,所有关于训练他们的痛苦(以

【开发环境】安装 Hadoop 运行环境 ( 下载 Hadoop | 解压 Hadoop | 设置 Hadoop 环境变量 | 配置 Hadoop 环境脚本 | 安装 winutils )

文章目录一、下载Hadoop二、解压Hadoop三、设置Hadoop环境变量四、配置Hadoop环境脚本五、安装winutils六、重启电脑七、验证Hadoop安装效果一、下载HadoopHadoop发布版本在https://hadoop.apache.org/releases.html页面可下载;当前最新版本是3.3

Flutter插件之阿里百川

上一篇:Flutter插件的制作和发布,我们已经了解了如何制作一个通用的双端插件,本篇就带领大家将阿里百川双端sdk制作成一个flutter插件供项目调用!目录登录并打开控制台,创建应用:填写应用相关信息开通百川电商SDK申请安全图片下载SDK创建插件项目将ios端sdk下的framework和bundle文件夹复制到

WEB漏洞原理之---【XML&XXE利用检测绕过】

文章目录1、概述1.1、XML概念1.2、XML与HTML的主要差异1.3、XML代码示例2、靶场演示2.1、Pikachu靶场--XML数据传输测试玩法-1-读取文件玩法-2-内网探针或攻击内网应用(触发漏洞地址)玩法-3-RCE引入外部实体DTD无回显-读取文件开启phpstudy--apache日志3、XXE绕过

LwIP介绍

文章目录一、LwIP简介二、LwIP主要特性:三、文件说明lwip-2.1.3contrib-2.1.0一、LwIP简介lwIP(LightweightIP)是瑞典计算机科学院(SICS)的AdamDunkels开发的一个小型开源的TCP/IP协议栈。LwIP是LightWeight(轻型)IP协议,有无操作系统的支持

ArcGIS10.1软件安装教程

ArcGIS10.1中英文(32/64位)下载地址:链接:https://pan.baidu.com/s/1Ksm112WaKMMk6La9ircCng密码:t70f安装步骤:1、我们对安装包进行解压,直接鼠标右击解压即可。2、打开我们解压的文件夹,点击Desktop3、鼠标右击setup.exe图标,选择以管理员的身

9月20日,每日信息差

今天是2023年09月20日,以下是为您准备的12条信息差第一、法国欲推进欧盟境内航班最低限价,以期减轻民航业碳排放对气候变化的影响第二、2022年中国自主研发游戏海外市场销售收入超过173亿美元第三、京东发布三大生态升级举措。“流量生态”“运营生态”以及“成长生态”三大生态升级。据了解,京东将在直播、短视频、新品等方

热文推荐