实体关系抽取

news2024/10/5 14:47:01

关系抽取分为pipeline型和联合(Joint)抽取。

pipeline形式:

  • 指把关系抽取,拆分成多个任务,如【先抽Subject,再一起抽Predict和Object】(CasRel)、【先判断Predict,再一起抽Subect和Object】(PRGC)。可见,每一个子任务都依赖前面的任务结果作为输入,存在误差传播的问题

Joint常见两种类型:

  • 不同任务之间共享编码层,通过编码层参数共享,在实体抽取和关系抽取的能进行信息交互。注意的是,解码时还是Pipeline的形式,一样存在误差传播的问题
  • One-Stage的解码形式,如TPLinker、OneRel,不同任务之间没有互相作为输入依赖,避免误差传播的问题

关系抽取还好考虑以下问题:

在这里插入图片描述

  • SEO:SingleEntityOverlap,如上图中的Los Angeles与多个实体有关系
  • EPO:EntityPairOverlap,如上图的China与Beijing有capital city和contains两个关系
  • SOO:Subject Object Overlap,也有称为HOO(HeadTailOverlap)的,Subject和Object有nest嵌套的情况。

前沿的方法基本都能解决Overlap问题。而应用时,要看实际场景会不会遇到这些问题,假如没有的话,其实大部分方法都可以进行简化的。

CasRel(ACL 2020)

CasRel:Cascade Relational Triple Extraction

《A Novel Cascade Binary Tagging Framework for Relational Triple Extraction》

吉林大学、苏神的文章

在这里插入图片描述

CasRel解决EPO方法就是“拆”,同样是先抽Subject,如图中Jackie R.Brown被抽取出来,不同于ETL,用一个序列标注把所有Predict和Object都抽取出来,CasRel对于每个关系类型都要单独做对应的Object抽取,有N个关系,就有2N个序列(一个关系要有一个Start序列和End序列)

此外,CasRel是用 0/1 这种Binary Tagging的方式,Start序列把实体的头token标为1,End序列把实体的尾token标为1,解码时利用nearest的原则

为了把Subject的信息作为先验信息,带入到Predict和Object的抽取中。论文对Subecjt在词上面做mean pooling,然后拼接到指定Predict的Object抽取的token上面,从而完成Subject到Predict和Object的映射。

p i s t a r t _ o = σ ( W s t a r t r ( x i + v s u b k ) + b s t a r t r ) p i e n d _ o = σ ( W e n d r ( x i + v s u b k ) + b e n d r ) p_i^{start\_o}=\sigma(W^r_{start}(x_i+v^k_{sub})+b^r_{start}) \\ p_i^{end\_o}=\sigma(W^r_{end}(x_i+v^k_{sub})+b^r_{end}) pistart_o=σ(Wstartr(xi+vsubk)+bstartr)piend_o=σ(Wendr(xi+vsubk)+bendr)

span-based(2021)

Span-based Joint Entity and Relation Extraction with Transformer Pre-training
在这里插入图片描述

SpERT: 也是采用一个encoder,两个decoder分别解码实体及实体pair间的关系,可以看图最清楚了。

  1. 采用span方式的生成所有潜在的span(例: eat a apple ,生成片段:eat, eat a, eat a apple, a, a apple, apple也就是一句话T个字,会生成T*(T+1)/2个片段),对每个span进行实体的判别.*
  2. 实体分类(span-entity classification):通过concat(maxpool(span_len) || width_embedding || cls), 以此向量代表实体的特征,从而进行分类。
  3. 关系分类(span-classification),若有S个entity,则进行S*(S-1)次实体pair分类。 实体pair特征为concat(e(s1) || maxpooling(local_context) || e(s2))。
    最后两个loss叠加作为总体loss一起进行优化。 Loss = loss(span-entity classification) + loss(span-classification)

SpERT主要适用于嵌套的实体问题,同时也适用于multi-relation问题,但是两个decoder的pipline解码方式也是存在误差累积问题的。

TPLinker(COLING 2020)

TPLinker:Token Pair Linking

《TPLinker: Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking》

中科大的文章

像CasRel这种Pipeline方法缺点在于曝光偏差误差传播

  • 曝光偏差:如CasRel训练时,是拿Gold Subjet作为输入去训练抽取Predict和Object的模块,而在预测时,是拿预测出来的Subject作为输入的,这就造成train和test的bias
  • 误差传播:错误不可逆地传播。如某个Subject漏抽了,那Predict和Ojbect那一步是无法修复的,误差会累积传播,不可逆

