事件抽取(Event Extraction, EE)

一、引言

事件抽取(Event Extraction, EE)是信息抽取领域中的一个重要任务,旨在从非结构化文本中识别和抽取事件相关的信息。事件抽取通常包括识别事件触发词、事件类型以及事件中的参与者、时间、地点等元素,最终将这些信息结构化地表示出来。事件抽取是自然语言处理(NLP)中的一个挑战性问题,广泛应用于新闻分析、舆情监控、情报分析等场景。

二、分类

2.1 句子级事件抽取

句子级事件抽取指的是从单个句子中识别并提取事件信息。这包括找到事件触发词、识别事件类型,以及抽取相关的事件论元(如参与者、时间、地点等)。句子级事件抽取主要集中于以下几个方面:

  1. 触发词检测:识别一个句子中的事件触发词,这是事件抽取的第一步。触发词通常是某些动词或名词,表示事件的发生。

  2. 事件类型分类:根据识别到的触发词,对事件进行类型分类,例如“自然灾害”、“人事变动”等。

  3. 论元抽取:找到与事件相关的要素,如“谁做了什么”、“在什么时候”、“在什么地点”等。

句子级事件抽取的优势在于处理范围相对较小,容易利用句法和语义特征进行分析。然而,它也存在一些限制,例如无法处理跨句子分布的事件信息

2.2 篇章级事件抽取

篇章级事件抽取则涉及对整个篇章或多句话段中事件的识别和提取。在篇章中,事件往往会跨越多个句子,形成因果、从属或并列关系,篇章级事件抽取的目标是在更大上下文中完整地捕捉这些事件及其相互关系。研究的主要任务包括:

  1. 跨句子事件抽取:识别分布在多个句子中的事件信息。例如,一个句子描述事件的主体,另一个句子描述事件的发生背景或时间。

  2. 事件链建模:通过识别多个事件之间的因果关系和时间顺序,构建事件链,以此来理解整个篇章中事件的因果逻辑和发展。

  3. 篇章内论元共享:在篇章级别中,事件论元往往需要共享。例如,前面某句话中提到的实体在后面的句子中继续起作用,这就需要模型有能力理解指代和篇章连贯性。

2.3 句子级与篇章级事件抽取的差异

2.3.1 抽取范围

  • 句子级事件抽取聚焦于单个句子,能够快速识别和提取特定句子中的事件。

  • 篇章级事件抽取则着重于跨越句子的上下文,目标是捕获完整的篇章信息。

2.3.2 上下文理解

  • 句子级事件抽取通常可以在有限的上下文内进行,只需要理解句子内的关系

  • 篇章级事件抽取需要处理更复杂的上下文,包含跨句子的依存关系、指代消解、篇章结构等,这对事件的连贯性建模提出了更高要求。

2.3.3 研究重点

  • 句子级事件抽取的研究重点主要集中在事件触发词识别、事件类型分类以及论元的抽取。它通常利用深度学习模型(如LSTM、BERT等)来学习词汇和句法特征。

  • 篇章级事件抽取的研究重点在于对跨句子的上下文建模和复杂关系的抽取。篇章级事件抽取常采用图神经网络(GNN)等方法,构建句子之间的关系图,或者利用指代消解技术和篇章推理模型来获取更深层次的关系。

2.3.4 研究挑战与方法

  • 句子级事件抽取面临的主要挑战在于如何应对词语的歧义性和抽取论元时的复杂语法。一般使用依存句法分析、BERT等预训练模型来解决这些问题。

  • 篇章级事件抽取的主要挑战是如何有效建模篇章内的关系和理解上下文依存。例如,篇章内的一个事件可能由多个触发词跨越不同的句子来描述,如何处理这些分布式的信息是篇章级事件抽取中的一个难点。常见的方法包括利用篇章级Transformer模型,或者通过建立图结构进行跨句子的依存关系建模。

三、篇章级事件抽取(Document-level Event Extraction, DEE)

篇章级事件抽取(Document-level Event Extraction, DEE)是从给定篇章中检测出符合预先定义事件模板的事件,并抽取与事件相关的角色和论元。根据是否需要识别事件,DEE 研究可以分为两个子任务:篇章级事件识别及其论元抽取(DocEI & AE)和篇章级事件论元抽取(DocEAE)。

3.1 篇章级事件识别及其论元抽取 (DocEI & AE)

