One-shot就能做事件抽取?ChatGPT在信息抽取上的强大应用

news2024/11/14 15:39:06

One-shot就能做事件抽取?ChatGPT在信息抽取上的强大应用

  • 0. 前言
  • 1. 灵感
  • 2. 实验
  • 3. 结论

0. 前言

近期,OpenAI发布的chat GPT可谓是各种刷屏,很多人都在关注这种模式是否可以应用于搜索引擎,这给做搜索的朋友们带来了很大的危机感。然而,我尝试用它做信息抽取,也得到了让我感到非常害怕的结果。本文就结合一个简单的例子,来聊一聊chat GPT在信息抽取上的使用。

1. 灵感

事情的起因是Blender Lab的一篇论文,《CODE4STRUCT: Code Generation for Few-Shot Structured Prediction from Natural Language》,做的是事件论元抽取(EAE,Event Argument Extraction),我看到这个题目的时候,第一反应就是应该跟UIE的前身Text2Event (Lu et al., 2021)比较相似,果然在大概读了一下这篇论文之后,发现论文对比的工作主要就是这三个:

  • DEGREE (Hsu et al., 2022)
  • BART-Gen (Li et al., 2021)
  • Text2Event (Lu et al., 2021)

其中,后两者我都读过论文,也实验过,第一个DEGREE暂时还没有了解。另外值得一提的是本文的作者也是BART-Gen的作者。

说回这篇论文,目的就是通过一个生成式的模型,实现从非结构化的文本,到“伪结构化”的文本,然后再解码出事件,主要创新点在于,没有直接用template+text组合的范式作为输入文本,而是把输入写到了代码的注释里,借助OpenAI的CODEX (Chen et al., 2021) ,去生成一段代码,其中代码里的内容是事件的论元。

code4struct
从图中可以看出,code4structure的输入会非常长,包括了schema的定义,给出的例子,以及写在注释里的原文。

整篇论文浏览下来,发现作者似乎并没有提出创新性的模型,只是在任务范式上进行了转换,在模型上完全是调用了Codex的API。在之前的博客《(杂谈)世界上本没什么prompt,有的只是加权平均——关于NLP中embedding的一点思考》中,我们探索了prompt在做什么,其本质是prompt中提供了若干“锚点”,以学习其他token的表征。所以这篇文章做的工作,在我看来是显而易见能够收到这样一个结果的,因为这个模型已经训练的足够强大。

那么说回这个Codex,我之前对它完全没有了解,去查了一下发现也是openAI做出来的,其模型也是采用的GPT-3,训练样本主要是GitHub里的一些开源项目。

那么问题来了,如果Codex可以用来做事件抽取,那chatGPT应该也没有问题吧?

2. 实验

带着这个想法,我从同事那里借来了一个openAI的账号,chat GPT能不能完成任务。

在这里我没有直奔主题,直接输入文本让它抽取,因为之前看到有人介绍这个模型是会考虑之前交互的所有内容的,包括你的问题和它给出的答案,所以最好是一步步的引导它。

于是我先问它知不知道事件抽取相关的概念:
eae
回答的挺不错的,然后进一步引导,因为我马上要给schema了,就先让它解释一下schema:
schema
接下来就是主要部分了,以ACE2005中的事件模式为例。我先告诉它,schema是什么,然后给它一个例子,告诉它,我给你这样一句话,你应该给我输出什么,最后把输入文本告诉它,让它给出相应的输出:
example
这个模型可以接收的输入挺长的,可以放心给。其实我给的这一场段话,都可以理解为所谓的“prompt”。

这是模型给出的回答,可以看到效果是相当不错的,也就是说,我们完全可以利用chatGPT实现one-shot的事件抽取,这是一件相当可怕的事情,对之前的信息抽取研究简直就是降维打击。
output
应用在信息抽取中,这个模型可怕的地方,不仅在于one-shot,还有以下两点:

  1. 它会保留之前的对话信息;
  2. 它会在与用户的交互中轻松实现纠正。

对于第一点,我在介绍清楚了任务范式之后,接下来的抽取,就不再需要每次描述一遍我的schema了:
inputt
可以看到,我给一句话的输入,它直接就给我返回输出结果了。