方法解读:

  • TPLinker的解决方法在于构造1+2*N的全局信息矩阵(N为关系类别数)。首先,1个矩阵用于抽取所有的Subject和Object。另外对于每个关系,构建两个矩阵,分别为subject head to object head(SH-to-OH)和subject tail to object tail(ST-to-OT)。然后利用handshaking tagging scheme来做一个实体与关系之间的对齐,解码出三元组
  • 因为TPLinker在训练时不同矩阵信息没有互相作为输入依赖(虽然解码时是有互相约束的,但不作为输入即可),从而实现了train和test的一致性

在这里插入图片描述
在这里插入图片描述

优点:

  • 能解决SEO/EPO/SOO重叠问题
  • 能解决Pipeline方法令人诟病的曝光偏差和误差传播

GPLinker(2022)

看参考文献吧

参考

https://zhuanlan.zhihu.com/p/349699217

GPLinker:基于GlobalPointer的实体关系联合抽取

https://spaces.ac.cn/archives/7161
https://zhuanlan.zhihu.com/p/494142704
https://zhuanlan.zhihu.com/p/498089575
https://zhuanlan.zhihu.com/p/480408779

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

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

相关文章

『博客专家』- 你申请了吗?

目录为什么要申请专家博客?个人申请专家博客的流程?个人申请经历7月20日7月20日7月22日7月27日8月2日8月7日8月9日9月26日10月23日10月28日【补】12月5日【补】12月23日总结提一盏读书灯,去翻山越岭; 为什么要申请专家博客? 每次看到厉害的博…

Java中ArrayList如何删除指定位置的元素

目标&#xff1a;list中有0到39共40个元素&#xff0c;删除其中索引是10、20、30的元素 方案一&#xff1a;使用普通for循环从前往后遍历再删除 初始化List列表 List<String> list new ArrayList<>(); for (int i 0; i < 40; i) {list.add("element&qu…

Leetcode 剑指 Offer II 009. 乘积小于 K 的子数组

题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个正整数数组 nums 和整数 k &#xff0c;请找出该数组内乘…

处方眼镜镜片在线定制类跨境电商独立站怎么做?

对于处方眼镜镜片&#xff0c;有很多的参数&#xff0c;对于在线类跨境电商商城&#xff0c;需要用户一步一步的提交很多的眼镜参数&#xff0c;下面是fecify眼镜镜片参数的定制过程, fecify的眼镜定制插件提供强有力的支持&#xff0c;下面是处方眼镜镜片在线定制类跨境电商独…

为什么Windows错误报告叫作Dr. Watson?

应该有一部分人可能会知道&#xff0c;Windows 错误报告有一个昵称&#xff0c;叫做”Dr. Watson”(华生医生)&#xff0c;没事&#xff0c;你不知道&#xff0c;也没关系。 今天的文章主要是讲讲&#xff0c;这个”Dr. Watson”名称的来历。 和你所猜想的一样&#xff0c;Dr.…

Java高手速成 | Java集合类泛类型

Java高手是这样炼成的。 01、Java集合类包括哪些&#xff1f; 作为学习集合类泛类型的预备知识&#xff0c;图1列出了Java集合类继承图。要学会集合类泛类型&#xff0c;除了懂得集合类外&#xff0c;大家也需 要了解继承的工作原理。图中虚线表示Collection是一个接口。 02…

Java-性能分析监控工具

Java监控和管理 Java监控和管理API Java Standard Edition&#xff08;Java SE&#xff09;平台提供的监控和管理技术 - JMX&#xff08;Java Management Extensions&#xff09; 技术。 Java SE 中包含了用于监控和管理的&#xff08;java.lang.management&#xff09;API&…

RabbitMQ 总结一(简介、安装、Demo)

目录 什么是MQ RabbitMQ和netty是什么关系 作用 流量削峰 应用解耦 异步处理 MQ的构成 生产者 交换机 队列 消费者 下载安装 案例Demo producer 第一步&#xff0c; 定义好连接的信息并且拿到连接&#xff0c;一般一个consumer/ producer 和broker只会建立一条连…

mysql之日志

前言 一条数据在更新过程当中&#xff0c;如果中途 mysql crash 了&#xff0c;mysql 是如何保证数据的一致性和持久性的&#xff1f;在这个过程中 mysql 的日志系统起到了至关重要的作用。本文将会介绍 mysql 中的 undo log、redo log 和 bin log 在这其中的作用。 buffer p…

230109-MacOS解决brew安装慢的问题

