论文浅尝 | 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.kler.cn/a/274847.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringMVC04 实现简单的留言墙功能

前言 我们之前实现的前端留言墙功能的缺陷是不能持久化,刷新一下页面就直接没有了,实际上我们应该将数据存储到数据库中做一个硬盘上的持久化,现在我们先做一个简单的前后端交互,使用一个ArrayList来存储,在内存中保存,这样刷新页面也不会导致数据丢失的情况 但是我们一旦刷新…

远程安全访问JumpServer:使用cpolar内网穿透搭建固定公网地址

文章目录 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpS…

反射与串扰

一、 反射 原因:由于AD采集端与传感器端和双绞线的阻抗不匹配而导致待测信号在AD处反射叠加; 解决办法:1、对AD采集端和炮榄传感器端进行合适于炮榄的阻抗匹配。具体来说可 以在AD采集端并联一个匹配电阻,电阻的阻值需要和传输线…

Gin框架 源码解析

https://zhuanlan.zhihu.com/p/136253346 https://www.cnblogs.com/randysun/category/2071204.html 这个博客里其他go的内容也讲的很好 启动 因为 gin 的安装教程已经到处都有了,所以这里省略如何安装, 建议直接去 github 官方地址的 README 中浏览安装…

图神经网络实战(5)——常用图数据集

图神经网络实战(5)——常用图数据集 0. 前言0. 图数据集介绍2. Cora 数据集3. Facebook Page-Page 数据集小结系列链接 0. 前言 图数据集往往比单纯的连接集合更丰富,节点和边也可以具有表示分数、颜色、单词等的特征。在输入数据中包含这些…

计算机毕业设计-基于python的旅游信息爬取以及数据分析

概要 随着计算机网络技术的发展,近年来,新的编程语言层出不穷,python语言就是近些年来最为火爆的一门语言,python语言,相对于其他高级语言而言,python有着更加便捷实用的模块以及库,具有语法简单…

【web世界探险家】HTML5 探索与实践

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ &…

【SpringBoot3+MyBatis-Plus】头条新闻项目实现CRUD登录注册

文章目录 一、头条案例介绍二、技术栈介绍三、前端搭建四、基于SpringBoot搭建项目基础架构4.1 数据库脚本执行4.2 搭建SprintBoot工程4.2.1 导入依赖:4.2.2 编写配置4.2.3 工具类准备 4.3 MybatisX逆向工程 五、后台功能开发5.1 用户模块开发5.1.1 jwt 和 token 介绍5.1.2 jwt…

webpack5零基础入门-12搭建开发服务器

1.目的 每次写完代码都需要手动输入指令才能编译代码,太麻烦了,我们希望一切自动化 2.安装相关包 npm install --save-dev webpack-dev-server 3.添加配置 在webpack.config.js中添加devServer相关配置 /**开发服务器 */devServer: {host: localhos…

Docker 从0安装 nacos集群

前提条件 Docker支持一下的CentOs版本 Centos7(64-bit),系统内核版本为 3.10 以上Centos6.5(64-bit) 或者更高版本,系统内核版本为 2.6.32-431 或者更高版本 安装步骤 使用 yum 安装(CentOS 7下) 通过 uname -r 命令查看你当…

Linux文件 profile、bashrc、bash_profile区别

Linux系统中,有三种文件 出现的非常频繁,那就是 profile、bash_profile、bashrc 文件。 1、profile 作用 profile,路径:/etc/profile,用于设置系统级的环境变量和启动程序,在这个文件下配置会对所有用户…

vivado 物理优化约束、交互式物理优化

物理优化约束 Vivado Design Suite在物理优化过程中尊重DONT_TOUCH特性。它不在具有这些属性的网络或小区上执行物理优化。要加快网络选择过程中,具有DONT_TOUCH属性的网络经过预过滤,不被考虑用于物理优化。此外,还遵守Pblock分配&#xff…

嵌入式学习41-数据结构2

今天学习了链表的增删改查 (暂定!!后续再补内容) 高内聚 :一个函数只实现一个功能 …

Java学习笔记:异常处理

Java学习笔记:异常处理 什么是异常异常体系结构:Error、Exception自定义异常 ​ **2024/3/19** 什么是异常 异常体系结构:Error、Exception 自定义异常

UE5 GAS开发p30 创建UI HUD 血条

新建AuraUserWidget,AuraWidgetController,AuraHUD 首先设置AuraWidgetController.h // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "AbilitySystemComponent.h" #in…

风丘电动汽车高压测试方案 助您高效应对车辆试验难题

针对电动汽车道路试验的要求,风丘科技携手德国IPETRONIK共同推出了电动汽车高压测试方案。电动汽车测试通常有两种测量手段:第一种是测量模拟量信号,包括电压、电流、温度和高压;第二种是使用数据记录仪或CAN卡从车辆总线读取数据…

JS+CSS3点击粒子烟花动画js特效

JSCSS3点击粒子烟花动画js特效 JSCSS3点击粒子烟花动画js特效

C++:类和对象(上篇)

目录: 一:面向对象和过程的介绍 二:类的引入 三:类的定义 四:类的访问限定符以及封装 五:类的作用域 六:类的实例化 七:类对象大小的计算 八:类成员函数的this指…

一次完整的 HTTP 请求所经历的步骤

1: DNS 解析(通过访问的域名找出其 IP 地址,递归搜索)。 2: HTTP 请求,当输入一个请求时,建立一个 Socket 连接发起 TCP的 3 次握手。如果是 HTTPS 请求,会略微有不同。 3: 客户端向服务器发…

智慧城市的发展趋势与挑战:未来展望

随着信息技术的飞速发展,智慧城市已成为现代城市发展的重要方向。智慧城市通过集成应用先进的信息通信技术,实现城市管理、服务、运行的智能化,为城市的可持续发展注入了新的活力。然而,在智慧城市的发展过程中,也面临…
最新文章