DocEI & AE 的目标是从篇章中抽取所有符合指定类型的事件信息。这一任务的核心在于识别事件类型及其相关的论元,并形成一个完整的事件表格。任务包括以下三个子任务:

  1. 实体抽取:首先从篇章中识别出可能作为论元的候选实体。例如,在篇章中,实体可以是人名、地点、时间等,与事件相关的信息通常通过不同的颜色来标注。

  2. 事件类型判断:识别篇章中包含的事件类型。每个篇章可能包含多个事件类型,例如,事件类型 EU 和 EO,表示不同类别的事件。

  3. 多事件识别及论元抽取:给定事件类型后,识别篇章中多个相同类型的事件,并抽取这些事件的相关论元。例如,在篇章中可能包含同一种类型的多个事件(如一个EU事件和两个EO事件),需要对每个事件进行角色-论元抽取。

3.1.1 DocEI & AE 任务定义

假定篇章为D,DocEI & AE 任务的目标包括:

  1. 识别篇章 D中包含的所有事件类型集合\{t\}

  2. 对于每个事件类型t,识别其包含的所有事件集合\{event\},并完成每个事件在每个角色下的论元抽取。

  3. 可以形式化表示为:event=\{Role_{t,k}, \{arg_{t,k,j}\}\},其中Role_{t,k}是事件类型 t 的第k个角色,arg_{t,k,j}是篇章D中的一个实体,代表角色Role_{t,k}的论元,j表示该角色可以包含多个论元。

3.1.2 研究进展

DocEI & AE任务的实现模式有两种,一种是流水线模式,即分布独立实现实体抽取、事件类型判断和多事件抽取等子任务 (如:Doc2EDAG,DE-PPN,PTPCG,GIT,RAAT,SCDEE),难点在于多事件识别。

另一种是联合模式,即将上述子任务整合成一个完整的抽取任务,从而避免错误传播。难点在于设计一个合理的数据结构/图结构(如:Token-Event-Role Structure-based Multi-Channel Document-Level Event Extraction,TT-BECG),既能表示和解码篇章中包含的所有事件,又能直接揭示实体在何种时间类型下的哪些事件中扮演了何种角色论元,从而将3 个子任务集成为 1 个任务完成整个抽取任务。

3.2 篇章级事件论元抽取 (DocEAE)

DocEAE 的目标是在已知每个篇章包含的事件类型和事件触发词的情况下,识别每一个触发词所对应事件的角色与论元,无需再次识别事件类型。任务包括以下两个子任务:

  1. 识别候选论元:从篇章中识别出所有可能作为论元的文本片段。这些片段可以是命名实体,也可能是非命名实体,如时间描述或短语等(在示例图中通常用下划线表示)。

  2. 论元分类与链接:针对给定事件类型的每个角色,对候选论元进行分类,判断该论元是否充当相应角色。例如,针对触发词标记的事件,找到其对应角色的论元并进行标注(通常通过带箭头的线段来表示角色与论元的对应关系)。

3.2.1 DocEAE 任务定义

假定篇章D中包含多个事件,每个事件由一个触发词t标记,同时t表示所触发的事件类型。任务目标是:

  1. 针对每个触发词t触发的事件event_t,找到事件的所有角色-论元对集合\{Role_{t,k}, \{arg_{t,k,j}\}\}

  2. 其中,Role_{t,k}是事件类型 t 的第k个角色,arg_{t,k,j}是篇章D中的一个文本片段,充当事件 event_t中角色Role_{t,k}的论元,j表示该事件在角色Role_{t,k}上可以有多个论元。

3.2.2 研究进展

目前,篇章级事件论元抽取(DocEAE)的研究主要集中于 RAMS 和 WIKIEVENTS 语料库,研究思路大致分为四种策略:基于传统分类、机器阅读理解(MRC)、文本生成、和跨度选择。这些策略基于不同的实现方式,分别为 DocEAE 任务提供了解决思路和研究进展。

1. 基于传统分类

这种策略的核心是先产生候选论元,再对每个角色进行分类判断,即识别每个候选论元是否充当该角色的论元。

  • 候选论元生成:RAMS提出了枚举一定长度范围内的所有文本片段作为候选论元,然后再对每个角色进行分类判断,确定哪些候选片段可以充当角色的论元。

  • 语义编码和减少候选空间

    • TSAR和EAE采用抽象语义表示图(AMR)对篇章结构语义进行编码,以增强对篇章结构的理解。

    • A Two-Step Approach for Implicit Event Argument Detection提出了一种两阶段方法来确定论元中心词,从而减少候选论元的选择范围。

    • Document-Level Event Argument Extraction via Optimal Transport利用剪枝的句法依存树学习词语表示,以减少分类任务的复杂性。

    • STCP考虑了论元上下文线索和同一事件类型角色之间的关联,以提高论元抽取的准确性。

2. 机器阅读理解 (MRC)

