Constructing Narrative Event Evolutionary Graph for Script Event Prediction

Zhongyang Li, Xiao Ding and Ting Liu∗
Research Center for Social Computing and Information Retrieval, Harbin Institute of Technology
{zyli, xding, tliu}@ir.hit.edu.cn

1 精简总结

本文提出了基于事件图的脚本事件预测模型,可以充分利用网络信息。

2 摘要

脚本事件预测需要一个模型来预测给定现有事件上下文的后续事件。先前的模型是基于事件对和事件链的,不能充分利用密集事件链接,限制了脚本事件的预测能力。

本文提出利用事件图的模型,充分利用网络信息来进行脚本事件预测。首先,从大量的新闻语料库中提取叙事事件链,基于事件链构建叙事事件演化图(NEEG),NEEG可以被看作是一个描述事件演化原理和模式的知识库。为了解决NEEG推理问题,我们提出了一个标度图神经网络(SGNN)来建模事件交互和学习更好的事件表示。SGNN每次只处理相关节点,而不是计算整个图的表示,这使得我们的模型对于大规模图是可行的。

3 介绍

脚本事件预测( Script event prediction )最早是由Chambers and Jurafsky[2008]提出的,并定义为给出一个事件的上下文,需要从候选列表中选择最合理的后续事件(如图1所示)

先前的工作是基于事件对[Chambers and Jurafsky, 2008; Granroth-Wilding and Clark, 2016]和事件链[Wang et al., 2017]的,虽然成功地使用了事件对和链,但事件之间的丰富联系并没有得到充分探索。

为了更好地对事件连接进行建模,我们提出了基于事件图结构解决脚本事件预测问题,并基于网络嵌入来推断正确的后续事件。


图2(a)给出了一个例子来激发我们使用更广泛的事件连接(比如图结构)的想法。给定一个事件上下文A(enter)、B(order)、C(serve),我们需要从候选列表D(eat)和E(talk)中选择最合理的后续事件,其中D(eat)是正确答案,E(talk)是随机选择的在各种场景中频繁出现的候选事件。在事件链数据集上训练的基于对和基于链的模型(如图2(b))很可能选择错误的答案E,因为训练数据显示C和E比C和D具有更强的关系。如图2©所示,通过基于训练事件链构建事件图,上下文事件B、C和候选事件D构成强连接组件,这表明D是更合理的后续事件,给定上下文事件A、B、C

本文构造了一个基于叙事事件链的事件演化图,称为叙事事件演化图(NEEG)。有一个NEEG在手,另一个具有挑战性的问题是如何推断图表上的后续事件。一种可能的解决方案是基于网络嵌入学习事件表示。

本文做出了以下两个主要贡献:

  • 我们是第一批提出为脚本事件预测任务构建事件图而不是事件对和事件链的人。
  • 我们提出了一个比例图神经网络,它可以在大规模密集有向图上建模事件交互,并学习更好的事件表示进行预测。

4 模型

如图3所示,我们的模型由两个步骤组成。第一步是构建基于叙事事件链的事件演化图。其次,我们提出了一个标度图神经网络来解决对构造的事件图的推理问题。

4.1 叙事事件进化图构建

NEEG建构包括两个步骤:

  1. 从新闻语料中提取叙事事件链;
    语料库和事件链抽取方法同(Granroth-Wilding and Clark,2016)
  2. 基于提取的事件链构建NEEG。

GGNN(gated graph neural network):在GNN的基础之上加入时间和门控循环单元的反向传播
缺点:GGNN需要将整个图作为输入,因此它不能有效地处理具有数十万个节点的大规模图→分治

为了缩放到大规模的图形,我们在训练过程中借用了分治的思想,即我们不将整个图形馈送到GGNN中。相反,对于每个训练实例,只有一个带有上下文和候选事件节点的子图(如图3(b)所示)被输入其中

4.2 事件表示

通过预训练嵌入单词的动词和自变量组合来初始换事件表示。对于超过一个单词的自变量,采用[Granroth-Wilding and Clark, 2016]的方法,并只取由解析器识别的头部单词,词汇外的单词和缺少的参数用零向量表示。

三种广泛使用的语义合成方法:

  • 平均值:用动词和所有自变量向量的平均值作为整个事件的表示。
  • 非线性变换[Wang et al., 2017]:
  • 连接:将所有的动词和事件元素连接起来一同表示一个事件

