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

news/2024/7/27 11:04:39/文章来源:https://blog.csdn.net/qq_45041871/article/details/135559962

【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.luyixian.cn/news_show_925358.aspx

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

相关文章

C#,入门教程(66)——枚举Enum的高等用法

前言:国内码农与国外优秀程序员的最大区别是,我们的专家、教授喜欢唾沫横飞地,夸夸其谈语言特性、框架、性能,唯一目的是带私货(书籍或教程),很少能写出真有用的程序。差距在哪呢?基…

扫雷游戏棋盘的打印,判断输赢,深度分析

少年们,大家好,我是博主那一脸阳光,我来分享扫雷的打印和判断输赢,代码如何编写,如何使用,深度理解扫雷的游戏。 数据结构的分析和理论 我上次介绍棋盘的初始化,但是如果不打印出来&#xff0…

图解智慧:数据可视化如何助你高效洞悉信息?

在信息爆炸的时代,数据扮演着越来越重要的角色,而数据可视化则成为解读和理解海量数据的得力工具。那么,数据可视化是如何帮助我们高效了解数据的呢?下面我就以可视化从业者的角度来简单聊聊这个话题。 无需深奥的专业知识&#x…

【Leetcode 2707】字符串中的额外字符 —— 动态规划

2707. 字符串中的额外字符 给你一个下标从0开始的字符串s和一个单词字典dictionary。你需要将s分割成若干个互不重叠的子字符串,每个子字符串都在dictionary中出现过。s中可能会有一些额外的字符不在任何子字符串中。 请你采取最优策略分割s,使剩下的字…

【ONE·MySQL || 常见的基本函数】

总言 主要内容:介绍了MySQL中常用的基本函数。一些聚合函数、时间日期函数、字符串函数、数字函数等。       文章目录 总言1、聚合函数1.1、汇总1.2、COUNT()函数1.2.1、基本说明1.2.2、使用演示 1.3、SUM( )函数1.3.1、基本说明1.3.2、使用演示 1.4、AVG( )函…

java基础知识点系列——数据输入(五)

java基础知识点系列——数据输入(五) 数据输入概述 Scanner使用步骤 (1)导包 import java.util.Scanner(2)创建对象 Scanner sc new Scanner(System.in)(3)接收数据 int i sc…

PHP开发日志 ━━ php8.3安装与使用组件Xdebug

今天开头写点历史: 二十年前流行asp,当时用vb整合常用函数库写了一个dll给asp调用,并在此基础上开发一套仿windows界面的后台管理系统;后来asp逐渐没落,于是在十多年前转投php,不久后用php写了一套mvc框架&…

C++——map和set的基本使用

目录 一,关联式容器 二,键值对 三,set的使用 3.1 set介绍 3.2 set的插入和删除 3.3 set的pair 3.4 multiset 四,map的使用 4.1 map介绍 4.2 map实现简易字典 4.3 map实现统计次数 4.4 map的[] 五,使用map或…

TRB 2024论文分享:基于生成对抗网络和Transformer模型的交通事件检测混合模型

TRB(Transportation Research Board,美国交通研究委员会,简称TRB)会议是交通研究领域知名度最高学术会议之一,近年来的参会人数已经超过了2万名,是参与人数和国家最多的学术盛会。TRB会议几乎涵盖了交通领域…

【REST2SQL】07 GO 操作 Mysql 数据库

【REST2SQL】01RDB关系型数据库REST初设计 【REST2SQL】02 GO连接Oracle数据库 【REST2SQL】03 GO读取JSON文件 【REST2SQL】04 REST2SQL第一版Oracle版实现 【REST2SQL】05 GO 操作 达梦 数据库 【REST2SQL】06 GO 跨包接口重构代码 MySQL是一个关系型数据库管理系统&#xf…

系统性学习vue-vue核心

做了三年前端,但很多系统性的知识没有学习 还是从头系统学习一遍吧 课程是b站的Vue2.0Vue3.0课程 后续还会学习的如下,就重新开一篇了,不然太长,之后放链接 vue组件化编程 vue-cli 脚手架 vue中的ajax vue-router vuex element-ui vue3 老师推荐的vscode针对vue的插件: Vue 3…

在线项目实习|2024寒假项目实战火热报名中!

一、在线实习项目分类 二、在线实习项目流程 三、在线实习项目优惠及项目特色 1、师傅带练教学模式,手把手教你掌握 采用“师带徒”的教学模式,课程以“项目前置知识学习 师傅带练 项目实战”贯穿,强调动手实操,内容以代码落地为…

mp4文件全部转换为mp3

问题 今天突发奇想,想把mp4视频转换为mp3来收听,于是想到了ffmpeg工具 步骤 安装ffmpeg环境 要在 Windows 上配置 FFmpeg 环境,你可以按照以下步骤进行操作: 下载 FFmpeg: 首先,你需要下载 FFmpeg 的 W…

图像处理:孤立点的检测

图像处理-孤立点的检测 孤立点的检测在图像处理中通常涉及到检测图像中的突变或者边缘,而使用二阶导数是一种常见的方法。一阶导数可以帮助找到图像中的边缘,而二阶导数则有助于检测边缘上的峰值,这些峰值可能对应于孤立点或者特殊的图像结构…

如何在30秒内学会使用pprof分析Go

假设下面的代码是你要分析的 Go 代码: package mainimport ("fmt""sync""time" )// 模拟耗时操作 func hardWork(wg *sync.WaitGroup) {defer wg.Done()fmt.Printf("Start: %v\n", time.Now())// 模拟耗内存a : []string{…

[开发语言][c++]:Static关键字和全局变量

Static关键字和全局变量 1. 生命周期、作用域和初始化时机2. 全局变量3. Static 关键字3.1 面向过程3.1.1 静态全局变量3.1.2 静态局部变量(单例中会使用)3.1.3 静态函数 3.2 面向对象3.2.1 类内静态成员变量3.2.2 类内静态成员函数 Reference 写在前面&…

伪装目标检测模型论文阅读之:Zoom in and out

论文链接:https://arxiv.org/abs/2203.02688 代码;https://github.com/lartpang/zoomnet 1.摘要 最近提出的遮挡对象检测(COD)试图分割视觉上与其周围环境融合的对象,这在现实场景中是非常复杂和困难的。除了与它们的背景具有高…

C语言中关于指针的理解及用法

关于指针意思的参考:https://baike.baidu.com/item/%e6%8c%87%e9%92%88/2878304 指针 指针变量 地址 野指针 野指针就是指针指向的位置是不可知的(随机的,不正确的,没有明确限制的) 以下是导致野指针的原因 1.指针…

力扣每日一练(24-1-13)

如果用列表生成式,可以满足输出的型式,但是不满足题意: nums[:] [i for i in nums if i ! val]return len(nums) 题意要求是: 你需要原地修改数组,并且只使用O(1)的额外空间。这意味着我们不能创建新的列表&#xff…

【java八股文】之Spring系列篇

【java八股文】之JVM基础篇-CSDN博客 【java八股文】之MYSQL基础篇-CSDN博客 【java八股文】之Redis基础篇-CSDN博客 【java八股文】之Spring系列篇-CSDN博客 【java八股文】之分布式系列篇-CSDN博客 【java八股文】之多线程篇-CSDN博客 【java八股文】之JVM基础篇-CSDN博…