【ACL 2023】 The Art of Prompting Event Detection based on Type Specific Prompts

【ACL 2023】 The Art of Prompting: Event Detection based on Type Specific Prompts

论文:https://aclanthology.org/2023.acl-short.111/

代码:https://github.com/VT-NLP/Event_APEX

Abstract

我们比较了各种形式的提示来表示事件类型,并开发了一个统一的框架,将特定于事件类型的提示用于监督、少样本和零样本触发词事件检测。实验结果表明,定义明确且全面的事件类型提示可以显著提高事件检测性能,尤其是当标注数据稀缺(少样本事件检测)或不可用(零样本事件检测)时。通过利用事件类型的语义,我们的统一框架显示出比以前的最先进基线高达22.2%的F1分数增益。

Introduction

以往的研究进一步鼓励我们向前迈进一步,思考以下三个问题:(1)当训练数据丰富或稀缺时,选择提示是否重要?(2) ED(事件检测)提示的最佳形式是什么?(3) 如何最好地利用提示来检测事件提及

为了回答上述研究问题,我们对每种事件类型的各种形式的提示进行了广泛的实验,包括(a)事件类型名称,(b)原型种子触发词,(c)定义,(d)基于事件类型名称及其预定义论元角色的事件类型结构,(e)基于自由论元的连续软提示,以及(f)更全面的事件类型描述(命名为APEX提示),其涵盖了提示(a)-(d)的所有信息。我们观察到:(1)通过考虑大多数形式的提示的事件类型的语义,特别是种子触发词和全面的事件类型描述,ED在所有设置下的性能都可以显著提高;(2) 在所有形式的事件表示中,基于全面描述的提示显示是最有效的,尤其是对于少样本和零样本ED;(3) 不同形式的事件类型表示提供了互补的改进,表明它们捕获了事件类型的不同方面和知识。

这项工作的贡献如下:

  • 我们研究了各种提示来表示有监督和弱监督ED的事件类型,并证明了定义明确和全面的事件类型提示可以显著提高ED的性能和从旧类型到新类型的可转移性。
  • 开发了一个统一的框架,以利用事件类型的语义,提示监督ED、少样本ED和零样本ED,并展示了最先进的性能,与强大的基线方法相比,F1-score提高了22.2%。

Problem Formulation

Setting of ED

supervised EE(SED):我们遵循传统的监督事件检测设置,其中训练、验证和评估数据集覆盖相同的事件类型集。目标是学习用于识别和分类目标事件类型的事件提及的模型 f f f

few-shot ED(FSED):有两个单独的训练数据集用于少样本事件检测:(1)覆盖旧事件类型(叫做base类型)的大规模数据集 D b a s e = { ( x i , y i ) } i = 1 M \mathcal{D}_{base}=\{(x_i,y_i)\}^M_{i=1} Dbase={(xi,yi)}i=1M,其中 M M M表示基本事件类型的数量;(2) 一个较小的数据集 D n o v e l = { ( x j , y j ) } j = 1 N × K \mathcal{D}_{novel}=\{(x_j,y_j)\}^{N\times K}_{j=1} Dnovel={(xj,yj)}j=1N×K,它覆盖了 N N N种新的事件类型,每个事件类型有 K K K个例子。请注意,除了Other类之外,base事件类型和novel事件类型是不相交的。模型 f f f将首先在 D b a s e \mathcal{D}_{base} Dbase上进行优化,然后在 D n o v e l \mathcal{D}_{novel} Dnovel上进行进一步微调。目标是评估模型从基本事件类型到几乎没有标注的新事件类型的可推广性和可转移性。

zero-shot ED(ZSED):训练数据集是零样本和少样本事件检测之间的唯一区别。在零样本事件检测中,对于基础事件类型,只有大规模的基础训练数据集 D b a s e = { ( x i , y i ) } i = 1 M D_{base}=\{(x_i,y_i)\}^M_{i=1} Dbase={(xi,yi)}i=1M。模型 f f f将仅在基本事件类型上进行优化,并在新类型上进行评估。

Event Type Prompts

我们比较以下五种形式的提示来表示事件类型:(a)事件类型名称是事件类名,通常由一到三个token组成。(b) 定义可以是正式描述事件类型含义的短句。(c) 原型种子触发词经常被识别为事件触发词的token或短语的列表。(d) 事件类型结构由事件关键论元角色组成,指示目标事件类型的核心参与者。(e) 提示也可以是连续软提示,即表示每个事件类型的参数的自由向量。(f) 我们进一步定义了一个更全面的描述APEX Prompt,它是手动编写的,涵盖了除软提示之外的所有以前的提示。所有事件类型提示的示例如图1所示。

A Unified Framework for ED