5 实验结果

Constructing Narrative Event Evolutionary Graph for Script Event Prediction相关推荐

  1. ELG: An Event Logic Graph

    ELG: An Event Logic Graph Xiao Ding, Zhongyang Li, Ting Liu∗, Kuo Liao Research Center for Social Co ...

  2. 爬虫异步错误:raise RuntimeError(‘Event loop is closed‘) RuntimeError: Event loop is closed的解决办法

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一. 前言 发现错误:raise RuntimeError('Event loop is closed') Runti ...

  3. FAQ:Domain Event 和 C# 中的 Event 有啥区别?

    问: Domain Event 和 C# 中的 Event 有啥区别? 答: C# 中的 Event,事件.监听者列表和事件发布器是由一个类型承担,事件源和监听者之间的生命周期耦合在一起,C# 帮你提 ...

  4. HAKE笔记:Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction

    原文:Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction 代码:https://github.com/MIR ...

  5. 【论文阅读】Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction

    <Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction> 论文来源:EMNLP2020 论文链接: ...

  6. 论文阅读2 Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction

    目录 问题 创新 1.Introduction 2.相关工作 3.HAKE模型 原文:[1911.09419] Learning Hierarchy-Aware Knowledge Graph Emb ...

  7. Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction论文阅读笔记

    我的博客链接 0. 前言 1. 作者试图解决什么问题? 作者想在KGE中对语义层级(semantic hierarchies)进行建模. 2. 这篇论文的关键元素是什么? semantic hiera ...

  8. python自定义事件event的含义_事件Event详解

    简介 事件模型很多编程语言中都有广泛的应用,在饥荒中也一样.许多component在执行一些核心函数时都会顺带触发事件,比如combat在攻击到目标是就会触发onhitother事件.这时候如果监听该 ...

  9. JavaScript函数中event参数的使用-----function(event){}

    目录 什么是event? 当function函数中没有传入event参数时,我们应该如何在函数内部使用event呢? event.target的使用 event.currentTarget的使用 什么 ...

  10. mysql event使用,用MySQL的Event设置定时任务执行sql语句 | 老疯子

    想在每天某个特定时间段定时执行一条sql语句命令,来进行数据库的备份或者更新删除等,可以直接使用MySQL自带的定时任务Event事件来执行操作.需要注意的是Event事件是在MySQL 5.1版本中 ...

最新文章

  1. 在JavaScript文件中读取properties文件的方法
  2. jquery sortable的拖动方法内容说明和示例详解(转载http://www.jb51.net/article/45803.htm)
  3. SAP ABAP实用技巧介绍系列之使用代码获得某个structure上的扩展字段
  4. can收发器 rx_CANOpen系列教程03 _CAN收发器功能、原理及作用
  5. 4-1MapReduce概述
  6. Python 写一个俄罗斯方块游戏
  7. 【原创】轻量级移动设备即时通讯技术MobileIMSDK的常见问题解答
  8. 移动端车牌识别(前端识别、后端识别)的区别分析
  9. ubuntu安装docker以及dockerfly
  10. [INS-32025] 所选安装与指定 Oracle 主目录中已安装的软件冲突。
  11. 80. Session
  12. python lambda表达式及用法_Python中lambda表达式的常见用法
  13. linux 执行sql loader,sql loader使用例子
  14. 一些易被忽视且难度较高的Web前端面试题汇总
  15. 如何进行美国站税务审核
  16. 悦听player音乐播放器
  17. 使用NGUI实现拖拽功能(拼图小游戏)
  18. jvm的类加载和运行时数据区和垃圾回收
  19. 商业智能,数据仓库,ETL,数仓调度工具informatica介绍手账(一)
  20. java jurisdiction_Java Region.setJurisdiction方法代码示例

热门文章

  1. Java实现分割矩形
  2. NLP常见词/典汇总
  3. python算法 之 猜词游戏
  4. 【复习】Listening and Reading Comprehension
  5. Ruby中yield和block的用法
  6. 杜鹏的个人博客 Flex使用Blazeds与Java交互及自定义对象转换详解
  7. 一文带你深入了解 SaaS(软件即服务) 的架构设计
  8. 笔记本重置找不到恢复环境_Win10重置找不到恢复环境需要安装介质的修复图文教程...
  9. 吉他演奏中的速度与节拍
  10. AB PLC 1769模拟量模块量程转换