论文浅尝 | GPT-RE:基于大语言模型针对关系抽取的上下文学习

baae3297d4013bbb01ac4127d258e60b.png

笔记整理:张廉臣,东南大学硕士,研究方向为自然语言处理、信息抽取

链接:https://arxiv.org/pdf/2305.02105.pdf

1、动机

在很多自然语言处理任务中,上下文学习的性能已经媲美甚至超过了全资源微调的方法。但是,其在关系抽取任务上的性能却不尽如人意。以GPT-3为例,一些基于GPT-3的上下文学习抽取方法在关系抽取任务上不理想的效果主要来自于两个方面:① 检索演示示例中实体、关系的相关度较低;② 大语言模型具有将NULL例子错误分类成为预定义关系类型的强烈倾向。造成①的原因主要是以上方法通过随机选择或基于句子表示的K近邻法检索演示示例。这会导致演示示例实体、关系的相关度低;造成②的原因主要是相对于符合预定义类型的示例,NULL示例的复杂度更高,该类型是包含各种未定义的关系的集合。针对以上问题,该论文提出了结合实体感知检索策略和事实标签诱导策略的GPT-RE,以提高基于大语言模型的上下文学习在关系抽取任务上的性能。

2、贡献

该论文的主要贡献包括:

1)提出了实体感知检索策略和事实标签诱导策略,实体感知检索策略能够在演示检索中结合实体信息,获取更适合关系抽取任务的表示;事实标签诱导策略能够引导大语言模型输出更理想的结果;

2)通过实验验证了结合以上两种策略的基于大语言模型的上下文学习框架能够在关系抽取任务中取得很好的效果,在测试数据集上的性能已经赶上甚至超过了现有全监督基线模型;

3、方法

33fa327eb2ff2af4e2b541c28a3852a5.png

图1 GPT-RE框架

GPT-RE是一个使用GPT-3的基于上下文学习的关系抽取框架,其具体方法如下:

3.1 提示构建:

GPT-RE的提示主要包括三部分,分别是:①任务描述和关系预定义类型,②小样本演示示例,③输入样本。提示包含的任务描述和关系预定义类型是对关系抽取的任务描述和其相关的关系预定义类型的一个简洁概括,模型会根据这部分的内容输出预定义的关系类型,若测试样本不属于任何预定义关系类型,模型会输出NULL标签。小样本演示示例是输入模型的演示示例,其中,每条样例包含文本和该文本中所包含的关系,演示示例可以通过后续推理过程进一步的丰富。输入样本为一条文本,GPT-3的任务就是输入文本中实体对所对应的关系。

3.2 实体感知演示检索:

因为演示示例在表示空间中接近测试样本可以使模型表现出更好的性能,最近的一些工作使用K近邻法选出与测试样本句子表示最相近的演示示例。但是,由于句子表示和关系抽取之间的差异,原始上下文的表示在关系抽取任务中不足以完全作为检索演示示例的标准,该论文提出了两种新的获取表示方法提升检索演示示例的质量。

3.2.1 实体提示句子表示:

首先,考虑到实体信息在关系抽取任务中的重要性,作者利用实体对信息重建原始上下文。其具体做法是在原文中加入描述原文中实体对关系类型的内容。在计算句子相似度时,作者使用了最新的健壮模型SimCSE来计算句子之间的相似度。

3.2.2 微调关系表示:

由于关系表示在很多情况下天然地包含了实体表示的信息,与将实体信息加入到上下文中相比,更直接的解决方法是从微调模型中提取关系表示用于检索演示示例。作者认为这种方法可以潜在地弥补GPT-3在关系抽取任务中的局限性。虽然基于GPT-3的上下文学习只使用有限的演示示例,但预训练模型的微调过程可以在整个训练集上进行。这种方法有两个优点:首先,直接使用适应关系抽取任务的关系表示可以显著提高整体检索质量;其次,由于微调后的模型可以准确识别NULL类型,因此过度预测NULL问题将得到缓解。

3.3 事实标签诱导推理:

最近的工作表明,逻辑提示可以引导大语言模型获得理想输出。在该论文中,作者让GPT-3通过相应的事实关系标签来生成每个演示示例的推理逻辑过程。例如,给定一个选定的示例,作者首先基于该示例文本提出一个提示,然后利用GPT-3生成推理上下文中实体对之间关系类型的逻辑线索。最后,作者通过将生成的线索与原始示例结合起来增强演示示例。

