CopyRE关系抽取

CopyRE

模型包括编码器和解码器两部分
编码器:将输入的句子(源句子)转换为固定长度的语义向量
解码器:读取该矢量并直接生成三元组

Encoder

编码器使用Bi-RNN对输入句子进行编码。

Decoder

解码器会直接生成三元组。

  • 1、 解码器生成三元组的关系

  • 2、解码器采用copy mechanism 从源句子中复制第一个实体(头实体)

  • 3、解码器采用copy mechanism 从源语句中复制第二个实体(尾实体)

  • 4、重复这个过程,解码器可以生成多个三元组。当生成了所有有效的三元组时,解码器会生成NA三元组,代表“停止”,NA三元组由NA关系和NA实体对组成

CopyRE公式表示

如图所示,解码器按照模块可分为:

  1. Predict Relation:关系预测
  2. EntityCopy (Copy the First Entity、Copy the SecondEntity):实体复制(头实体、尾实体)
  3. EXtracted triplets:三元组抽取

在这里插入图片描述

Encoder

如上图所示,编码器使用Bi-RNN对输入句子进行编码。
o t E , h t E = B i R N N ( x t , h t − 1 E ) o_{t}^{E} , h_{t}^{E} = BiRNN(x_{t}, h_{t-1}^{E}) otE,htE=BiRNN(xt,ht1E)
s = [ h n E → ; h n E ← ] s = [\overrightarrow{h_{n}^{E} } ;\overleftarrow{h_{n}^{E} }] s=[hnE ;hnE ]

Decoder

如上图所示,解码时,每三个时间步为一个循环提取一个三元组,依次生成三元组的关系(Predict Relation)、从原句中复制第一个实体(Copy the First Entity)、从原句中复制第二个实体(Copy the Second Entity),构成完整的三元组。解码器不断重复上面三步生成多个三元组,生成了所有有效的三元组时,解码器生成NA三元组,停止。
o t D , h t D = g ( u t , h t − 1 D ) o_{t}^{D} , h_{t}^{D} = g(u_{t}, h_{t-1}^{D}) otD,htD=g(ut,ht1D)
h 0 D ← s h_{0}^{D}{\leftarrow} s h0Ds
u t = [ v t ; c t ] ⋅ W u u^{t} = [v^{t};c^{t}] \cdot W^{u} ut=[vt;ct]Wu
在这里插入图片描述

Predict Relation

q r = s e l u ( o t D ⋅ W r + B r ) q^{r} = selu(o_{t}^{D}\cdot W^{r}+B^{r}) qr=selu(otDWr+Br)
q N A = s e l u ( o t D ⋅ W N A + B N A ) q^{NA} = selu(o_{t}^{D}\cdot W^{NA}+B^{NA}) qNA=selu(otDWNA+BNA)
p r = s o f t m a x ( [ q r ; q N A ] ) p^{r} = softmax([q^{r};q^{NA}]) pr=softmax([qr;qNA])
p r p^{r} pr作为下一时间步的 v t + 1 v^{t+1} vt+1输出到一阶段

EntityCopy

Copy the First Entity

q i e = s e l u ( [ o t D ; o i E ] ⋅ w e ) q^{e}_{i} = selu([o_{t}^{D};o_{i}^{E}]\cdot w^{e}) qie=selu([otD;oiE]we)
p e = s o f t m a x ( [ q e ; q N A ] ) p^{e} = softmax([q^{e};q^{NA}]) pe=softmax([qe;qNA])
p e p^{e} pe作为下一时间步的 v t + 1 v^{t+1} vt+1输出到一阶段

Copy the Second Entity

