【ChatIE】论文解读:Zero-Shot Information Extraction via Chatting with ChatGPT

文章目录

    • 介绍
    • ChatIE
      • Entity-Relation Triple Extration (RE)
      • Named Entity Recognition (NER)
      • Event Extraction (EE)
    • 实验
    • 结果
    • 结论

论文:Zero-Shot Information Extraction via Chatting with ChatGPT
作者:Xiang Wei, Xingyu Cui, Ning Cheng, Xiaobin Wang, Xin Zhang, Shen Huang, Pengjun Xie, Jinan Xu, Yufeng Chen, Meishan Zhang, Yong Jiang, Wenjuan Han
时间:2023

zero-shot information extraction 的目是从未注释的文本中构建信息提取(IE)系统,由于大模型发展迅速,其下游任务效果有了质的提升,文章中考虑采用prompt技巧进行信息提取,观察zero-shot 提取信息的可取性;

为此创建了一个二阶段的多回合问答框架ChatIE,并在三个IE任务上广泛地评估:整体关系三重提取、命名实体识别和事件提取。在两种语言的6个数据集上的经验结果表明,ChatIE取得了令人印象深刻的性能;

介绍

首先information extration 的目的是从非结构化的文本中提取出结构化的信息,并将结构化的信息转化为结构化的数据格式,信息提取主要由三块任务构成:三元组提取,实体命名识别,事件提取 entity-relation triple extract (RE), named entity recognition (NER), event extraction (EE);

在一般的处理工作中,以RE任务中PURE模型举例子[2010.12812] A Frustratingly Easy Approach for Entity and Relation Extraction (arxiv.org),首先识别出两个实体,然后再预测两个实体之间的关系,虽然说效果很好,但是这只适用于特别的任务并且是监督训练的,需要大量的标注数据;

由于一般IE方法的特殊性和昂贵性,这里转向研究ChatGPT的prompt来进行IE任务处理;

作者提出了一个两阶段的多轮问答框架,在第一阶段找出相应的元素类型,在第二阶段对每个元素类型进行链式信息提取;利用该框架进行信息提取的效果很明显;

ChatIE

这是一个两阶段框架:在第一阶段,目标是在三个任务中分别找出句子中的实体、关系或事件的现有类型。这样,我们就可以过滤掉不存在的元素类型,以减少搜索空间和计算复杂度,从而提取信息。然后在第二阶段,我们根据第一阶段提取的元素类型以及相应的任务特定方案,进一步提取相关信息。

如果没有提取任何内容,每个阶段都将生成无token的回答;

Entity-Relation Triple Extration (RE)

三元组提取任务也就是在文本中提取 ( s , r , o ) (s,r,o) (s,r,o):

这里的r指的是第一阶段提取到的关系,q1指第一阶段的问题,qr指根据第一阶段得到的关系提出的第二阶段的问题,也就得到 ( s , r , o ) (s,r,o) (s,r,o)

Named Entity Recognition (NER)

第一阶段我们先去获得实体类型,第二阶段根据实体类型获得实体的名字;

例如:第一阶段得到人物,地点,导演;第二阶段得到人物是谁,地点在哪,导演是谁;

Event Extraction (EE)

第一阶段我们先去获得事件类型并进行分类,第二阶段再根据每个类型的事件去获得类型;

实验

数据

RE数据:NYT11-HRL 包含12个预定义的关系类型,DuIE2.0 该行业中最大的基于模式的中国RE数据集,包含48种预定义的关系类型。三元组中的一些对象具有多个属性;

NER数据:The conllpp dataset conll2003的修改版本包含4种实体类型,MSRA 一个针对新闻字段的中文命名实体识别数据集,其中包含3种实体类型。

EE数据:DuEE1.0 百度发布的中文事件提取数据集,The ACE05 corpus 来自新闻通讯社和在线论坛等各种领域的文档和句子级别的事件注释。

评价指标

micro F1

结果

可以看到ChatIE的效果很突出;同时观察下表:

可以发现,基于聊天的Chat-based prompt 要比 一般的prompt得到的更准确;

结论

ChatIE 在 zero-shot information extration 任务中效果表现突出;

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

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

相关文章

数据分析 — Pandas 数据加载、存储和清洗

目录 一、文件读取1、常见文件读取函数2、read_csv()3、read_table()4、read_excel()5、read_json()6、read_html()7、大文件读取 二、数据保存1、csv2、excel3、json4、html5、MySQL1、连接数据库2、MySQL 存储到本地3、本地存储到 MySQL 三、数据清洗1、处理缺失值1、判断数据…

【前端工程化面试题】如何优化提高 webpack 的构建速度

使用最新版本的 Webpack 和相关插件: 每个新版本的 Webpack 都会带来性能方面的改进和优化,因此始终确保你在使用最新版本。同时,更新你的相关插件也是同样重要的。 使用DllPlugin动态链接库: 使用DllPlugin和DllReferencePlugin来将第三方库的代码进行…

springboot单体项目快速生成代码

生成的是这些代码:controller,entity,mapper,service,service里面的impl,还有xml import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; import com.baomidou.mybatisplus.core.toolkit.StringPool; import com.baomidou.mybatisplus.core.toolk…

通过玩游戏学会AWS

游戏名字: Cloud Quest 类型:亚马逊云科技官方出了一款 3D 角色扮演、虚拟城市建造形式的游戏实验课 进入方法:浏览器搜索 Cloud Quest(或扫描下方二维码)进入 Cloud Quest 课程页。 选择以下的链接 点击进行注册 进…

C++并发编程 -3.同步并发操作

