论文综述——DORE: Document Ordered Relation Extraction based on Generative Framework

news2024/11/24 12:50:07

DORE: Document Ordered Relation Extraction based on Generative Framework

文章的主要目标是对文档级的关系抽取。以往的研究主要是基于分类的研究,生成式关系抽取研究较少而且性能不佳。

文档级相比于句子级的关系抽取存在序列长度过长,以及实体定位不准确等问题。作者提出一种利用生成模型范式解决文档级关系抽取问题。以往的研究中采用的生成范式是直接生成出对应的词组(lexicon 生成范式),但此类方法不能很好的适应文档级关系抽取。所以现有的生成式文档级关系抽取方法表现不佳,并不是模型能力不足,而是模型训练的范式不足导致的,因此作者提出DORE范式。

这篇文章其实就是文档抽取实体,再将实体符号化并排序,最后将所有实体转化成二维矩阵填充关系。解码过程刚好反过来,先解码符号,再将符号解码成实体文本。(论文中还提到了五元组,我当做没看见……)

在这里插入图片描述

什么是Lexical生成范式?

  • ①使用不同的自然语言表示同一实体,例如 “Julian Reinard” 和 “He”;
  • ②两个相似的关系使模型识别时产生冲突,例如 “country” and “country of citizenship”;
  • ③模型可能输出该文本中未出现的单词;
  • ④预测三元组顺序不遵循人类阅读顺序,例如预测 “country of citizenship” 应出现在“league” 之前。

Lexical范式主要存在两个缺点:①不会产生特定长度的目标序列; ②可能出现生成序列过长的现象。

为了解决以上问题作者提出DORE范式:Document Ordered Relation Extraction Paradigm(文档顺序关系生成范式)
优势:①易于学习和控制生成; ②解决输出过长问题。

符号化实体关系类型:使用特殊符号 表示,其中 i∈[1,100] 表示实体类型,i∈[101,200] 表示关系类型。
同一实体可能出现多次且可能以不同的自然语言表达。使用特殊符号表示保证实体和关系的唯一性,且不需要使用分隔符区分包含多个 token 的实体和关系。

作者比较 Lexical 生成范式和 DORE 范式(图),Lexical 范式构建关系抽取还需要进一步处理;
将生成出来的DORE范式中的实体首次出现在文档中的顺序进行排列,分别按照行、列组织关系矩阵。其中每个单元格对应于存在关系或不存在关系的实体对。

文档 D 中存在实体集 E={e_1,e_2,…} ,其中每个实体由多个单词组成 e_i={e_i1,e_i2,…}
每个抽取出来的实例都可以表示为一个关系三元组 (e_1,e_2,r)
如图所示,将所有的实例建模成关系矩阵,其中关系矩阵中的每一个单元格 (i, j) 对应一对实体对 (e_i,e_j) ,计算每种关系的条件概率。
训练目标:寻找最可能的关系矩阵。
生成关系矩阵的损失函数是将交叉熵应用于关系矩阵中的每个元素。

为了更好的训练模型,作者提出了负采样和并行化生成辅助措施。
负采样策略:在训练过程中添加没有关系的实体对作为负采样实例,能够有效的提升模型性能。R+ 表示正实例组,R- 表示负实例组。

在这里插入图片描述

并行化行生成 (Parallel Row Generation):每次生成一行关系矩阵,而不是一次生成整个关系矩阵。该过程由于输入是相同的,因此可以是并行的,从而节省了时间和生成的长度。缺点:失去关系间的部分依赖。

约束解码考虑到参考序列完全是一系列用于二元关系提取的三元组,与lexical 生成范式相比,利用相对简单的约束解码方法来控制生成。解码器所需的词汇表很小,仅限于一定范围的特殊标记。相反,词汇生成需要预测实体的文本形式,则需要完整的词表。

实验:

在这里插入图片描述

