关系分类(RC)模型和关系抽取(RE)模型的区别
目标不同
关系分类模型:对给定的实体对在给定句子中预测其关系类型。两阶段(RC)
关系抽取模型:从句子中识别出所有潜在实体对,并为其预测关系类型。一阶段(NER+RE)
训练/预测阶段输入输出数据不同
关系分类模型:
训练阶段
训练:
输入:句子 + 实体对| 句子:苹果公司总部位于加州库比蒂诺| 实体对:(苹果公司, 加州库比蒂诺)| 标注真实关系标签:位于
输出:模型预测关系:位于
预测阶段
预测:
输入:句子 + 实体对| 句子:苹果公司总部位于加州库比蒂诺| 实体对:(苹果公司, 加州库比蒂诺)
输出:模型预测关系:位于
关系抽取模型:
训练阶段
输入:句子:乔布斯是苹果公司的创始人标注真实集合:实体集合:{乔布斯: 人物, 苹果公司: 组织}关系集合:{(乔布斯, 创立, 苹果公司)}输出:模型生成:实体集合:{乔布斯: 人物, 苹果公司: 组织}关系集合:{(乔布斯, 创立, 苹果公司)}
预测阶段
输入:句子:乔布斯是苹果公司的创始人输出:预测的实体集合:{乔布斯: 人物, 苹果公司: 组织}预测的关系集合:{(乔布斯, 创立, 苹果公司)}
🤔 关系分类模型和关系抽取模型在训练时使用的数据集有何不同?
关系分类模型和关系抽取模型在训练时使用的数据集是不同的,因为它们的任务目标和方法逻辑不同。以下是两者在数据集格式和内容上的主要区别:
1. 关系分类模型的数据集
目标:从给定的句子和实体对中预测其关系类型。
数据集格式
每条数据是一个三元组,包括句子、实体对和关系标签。
-
内容:
- 句子:单个句子,包含明确的上下文。
- 实体对:两个实体,通常以
(实体1, 实体2)
的形式表示。 - 关系标签:从一个固定的关系集合中选择一个标签。
-
示例:
数据: - 句子:乔布斯是苹果公司的创始人。 - 实体对:(乔布斯, 苹果公司) - 关系标签:创立
特点
- 数据中的实体对是已知的,无需模型检测。
- 每个句子只针对特定的实体对预测关系。
- 需要提供明确的关系标签集合。
2. 关系抽取模型的数据集
目标:从一个句子中同时识别所有的实体和它们之间的关系。
数据集格式
每条数据是一个整体标注,包括句子、实体集合和关系集合。
-
内容:
- 句子:一个包含多个实体及其潜在关系的句子。
- 实体集合:多个实体及其类别,通常以
{实体: 类别}
的形式表示。 - 关系集合:所有可能的实体对及其关系,通常以
{(实体1, 关系, 实体2)}
的形式表示。
-
示例:
数据: - 句子:乔布斯是苹果公司的创始人。 - 实体集合:{乔布斯: 人物, 苹果公司: 组织} - 关系集合:{(乔布斯, 创立, 苹果公司)}
特点
- 不提前提供实体对,需要模型自己识别所有实体及其类别。
- 多对多关系:每个句子可能包含多个实体和多个关系。
- 输出的关系标签是针对完整关系集合的预测。
3. 数据集的差异总结
维度 | 关系分类模型 | 关系抽取模型 |
---|---|---|
句子 | 必须提供 | 必须提供 |
实体 | 已标注的特定实体对 | 模型需识别所有实体 |
关系 | 单一关系标签 | 关系集合 |
标注粒度 | 针对单对实体 | 针对整句话 |
多样性 | 每个数据实例仅对应一个实体对和一个关系 | 每个数据实例可能包含多个实体和关系 |
4. 应用场景的影响
- 关系分类模型适用于场景:
- 输入的实体对已明确,模型只需专注于关系预测。
- 数据集中实体对已事先标注好。
- 任务目标明确,单关系分类足够。
- 关系抽取模型适用于场景:
- 输入中实体对不明确,需要从文本中检测所有可能的实体。
- 输入句子可能包含多个实体对和关系,需要整体预测。
关系分类和关系抽取的数据集
模型分数SOTA排名
各个数据集的各个模型最新排名-SOTA:Relation Extraction | Papers With Code
关系分类模型的数据集:
- SemEval-2010 Task-8:这个数据集主要用于关系分类,它包含了多个预定义的关系类别,模型需要识别实体对之间的关系。9 种有向关系 + 1 种无关系,总共 10 种关系
- ACE 2005:这个数据集也用于关系分类,它包含了实体和它们之间的关系,需要模型识别实体对之间的关系类型。7种关系类型
关系抽取模型的数据集:
- DocRED:这是一个用于文档级别的关系抽取的数据集,它包含了多个句子,每个句子中可能包含多个实体和关系,需要模型识别实体及其关系。96 种关系类型
- TACRED:这个数据集用于关系抽取,它包含了句子和实体对,以及它们之间的关系,需要模型识别实体的边界和关系。41 种关系
- CoNLL04:这个数据集主要用于命名实体识别,但它也包含了关系抽取的任务,需要模型识别实体和它们之间的关系。
- Adverse Drug Events (ADE) Corpus:这个数据集用于药物不良反应事件的抽取,需要模型识别实体(如药物和不良反应)及其关系。
- WebNLG:这个数据集用于生成任务,但它也包含了关系抽取的元素,需要模型识别实体和它们之间的关系。
- ChemProt:这个数据集用于化学蛋白质交互作用的抽取,需要模型识别实体(如化学物质和蛋白质)及其关系。
- NYT11-HRL:这个数据集用于从纽约时报文章中抽取人物和组织的关系,需要模型识别实体及其关系。53种关系类型
- ACE 2004:这个数据集用于实体识别和关系抽取,需要模型识别实体的边界和它们之间的关系。
总结
大致分类如上,注意某些数据集可能同时包含关系分类和关系抽取的任务。
- 关系分类模型:关系类型通常较少(10~50 种),适合精确分类。
- 关系抽取模型:关系类型通常更多(50~100+),适合开放环境的关系挖掘。如领域数据集
相关文章:

关系分类(RC)模型和关系抽取(RE)模型的区别
目标不同 关系分类模型:对给定的实体对在给定句子中预测其关系类型。两阶段(RC) 关系抽取模型:从句子中识别出所有潜在实体对,并为其预测关系类型。一阶段(NERRE) 训练/预测阶段输入输出数据不…...
什么是索引
在数据库管理系统中,索引是一种数据结构,用于快速定位数据库表中的特定记录。索引类似于一本书的目录,可以帮助数据库引擎迅速找到所需的数据,而不必扫描整个表。 类型:常见的数据库索引类型包括B树索引、哈希索引、全…...

OJ随机链表的复制题目分析
题目内容: 138. 随机链表的复制 - 力扣(LeetCode) 分析: 这道题目,第一眼感觉非常乱,这是正常的,但是我们经过仔细分析示例明白后,其实也并不是那么难。现在让我们一起来分析分析…...

UE5材质节点Distance
Distance可以计算两个物体间的距离,可以用来做过渡效果 当相机和物体距离3000的时候,就会渐渐从蓝过渡到红色,除以500是为了平滑过渡...

OSPF - SPF算法简述
SPF全称最短路径树算法,相信学过数据结构朋友应该看起来很熟悉 在一个区域内的路由器都会产生描述自己网络连接信息的LSA,包括两种信息,有路由信息和拓扑信息,简单的来说拓扑信息就是我连着谁,路由信息就是链路的地址…...

7.UE5横板2D游戏,添加分类,创建攻击,死亡逻辑,黑板实现追击玩家行为
目录 1.将变量分类 2.创建攻击 3.应用伤害逻辑 4.死亡逻辑,停止AI行为 5.AI追击玩家,使用黑板实现 1.将变量分类 2.创建攻击 创建攻击输入为鼠标左键,并绑定映射。 攻击动画,在角色状态的枚举中添加一个新的枚举 攻击输入的…...

PostgreSQL对称between比较运算
本文介绍PostgreSQL对称between比较功能:between symmetric,在动态拼接SQL时利用它可以简化判断。PostgreSQL 9.4 及以上版本支持BETWEEN SYMMETRIC操作符,MySQL、Oracle、MsSQL没有对应功能。 between 比较 PostgreSQL的between结构允许你对…...

