基于ChatGPT聊天的零样本信息提取7.25
基于ChatGPT聊天的零样本信息提取
- 摘要
- 介绍
- ChatIE
- 用于零样本IE的多轮 QA
- 实验
- 总结

摘要
零样本信息提取(IE)旨在从未注释的文本中构建IE系统。由于很少涉及人类干预,因此具有挑战性。
零样本IE减少了数据标记所需的时间和工作量。最近对大型语言模型(LLMs,GFI-3,ChatGPT)的研究在零样本设置下显示出了良好的性能,从而激励我们研究基于提示的方法。
在这项工作中,我们询问是否可以通过直接提示LLM来构建强IE模型。
具体来说,我们将零样本IE任务转换为多轮问题解答问题,使用两阶段框架(ChatIE)。借助ChatGPT的强大功能,我们在三个IE任务上对我们的框架进行了广泛的评估:实体关系三重提取、命名实体识别和事件提取。
在两种语言的六个数据集上的经验结果表明,ChatIE在几种数据集上取得了令人印象深刻的性能,甚至超过了一些完整的模型。
介绍
信息提取旨在将非结构化文本中的结构化信息提取为结构化数据格式,包括实体关系提取(RE)、命名实体识别(NER)、事件提取(EE)等任务。这是自然语言处理中一项有趣的重要任务。处理大量的标签数据总是非常繁忙、劳动密集且耗时。
最近的工作在大规模预训练大语言模型上,例如GPT-3。
InstructGPT和ChatGPT表明,LLM即使不调整参数,仅使用少数示例作为说明,也能很好地执行各种下游任务。因此,这是一个时间问题:LLM提示在同一框架下执行零样本IE任务是否可行。这也是一个挑战,因为包含多个相关元素的结构化数据很容易通过一次预测来提取,尤其是对于像RE这样的复杂任务。以前的工作将这些复杂任务分解为不同的部分,并训练几个模块来解决每个部分。
基于这些线索,在本文中,我们转向ChatGPT,并假设ChatGPT天生具有在交互模式下存放统一正确零样本IE模型的能力。
更具体地说,我们提出了ChatIE,将零样本任务转化为一个多回合问题,并使用两阶段框架回答问题。
- 在第一阶段,我们的目的是找出一个句子中可能存在的相应元素类型。
- 在第二阶段,我们对来自阶段1的每个元素类型进行链式信息提取。

每个阶段都通过一个多回合的QA过程来实现。在每一轮,我们都会根据设计的模板和之前提取的信息构建提示,以询问ChatGPT。最后,我们将每个转弯的结果组成结构化数据。我们对IE、NER和EE进行了广泛的实验任务,包括两种语言的六个数据集:英语和汉语。
实验结果表明,当不使用ChatIE的普通ChatGPT无法用原始任务指令解决IE时,当IE任务分解为多个更简单、更容易的子任务时,我们提出的在ChatGPT上实例化的两阶段框架成功了。令人惊讶的是,ChatIE在几个数据集上取得了令人印象深刻的性能,甚至超过了一些全镜头模型。
ChatIE
用于零样本IE的多轮 QA
将IE框架分解成两个阶段,每个阶段都包含几轮QA,参考与ChatGPT的对话。
在第一阶段,我们的目标是在三个任务中分别找出句子中存在的实体、关系或事件的类型。这样,我们过滤掉不存在的元素类型,以减少搜索空间和假设的复杂性,有助于提取信息。
在第二阶段,我们在第一阶段提取的元素类型以及相应的任务特定方案的基础上进一步提取相关信息。
第一阶段:对于这个例子而言,这一步仅包含了一轮QA。为找到在句子中呈现的元素类型,我们首先利用任务特定的 TypeQues模板和元素类型列表 来构建问题。然后我们将问题和句子组合到ChatGPT中。为了便于提取答案,我们要求系统 以列表形式回复 。如果这些内容不包含任何元素类型,系统将生成一个带有NONE Token的响应。
第二阶段:该阶段通常包括多个QA轮次。在那之前,我们根据任务的方案设计了一系列特定的元素类型 ChainExtractionTemplate。ChainExtractionTemplates定义了一个问题链模板,链的长度通常为为1。但对于复杂的方案,如实体关系三重提取中的复数二元值提取,链的长度大于1。在这一点上,一个元素的提取可能依赖于另一个先前的元素,因此我们称之为链式模板(chained template)。
我们按照先前提取的元素类型的顺序以及ChainExtractionTemplates的理论执行多回合QA。为了生成问题,我们需要检索具有元素类型的模板,并在必要时填充相应的槽。然后我们访问ChatGPT并获得响应。最后,我们根据每一轮提取的元素组成结构化信息。同样,为了便于答案提取,我们要求系统以表格形式回复。如果没有提取任何内容,系统将生成一个带有NONE的令牌响应。
实验
略
总结
这是知识抽取和语言模型的结合,重点在于提出的基于ChatGPT的多轮QA框架——ChatIE,用于零样本信息提取。
ChatIE将每个回合的结果合成最终的结构化结果。