这种方法将任务转换为机器阅读理解,通过提出问题并确定文本中的答案来实现论元抽取。

  • 问题生成和文本拼接:文献[14]和文献[36]将每个事件的角色生成为一个问题,然后将该问题与篇章拼接在一起,送入预训练语言模型,通过确定论元在文本中的开始和结束位置来避免候选论元的产生。

  • 预训练和论元关系建模

    • Machine Reading Comprehension as Data Augmentation: A Case Study on Implicit Event Argument Extraction提出先在 MRC 数据集上进行预训练,然后在 DocEAE 数据集上进行微调,以缓解少样本训练的问题。

    • FEAE通过使用同一事件的其他论元及其角色作为线索,捕捉论元与论元之间的语义关系,增强了模型的推理能力。

3. 文本生成

文本生成策略基于事件本体,通过创建事件模板,并用论元填充模板的方式进行事件抽取。

  • 事件模板生成:文献[6]将 DocEAE 任务转化为基于事件模板的文本生成任务。对于每种事件类型,创建一个包含所有论元占位符的模板,并通过序列到序列(Seq2Seq)的编码器-解码器模型生成填充后的模板。

  • 扩展生成模型

    • Dynamic Global Memory for Document-level Argument Extraction和EA2E扩展了生成模型,捕获了多个事件之间的关联语义。

    • CUP捕捉了论元与触发词之间的依赖关系,以增强对事件的理解。

    • Retrieve-and-Sample将检索增强技术融入生成模型,用于更好地生成论元信息。

    • DICE则将文本生成策略应用于临床医学领域的事件抽取。

4. 跨度选择

跨度选择策略通过基于角色的表示,训练模型分别确定论元在文本中的开始和结束位置。

  • 基于提示的跨度选择:Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction为每种事件类型设计了一个提示模板,基于预训练语言模型(PLMs)返回的角色表示为每个角色生成两个跨度选择器,分别确定论元的开始和结束位置。由于所有角色的跨度选择器是联合训练的,因此可以捕获同一事件类型下各角色论元之间的语义关联。

  • 扩展与改进

    • Contextualized Soft Prompts for Extraction of Event Arguments基于软提示对Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction的方法进行了扩展。

    • Revisiting Event Argument Extraction: Can EAE Models Learn Better When Being Aware of Event Co-occurrences?在Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction的基础上,尝试同时抽取多个事件的论元,以捕获多事件之间的关联语义。

    • Intra-Event and Inter-Event Dependency-Aware Graph Network for Event Argument Extraction为每个事件建立事件内和事件间的依赖感知图网络,以捕获事件中的角色依赖关系。

5. 其他研究进展
  • 基于预训练模型的策略:除了基于传统分类的方法,后面三种策略(MRC、文本生成和跨度选择)均是基于预训练语言模型,充分利用了其在语言理解和生成方面的优势。

  • 迁移学习与其他方法

    • A Multi-Format Transfer Learning Model for Event Argument Extraction via Variational Information Bottleneck、Textual Entailment for Event Argument Extraction: Zero- and Few-Shot with Multi-Source Learning、What Is Overlap Knowledge in Event Argument Extraction? APE: A Cross-datasets Transfer Learning Model for EAE

      将迁移学习、文本蕴涵(Textual Entailment)等方法应用于 DocEAE 任务,以缓解训练数据不足的问题。

    • Few-Shot Document-Level Event Argument Extraction构建了少样本数据集 FewDocAE,为少样本场景下的事件抽取研究提供了支持。

    • Document-Level Event Argument Extraction With a Chain Reasoning Paradigm采用链式推理(Chain Reasoning)的方法来解决长距离依赖问题,以增强模型对篇章中复杂依存关系的理解。

四、未来趋势

4.1 获取更多语义信息/缩小候选跨度的抽取策略

  • 语义信息的深度挖掘:现有的方法在利用蕴含的语义信息方面存在不足,例如角色的语义信息、事件类型的语义信息,以及角色、事件类型、触发词和篇章之间的关联语义信息。未来的研究可以探索如何有效地编码这些语义信息,从而提升篇章级事件抽取的效果。

  • 减少候选跨度:候选论元的巨大跨度范围是影响抽取性能的一个重要因素。如何通过有效的方法来缩小候选跨度范围,是未来篇章级事件论元抽取(DocEAE)的一个研究热点。例如,可以通过更精确的候选论元生成策略来减少不必要的候选,进而提升模型的效率和准确性。

4.2 基于少样本的篇章级事件论元抽取

