论文浅尝 | 探索将预训练语言模型用于事件抽取和事件生成

论文笔记整理:郝凯龙,南京大学硕士


链接:https://www.aclweb.org/anthology/P19-1522.pdf


动机

传统的 ACE 事件抽取任务依赖于人工标注的数据,耗费大量的人力并且数据量有限,数据量不足给事件抽取带来了阻碍。传统的事件抽取不能解决 role overlap 角色重叠的问题。PLMEE 模型通过对不同的角色分别进行 augument prediction 论元预测解决了角色重叠问题。另外,论文提出了一种利用BERT生成训练数据的方法,并证明有效。在 ACE2005 数据集上,超过了 state-of-the-art 的结果,将触发词分类和论元分类的 F1 值分别提高到了 81.1 和 58.9。


亮点

PLMEE 的亮点主要包括:

(1)解决了一个论元扮演多个角色即角色重叠问题,通过对不同的角色构建多个分类器的方式。例如“The explosion killed thebomber and three shopers”在这句话中,bomber既是Attacker也是Victim。

(2)提出了利用BERT生成训练数据的方法,并证明方法有效。


概念及模型

  • 事件抽取

事件抽取分为触发词抽取、论元抽取、论元范围检测、损失函数重写

1.    触发词抽取

将触发词抽取建模为多分类问题,在BERT后添加MLP做分类,用cross-entropy作为损失函数。

2.    论元抽取

对于每一个token有多组二分类器,每个分类器决定改token是否为对应role的开头或结尾。通过这种方式,一个token/argument可以是多个role,可解决role overlap问题。

3.    论元范围检测

利用一个有限自动机,进行短语的检测,可以表示成下图:

尽可能的选择概率更高的token作为argument的开头和结尾。并且可以为一个role检测出多个argument。

4.    损失函数重写

按照TF-IDF的方式,计算不同role的重要程度,作为weight。

r表示role,即角色。v 代表某一事件类型,V代表所有事件类型集合。

对RF-IEF规范化,得到I(r, v)代表对于事件v角色r的重要程度。

Ls表示start,即论元开头的loss;Le表示end的损失。两者求和为最终的损失函数。

  • 事件生成

首先在数据集中进行论元收集,将角色相同并且上下文相似的token/phrase构成集合,如上图框中示例。

对于句子,对其中的argument论元,在构建的相似集合中随机选择进行替换。

对于触发词和论元以外的词,即附加词,利用bert进行[mask]遮掩,利用BERT预测的结果作为替换。

 

最后得到打分函数,用于筛选生成数据。

理论分析

实验

1.     实验结果

作者采用了相较于以往方法更严苛的评判标准。

但是实验的结果依然是极好的,对于Trigger Identification触发词检测和Trigger Classification触发词分类甚至提升了10%

 

1.     触发词只有类型和范围均检测正确,才认为结果正确

2.     论元只有范围正确,并且所有的role overlap重叠角色均被检测出来,才认为结果正确。


总结

本文利用预训练语言模型,对事件抽取证明有极大的提高,说明 BERT 得到的 embedding 蕴含的语义信息是非常有意义的。另外,采用 BERT 生成数据也是一种不错的思路。对于 role overlap 等问题,论文提出了一种基于多分类器的改进方式。

 


 

OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

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

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

相关文章

谷歌、CMU发文:别压榨单模型了!集成+级联上分效率更高!

文 | Sherry 不是小哀集成模型(Ensemble)可以提升模型的精度,但往往面临提升计算量的困境,用级联模型(Cascade)在预测时提前中断则可解决计算量的问题。最近,谷歌和CMU的研究者对此进行了深入的…

LeetCode 219. 存在重复元素 II(哈希)