相关文章:
基于ChatGPT聊天的零样本信息提取7.25
基于ChatGPT聊天的零样本信息提取 摘要介绍ChatIE用于零样本IE的多轮 QA 实验总结 摘要 零样本信息提取(IE)旨在从未注释的文本中构建IE系统。由于很少涉及人类干预,因此具有挑战性。 零样本IE减少了数据标记所需的时间和工作量。最近对大型…...
Pytorch个人学习记录总结 08
目录 神经网络-搭建小实战和Sequential的使用 版本1——未用Sequential 版本2——用Sequential 神经网络-搭建小实战和Sequential的使用 torch.nn.Sequential的官方文档地址,模块将按照它们在构造函数中传递的顺序添加。代码实现的是下图: 版本1—…...
Ansible自动化运维学习——综合练习
目录 (一)练习一 1.新建一个role——app 2.创建文件 3.删除之前安装的httpd服务和apache用户 4.准备tasks任务 (1)创建组group.yml (2)创建用户user.yml (3)安装程序yum.yml (4)修改模板httpd.conf.j2 (5)编写templ.yml (6)编写start.yml (7)编写copyfile.yml (8…...
Java中正则表达式
一、概念 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。在众多语言中…...
13 硬链接和软链接
13.1 硬链接和软链接的区别 硬链接:A---B,假设B是A的硬链接,那么只要存在一个,无论删除哪一个,文件都能访问得到。 软链接:类似于快捷方式,删除源文件,快捷方式就访问不了。 13.2 创…...
智能合约安全审计
智能合约安全审计的意义 智能合约审计用于整个 DeFi 生态系统,通过对协议代码的深入审查,可以帮助解决识别错误、低效代码以及这些问题。智能合约具有不可篡改的特点,这使得审计成为任何区块链项目安全流程的关键部分。 代码审计对任何应用…...
矩阵置零(力扣)思维 JAVA
给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]] 输入:matrix [[0,1,2,0],[3,4,5,2],[…...
centos制作openssh 9.3p2 rpm包
标题使用源码制作openssh 9.3p2 的rpm包 准备: 操作系统:CentOS Linux release 7.4.1708 (Core) #测试发现rpm包要在什么系统安装需要就需要在什么系统上制作 工具软件:rpm-build 源码文件:openssh-9.3p2.tar.gz x11-ssh-askpas…...
uni-app:切换页面刷新,返回上一页刷新(onShow钩子函数的使用)
切换页面刷新:通过onShow()便可实现 返回上一页通过uni.navigateBack({delta: 1});实现 以返回上一页刷新为例 从B页面返回上一页到A页面 在A页面写入方法refreshHandler() methods: { // 执行刷新逻辑refreshHandler() {uni.request({url: getApp().globalData.…...
全志F1C200S嵌入式驱动开发(调整cpu频率和dram频率)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 f1c200s默认的cpu频率是408M,默认的dram频率是156M。这两个数值,坦白说,都算不上特别高的频率。因为我们的晶振是24M输入,所以408/24=17,相当于整个cpu的频率只是晶振倍频了17…...
idea 设置了 vm options后无法启动
今天想扩展ideaj的JVM 设置了 vm options后无法启动 找了很久,重新卸载后安装也没有用 后面直接打开idea的bat文件 找到自己idea使用的.vmoptions文件,我是因为之前idea有缓存,一直用的我修改的文件,后面删了就可以启动了...
TPS54620RHLR是一款同步降压转换器
TPS54620RHLR是一款同步降压转换器,通过高效率和集成高压侧和低压侧MOSFET,为小型设计进行了优化。通过电流模式控制实现了进一步的空间节省,从而减少了元件数量,并通过选择高开关频率,减少了电感器的占地面积。输出电…...
主机漏洞利用演示MS17-010(永恒之蓝)
ms17-010危害:对被攻击方的电脑造成蓝屏! 申明:本篇文章的用意仅做学习使用 网络搭建环境: 软件:Vmware Workstation 17 攻击机:Kali 靶机环境:Windows 7 Nmap软件的基本功能: …...
2023年第六届河北省研究生数学建模竞赛题目B题Python求解代码
2023年第六届河北省研究生数学建模竞赛题目B题 本文文档与代码视频讲解与下载:【2023河北省研究生数学建模竞赛B题数据集和代码-哔哩哔哩】 https://b23.tv/weulGAO 光伏电池的异常检测与发电产能预测在碳达峰-碳中和的战略背景下,我国的光伏发电技术发…...
【三维点云处理】顶点、面片、邻接矩阵、邻接距离矩阵以及稀疏存储概念
文章目录 vts和faces基础知识vertices-节点(3是点的三维坐标)faces-面片(3是构成三角形面片的3个点) 邻接矩阵邻接距离矩阵(NN500)稀疏矩阵 vts和faces基础知识 vertices-节点(3是点的三维坐标…...
ansible 中的fetch模块的作用是什么
Ansible中的fetch模块用于从远程主机上复制文件到控制主机上。 fetch模块允许用户在远程主机上复制文件或目录,并将其下载到控制主机上的指定位置。它可以在执行Playbook期间执行此操作,也可以在Ad-Hoc命令中使用。 fetch模块的一些常见用途包括&#…...
Zabbix-6.4.4部署及监控配置
一、目标 对zabbix-6.4.4版本进行调研。了解并测试zabbix-6.4.4部署以及监控配置。 二、过程 前言:最新版本的zabbix-6.4.4的要求有所增加,配置要求如下: MySQL版本:8.0.X PHP版本:7.4.X libXML:2.6.1…...
解决 npm ERR! missing script: build 错误的方法
系列文章目录 文章目录 系列文章目录前言一、错误原因二、解决方法:三、注意事项:总结 前言 在使用 npm 进行前端项目构建时,有时会遇到错误信息 “npm ERR! missing script: build”,该错误通常发生在没有定义构建脚本时。本文将…...
json-server创建静态服务器2
上次写的 nodejs创建静态服务器 这次再来个v2.0 利用json-server很方便就可以实现。 vscode打开文件夹,文件夹所在终端: json-server.cmd --watch db.json 这里视频教程是没有上述命令标红的,但是会报错,具体不详,…...
开源视频监控管理平台国标GB28181视频EasyCVR电子地图功能展示优化
视频监控综合管理平台EasyCVR可提供的视频能力包括:视频监控直播、云端录像、云存储、录像检索与回看、告警上报、平台级联、云台控制、语音对讲、电子地图、H.265自动转码等,也具备接入AI智能分析的能力。 视频汇聚平台EasyCVR可拓展性强、视频能力灵活…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
C++实现分布式网络通信框架RPC(2)——rpc发布端
有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...
ubuntu22.04 安装docker 和docker-compose
首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...
2.3 物理层设备
在这个视频中,我们要学习工作在物理层的两种网络设备,分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间,需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质,假设A节点要给…...
用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章
用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章 摘要: 操作系统内核的安全性、稳定性至关重要。传统 Linux 内核模块开发长期依赖于 C 语言,受限于 C 语言本身的内存安全和并发安全问题,开发复杂模块极易引入难以…...