总结:使用生成模型实现文档级实体关系抽取;
创新点:DORE范式,一种符号化实体关系类型的范式。这么做有利于易于学习和控制生成,以及解决输出过长问题。
关系矩阵:以表填充作为核心解决方式,按照实体出现在文本中的顺序生成关系矩阵,单元格内填充关系。

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

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

相关文章

消息队列选型

消息队列选型 大家好,我是易安!今天我们聊下消息队列常见选型。 消息队列作用 谈选型之前我们先讲下我们为什么需要消息队列。 消息队列是一种很流行的技术,自从系统间开始通信时,消息队列就出现了。然而,对消息队列给…

java--时间类实例2--毫秒/秒运算(instant、ZoneDateTime)

有些时候给出毫秒值来让我们计算时间该怎么办。 文章目录 介绍[蓝桥杯 2021 省 B] 时间显示题目描述代码 蓝桥杯–航班时间 介绍 将毫秒值直接转成日期的有 new Date(毫秒)Instant.ofEpochMilli(毫秒)Instant.ofEpochSecond(秒)Instant.ofEpochSecond&…

k8s知识整理(继续整理中)

文章目录 k8s组件master节点kube-apiserverkube-schedulerkube-controller-manageretcd work节点kube-proxykubeletcontainer runtime add onsCoreDNSingress controller Pod常用控制器k8s pod创建调度过程k8s pod删除过程k8s 灰度发布(金丝雀部署)k8s 蓝…

日撸 Java 三百行day37

文章目录 说明day37 十字链表1.思路整理1.1十字链表的数据结构:1.2 手动模拟十字链表 2.代码分析2.1 十字链表的构造2.2 单元测试 说明 闵老师的文章链接: 日撸 Java 三百行(总述)_minfanphd的博客-CSDN博客 自己也把手敲的代码放…

ambari的kafka服务开启sasl

添加 sasl 配置⽂件 集群部署 Kafka2.2下载地址 http://archive.apache.org/dist/kafka/2.2.1/kafka_2.11-2.2.1.tgz 解压安装包 tar -zxvf kafka_2.11-2.2.1.tgz 部署略 ambari 数据kafka服务 在kafka的conf目录下创建sasl_conf目录,将kafka_client_jaas.conf/kafka_se…

深入浅出MySQL——CRUD

文章目录 表的增删改查Create单行数据全列插入多行数据指定列插入插入否则更新替换——REPLACE RetrieveSELECT 列WHERE 条件结果排序筛选分页结果 UpdateDelete删除数据截断表 插入查询结果聚合函数group bywhere和having SQL查询中各个关键字的执行先后顺序函数日期函数字符串…

SQL优化(3):order by优化

MySQL的排序,有两种方式: Using filesort : 通过表的索引或全表扫描,读取满足条件的数据行,然后在排序缓冲区sort buffer中完成排序操作,所有不是通过索引直接返回排序结果的排序都叫 FileSort 排序。 Using index :…

IDEA 使用系列之 Alibaba Cloud Toolkit 一件部署

一、前文 做开发,免不了要往服务器部署前端后端,首先要用xftp把前后端所在文件夹打开,把jar、dist备份再上传,然后再打开xshell把前后端kill掉,然后再敲命令重新启动前后端,少则2、3分钟,多则10…

创新案例|探索 Snyk 的 PLG 团队1.6倍年度 ARR 增长背后的策略

组织架构不匹配、权责分配不清晰以及团队协作无机制是推进PLG业务面临的三大核心挑战,而安全软件公司Snyk以其指数级营收和估值增长的成功实践证明,构建合适且高效团队是助力PLG创新实现高速增长的关键,其经验值得借鉴。本文将通过分析Synk如…

Java+GeoTools实现WKT数据根据EPSG编码进行坐标系转换

场景 JavaGeoTools(开源的Java GIS工具包)快速入门-实现读取shp文件并显示: JavaGeoTools(开源的Java GIS工具包)快速入门-实现读取shp文件并显示_霸道流氓气质的博客-CSDN博客 在上面实现Java中集成Geotools之后,需求是将WKT数据转换成其他坐标系的W…