我们在Wang等人的基础上进行了调整,并设计了一个统一的事件检测框架(如图1所示),该框架利用特定于事件类型的提示来检测监督、少样本和零样本触发词设置下的事件。形式上,给定输入句子 W = { w 1 , w 2 , … , w n } W=\{w_1,w_2,\dots,w_n\} W={w1,w2,,wn},我们将每个事件类型提示 T t = { τ 1 t , τ 2 t , … , τ m t } T^t=\{\tau ^t_1,\tau ^t_2,\dots,\tau ^t_m\} Tt={τ1t,τ2t,,τmt}作为 M M M个token的查询,以提取事件类型 t t t的触发词。具体而言,我们首先将它们连接成序列[CLS] τ 1 t , … , τ m t \tau ^t_1,\dots,\tau ^t_m τ1t,,τmt [SEP] w 1 , … , w n w_1,\dots,w_n w1,,wn [SEP]。我们使用预训练的BERT编码器来获得输入句子 W = { w 1 , … , w n } W=\{w_1,\dots,w_n\} W={w1,,wn}以及事件类型提示 T = τ 1 t , … , τ m t T={\tau ^t_1,\dots,\tau ^t_m} T=τ1t,,τmt的上下文表示。

给定每种事件类型的提示,我们的目标是从输入句子中提取相应的事件触发词。为了实现这一目标,我们需要捕获每个输入token与事件类型的语义相关性。因此,我们学习事件类型提示的上下文表示序列上的权重分布,以获得感知事件类型 t t t的上下文表示 A i t = ∑ j = 1 ∣ T t ∣ α i j ⋅ τ j t A_i^t=\sum_{j=1}^{|T^t|} \alpha_{ij} \cdot \tau_j^t Ait=j=1Ttαijτjt ,其中 α i j = cos ⁡ ( w i , τ j t ) \alpha_{ij}=\cos (w_i,\tau_j^t) αij=cos(wi,τjt) τ j \tau_j τj是第 j j j个提示token的上下文表示。 cos ⁡ ( ⋅ ) \cos(\cdot) cos()是两个向量之间的余弦相似函数。

据此,事件类型感知上下文表示 A i t A^t_i Ait将与来自编码器的原始上下文表示 w i w_i wi连接,并被分类为二进制标签,指示它是否是事件类型 t t t的候选触发词: y ~ i t = U o ( [ w i ; A i t ; P i ] ) \tilde{y}^t_i=U_o([w_i;A^t_i;P_i]) y~itUo([wi;Ait;Pi]),其中 [ ; ] [;] [;]表示连接操作, U o U_o Uo是用于事件触发词检测的可学习参数矩阵,并且 P i P_i Pi是单词 w i w_i wi的一个独热码(POS)编码。对于基于连续软提示的事件检测,我们遵循Li和Liang,其中前缀索引 q q q被预加到输入序列 W ′ = [ q ; W ] W′=[q;W] W=[q;W]。前缀嵌入通过 q = M L P θ ( Q θ [ q ] ) q=MLP_θ(Q_θ[q]) q=MLPθ(Qθ[q])来学习,其中 Q θ ∈ R ∣ Q ∣ × k Q_θ\in \mathbf{R}^{|Q|\times k} QθRQ×k表示前缀索引词汇表的嵌入查找表。 M L P θ MLP_θ MLPθ Q θ Q_θ Qθ都是可训练的参数。

Experiments and Results

Conclusion

我们研究了各种提示来表示事件类型的语义,并使用统一的框架来进行监督、少样本和零样本事件检测。实验结果表明,对事件类型进行定义明确和全面的描述可以显著提高事件检测的性能,尤其是当标注有限(很少的事件检测)甚至不可用(零样本事件检测)时,与现有技术相比,F1-score增益高达22.2%。

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

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

相关文章

生成式AI,发展可持续吗?

最近有消息透露,OpenAI预计在2024年实现16亿美元的年化收入。相较于去年10月预测的13亿美元,这一数字增长了3亿美元,增长部分主要来源于ChatGPT订阅、API接入以及其他业务。 与此同时,其竞争对手Anthropic预计年化收入至少为8.5亿…

Goby 漏洞发布|用友 NC registerServlet 反序列化远程代码执行漏洞

漏洞名称:用友 NC registerServlet 反序列化远程代码执行漏洞 English Name:Yonyou NC registerServlet Deserialize Remote Code Execute Vulnerability CVSS core: 9.8 影响资产数: 21320 漏洞描述: 用友 NC Cloud 是一种商…

UVa1308/LA2572 Viva Confetti

题目链接 本题是2002年ICPC亚洲区域赛金沢(日本)赛区的H题 题意 我已经把n个圆盘依次放到了桌面上。现按照放置顺序依次给出各个圆盘的圆心位置和半径,问最后有多少圆盘可见?如下图所示。 分析 《训练指南》的题解: 题目说“保证在对输入数据…

Kafka配置Kerberos安全认证及与Java程序集成

Background 本文主要介绍在 Kafka 中如何配置 Kerberos 认证,以及 java 使用 JAAS 来进行 Kerberos 认证连接。本文演示为单机版。 所用软件版本 查看 Kerberos 版本命令:klist -V 软件名称版本jdk1.8.0_202kafka2.12-2.2.1kerberos1.15.1 1、Kerberos …

vivado 使用项目摘要、配置项目设置、仿真设置