MacOS解决brew安装慢的问题 原文请移步参考&#xff1a; https://www.zhihu.com/question/46963138 cd "$(brew --repo)" git remote set-url origin https://mirrors.ustc.edu.cn/brew.gitecho export HOMEBREW_BOTTLE_DOMAINhttps://mirrors.ustc.edu.cn/homebrew…

2022年度大赏 | UWA问答精选

UWA每周推送的知识型栏目《厚积薄发 | 技术分享》已经伴随大家走过了304个工作周。精选了2022年十大精彩问答分享给大家&#xff0c;期待2022年UWA问答继续有您的陪伴。 Q1&#xff1a;动态获取URP设置里自定义的RenderFeatures 我们在URP项目中自定义了多个RenderFeatures去实…

2022年度总结,以及2023的全新展望

时光总是在你的不经意间流逝&#xff0c;无法挽留&#xff1b;留得住的是你过去的努力和回忆&#xff0c;它也许充斥着快乐、忧伤、病痛等等。俗话说得好“笑一笑十年少”&#xff0c;那么我希望与快乐随行&#xff0c;让痛苦尘封记忆。让我们总结过去&#xff0c;展望未来&…

Python tkinter -- 第18章 画布控件之矩形

18.2.20 create_rectangle(bbox, **options) 根据限定矩形 bbox&#xff0c;在画布上创建一个矩形。新创建的对象位于显示的最前端。 &#xff08;1&#xff09;bbox&#xff1a;定义要创建对象的边界(x1, y1, x2, y2) &#xff08;2&#xff09;options&#xff1a; 选项的具体…

ICESat数据下载

ICESat数据下载1. ICESat简介2. ICESat数据产品2.1 GLA01数据2.2 GLA14数据3. 数据下载4. 总结1. ICESat简介 2003年美国国家航空航天局NASA ( National Aeronautics and SpaceAdministration)发射冰、云和陆地高程卫星ICESat&#xff0c;其上搭载的地球科学激光测高系统GLAS是…

基于YOLOv5的智能人脸数据标注工具源码,实现人脸数据标注自动化,可导出PASCAL VOC XML、MS COCO JSON

基于YOLOv5的智能人脸数据标注工具&#xff0c;实现人脸数据标注自动化 可自定义人脸检测模型、可导出多种格式标签&#xff0c;包括PASCAL VOC XML、MS COCO JSON、YOLO TXT 下载地址&#xff1a;基于YOLOv5的智能人脸数据标注工具源码&#xff0c;实现人脸数据标注自动化 …

智能黑白图像自动上色——C++实现

前言 《Colorful Image Colorization》是加里福利亚大学Richard Zhang发表在ECCV 2016上的文章&#xff0c;论文主要解决的问题是给灰度图的自动着色&#xff0c;算法并不是为恢复灰度图的真实颜色&#xff0c;而是用灰度图中物体的纹理、语义等信息作为线索&#xff0c;来预测…

Gradle学习笔记01

一、Gradle视频介绍新一代构建工具Gradle&#xff0c;提到项目自动化构建工具&#xff0c;首先提到的是Maven。现在谈谈Gradle与Maven之间的差异&#xff1a;同样作为项目自动化构建工具&#xff0c;Maven更侧重于项目jar包的管理&#xff0c;而Gradle侧重于项目的构建&#xf…

卷积层、卷积层里的填充和步幅

多层感知机正式总结卷积层之前&#xff0c;先把上次多层感知机落下的一点内容补一补。几个概念&#xff1a;训练数据集&#xff1a;训练模型参数。验证数据集&#xff1a;选择模型超参数。训练误差&#xff1a;模型在训练数据上的误差。泛化误差&#xff1a;模型在新数据上的误…

Linux常用命令——lftp命令

在线Linux命令查询工具 lftp 优秀的文件客户端程序 补充说明 lftp命令是一款优秀的文件客户端程序&#xff0c;它支持ftp、SETP、HTTP和FTPs等多种文件传输协议。lftp支持tab自动补全&#xff0c;记不得命令双击tab键&#xff0c;就可以看到可能的选项了。 语法 lftp(选项…

基于PCAP搭建软HUB实现物联网在线调试

完整工程可从以下地址签出&#xff1a; https://gitcode.net/coloreaglestdio/pcaphub.git 1.需求场景 在调试嵌入式物联设备时&#xff0c;尤其是在多个以太网物联设备交错通信的情况下&#xff0c;很难通过在捉襟见肘的嵌入式系统上进行数据记录与调试。如果设备连接的是一…