M i = { 1 , i ≠ k 0 , i = k M_{i} =\left\{\begin{matrix} 1, i≠k \\0,i=k \end{matrix}\right. Mi={1,i=k0,i=k

p e = s o f t m a x ( [ M ⊗ q e ; q N A ] ) p^{e} = softmax([M\otimes q^{e};q^{NA}]) pe=softmax([Mqe;qNA])
p e p^{e} pe作为下一时间步的 v t + 1 v^{t+1} vt+1输出到一阶段

EXtracted triplets

符号声明

X = [ x 1 , x 2 , . . . , x n ] X = [x_{1},x_{2},...,x_{n}] X=[x1,x2,...,xn]

符号含义
X = [ x 1 , x 2 , . . . , x n ] X = [x_{1},x_{2},...,x_{n}] X=[x1,x2,...,xn]输入句子s转换成的词向量矩阵
t ( 0 ≤ t ≤ n ) t(0\le t\le n) t(0tn)表示当前位置(时间步长)
B i R N N ( ) BiRNN() BiRNN()双向RNN模型
n n n输入句子的长度
M M M掩码矩阵
q r q^{r} qr有效关系的置信向量
q e q^{e} qe原句子中所有词汇的置信向量
q N A q^{NA} qNANA关系或实体的置信向量
o t D o_{t}^{D} otD时间步长为t时的解码器输出
h t D h_{t}^{D} htD时间步长为t时的解码器隐状态输出
c t c_{t} ct注意力向量
v t v_{t} vt复制的实体嵌入

参考:
CopyRE: Extracting Relational Facts by an End-to-End Neural Model with Copy Mechanism, ACL 2018
NLP中实体关系三元组抽取模型范式总结

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Grafana 使用Rest API 作为数据源的实践

本文使用最新版本的Grafana 10 进行操作。 如果要使用Rest API 作为grafana 的数据源,可以选择安装一个Infinity的数据源插件。 如果创建数据源时,搜不到infinity,点击find more 查找安装该数据源插件 1. 安装 Infinity 数据源插件&#xf…

HNU-操作系统OS-学习感悟

初次接触如此底层的计算机基础课程,我还是很不适应的。 教材用的这本书,实验用的清华大学的ucore实验 好在应试水平没有丢。最后总评94/100。 下面仅从应试角度谈一谈学习的理解 总领 HNU的OS课程平时分给的比较模糊,大致由 作业实验验…

自营外卖配送平台的商家如何对接第三方美饿的订单

自营外卖跑腿平台对接第三方美饿的好处 单说美团饿了么自身的流量优势,很多商家不能忽视,但是美团饿了么的高额配送成本与抽成,同样也不能忽视。很多商家希望选择自配送或者其他更划算的配送方式来节省成本。这时,区域性的自建外…

菜比:你还不会接口测试?

很多人会谈论接口测试。到底什么是接口测试?如何进行接口测试?这篇文章会帮到你。 一、前端和后端 在谈论接口测试之前,让我们先明确前端和后端这两个概念。 前端是我们在网页或移动应用程序中看到的页面,它由 HTML 和 CSS 编写…

自制游戏引擎之shader预编译

shader预编译为二进制,在程序运行时候加载,可以提升性能,节省启动时间. 1. 采用google shaderc预编译与加载shader 1.1 下载代码 https://github.com/google/shaderc third_party文件里需要放依赖的第三方 因为电脑访问google的问题,无法通过shaderc-2023.4\utils\git-sync-de…

赛效:如何一键生成印章

1:在电脑上打开标小智印章生成器,点击输入框,在输入框里输入印章内容。 2:文本内容输入后,点击右侧的“生成按钮”。 3:在生成的印章模板里,挑一个满意的,鼠标放上去就可以看到下载按…

DM8:达梦数据库数据文件与日志文件介绍

DM8:达梦数据库数据文件与日志文件介绍 环境介绍1 表空间中的数据文件1.1 表空间1.2 数据文件1.3 系统自带的表空间1.3.1 SYSTEM 表空间1.3.2 ROLL 表空间1.3.3 TEMP 表空间1.3.4 MAIN 表空间1.3.5 用户自定义表空间 1.4 DM数据库的表空间和数据文件分布 2 日志文件2.1 重做日志…

Java入门教程||Java 网络编程||Java 发送邮件

Java 网络编程 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。 java.net包中J2SE的API包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题&#…

CTFHub XSS 过滤关键词 WriteUp

前文链接&#xff1a;DOM反射xss 这次直接浏览器输入payload&#xff0c;发现 script 被过滤掉了 </textarea>"><script srchttp://xsscom.com//cZ2vvZ></script>碰到这种情况不要慌&#xff0c;下面给出两种方法绕过过滤关键字。 双写绕过 <…

Spring Boot 中的 CD 工具

Spring Boot 中的 CD 工具 在现代软件开发中&#xff0c;持续交付&#xff08;Continuous Delivery&#xff0c;简称 CD&#xff09;已经成为了一个非常重要的开发模式。CD 工具可以帮助我们自动化构建、测试、部署和发布软件&#xff0c;提高软件交付的速度和质量。在 Spring…

vue3在浏览器段展示海康监控视频

目录 一、需求 二、最后成果展示 三、思路和方法 3.1 首先安装插件&#xff0c;可以在上面的地址中下载安装&#xff0c;建立一个dom 3.2 初始化的时候可以获取一个视频展示的一个长宽 3.3 vue data中定义 3.4 初始化视频的方法在vue的methods中 3.5 开始方法 3.6 暂停…

苹果手机怎么设置日程安排提醒闹钟?简单几步

在忙碌的工作和生活中&#xff0c;我们经常会忘记重要的约会、会议和任务。这时候&#xff0c;一个可靠的日程提醒闹钟就显得尤为重要了。通过在手机上设置日程安排提醒闹钟&#xff0c;让我们不再错过任何重要的事情。 那么苹果手机怎么设置日程安排提醒闹钟&#xff1f; 敬…