少样本问题:目前支持篇章级事件抽取的数据集有限,尤其是在英文数据集方面,规模较小且事件类型分布不均,导致某些事件类型样本非常少,无法有效支撑深度学习模型的训练。为了解决这一问题,未来可以探索基于少样本学习的篇章级事件论元抽取策略,例如:

  • 零样本学习和元学习:利用零样本学习(Zero-shot Learning)和元学习(Meta-learning)等技术,减少对大规模标记数据的依赖,从而提升模型在数据稀缺情况下的表现。

4.3 面向跨度论元的篇章级事件抽取

  • 面向跨度的事件抽取:当前的篇章级事件抽取研究中,针对 RAMS 和 WIKIEVENTS 数据集的任务大多聚焦于篇章级事件论元抽取,即在给定事件触发词的情况下,识别与之相关的论元。然而,这种任务设置降低了任务的难度,限制了研究的适用性和实际应用场景的广泛性。

  • 多事件识别与论元抽取的结合:未来可以设计面向跨度的篇章级事件识别及其论元抽取(DocEI & AE)模型,同时解决事件类型识别和跨度论元的抽取问题,这将提高抽取任务的复杂性,但也能更好地模拟现实应用中的复杂场景,使研究成果具备更高的应用推广价值。

4.4 基于新数据集的篇章级开放事件抽取

  • 篇章级开放事件抽取:目前的中文篇章级事件抽取数据集大多集中在金融公告领域,文本内容和描述相对固定,且事件论元较为简单,多为命名实体。英文数据集虽然包含部分跨度论元,但规模有限且事件类型固定,无法很好地适应新类型事件的抽取需求。

  • 财经评论中的事件抽取:财经评论的语言描述较复杂,涉及施事者、受事者、时间、地点等多个事件成分,还包括事件行为发生的背景、条件等。财经评论的逻辑性较强,存在丰富的事件关系,因此,如何从财经评论中抽取篇章级开放事件,特别是处理复杂的非命名实体论元和论元共享问题,是一个重要的研究方向。

  • 开放事件抽取的应用场景:通过构建新型的数据集,例如面向财经评论的篇章级开放事件抽取数据集,可以推动事件关系抽取和开放事件抽取的研究,使这一领域成为新的研究热点。

4.5 基于大模型的篇章级事件论元抽取

  • 大模型的应用:随着大模型(如GPT-3、T5、PaLM等)在NLP任务中的广泛应用,未来篇章级事件抽取的研究将更多地考虑如何利用大模型来提升事件抽取的效果。具体策略可能包括:

    • 零样本提示和上下文情境学习:利用大模型的零样本提示(Zero-shot Prompting)和上下文情境学习(Contextual Learning)技术,设计更加有效的提示词(Prompts)来获取更多的语义信息,提高论元抽取的精度。

    • 思维链推理(Chain-of-Thought Reasoning):利用大模型的思维链推理能力,设计新的篇章级事件论元抽取执行框架,以捕获复杂的事件逻辑和跨句推理的能力。

  • 多任务学习和知识共享:大模型可以用于跨任务学习和知识共享,例如同时训练多个事件类型或论元角色的抽取任务,以提高模型对篇章中多事件信息的综合理解能力。

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

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

相关文章

常见的基础系统

权限管理系统支付系统搜索系统报表系统API网关系统待定。。。 Java 优质开源系统设计项目 来源:Java 优质开源系统设计项目 | JavaGuide 备注:github和gitee上可以搜索到相关项目