文章目录1. 题目2. 解题1. 题目 给定数组nums和常数k&#xff0c;存在不同的i、j使得nums[i] nums[j]&#xff0c;且abs(i-j) < k。 输入: nums [1,2,3,1], k 3 输出: true 示例 2:输入: nums [1,0,1,1], k 1 输出: true 示例 3:输入: nums [1,2,3,1,2,3], k 2 输出…

Android静态代码扫描效率优化与实践

背景与问题 DevOps实践中&#xff0c;我们在CI(Continuous Integration)持续集成过程主要包含了代码提交、静态检测、单元测试、编译打包环节。其中静态代码检测可以在编码规范&#xff0c;代码缺陷&#xff0c;性能等问题上提前预知&#xff0c;从而保证项目的交付质量。Andro…

还在用[CLS]?从BERT得到最强句子Embedding的打开方式!

文&#xff1a;涅生编&#xff1a;兔子酱你有尝试从 BERT 提取编码后的 sentence embedding 吗&#xff1f;很多小伙伴的第一反应是&#xff1a;不就是直接取顶层的[CLS] token的embedding作为句子表示嘛&#xff0c;难道还有其他套路不成&#xff1f;nono&#xff0c;你知道这…

论文浅尝 | BERT:Pre-training of Deep Bidirectional Transformers

论文笔记整理&#xff1a;王春培&#xff0c;天津大学硕士。链接&#xff1a;https://arxiv.org/pdf/1810.04805.pdf动机将预训练语言表示应用于下有任务现有两种策略&#xff1a;基于特征的和基于微调的。文章认为当前技术限制了预训练的能力&#xff0c;尤其是基于微调的方法…

欺诈检测相关论文

欺诈检测相关论文一、分类1、GEM2、HACUD3、MAHINDER4、Semi-GNN5、MvMoE6、AMG-DP7、AddGraph8、NetWalk9、DOMINANT10、GraphConsis11、PC-GNN12、TRUST二、类别不平衡一、分类 1、GEM 来自蚂蚁金服的论文&#xff0c;他们提出GEM模型&#xff0c;是一个异质图神经网络方法&a…

LeetCode 220. 存在重复元素 III(lower_bound)

文章目录1. 题目2. 解题1. 题目 给定一个整数数组&#xff0c;判断数组中是否有两个不同的索引 i 和 j&#xff0c;使得 nums [i] 和 nums [j] 的差的绝对值最大为 t&#xff0c;并且 i 和 j 之间的差的绝对值最大为 ķ。 示例 1:输入: nums [1,2,3,1], k 3, t 0 输出: tr…

Android自定义控件入门实践之雷达扫描控件

以前因为工作的关系&#xff0c;对于自定义控件用的少之又少&#xff0c;无非就是把几个控件放置到ViewGroup内部&#xff0c;然后提供开放方法&#xff0c;就成了一个所谓的自定义控件&#xff0c;但是这种小伎俩太简单&#xff0c;面试的时候这点东西根本Hold不住场&#xff…

论文浅尝 | 基于知识图谱注意力网络的商品推荐

论文笔记整理&#xff1a;康矫健&#xff0c;浙江大学计算机科学与技术系&#xff0c;硕士研究生。论文链接&#xff1a;https://arxiv.org/pdf/1905.07854.pdf发表会议&#xff1a;KDD 2019任务定义输入&#xff1a;协同过滤知识图谱具体来说包括两个部分&#xff0c;其一是用…

Java 动态调试技术原理及实践

断点调试是我们最常使用的调试手段&#xff0c;它可以获取到方法执行过程中的变量信息&#xff0c;并可以观察到方法的执行路径。但断点调试会在断点位置停顿&#xff0c;使得整个应用停止响应。在线上停顿应用是致命的&#xff0c;动态调试技术给了我们创造新的调试模式的想象…

非常适合初学者的机器学习的数学基础笔记.pdf

本文推荐一份机器学习数学基础专辑&#xff0c;非常适合初学者入门&#xff0c;文末提供下载。机器学习&#xff0c;需要一定的数学基础&#xff0c;也需要一定的代码能力。机器学习从业者数学基础不扎实&#xff0c;只会用一些工具和框架&#xff0c;相当于某些武术家只会耍套…

