李忠阳作者

IJCAI 2018基于叙事事理图谱和可扩展图神经⽹络的脚本事件预测模型

本文介绍哈尔滨工业大学社会计算与信息检索研究中心(SCIR)录用于IJCAI 2018的论文《Constructing Narrative Event Evolutionary Graph for Script Event Prediction》[1]中的工作。本文提出通过构建叙事事理图谱来更好地利用事件之间的稠密连接信息,以帮助脚本事件预测任务。为了解决大规模事理图谱图结构上的推断问题,本文提出了一个可扩展的图神经网络模型,来学习事件之间的交互作用并学习到更好的事件表示。在脚本事件预测任务上,本文的方法取得了SOTA的结果。本论文的数据和代码将会在Github上公布。

论文作者:李忠阳,丁效,刘挺

关键词:脚本事件预测,事理图谱,网络表示学习,可扩展图神经网络

联系邮箱:zyli@ir.hit.edu.cn

个人主页:http://ir.hit.edu.cn/~zyli/

1. 引言

1.1 事理图谱

事理图谱(Event Evolutionary Graph)是由哈尔滨工业大学社会计算与信息检索研究中心推出的用于刻画事件演化规律和模式的知识库。结构上,事理图谱是一个有向有环图,图中节点表示事件,边表示事件之间的顺承和因果关系。事件之间在时间上相继发生的演化规律和模式是一种十分有价值的知识。我们从文本中抽取、构建了多个领域事理图谱,如金融领域的事理图谱,出行领域的事理图谱。其中,金融领域事理图谱包含150多万的事件节点以及180多万条有向边;出行领域事理图谱包含近3万的事件节点以及23万多条有向边。我们仍在不断改进事理图谱构建技术,并探索如何将其应用于真实应用场景中。实验结果表明,事理图谱可以为揭示和发现事件演化规律提供强有力的支持。图1 展示了我们构建的金融事理图谱一角。

图1. 金融事理图谱一角

1.2 脚本事件预测

脚本是人工智能领域一个古老的概念,提出于上世纪70年代[2],当时的研究方法基于专家的人工知识工程,比如典型的餐厅脚本。Chambers and Jurafsky [3]提出基于指代消解技术利用自动化的方法从大规模语料中自动抽取脚本事件链条,并提出了经典的挖词填空式的评估标准来评估脚本事件推断模型,这种思路被称为统计脚本学习。他们的工作引领了一大批后续的统计脚本学习研究工作,其中Granroth-Wilding and Clark [4]是一个典型的最新进展。Granroth-Wilding and Clark[4]提出了Multiple Choice Narrative Cloze (MCNC) 的评估方法,方便了后续研究的开展。如图2所示,本论文中的脚本事件预测任务是指,给定一个脚本事件上下文和5个候选后续事件,从中准确地挑选出唯一正确的那个后续事件。他们进一步提出了基于事件对的神经网络方法(EventComp),极大地提升了脚本事件预测的准确率。随后,Wang et al. [5]进一步提出了将事件上下文的Order信息和事件对信息相融合的方法(称之为PairLSTM)。

图2. 脚本事件预测任务以及MCNC评估

2. 动机

前人在脚本事件预测任务上应用的典型方法包括基于事件对的PMI [3]和EventComp [4],以及基于事件链条的PairLSTM [5]。尽管这些方法取得了一定的成功,但是事件之间丰富的连接信息仍没有被充分利用。为了更好地利用事件之间的稠密连接信息,本文提出构建一个叙事事理图谱(Narrative Event Evolutionary Graph,NEEG),然后在该图谱上进行网络表示学习,进一步预测后续事件。

图3中的例子对本文想要利用更丰富事件连接信息(事件图结构)的动机进行了很好的说明。给定事件上下文A(enter), B(order), C(serve),我们想要从D(eat)和E(talk)中挑选出正确的后续事件。其中,D(eat)是正确的后续事件而E(talk)是一个随机挑选的高频混淆事件。基于事件对和事件链的方法很容易挑选出错误的E(talk)事件,因为图3(b)中的事件链条显示C和E比C和D有更强的关联性。然而,基于(b)中的链条构建(c)中的事件网络之后,我们发现B,C和D形成了一个强连通分量。如果能够学习到B,C和D形成的这种强连接图结构信息,则我们更容易预测出正确的后续事件D。

图3. 事件图结构相比事件对和事件链的优势