4、实验

该论文使用了三个开放领域关系抽取数据集和一个科学领域关系抽取数据集共四个数据集作为实验数据,分别为:Semeval 2010 task 8, TACRED, ACE05和SciERC。基于以上四个数据集的对比方法共分为两大类,第一类为传统的微调基线模型,如PURE;第二类是基于GPT-3的基线模型,如GPT-Random等。该论文对比了以上基线模型和GPT-RE在使用不同表示检索演示示例时的性能,并对比了是否加入实施标签诱导推理提示时GPT-RE的性能差异,其主实验结果如下图所示:

783b0cd2660fcb2b219395fb19a8c14a.png

图2 实验结果

此外,该论文也进行了一系列消融实验和在低资源场景下的实验,具体实验结果请参照原论文。

实验结果表明:① 在检索演示示例时,使用适合特定任务的句子表示是有必要的,无论是使用GPT-RE_SimCSE还是GPT-RE_FT都取得了比GPT-Sent更好的效果;② GPT-RE_FT表现出的性能表明,基于GPT-3的上下文学习有潜力在关系抽取上取得很好的效果,甚至已经在Semeval和SciERC上取得了SOTA效果;③ 相比于GPT-RE_SimCSE,推理模块对GPT-RE_FT的加成更小,这说明GPT-RE_FT获得的演示示例在本实验中质量更高。同时,小样本时推理模块会使模型具有更好的性能。

5、总结

总的来说,该论文探索了GPT-3 上下文学习在关系抽取任务上的潜力。针对GPT-3在此任务上存在的问题,该论文提出了两个策略弥补了基于GPT-3框架和目前SOTA基线模型的差距,实验结果表明,GPT-RE在三个数据集上显著优于微调基线模型,并在Semeval和SciERC上实现了SOTA效果。同时,作者对GPT-3如何克服现有困难,如NULL标签的影响等进行了详细的实例分析,以上工作对后续研究具有比较大的意义。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

45c3024e094943d0d1c14afcab4d9c9b.png

点击阅读原文,进入 OpenKG 网站。

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

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

相关文章

【解读】保障软件供应链安全:SBOM推荐实践指南(含指南获取链接)

2023年11底,美国NSA(National Security Agency)、CISA(Cybersecurity and Infrastructure Security Agency)等多个政府机构部门组成的ESF(Enduring Security Framework,持久安全框架&#xff09…

scenic-view,一款冷门的JavaFX开发神器

用Java做图形界面本就很冷门,那么通过JavaFX开发GUI可能就更加冷门,毕竟前面还有Swing这位前辈。不过为了那些同为JavaFX的开发者,今天给大家带来一款JavaFX开发神器。 scenic-view Scenic View是一个JavaFX应用程序,旨在简化理…

【数据结构】深入探讨二叉树的遍历和分治思想(一)

🚩纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:数据结构 🔥该文章主要讲述二叉树的递归结构及分治算法的思想。 目录: 🌍前言:🌍…

Redis和Mysql的数据一致性问题

在高并发的场景下,大量的请求直接访问Mysql很容易造成性能问题。所以我们都会用Redis来做数据的缓存,削减对数据库的请求的频率。 但是,Mysql和Redis是两种不同的数据库,如何保证不同数据库之间数据的一致性就非常关键了。 1、导…

​​SQLiteC/C++接口详细介绍之sqlite3类(十一)

返回目录:SQLite—免费开源数据库系列文章目录 上一篇:​​SQLiteC/C接口详细介绍之sqlite3类(十) 下一篇:​​SQLiteC/C接口详细介绍之sqlite3类(十二)(未发表) 33.sq…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Web)下篇

onRequestSelected onRequestSelected(callback: () > void) 当Web组件获得焦点时触发该回调。 示例: // xxx.ets import web_webview from ohos.web.webviewEntry Component struct WebComponent {controller: web_webview.WebviewController new web_webv…

鸿蒙开发实现弹幕功能

鸿蒙开发实现弹幕功能如下: 弹幕轮播组件:BannerScroll import type { IDanMuInfoList, IDanMuInfoItem } from ../model/DanMuData //定义组件 Component export default struct BannerScroll {//Watch 用来监视状态数据的变化,包括&#…

如何通过小程序上的产品力和品牌力提升用户的复购能力?