LeetCode 1094. 拼车

文章目录1. 题目2. 解题1. 题目 假设你是一位顺风车司机&#xff0c;车上最初有 capacity 个空座位可以用来载客。由于道路的限制&#xff0c;车 只能 向一个方向行驶&#xff08;也就是说&#xff0c;不允许掉头或改变方向&#xff0c;你可以将其想象为一个向量&#xff09;。…

MySQL的锁机制和加锁原理

原文链接&#xff1a;https://blog.csdn.net/qq_38238296/article/details/88362999 文章目录 MySQL的锁机制和加锁原理1.行锁2.表锁3.页锁4.乐观锁和悲观锁4.1悲观锁4.2乐观锁5.1InnoDB锁的特性 6.Record Lock、Gap Lock、Next-key Lock锁6.1.Record Lock6.2.Gap Lock6.2.​…

CVPR 2019轨迹预测竞赛冠军方法总结

背景 CVPR 2019 是机器视觉方向最重要的学术会议&#xff0c;本届大会共吸引了来自全世界各地共计 5160 篇论文&#xff0c;共接收 1294 篇论文&#xff0c;投稿数量和接受数量都创下了历史新高&#xff0c;其中与自动驾驶相关的论文、项目和展商也是扎堆亮相&#xff0c;成为本…

TSNE画图

TSNE画图 2D图 from sklearn.manifold import TSNE import matplotlib.pyplot as plt import numpy as np# 10条数据&#xff0c;每条数据6维 h np.random.randn(10, 6) # 使用PCA降维到2维 tsne TSNE(n_components2, initpca, random_state0) result_2D tsne.fit_transfo…

深入探讨:为什么要做特征归一化/标准化?

文 | shine-lee源 | CSDN本文解读了一项数据预处理中的重要技术——特征归一化&#xff0c;提出并解答了5个相关问题&#xff0c;同时分析了相关方法和适用场景。写在前面Feature scaling&#xff0c;常见的提法有“特征归一化”、“标准化”&#xff0c;是数据预处理中的重要技…

LeetCode 950. 按递增顺序显示卡牌(deque)

文章目录1. 题目2. 解题1. 题目 牌组中的每张卡牌都对应有一个唯一的整数。你可以按你想要的顺序对这套卡片进行排序。 最初&#xff0c;这些卡牌在牌组里是正面朝下的&#xff08;即&#xff0c;未显示状态&#xff09;。 现在&#xff0c;重复执行以下步骤&#xff0c;直到…

技术动态 | 知识图谱从哪里来:实体关系抽取的现状与未来

本文作者为&#xff1a;韩旭、高天宇、刘知远。转载自刘知远老师的知乎专栏&#xff0c;文章链接&#xff1a;https://zhuanlan.zhihu.com/p/91762831最近几年深度学习引发的人工智能浪潮席卷全球&#xff0c;在互联网普及带来的海量数据资源和摩尔定律支配下飞速提升的算力资源…

Android 兼容 Java 8 语法特性的原理分析

本文主要阐述了Lambda表达式及其底层实现&#xff08;invokedynamic指令&#xff09;的原理、Android第三方插件RetroLambda对其的支持过程、Android官方最新的dex编译器D8对其的编译支持。通过对这三个方面的跟踪分析&#xff0c;以Java 8的代表性特性——Lambda表达式为着眼点…

由Actvity启动模式之SingleInstance引起的坑的反思

以前对于Activity的启动模式只限于文字说明理解的层面&#xff0c;但最近的一个问题让我对启动模式有了更深的了解。 Activity有四大启动模式:standard,singleTop,singleTask,singleInstance&#xff0c;这些启动模式的特点就不在这里细说&#xff0c;主要说一下SingleInstanc…