【含文档】基于Springboot+Android的房屋租赁App(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

【JavaEE】【多线程】进程与线程的概念

目录 进程系统管理进程系统操作进程进程控制块PCB关键属性cpu对进程的操作进程调度 线程线程与进程线程资源分配线程调度 线程与进程区别线程简单操作代码创建线程查看线程 进程 进程是操作系统对一个正在运行的程序的一种抽象,可以把进程看做程序的一次运行过程&a…

IMS添加实体按键流程 - Android14

IMS添加实体按键流程 - Android14 1、实体按键信息(Mi 9 左侧实体按键)2、硬件添加2.1 内核添加设备节点2.2 Generic.kl映射文件2.3 映射文件文件加载loadKeyMapLocked2.4 addDeviceLocked 添加设备相关对象 3、keycode对应scankode4、KeyEvent.java 添加…

京东云主机怎么用?使用京东云服务器建网站(图文教程)

京东云主机怎么用?非常简单,本文京东云服务器网jdyfwq.com使用以使用京东云服务器搭建WordPress博客网站为例,来详细说下京东云主机的使用方法。使用京东云服务器快速搭建WordPress网站教程,3分钟基于应用镜像一键搞定&#xff0c…

python之详解字符串

由字符组成的序列,可以用单引号或双引号括起来。 1、通过下标获取字符串的字符 1.1、获取单个字符 若要获取字符串中某一个字符,可以通过 字符串名[index] 索引下标的方式获取。 索引的初始值为0,最大值为字符串长度-1。 切记&#xff0…

一、图解C#教程

一、堆和栈 程序运行时,数据存储在内存中。 使用堆和栈来存储数据 1、栈 栈是一个内存数组,先进后出原则。 可以存储:某些类型变量的值;程序当前执行环境;传递给方法的参数; 入栈:把数据放…

自动驾驶-问题笔记-待解决

参考线的平滑方法 参考线平滑算法主要有三种: 离散点平滑;螺旋曲线平滑;多项式平滑; 参考链接:参考线平滑 对于平滑方法,一直不太理解平滑、拟合以及滤波三者的作用与区别; 规划的起点&#x…

计算机网络——email

pop3拉出来 超出ASCII码范围就不让传了 这样就可以传更大的文件

Ubuntu 安装 Docker Compose

安装Docker Compose # 删除现有的 docker-compose(如果存在) sudo rm -f /usr/local/bin/docker-compose ​ # 下载最新的 docker-compose 二进制文件 sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-…

JavaScript for循环语句

for循环 循环语句用于重复执行某个操作,for语句就是循环命令,可以指定循环的起点、终点和终止条件。它的格式如下 for(初始化表达式;条件;迭代因子){语句} for语句后面的括号里面,有三个表达式 初始化表达式(initialize):确定循环变量的初始…

[C语言]指针和数组

目录 1.数组的地址 2.通过指针访问数组 3.数组和指针的不同点 4.指针数组 1.数组的地址 数组的地址是什么&#xff1f; 看下面一组代码 #include <stdio.h> int main() { int arr[5] {5,4,3,2,1}; printf("&arr[0] %p\n", &arr[0]); printf(&qu…

LeetCode讲解篇之139. 单词拆分

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们使用一个数组记录字符串s在[0, i)区间能否使用wordDict组成 我们使用左右指针遍历字符串s的子串&#xff0c;左指针 j 为子串的左端点下标&#xff0c;右指针 i 为右端点下标的下一个 遍历过程中如果字符串s…

自然语言处理问答系统

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

字节放大招:无需LORA训练,小红书写真轻松搞定,Pulid-Flux换脸方案来了

前言 在这之前&#xff0c;SD常用的换脸节点还不支持Flux模型&#xff0c;使用Flux 做虚拟模特最好的方法是炼制人脸lora&#xff0c;但是炼丹是个有技术门槛的活。 之前文章有提过字节跳动的 Pulid团队&#xff0c;率先推出了Pulid-Flux模型&#xff0c;但是之前只能在线上使用…

【Redis】Hash类型的常用命令

背景&#xff1a;redis中存储数据采取key-value键值对的形式&#xff0c;而hash内部也是键值对&#xff0c;为了区别这两个东西&#xff0c;hash内部的键值对称为&#xff1a;field-value&#xff0c;而redis的为key-value&#xff0c;这里的value包括&#xff1a;field-value。…

Elasticsearch基础_5.ES聚合功能

文章目录 一、数据聚合1.1、桶聚合1.1.1、单维度桶聚合1.1.2、聚合结果排序1.1.3、限定聚合范围 1.2、Metric聚合 二、聚合总结 本文只记录ES聚合基本用法&#xff0c;后续有更复杂的需求可以查看相关书籍&#xff0c;如《Elasticsearch搜索引擎构建入门与实战》 一、数据聚合…

通过 Groovy 实现业务逻辑的动态变更

Groovy 1、需求的提出2、为什么是Groovy3、设计参考1_引入Maven依赖2_GroovyEngineUtils工具类3_GroovyScriptVar类4_脚本规则表设计5_对应的实体类6_数据库访问层7_GroovyExecService通用接口 4、测试5、其他的注意事项6、总结 1、需求的提出 在我们日常的开发过程中&#xf…

【机器学习】智驭未来:探索机器学习在食品生产中的革新之路

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀目录 &#x1f50d;1. 引言&#xff1a;探索机器学习在食品生产中的革新之路&#x1f4d2;2. 机器学习在食品质量控制中的应用&#x1f31e;实…

MySQL之复合查询与内外连接

目录 一、多表查询 二、自连接 三、子查询 四、合并查询 五、表的内连接和外连接 1、内连接 2、外连接 前面我们讲解的mysql表的查询都是对一张表进行查询&#xff0c;即数据的查询都是在某一时刻对一个表进行操作的。而在实际开发中&#xff0c;我们往往还需要对多个表…