热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

事件抽取代码,事件抽取实例

近些年来,事件抽取一直吸引着许多研究机构和研究者的注意力。因此我们围绕ACE来介绍事件抽取的定义、事件类型等,我们以ACE2005为例对事件进行介绍。元素用于填充事件模版,两者完整

文章目录 一、事件抽取的定义二、ACE2005数据集事件类型三、技术思路

一、事件抽取的定义

命名实体识别、关系抽取、事件抽取是NLP中信息抽取的主要任务。

事件抽取是把含有事件信息的非结构化文本以结构化的形式呈现出来在自动文摘、自动问答、信息检索等领域有着广泛的应用。近些年来 ,事件抽取一直吸引着许多研究机构和研究者的注意力。MUC (Message Understanding Conference) 会议、ACE ( Automatic Content Extraction) 会议是典型的含有事件抽取任务的评测会议。在调研中发现,ACE 2005作为论文数据集占据了主流,ACE 2005的事件抽取数据集包括英文、中文和阿拉伯语。因此我们围绕ACE来介绍事件抽取的定义、事件类型等,我们以ACE 2005为例对事件进行介绍。

ACE定义中的事件由事件触发词(Event Trigger)和描述事件结构的元素(Argument)构成。事件触发词事件触发词(trigger)是能够触动事件发生的词,是决定事件类型最重要的特征词,决定了事件类别/子类别。元素用于填充事件模版,两者完整的描述了事件本身。


上图包含了两个事件,一个是Die,一个是Attack,分别是:
其中第一个事件是死亡事件(Die), 触发词为died,其argument包括:

Victim cameramanPlace BaghdadInstrument American tank
第二个事件是攻击事件(Attack), 触发词为fired, 其argument包括:Target Palestine HotelPlace BaghdadTarget cameramanAttacker American tank

事件抽取任务可以由下面两个步骤主要组成:

事件检测(Event Detection):主要是根据上下文识别出触发词以及代表的事件类型和子类型,ACE2005定义了8种事件类别以及33种子类别,每种事件类别/子类别 对应唯一的事件模版。

事件元素识别(Argument Detection):事件元素是指事件的参与者。根据所属的事件模版,抽取相应的元素,并为其标上正确的元素标签。

二、ACE2005数据集事件类型

ACE数据集一共定义了8种大类,33个子类,每个子类都有一个事件的模板。

比如:Life/Marry 是结婚事件,Marry事件是官方活动,两人在法律定义下结婚。其模版包括一个participate slot和两个attribute slot,如下图3所示

例如Conflict/Attack是攻击事件,ATTACK事件被定义为导致伤害或损害的暴力行为。ATTACK事件包括INJURE或DIE亚型未涵盖的任何此类事件,包括没有指定代理的事件。ATTACK事件类型包括较少具体的暴力相关名词,如“冲突”,“冲突”和“战斗”。如果只是为了保持一致性,那么具有事件和武器品质的’枪火’应该总是被标记为ATTACK事件。“政变”是一种攻击(也是一场“战争”)。事件模版包括3个participate slot和2个attribute slot,如下表所示。

三、技术思路

现在已经明确了事件抽取的两个步骤:一个是trigger token的识别,另一个是事件要素的提取。
所以主要的思路与关系抽取类似,可以是pipeline的形式,也可以是Joint的形式。

百度AI2020事件抽取提供的baseline是使用pipeline的形式,第一步识别触发词,第二步再识别事件要素。使用预训练模型,第一步的tragger token的识别看作是序列标注问题,触发词与标注的类别对应。比如“求婚”对应类别“结婚”。

第二步也是序列标注问题。

用了两个序列标注把问题解决了,好像都没有用到关系抽取相关的。

参考:
https://zhuanlan.zhihu.com/p/42135074
https://blog.csdn.net/muumian123/article/details/81746583


推荐阅读
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
author-avatar
修竹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有