本文介绍如何使用条件变量控制并发的同步操作、C 并发三剑客,函数式编程 一.条件变量 1.概念 C条件变量(condition variable)是一种多线程编程中常用的同步机制,用于线程间的通信和协调。它允许一个或多个线程等待某个条件的发生…

自动更改由VSCode调试器创建的默认launch.json文件

File -> Preference -> Settings 修改下面的部分

[力扣 Hot100]Day28 两数相加

题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都…

java设计模式之解释器模式

解释器模式(Interpreter Pattern) 1.基本介绍 在编译原理中,一个算术表达式通过词法分析器形成词法单远,而这些词法单远再通过语法分析器构建语法分析树,最终形成一颗抽象的语法分析树,(词法分…

第 124 场 LeetCode 双周赛题解

A 相同分数的最大操作数目 I 模拟 class Solution { public:int maxOperations(vector<int> &nums) {int n nums.size();int s nums[0] nums[1];int res 1;for (int i 2; i 1 < n; i 2)if (nums[i] nums[i 1] s)res;elsebreak;return res;} };B 进行操作…

JVM-JVM中对象的生命周期

申明&#xff1a;文章内容是本人学习极客时间课程所写&#xff0c;文字和图片基本来源于课程资料&#xff0c;在某些地方会插入一点自己的理解&#xff0c;未用于商业用途&#xff0c;侵删。 原资料地址&#xff1a;课程资料 对象的创建 常量池检查:检查new指令是否能在常量池…

专业140+总410+合工大合肥工业大学833信号分析与处理综合考研经验电子信息与通信工程,真题,大纲,参考书。

经过一年努力奋战&#xff0c;今年初试总分410&#xff0c;其中专业课833信号分析与处理综合&#xff08;ss和dsp&#xff09;140&#xff08;感谢信息通信Jenny老师去年的悉心指导&#xff09;&#xff0c;数一130&#xff0c;顺利上岸&#xff0c;被合工大录取&#xff0c;看…

Oracle 基础入门指南

一、什么是Oracle&#xff1f; Oracle是一款由美国Oracle公司开发的关系型数据库管理系统。它支持SQL查询语言&#xff0c;并提供了丰富的功能和工具&#xff0c;用于管理大规模数据存储、处理和访问。Oracle被广泛应用于企业级应用中&#xff0c;包括金融、电信、零售等各行各…

vue3 Element Plus 基于webstorm练习

提要 vue是前端框架&#xff0c;Elemen是组件库。前端框架和组件库的区别与联系 nodejs 脚本语言需要一个解析器才能运行&#xff0c;JavaScript是脚本语言&#xff0c;在不同的位置有不一样的解析器&#xff0c;如写入html的js语言&#xff0c;浏览器是它的解析器角色。而对…

java集合类框架的基本接口有哪些

java集合类框架的基本接口有哪些&#xff1f; 答&#xff1a;Collection&#xff1a;代表一组对象&#xff0c;每一个对象都是它的子元素 Set&#xff1a;不包括重复元素的Collection List&#xff1a;有顺序的Collection&#xff0c;并且可以包含重复元素 Map&#xff1a;…

【Pygame手册02/20】pygame模块display控制窗口和屏幕

目录 一、说明二、pygame.display接口函数2.1 函数表格2.2 pygame.display的功能 三、详细的函数调用3.1 pygame.display.init()3.2 pygame.display.quit()3.3 pygame.display.get_init()3.4 pygame.display.set_mode()3.5 pygame.display.get_surface()3.6 pygame.display.fl…

每日五道java面试题之java基础篇(十一)

目录: 第一题. Java死锁如何避免&#xff1f;第二题. 为什么⽤线程池&#xff1f;解释下线程池参数&#xff1f;第三题. 线程池的底层⼯作原理第四题. ReentrantLock中tryLock()和lock()⽅法的区别第五题. Sychronized和ReentrantLock的区别? 第一题. Java死锁如何避免&#x…

anaconda安装路径默认在D盘,但安装环境的envs路径跑到C盘,修改为D盘

安装的anaconda环境&#xff0c;路径是在anaconda安装目录下的envs中&#xff08;D:\APPFile\Anaconda3\envs&#xff09;&#xff0c;然而&#xff0c;这次创建的却是在 C:\Users\xxx.conda\envs 中。 首先&#xff0c;找到用户目录下的.condarc文件&#xff08;C:\Users\use…

AD高速板常见问题和过流自锁

可以使用电机减速器来增大电机的扭矩&#xff0c;低速运行的步进电机更要加上减速机 减速电机就是普通电机加上了减速箱&#xff0c;这样便降低了转速增大了扭矩 HDMI布线要求&#xff1a; 如要蛇形使其等长&#xff0c;不要在HDMI的一端绕线。 HDMI走线时两边拉线&#xff0…

【STM32 CubeMX】SPI层次结构SPI协议与SPI控制器结构

文章目录 前言一、SPI 程序层次1.1 硬件原理图1.2 硬件框图1.3 软件层次 二、SPI协议2.1 硬件连线2.2 如何访问SPI设备2.3 SPI 框图 总结 前言 随着嵌入式系统的迅猛发展&#xff0c;STM32系列微控制器在各种应用中得到广泛应用。在嵌入式系统设计中&#xff0c;串行外设接口&…

最简单绕过ring3 hook的方式(bypass bitdefender)

ntdll.dll常常是被挂钩的主要模块&#xff0c;当程序完全加载完毕后&#xff0c;我们可以尝试从system32目录下加载一个干净的ntdll.dll。 将 ntdll.dll 的新副本从磁盘映射到进程内存 查找挂钩的 ntdll.dll 的 .text 部分的虚拟地址 获取 ntdll.dll 基地址 模块基址 模块的…