随着网络购物小程序的发展以及内容电商、社交电商、垂直电商、品牌自营等多个细分类型的出现,小程序成为用户日常购物、大促囤货以及首发抢购的重要场景,市场竞争也逐渐激烈。如何在用户侧获得更多转化、留存与复购,成为企业品牌日益关注的话…

在Linux/Ubuntu/Debian中使用windows应用程序/软件

Wine 是一个兼容层,允许你在类 Unix 操作系统(包括 Ubuntu)上运行 Windows 应用程序。 以下是在 Ubuntu 上安装和使用 Wine 的基本步骤: 在 Ubuntu 上安装 Wine: 更新软件包列表: 打开终端并运行以下命令以…

服务器机器学习环境搭建(包括AanConda的安装和Pytorch的安装)

服务器机器学习环境搭建 1 服务器与用户 在学校中,我们在学校中是以用户的身份进行访问学校的服务器的。整体框架大致如下: 我们与root用户共享服务器的一些资源,比如显卡驱动,Cuda以及一些其他的公共软件。 一般情况下&#…

(一)、机器人时间同步方案分析

1、是否有必要进行时间同步 目前的自动驾驶系统包括 感知、定位、决策规划、控制 等模块,这些模块的正常运行需要依靠各种不同类型的传感器数据的准确 融合。尤其是激光雷达与相机这两种传感器在感、知定位模块中起着至关重要的作用。机械式旋转扫描激光雷达本身较低…

单链表OJ题:LeetCode--141.环形链表

朋友们、伙计们,我们又见面了,本期来给大家解读一下LeetCode中的第141道单链表OJ题,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! 数据结构与算法专栏:数据结构与算法 个 …

Linux 常用命令100+

Linux 运维/开发/测试 常用命令100(v1.1) 帮助命令(2个) 命令功能说明示例man 命令查看普通命令帮助,命令的词典,更复杂的还有info,但不常用。rootbrLinux ~]#man lshelp 命令查看Linux内置命令的帮助,比如cd命令。[rootbrLinux…

ISIS接口认证实验简述

默认情况下,ISIS接口认证通过在ISIS协议数据单元(PDU)中添加认证字段,例如:一个密钥或密码,用于验证发送方的身份。 ISIS接口认证防止未经授权的设备加入到网络中,并确保邻居之间的通信是可信的…

Spring学习

Maven 的配置文件是一个强约定的XML格式文件&#xff0c;它的文件名一定是pom.xml。 1、POM (Project Object Model) 一个 Java 项目所有的配置都放置在 POM 文件中&#xff0c;大概有如下的行为&#xff1a; 定义项目的类型、名字管理依赖关系定制插件的 1.maven坐标 <…

使用html+css制作一个发光立方体特效

使用htmlcss制作一个发光立方体特效 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Documen…

基于SpringBoot SSM vue办公自动化系统

基于SpringBoot SSM vue办公自动化系统 系统功能 登录 个人中心 请假信息管理 考勤信息管理 出差信息管理 行政领导管理 代办事项管理 文档管理 公告信息管理 企业信息管理 会议室信息管理 资产设备管理 员工信息管理 开发环境和技术 开发语言&#xff1a;Java 使用框架: S…

如何在“Microsoft Visual Studio”中使用OpenCV编译应用程序

返回目录&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 前一篇&#xff1a;OpenCV4.9.0在windows系统下的安装 后一篇&#xff1a; 警告&#xff1a; 本教程可以包含过时的信息。 我在这里描述的所有内容都将适用于 OpenCV 的C\C接口。我首先假…

第八阶段:uni-app小程序 --首页开发(2)

一&#xff1a;分析页面布局 1.1: 功能 搜索框&#xff1a; 轮播图&#xff1a; 分类的导航区&#xff1a; 楼层区&#xff1a; 二&#xff1a; 利用命令创建home分支 git branch git checkout -b home git branch 三&#xff1a; 配置网络请求(main.js 入口函数&#x…

plt保存PDF矢量文件中嵌入可编辑字体(可illustrator编辑)

背景&#xff1a; 用默认 plt.savefig() 保存图片&#xff0c;图中文字是以瞄点保存&#xff0c;而不是以文字格式。在编辑矢量图中&#xff0c;无法调整文字大小和字体。 方法&#xff1a; import matplotlib.pyplot as plt import numpy as np# ------输出的图片为illustr…