并且,我觉得Place和target论元它抽取的不太对,好像是对我的例子理解的有问题,因为我只给了它一个例子,在那个例子中,所有的角色都能找到相应的论元。所以我又告诉它,如果哪个角色没有论元的话,你给我保留为空就行:
矫正
然后它就很聪明的学会了:
o
接下来,再来一个例子检验一下:
example3
效果已经很不错了,但是这个opened fire,我认为不是instrument,所以我再跟模型强调一下:
矫正3
到这里,模型所能够输出的效果,已经比我之前有监督训练的模型更好了,让我忍不住自我怀疑,之前到底训练了个什么东西,在大样本预训练模型面前竟然如此不堪一击。

3. 结论

事件抽取作为信息抽取中比较难的任务,已经很轻松的被chat GPT拿下了,我相信不仅是我,很多从业者,包括这两年在三大顶会上发表过很多文章的大佬,或多或少都会有一些自我怀疑。这也给我们提了个醒,仅仅依靠范式迁移做的所谓创新,其实并没有什么实际价值,从应用层面上已经被大预料大模型吊打,而从模型结构的改进而言,似乎也没有什么征兆显示短期内有什么结构可以取代transformer。

并不是说chatGPT已经是一个非常成熟的应用,马上就要颠覆这个颠覆那个,但是不可否认的是,对于信息抽取这样高度结构化的“简单”任务,大模型是很容易handle的。在prompt的范式下,输入的目标文本中的每个token可以与用户的其他描述性的输入发生更多的交互,而在大模型足够多参数加持下,这一优势似乎会被放大很多。

但是从模型给出的结果可以看出,它除了把我想要的答案给出了之外,还给了一些解释,其实这些解释我是不想要的。那么对于应用来讲,可能需要做一些restructure的工作,或许将来某一天,等大模型更成熟一些,这类restructure的工作也可以省略了。

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

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

相关文章

强大的VS插件DevExpress CodeRush v22.1 - 让代码编程更智能

DevExpress CodeRush是一个强大的Visual Studio .NET 插件,它利用整合技术,通过促进开发者和团队效率来提升开发者体验。为Visual Studio IDE增压、消除重复的代码并提高代码质量,可以快速思考、自动化测试、可视化调试和重构。 CodeRush v2…

vue学习笔记(一)-vue基础语法

视频教程:尚硅谷Vue2.0Vue3.0全套教程丨vuejs从入门到精通_哔哩哔哩_bilibili 相关文档:Vue核心 Vue简介 初识 (yuque.com) 兼容性 Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但它支持所有兼容 ECMAS…

RabbitMQ入门

1. 什么是MQ 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已 作用:应用程序“对”应用程序的通信方法。 2. 应用场景 主要解决异步处理…

pixel 3xl 手机如何烧录自己编译的android 12代码

pixel 3xl 手机如何烧录自己编译的android 12代码 一.查看pixel 3xl手机支持的Android 12版本 通过浏览器访问android版本跟代号网页查看对应的pixel 3XL 手机支持的android 版本跟代号 可以看出,pixel 3XL手机支持Adnroid 12的有Android 12.0.0_r31, Android 12.…

华为机试 - 区间交叠问题

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 给定坐标轴上的一组线段,线段的起点和终点均为整数并且长度不小于1,请你从中找到最少数量的线段,这些线段可以覆盖柱所有线段。 输入描述 第一行输入为所有线段的数…

键盘输入保护器:KeyScrambler

创新技术屏蔽数字资产 KeyScrambler 开创性的击键加密技术可在 Windows 操作系统、所有浏览器和数百个关键应用程序中实时深入地保护用户键入的信息。 值得信赖的软件让用户安心 KeyScrambler 已经被世界各地的专家、博主和用户测试和使用了 16 年,并被证明对最阴险…

ANSYS_Dsigner仿真串扰

1、边沿RT的大小对串扰的影响 仿真电路如下图所示: V1为V_Pulse电压源,设置如图所示: A4为耦合微带线 这里一定要设置为9.6mil,因为介质厚度我设置的是4.8mil,如果没阻抗匹配会在串扰的基础上增加信号的反射&#xff…

【计算机视觉】完整版复习

计算机标定 齐次坐标 齐次坐标,将欧氏空间的无穷远点,与投影空间中有实际意义的消失点,建立起映射关系。 把齐次坐标转化为笛卡尔坐标的方法:是前面n-1个坐标分量分别除以最后一个分量即可 一些解释和性质: 比较好的…