Spring AOP面向切面编程
Spring AOP面向切面编程 面向切面编程AOP作用AOP功能AOP总结 AOP核心概念AOP的实现方式Spring 对AOP支持支持Aspect声明一个切面声明一个切入点AspectJ描述符如下AspectJ类型匹配的通配符常用的匹配规则 声明增强 用AOP实现日志拦截一般的实现仅拦截需要的方法先定义一个日志注…...

Visual Studio 中增加的AI功能
前言: 人工智能的发展,在现在,编程技术的IDE里面也融合了AI的基本操做。本例,以微软的Visual Studio中的人工智能的功能介绍例子。 本例的环境: Visual Studio 17.12 1 AI 智能变量检测: 上图展示了一…...
15. 接雨水
接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(…...

从索尼爱立信手机打印短信的简单方法
昨天,我买了一部新手机来代替我的旧索尼爱立信Xperia,但手机上有很多珍贵的短信,是我男朋友发来的,我不想失去它们。然后我尝试打印它们,但我无法从我的索尼爱立信手机中取出它们。您有什么从索尼爱立信手机打印短信的…...
Java-list均分分割到多个子列表
在Java中,如果你有一个List并且想要将其均分到多个子列表中,可以使用以下方法。假设你有一 个List<T>,并且想要将其分成n个子列表。 import java.util.ArrayList; import java.util.List;public class ListSplitter {public static <T> List<List<T>…...

kettle合并表数据
总体执行图:以两个数据表作为输入,根据关键栏位进行合并后,以excel表输出。 两表数据输入 需要确定查询的表名 2. 根据关键栏位进行排序。在记录集连接之前需要进行排序操作 3. 记录连接与合并 此方式表示select EQP_ID, ID FROM T_EQP_C…...

蓝耘平台使用InstantMesh生成高质量的三维网格模型!3D内容创作!小白入门必看!!!
目录 引言 InstantMesh应用介绍 蓝耘平台与InstantMesh结合使用 如何部署(超简单) 第一步登录蓝耘平台 第二步点击应用商城 编辑 第三步选择InstantMesh 第四步点击部署 第五步点击快速启动应用 第六步即可体验该产品 总结 注册链接 引言…...

关于IDE的相关知识之二【插件推荐】
成长路上不孤单😊😊😊😊😊😊 【14后😊///计算机爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于ide插件推荐的相关内容!…...

oceanbase集群访问异常问题处理
1.报错现象 2.问题排查 检查obproxy状态发现为不可用状态 重启obproxy 依次重启Obproxy集群 观察任务状态 重启完成 Obproxy状态正常 3.验证登录 登录成功...

Linux(centos)安装 MySQL 8 数据库(图文详细教程)
前言 前几天写了个window系统下安装Mysql的博客,收到很多小伙伴私信需要Linux下安装Mysql的教程,今天这边和大家分享一下,话不多说,看教程。 一、删除以前安装的MySQL服务 一般安装程序第一步都需要清除之前的安装痕迹ÿ…...

C++之map和set的模拟实现
目录 引言 红黑树迭代器实现 红黑树元素的插入 map模拟实现 set模拟实现 之前我们已经学习了map和set的基本使用,但是因为map和set的底层都是用红黑树进行封装实现的,上期我们已经学习了红黑树的模拟实现,所以本期我们在红黑树模拟实现…...
判断一个单链表是否是回文结构 要求O(N)时间复杂度 O(1)空间复杂度
没做出来 看了解析 但是思路想到了 就是只能调整链表顺序,正确答案是 把链表变成两条单链表,分别从两侧走向中间拿两个指针 分别指向两头 ,往中间走 中途有不一样的就返回false, private static boolean handle(Node head){int size size…...
Kafka 快速实战及基本原理详解解析-01
一、Kafka 介绍 1. MQ 的作用 消息队列(Message Queue,简称 MQ)是一种用于跨进程通信的技术,核心功能是通过异步消息的方式实现系统之间的解耦。它在现代分布式系统中有着广泛的应用,主要作用体现在以下三个方面&…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...