计算机网络-如何寻找目标主机

视频参考链接:计算机网络-如何寻找目标计算机?_哔哩哔哩_bilibili 在互联网中如果使计算机A与计算机B如何进行通信,又是如何找到目标的计算机主机呢? 首先最简单的通信就是两台计算机中间加一根网线,那么这两台计算机…

算法基础—哈希表散列表的构建和处理冲突

1 哈希表的构建 1. 直接寻址法 取关键字或者关键字的某个线性函数值作为哈希地址,即H(Key)Key或者H(Key)a*Keyb(a,b为整数),这种散列函数也叫做自身函数.如果H(Key)的哈希地址上已经有值了,那么就往下一个位置找,知道找到H(Key)的位置没有值了就把元素放进去. 2. 数字分析法…

idea中导入spring源码;在spring源码中添加注释

标题:idea中导入spring源码;在spring源码中添加注释 我是跟着他操作的,下文是一些补充说明: 这个也可以借鉴 gradle下载链接【使用网盘下载】,不过有的没有, gradel下载链接:这个比较全 1.Spring源码编译环境 spr…

股票期货模拟交易有用吗?股票期货模拟交易心得

股票期货市场为了满足新用户的需求,有专门的股票期货模拟交易平台,大家可以在这个平台上进行股票期货的模拟交易,这样可以通过不断总结,丰富我们的知识。下面整理的股票期货模拟交易实验心得,从股票期货模拟交易与实盘…

远程 PC 访问软件

什么是远程电脑 远程电脑是物理上无法访问的计算机。不同分支机构中的漫游用户和员工的设备将是组织中 IT 管理员的远程计算机。 什么是远程 PC 访问 远程 PC 访问是一种控制物理无法触及的设备的功能。计算机、笔记本电脑、端点!它们始终分散在全球各地的 IT 环…

【应用部署】Java项目从开发到部署生产完整流程

文章目录 背景一、开发环境二、项目搭建2.1 Maven创建项目2.1.1 创建maven项目2.1.2 引入依赖2.1.3 maven常用命令 三、SpringBoot基础配置四、项目打包4.1 打包jar4.2 打包war4.2.1 修改项目打包为war包4.2.2 排除内嵌的tomcat,引入外部tomcat4.2.3 添加servlet-ap…

数据库基础篇 《10.创建和管理表DDL》

目录 1. 基础知识 1.1 一条数据存储的过程 1.2 标识符命名规则 ​1.3 MySQL中的数据类型 ​ 2. 创建和管理数据库 2.1 创建数据库 2.2 使用数据库 2.3 修改数据库 2.4 删除数据库 3. 创建表 3.1 创建方式1 3.2 创建方式2 ​3.3 查看数据表结构 4. 修改表 4.1…

2023华为软件精英挑战赛,探寻软件人才与科技创新的最优解

作者 | 曾响铃 文 | 响铃说 今天,软件行业正呈现出江河入海一般的大汇流趋势。 一方面是技术的汇流,诸如人工智能等前沿技术与软件行业的深度融合,正全面颠覆软件产品的开发模式和服务逻辑。 另一方面则是行业的汇流,数字化浪…

PyEcharts数据可视化(1)——配置项

PyEcharts 学习连接 一、查看pyecharts版本 import pyecharts print(pyecharts.__version__)输出:1.9.0 二、绘制第一个图表 from pyecharts.charts import Bar bar Bar() # 创建柱形图对象 bar.add_xaxis(["衬衫","羊毛衫","雪纺衫…

创建路由React router(使用react-router dom V6版本)

React路由 隔了很长一段时间,重新捡起来React学习。 发现React的路由从原来的 Switch改成了Routes。nice,nice,nice!!!! 刚开始接触确实还是有一点生疏的。之前的关于【传参】【js跳转】【跳转模…