idea远程debug

有时候我们需要进行远程的debug,本文研究如何进行远程debug,以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 1.配置idea 如图,依次点击或者填写对应的ip和端口,需要debug的服务 2.修改启动命令 选择 jdk …

东郊到家、往约到家预约上门理疗按摩系统小程序模式讲解

东郊到家和往约到家都是做上门理疗按摩推拿等服务的线上预约平台,目前已经在全国很多一二线城市都开设了分站,今天我们就来对这两个程序进行讲解。 为什么这类上门服务平台能发展的这么迅速? 一是因为平台成本投入比较低,线上预…

微服务框架 SpringCloud微服务架构 22 DSL 查询语法 22.4 地理查询

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构22 DSL 查询语法22.4 地理查询22.4.1 地理查询22 DSL 查询语法 22.4 地理…

【强化学习论文】多智能体强化学习是一个序列建模问题

文献题目:Multi-Agent Reinforcement Learning is A Sequence Modeling Problem时间:2022代码:https://github.com/PKU-MARL/Multi-Agent-Transformer. 摘要 GPT 系列和 BERT 等大序列模型(SM)在自然语言处理、视觉和…

FL Studio免费升级21完整版新功能新插件介绍

万众期待的 FL Studio 21 版本正式发布上线,所有FL Studio的用户,都可以免费升级到21版! 按照惯例,本次新版也会增加全新插件,来帮助大家更好地创作。今天先给大家分享一下,新增的4款插件简单介绍&#xf…

基于AT89S52单片机的蘑菇大棚环境监测系统论文(附录代码)

目 录 第1章 绪 论 1 1.1 研究背景和意义 1 1.2 国内外发展现状 2 1.3 设计内容和指标 4 第2章 系统设计方案 5 2.1 系统组成 5 2.1.1 总体结构 5 2.1.2 单片机的选型 5 2.1.3 温湿度传感器选型 6 2.1.4 二氧化碳传感器选型 6 2.1.5 PH值传感器选型 7 2.1.6 加热器选型 8 2.1.7…

HTTP协议分析 实验报告

实验名称: HTTP协议分析 一、实验预习 1、实验目的 利用抓包工具(Wireshark/Windump/Sniffer)抓取HTTP报文,以进一步熟悉和理解HTTP报文格式规范与HTTP协议的工作原理 2、实验内容(…

《Linux-权限的理解、shell的理解和粘滞位》

目录 一、shell的理解 二、Linux权限 一、用户的引入 二、权限管理 一、什么是权限 二、Linux下的权限 三、视图展示 四、文件类型 五、为什么gcc编译器编译.txt后缀的文件有问题? 六、修改权限 一、chmod设置文件的访问权限 一、基本使用 二、八进制方案(访…

es的自动补全查询——DSL语句java代码实现

1、DSL语句 elasticsearch提供了Completion Suggester查询来实现自动补全功能。这个查询会匹配以用户输入内容开头的词条并返回。 为了提高补全查询的效率,对于文档中字段的类型有一些约束: 参与补全查询的字段必须是completion类型。 字段的内容一般…

SpringMVC的执行流程

文章目录1 初始化阶段2 匹配阶段3 执行阶段我们把整个流程分成三个阶段初始化阶段匹配阶段执行阶段 1 初始化阶段 在 Web 容器第一次用到 DispatcherServlet 的时候,会创建其对象并执行 init 方法 init 方法内会创建 Spring Web 容器,并调用容器 refre…

阿里十年技术沉淀|深度解析百PB级数据总线技术

云原生场景下数据总线需求场景及挑战 数据总线简介 数据总线作为大数据架构下的流量中枢,在不同的大数据组件之间承载着数据桥梁的作用。通过数据总线,可以实时接入来自服务器、K8s、APP、Web、IoT/移动端等产生的各类异构数据,进行统一数据…

【java 新特性】java8新特性

核心内容 lambda 函数编程 在Java世界里面,面向对象还是主流思想,对于习惯了面向对象编程的开发者来说,抽象的概念并不陌生。面向对象编程是对数据进行抽象,而函数式编程是对行为进行抽象。现实世界中,数据和行为并…