当前位置: 首页 > news >正文

论文浅尝 | 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 网站。

相关文章:

  • Json Web Token(JWT) 快速入门
  • [项目设计]基于websocket实现网络对战五子棋
  • Python使用whisper实现语音识别(ASR)
  • 【鸿蒙系统】 ---Harmony 鸿蒙编译构建指导(一)
  • 【Python】使用selenium对Poe批量模拟注册脚本
  • Docker使用之java项目工程的部署
  • Linux操作系统-汇编LED驱动程序基础
  • FX-数组的使用
  • 【OCR】OCR开源文字识别工具
  • 力扣大厂热门面试算法题 33-35
  • [CISCN2019 华北赛区 Day1 Web5]CyberPunk --不会编程的崽
  • OPTIONS请求(跨域预检查)
  • Android 12.0 系统修改usb连接电脑mtp和PTP的显示名称
  • [概率论]期中考AB卷题目答案及详解
  • IDEA 配置阿里规范检测
  • Angular 响应式表单之下拉框
  • CSS 提示工具(Tooltip)
  • es6
  • ES6 ...操作符
  • JavaScript DOM 10 - 滚动
  • k8s 面向应用开发者的基础命令
  • Linux CTF 逆向入门
  • oschina
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • spring boot 整合mybatis 无法输出sql的问题
  • Spring Cloud中负载均衡器概览
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 阿里研究院入选中国企业智库系统影响力榜
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 使用 Docker 部署 Spring Boot项目
  • 为什么要用IPython/Jupyter?
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • 阿里云重庆大学大数据训练营落地分享
  • # 安徽锐锋科技IDMS系统简介
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (pojstep1.3.1)1017(构造法模拟)
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (二)Eureka服务搭建,服务注册,服务发现
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (转)ABI是什么
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET 使用配置文件
  • .NET中winform传递参数至Url并获得返回值或文件
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @AutoConfigurationPackage的使用
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [22]. 括号生成
  • [ABC294Ex] K-Coloring