使用项目摘要 Vivado IDE包括一个交互式项目摘要,可根据设计动态更新命令被运行,并且随着设计在设计流程中的进展。项目摘要包括概览选项卡和用户可配置的仪表板,如下图所示。有关信息,请参阅《Vivado Design Suite用户指南&…

Python基础知识:整理11 模块的导入、自定义模块和安装第三方包

1 模块的导入 1.1 使用import 导入time模块,使用sleep功能(函数) import time print("start") time.sleep(3) print("end")1.2 使用from 导入time的sleep功能 from time import sleep print("start") slee…

高级分布式系统-第6讲 分布式系统的容错性--可靠的组通信

可靠的组通信 组内通信最好是每个进程之间都建立点到点的通信, 但实际中这样的组织结构不是有效的, 因为会浪费很大的通信带宽。 在平等组中, 多播是主要的组织结构。 但多播是具有同步性质的容错结构, 并不适用拜占庭模型。 多…

LeetCode刷题笔记

面试经典150题 1. 数组/字符串 1.1 合并两个有序数组 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺…

spring Data Elasticsearch入门

1.Elasticsearch Elasticsearch提供了两种连接方式: transport:通过TCP方式访问ES。(已废弃) rest:通过HTTP API 方式访问ES。 描述: Spring Data Elasticsearch 项目提供了与Elasticsearch 搜索引擎的集成…

17. 电话号码的字母组合(回溯)

从第一个数字开始遍历其对应的字母&#xff0c;将其加入StringBuffer中&#xff0c;继续深度优先搜索&#xff0c;当访问到最后一个数字的时候&#xff0c;将StringBuffer存储到ans中&#xff0c;然后回溯到下一个对应字母。 class Solution {public List<String> lette…

instanceof、对象类型转化、static关键字

instanceof 与 对象类型转换 instanceof是判断一个对象是否与一个类有关系的关键字 先看引用类型&#xff0c;再看实际类型 *例子&#xff1a;obj instanceof A 先看obj的类型是否与A有关联&#xff0c;无关联则报错&#xff0c;有关联则判断obj的实际类型 因为obj的实际类…

系分笔记数据库反规范化、SQL语句和大数据

文章目录 1、概要2、反规范化3、大数据4、SQL语句5、总结 1、概要 数据库设计是考试重点&#xff0c;常考和必考内容&#xff0c;本篇主要记录了知识点&#xff1a;反规范化、SQL语句及大数据。 2、反规范化 数据库遵循范式的设计&#xff0c;使得多表查询和连接表查询较多的时…

【面试突击】网关系统面试实战

&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308; 欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术 的推送 发送 资料 可领取 深入理…

基于JAVA+ssm开发的中草药智能采购管理系统设计与实现【附源码】

基于JAVAssm开发的中草药智能采购管理系统设计与实现【附源码】 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.…

stable diffusion代码学习笔记

前言&#xff1a;本文没有太多公式推理&#xff0c;只有一些简单的公式&#xff0c;以及公式和代码的对应关系。本文仅做个人学习笔记&#xff0c;如有理解错误的地方&#xff0c;请指出。 本文包含stable diffusion入门文献和不同版本的代码。 文献资源 本文学习的代码&…

Android基于Matrix绘制PaintDrawable设置BitmapShader,以手指触点为中心显示原图像圆图,Kotlin(2)

Android基于Matrix绘制PaintDrawable设置BitmapShader&#xff0c;以手指触点为中心显示原图像圆图&#xff0c;Kotlin&#xff08;2&#xff09; 在 https://zhangphil.blog.csdn.net/article/details/135374279 基础上&#xff0c;增加一个功能&#xff0c;当手指在上面的图片…

【DevOps-08-3】Jenkins容器内部使用Docker

一、简要描述 构建镜像和发布镜像到harbor都需要使用到docker命令。而在Jenkins容器内部安装Docker官方推荐直接采用宿主机带的Docker即可。 设置Jenkins容器使用宿主机Docker。 二、配置和操作步骤 1、修改宿主机docker.sock权限 # 修改docker.sock 用户和用户组都为root $ …

2024年甘肃省职业院校技能大赛信息安全管理与评估 样题二 模块二

竞赛需要完成三个阶段的任务&#xff0c;分别完成三个模块&#xff0c;总分共计 1000分。三个模块内容和分值分别是&#xff1a; 1.第一阶段&#xff1a;模块一 网络平台搭建与设备安全防护&#xff08;180 分钟&#xff0c;300 分&#xff09;。 2.第二阶段&#xff1a;模块二…

vue-virtual-scroll-list(可单选、多选、搜索查询、创建条目)

element-ui-解决下拉框数据量过多问题&#xff08;vue-virtual-scroll-list&#xff09;_element-ui下拉框数据太多如何优化-CSDN博客 的升级版 参考链接&#xff1a;封装el-select&#xff0c;实现虚拟滚动,可单选、多选、搜索查询、创建条目-CSDN博客 1.封装组件 select.v…

HTTP 常见协议:选择正确的协议,提升用户体验(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…