有了一个叙事事理图谱之后,为了解决大规模图结构上的推理问题,本文提出了一个可扩展的图神经网络模型在该图谱上进行网络表示学习。近期,许多网络表示学习方法涌现出来,典型的浅层方法如DeepWalk、LINE、Node2Vec,最早提出的用于图结构上的神经网络方法如GNN以及改进方法GGNN,近期基于卷积的方法如GCN,GraphSAGE,GAT等。然而,这些方法存在这样那样的问题,不能够直接与本文的任务相结合。有的是无监督方法,不能有效利用有监督信息,性能会打折扣;有的只能应用于小规模图结构,扩展性较差;有的只能用于无向图,而本文的叙事事理图谱是有向有环加权图;有的只能学习到较短距离的信息传递。通过比较,我们选择了更为合适的GGNN [6]模型。但是它不能直接用于本文的大规模叙事事理图谱图结构上。本文通过在训练中每次只在一个小规模相关子图上进行计算,来将GGNN扩展到大规模有向有环加权图上,改进后的模型叫做Scaled Graph Neural Network (SGNN)。该模型经过修改也可以应用于其他网络表示学习任务中。

3. 方法

在上文的动机部分已经基本描述了本文方法的大体思路,图4是本文模型的整体框架图。模型分为两步:构建叙事事理图谱和利用SGNN进行网络表示学习用于预测后续事件。假设图4(a)是我们构建的叙事事理图谱,我们每次从中取出涉及到的一个子图,如图4(b),然后将其送入图4(c)的GGNN模型中,学习并更新该子图上的事件表示。具体地,每个子图包括一个故事上下文和所有候选事件节点,以及这些节点之间的有向边。

图4. 基于叙事事理图谱和可扩展图神经网络的脚本事件预测模型总图

3.1 构建叙事事理图谱

构建叙事事理图谱分为两步:抽取脚本事件链条;基于这些链条构建图。首先,本文采用Granroth-Wilding and Clark[4]的方法抽取脚本事件链条(具体见参考文献[4])。得到事件链条集合后,本文基于这些链条来构建叙事事理图谱。之所以叫"叙事事理图谱",是因为这些链条是完全按照文章描述事件的顺序抽取出来的,而不是按照真实发生的时间顺序。抽取出的每个事件可以表示为一个四元组{谓词,主语,宾语,介词短语}。为了克服事件的稀疏性,使得图谱中的事件节点是一个抽象事件,本文采用了Chambers and Jurafsky [3]中的事件表示方法来表示NEEG中的事件节点,包括一个动词以及该动词和链条实体之间的语法依存关系,例如(eat, subj)。所有的事件bigram都形成一条事件演化有向边,边上权重w可简单采用如下公式来计算:。最终构建的叙事事理图谱含有104,940事件节点和6,187,046有向加权边。

3.2 可扩展的图神经网络模型

神经网络(GNN)最早于2005年被提出。之后Li et al. [6]对其优化技术进行了改进,并将GRU应用到GNN上形成了GGNN模型。然而GGNN多应用于小规模图上(如几十上百个节点),每次对整个图进行处理。这不能适用于本文的大规模图结构上。为了解决可扩展性的问题,本文将‘分治’思想引入GGNN模型中,每次仅仅处理涉及到的一个子图(包括一条上下文和候选事件节点,以及他们之间的边,如图4(b))。如图4(c)所示,SGNN模型主要包含3个部分:事件表示层、GGNN计算层、挑选后续事件层。

3.2.1 学习初始事件表示

NEEG中的每个抽象事件节点实际上表示了多个具体的四元组事件。为了将4个事件元素组合成一个事件表示向量,本文对比了如下几种方法:

  • 平均法:使用所有4个事件元素词向量的平均值来作为整个事件的表示;

  • 非线性变换[5]:

  • 拼接[4]: 直接将4个事件元素词向量拼接起来作为整个事件的表示。

3.2.2 更新子图中的事件表示

GGNN被用来学习事件之间的交互作用并更新每个子图上的事件表示。每次输入到SGNN的为两个矩阵and。其中包含了上下文加所有候选事件的向量表示;是对应的子图邻接矩阵,该矩阵决定了子图中的事件如何交互作用。如公式1所示:

公式1

GGNN模型运作方式类似广泛应用的GRU模型,如公式2所示。不同的是每个循环GGNN都会更新子图中所有节点的事件表示,每次循环节点之间的信息传递给一度相邻节点。多个循环得以让各个节点的信息在子图结构上充分流动交互。最终模型的输出为,包含了学习到的子图中的事件表示。

公式 2

3.2.3 挑选正确的后续事件

得到事件表示后,本文采用了与前人工作[4,5]相类似的方法进行后续事件的挑选。第i个上下文事件与第j个候选事件的相关性分数可以通过进行计算,整个上下文与第j个候选事件的相关性用进行计算,基于公式挑选出正确的那个候选事件,作为最终的预测结果。本文比较了多个相似性计算函数,比如Manhattan相似度,cosine相似度,内积相似度以及欧几里得相似度,并在的计算中引入了attention机制:

3.2.4 损失函数

为了与本文的任务相结合,我们设计了如下的损失函数,如公式3所示,包括一个大间隔损失和一个正则项。其中表示第I个上下文和第j个候选事件的相关分数, y是对应的正确候选事件的索引。

公式 3

4. 实验

4.1 数据集

本文使用的数据集是Gigaword语料中的New York Times部分,并采用了Granroth-Wilding and Clark [4]的数据预处理和脚本事件链条抽取方法。对于每一个事件上下文,有5个候选后续事件,其中只有一个是正确的,更多的细节请参考相关论文。详细的数据集统计详见表1。

表1. 数据集统计

4.2 实验结果

表2 中展示了本文的实验结果。

  • 通过比较PMI、Bigram和其他方法,可以发现基于向量表示学习的方法显著超过了基于频率统计的方法;

  • 用过比较Word2vec和DeepWalk,以及EventComp、PairLSTM和SGNN,可以发现基于图结构的方法超过了基于事件对或者事件链的方法;

  • SGNN模型取得了单模型最好的预测结果52.45%;

  • 在预测阶段使用注意力机制可以提升SGNN的性能,说明上下文中的事件对挑选后续事件有不同的重要性。

此外,本文也进行了不同单模型的融合实验。结果表明不同模型之间可以互补,三个模型SGNN, EventComp和PairLSTM的组合取得了最好的实验结果54.93%。

表2. 实验结果

5. 结论

本文简要介绍了我实验室提出的事理图谱概念及初步成果。在IJCAI的论文中,我们提出构建叙事事理图谱并基于网络表示学习来解决脚本事件预测的任务。具体地,为了更好地利用事件之间的稠密连接信息,本文首先从大规模无结构化语料中抽取脚本事件链条,然后基于这些链条构建了一个叙事事理图谱(NEEG)。为了解决NEEG大规模图结构上的推断问题,基于前人提出的图神经网络GGNN,本文提出了一个可扩展的图神经网络(SGNN)来建模事件之间的交互作用并学习到更好的事件表示,这些学习到的事件表示可以用于脚本事件预测任务。实验结果表明事件图结构比事件对或者事件链更加有效,可以显著提高脚本事件预测的准确率

6. 参考文献

[1] Constructing Narrative Event Evolutionary Graph for Script Event Prediction, Zhongyang Li, Xiao Ding, Ting Liu. To appear in IJCAI 2018

[2] Roger C Schank and Robert P Abelson. Scripts, plans, goals, and understanding: An inquiry into human knowledge structures (artificial intelligence series). 1977.

[3] Nathanael Chambers and Daniel Jurafsky. Unsupervised learning of narrative event chains. ACL, 2008.

[4] Mark GranrothWilding and Stephen Clark. What happens next? event prediction using a compositional neural network model. AAAI, 2016.

[5] Zhongqing Wang, Yue Zhang, and Ching-Yun Chang. Integrating order information and event relation for script event prediction. EMNLP, 2017.

[6] Yujia Li, Daniel Tarlow, Marc Brockschmidt, and Richard Zemel. Gated graph sequence neural networks. arXiv preprint arXiv:1511.05493, 2015.

入门
相关数据
注意力机制技术
Attention mechanism

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

神经网络技术
Neural Network

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

知识库技术
Knowledge base

知识库是用于知识管理的一种特殊的数据库,以便于有关领域知识的采集、整理以及提取。知识库中的知识源于领域专家,它是求解问题所需领域知识的集合,包括基本事实、规则和其它有关信息。

信息检索技术
Information Retrieval

信息检索(IR)是基于用于查询检索信息的任务。流行的信息检索模型包括布尔模型、向量空间模型、概率模型和语言模型。信息检索最典型和最常见的应用是搜索引擎。

损失函数技术
Loss function

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

非监督学习技术
Unsupervised learning

非监督式学习是一种机器学习的方式,并不需要人力来输入标签。它是监督式学习和强化学习等策略之外的一种选择。在监督式学习中,典型的任务是分类和回归分析,且需要使用到人工预先准备好的范例(base)。一个常见的非监督式学习是数据聚类。在人工神经网络中,自组织映射(SOM)和适应性共振理论(ART)则是最常用的非监督式学习。

权重技术
Weight

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

准确率技术
Accuracy

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

返回顶部