巢湖网站制作,品牌策划书案例,小程序注册申请流程图,南平摩托车罚款建设网站缴费本文转载在公众号#xff1a;知识工场 。 上篇事件抽取及推理的推文已经介绍了事件抽取的基本方法#xff0c;本篇主要介绍事件推理的相关工作。就目前来看#xff0c;事件方向相关的研究还是以事件抽取为主流任务#xff0c;当前大多都是在模型的框架和优化方面进行研究。… 本文转载在公众号知识工场 。 上篇事件抽取及推理的推文已经介绍了事件抽取的基本方法本篇主要介绍事件推理的相关工作。就目前来看事件方向相关的研究还是以事件抽取为主流任务当前大多都是在模型的框架和优化方面进行研究。同时事件推理的相关工作有众多领域并且没有一个主流的事件推理方向。近年来越来越多的工作关注于事件的各个方面的推理比如事件因果关系推理 ( Event causality inference ), 脚本事件推理 ( Script event prediction ), 常识级别事件产生的意图和反应推理 ( common sense level event intent , reaction inference ),周期性事件时间推理 ( recurrent event inference ) 等等。这些任务大多都是在已经有抽取到的事件语句或从知识库中可以得到的事件片段等挖掘事件在时间维度、顺承或依赖关系维度的特征从文本或者知识库中获取先验知识来支撑推理。这些事件推理的工作不外乎推理事件之间的相互关系比如时序关系、因果关系等等。传统的方法都是基于统计的方法现在的方法也基本都是以神经网络为主。接下来就事件推理领域的一些工作进行介绍。脚本事件推理脚本事件学习已经经过了多年的研究主要任务是根据一系列的故事的上下文来推断出正确的故事结尾当然推断结尾一般也是常识级别的因果关系推断 common sense level inference 。最早由 Chambers and Jurafsky 等人提出基于指代消解技术利用自动化的方法从大规模语料中自动抽取脚本事件链条 event chain 并提出了经典的挖词填空式的评估标准来评估脚本事件推断模型这种思路被称为统计脚本学习。之后脚本事件学习和预测领域有了更多的工作 A Corpus and Cloze Evaluation for Deeper Understanding of Commonsense Stories [NAACL 2016] 提供了事件语料和evaluation 方法。现在的工作大多都是使用基于共现关系的概率统计的相关方法来描述抽象脚本事件之间的演化规律和模式。更多的Mark Granroth-Wilding, etc. 2016 的工作提出了 Multiple Choice Narrative Cloze ( MCNC ) 的任务以及评估方法方便了后续研究的开展。这个任务具体可以描述为给定一个脚本事件的上下文和若干个候选的后续事件从这些后续事件中挑选唯一正确的后续事件。这篇文章中的一个例子可以用下图来阐述。如上图所示上下文被组织成若干个脚本事件组成的 event chain每个脚本事件抽象成为 trigger ( role1, role2,…) 的形式, 角色都在 entities 中进行标注。然后在预测部分给出五个候选事件这五个候选事件是由一个标注的正确的下文事件和另外的从语料中随机选择的事件组成。同时也有很多工作比如 Story comprehension for predicting what happens next [EMNLP 2017]Dan Roth 研究组的工作开始关注语义方面的故事理解不仅仅是在传统的基于统计的方 法来进行预测需要更深层次挖掘文本的语义知识比如事件序列通常可以挖掘出事件顺承和依赖关系的信息、情感偏向通常奠定预测事件的情感倾向和主题信息保持预测的事件和故事原文的主题一致性从而去预测接下来可能发生的事件。我们以以下的例子来说明根据已有的故事原文来进行下文的预测图片来源于Chaturvedi S, etc. 2017这篇工作就是从 context 中提取出来故事的语义信息进行故事结尾推断。传统的脚本事件学习方法 Chambers and Jurafsky (2008) 使用 Pairwise Mutual InformationPMI来将事件通过事理关系形成一个事件链之后研究者 Jans et al. (2012)用 skip bi-gram 概率来从文本中提取出来事件链从而对事件对的时序关系进行建模这些事件对 event pair 往往具有较强的顺承关系。上述的统计方法逐渐被神经模型替代越来越多的研究者使用 Siamese Networklanguage model 和 LSTM 等模型来学习到更多的事件时序关系。介绍完脚本事件推理的相关基础知识之后接下来就结合近些年具体的工作来描述脚本事件推理的研究问题和现状。Wang Z, etc 2017 提出了结合事件时序信息和事件关系来辅助脚本事件预测。这篇工作主要是总结了以往工作中往往事件对的关系 pairwise event relations 是对脚本事件预测很有帮助的因此在使用神经网络对整个事件链进行时序关系建模的同时应该考虑进行这些事件对的关系信息。整个方法的框架如下所示图片来自Wang Z, etc 2017整个框架分两部分已有的脚本事件链中的每个事件被组织成 v ( a_0, a_1, a_2 ), embeddings 之后拼接成为一个 event vector e然后使用 LSTM 来 encode使用LSTM 主要是为了保留事件之间的时序关系这样就完成了对已有事件链的表示。同时对五个 candidate events每个 candidate 都以相同的方式进行 encode 并且这个候选事件的隐状态需要结合事件链最后一个事件的 hidden layer 来确定为了尽可能地学习更多的 event pair 信息candidate event 的隐状态会和事件链的每个事件的隐状态进行配对并通过 dynamic memory network 来学习候选事件和这些事件链中的事件的相关性最终输出每个 candidate event 的概率结果。详细地对每个部分展开来说事件使用 LSTM 表示部分比较通用因此不必详细说工作重点在于对事件对的建模。首先传统的方法计算一个事件对的相关程度可以用sigmoid 简单计算如下h_i 是事件链中的某个事件的 LSTM 得到的表示h_c 是候选事件表示。则自然地最终的这个候选事件作为最终预测事件的得分就是所有 event pairs 的平均分数。然而直觉上事件链上的每个事件对于候选事件预测的重要程度都不是均等的比如事件链上的一系列事件”排队就坐点餐”和最终的预测事件“吃饭”很明显“就餐”事件和“吃饭”的相关性最高。因此这部分使用了 dynamic memory network 进行了对传统方法的改进。首先作者使用简单的 attention 机制来对事件链中每个事件对于候选事件的影响程度进行权重计算。公式如下左边部分attention 的一般形式权重就是。则每个事件和候选事件的相关性计算就变成了下面公式2的形式。公式1公式2原文作者进一步使用 memory model 来对事件权重计算进行改进。这里也介绍一下memory modelmemory model 由多个 dynamic computational layer组成第一层的权重计算和上面的一般 attention 权重计算形式一样。之后对整个事件链学习到一个统一的表示即对每个事件链中的事件的隐状态都通过第一层的权重进行加权相加公式如下所示h_e 就是学习到的整个 event chain 的表示。这个统一的事件链表示 h_e 就被用来和候选事件隐状态 h_c 结合起来产生一个更深层次的表示 v 这个表示 v 比起候选隐状态h_c 来说包含了更多的语义信息。在计算第二层 attention 的时候 h_c 就可以使用这个更深层次的表示 v 来进行即这个过程将会进行多次。然后用 gate 机制来控制使用当前新得到的表示还是上一个阶段的 v 。最后通过检测 |vt1−vt| 是否小于阈值来确定整个模型是否已经收敛。总而言之这篇文章算是将比较经典的脚本事件学习方法进行对比并将两种主流的事件关系事件时序关系和事件对的关系来进行融合结合两种关系的优点使用memory model 进行事件链的每个事件的权重学习并在数据集上获得了 state-of-art 的结果。本篇就是详细介绍了这一工作和当前的最新研究进展。事理图谱与脚本事件推理事理图谱近些年来收到越来越多的关注构建事理图谱可以进行很多应用这部分就介绍一篇近年的构建事理图谱来进行脚本事件推理的工作。Li Z, etc. 本章节所有图片都来自于这篇文章在去年的关于构建事理图谱来进行脚本事件预测的工作就是典型的事理图谱应用工作事理图谱也应该受到更广泛的关注。这篇文章是哈工大刘挺老师团队的工作其在事理图谱方面的研究有很长时间。根据刘挺老师有关事理图谱的ppt中可以得到事理图谱的相关背景知识事理图谱是事理逻辑知识库描述抽象事件之间的演化规律和模式。事理图谱以抽象类事件为节点构建的有向有环图 directed cyclic graph node是 eventedge 是事理关系。事理关系在刘老师这里暂时只定为两种一种顺承一种因果这两种关系考虑了事件发生的时间顺序。 这篇文章就是描述通过构建这样的事理图谱来进行脚本事件预测同时通过 scaled graph neural network ( SGNN ) 来进行事理图谱上的事件预测。这篇工作观测到已有的使用事件链event chains或者事件对event pairs的工作会遗漏掉很多事件之间的丰富的关联信息。在传统的基于统计的方法中共现较多的关系往往被认作为强关联因此绝大多数情况下都是根据这些统计信息来做出 pairwise 的预测而忽略了 event的上下文信息。然而通过已有的事件链来构建事件图谱一些语义上强联系的事件会形成环等结构从而在统计方法上加上图结构信息来辅助进行预测。如下图所示的具体例子有 ABCDE 五个事件从训练数据集上我们可以看到基于统计的方法由于 C 和 E 出现的概率比 C 和 D 大因此这种方法较大概率会预测 ABC 之后的事件是 E 而不是 D 。事实上通过构建事理图谱我们可以看到 BCD 三个事件会形成一个图谱上的环结构环结构的强连接意味着 BCD 事件往往是一起进行循环出现的这是一种隐式的连接信息在学习事件表示的时候将会更有效地提供更多信息。这里举的例子是数据集上的典型例子可以直观推理到大多数情况下 pairwise 的事件对信息还是非常重要的可能并不能代表大多数例子但是必须承认这种情况存在然而这种情况存在的比例尚不清楚因此这里对传统 event chain 和 event pair 的缺点总结尚待优化。但同时我们也可以直观感觉到图谱类型的结构往往能够表达比链和树状等结构更深层次的关联信息这点是成立的因此总体来说构建事件图谱的确有助于挖掘隐含事件关系。从上图可以看到事理图谱的点就是事件有向边表达了事件的时序关系边上的权重代表的是这种时序关系的出现频率。接下来原文作者就开始关注通过 network embeddings 来学习事件表示从而完成时间推理。现在比较 popular 的方法是使用GCNN 即在图谱上使用卷积方法进行特征学习和提取但是只能作用于无向图。已有的工作已经证明图结构的神经网络如 GNN 能够有效处理这种有向图的结构学习得事件的时序关系但是传统的 GNN 方法往往需要信息在图上进行传播从而进行收敛信息传播的一个问题就是在图上如果距离较远两点之间的最短路径较长的情况下信息很难传播到从而导致事件间信息丢失。这个问题研究者使用了 GGNN即使用 gate 门的 GNN 方法来尽多的保留这些需要传播的信息但这种方法只能在小规模图上进行本篇论文的原文作者就在这些研究的基础上使用了一个缩放机制即 scaled graph neural network SGNN 来使 GGNN 能够作用于大规模事理图谱上。具体的框架图如下图所示分为多图展示原文框架图的事理图谱构建部分原文框架图的图谱缩放和事件图谱表示学习部分所以原文方法也大致分为两部分构建事理图谱和使用 SGNN 来进行事件表示学习。上文已经介绍了这种图谱的节点和边的意思注意这里的权重是该事件时序关系共现的概率而非频率。SGNN 对比 GGNN 上的优化就是使用分而治之的思想每次只处理一部分图结构。比如一个完整事件链只包含了节点1,2,3,4则只把候选事件节点和他们之间的边单独拿出来如图1的绿色虚线框内。具体地学习事件的表示分为以下几个阶段1、初始化事件表示相似地本文需要初始化一个事件为一个事件向量对于一个 e p(a0; a1; a2)p 为触发词a 为事件角色首先 embeddings 然后对于每个部分的 embeddings 本文也比较了三种不同的将 embeddings 结合获得最终的初始化事件表示分别为 Average使用每个部分的 embeddings 的平均值作为最后的 event vectorNonlinear Transformation以及Concatenation即同上一篇论文的事件表示方法直接连接每一个部分的embeddings 作为最后的 event vector2、通过 GGNN 来对事件初始化表示进行更新这部分就要融入事件的时序信息和共现关系信息。GGNN 的输入是事件链的隐状态矩阵和事件的图谱结构邻接矩阵其中隐状态矩阵 可以理解为上下文事件向量候选事件向量k 一般是5因为训练集是从5个候选事件中选择一个正确的。经过缩放操作后的事理图谱部分结构的邻接矩阵 A 被表示为即如果节点 i 到节点 j 之间有一条有向边则 A[i,j] 的值就是共现概率否则就为0。通过图上我们可以看到 GGNN 输入就是初始隐状态矩阵 h(0) 和初始状态的邻接矩阵状态 a(0) 。具体的更新过程如下公式所示首先 t 时间步的邻接矩阵状态 a(t) 的表示要由上一时刻的输出即事件链的隐状态 h(t-1) 和邻接矩阵 A 来确定z(t) 和 r(t) 就是 GRU 结构的更新门 ( update gate ) 和充值门( reset gate )公式 (5) (6) (7) (8) 就是 GRU 的公式不必赘述通过 GRU 结构获取当前时间步的表示结果 h(t) 时间步值为固定的 K。3、从候选事件预测最可能的事件最难的事件表示部分完成之后事件链上的每个事件以及5个候选事件都得到了表示这里最后一个时间步的每个事件的表示都保留下来。这里为了学习到 event pair 的事件对关联信息对于每个候选事件将事件链中的每个事件都和这个候选事件计算相关度得分最终将每个 event pair 的相关度得分加起来取平均值即为最后的候选事件得分。作者在这里还为事件相关度得分的得分函数使用了不同的函数曼哈顿距离cosine similarityDot similarity 和 Euclidean similarity。同时作者也明白事件链上的不同事件对于候选事件的影响不同因此用了一个最基础的 attention机制和上一篇论文一样不再赘述。总体来说这篇文章和上面一篇论文其实做的问题都是一个问题使用的方法的思想也相似都是要尽可能考虑到事件的时序信息和事件对信息针对传统只用 event chain 或者 event pair 工作的不足一个提出使用两种方法结合的思想一个提出使用 GGNN 进行事件表示的思想进行了实验同时都考虑到事件链上不同事件的影响不同而用了 attention 机制一个使用了较为复杂的 memory model 一个只是用了一般的 attention 机制。两篇文章的侧重点不同方法也各异但总体思想还是一脉相承。对比一下相同数据集的结果如下图所示Wang Z, etc 2017的工作的结果 Li Z, etc 2017的工作的结果上述两个工作对比都是在 GC16 的数据集采取相同的评估方法可以看到最优的结果差别并不大代表了该领域最前沿的研究结果。总体来说脚本事件预测是一个非常有研究前景的领域研究也面对越来越多的挑战。常识级别的事件意图和反应推理在 ACL2018 的会议中有关事件推理有一篇比较有意思的工作 Event2Mind: Commonsense Inference on Events, Intents, and Reactions [ACL 2018]本节图片均来自于本篇论文这篇工作关注常识级别的事件发起者的意图、事件发生后事件参与者的反应的推理提出这么一项比较偏向事件情感推理的任务提供了该任务下的众包训练数据集并且提供了 baseline 和评测方法。形式化来说这个任务的输入是形式化事件描述短句比如“ Person X drinks coffee in the morning ”, 输出的是事件发起者的意图事件发起者的反应事件受体反应。比如这个例子中人物X的意图是X wants to stay awake 人物X的事件发生后反应是 : X feels alert由于这个事件没有事件受体Y因此事件受体 Y (如果有 Y )在事件发生后的反应为 : None 。更多的例子如下图所示这篇文章使用众包来构造数据集人名的部分全部挖去用 Person XPerson Y 来代替我们同时也可以看出 intent 往往是一个短句reaction 往往是一个单词或词组短句形式。同时作者还提出了 baseline 模型采用传统的 encoder-decoder 结构在对事件学习到表示之后将表示分别用于三个 decoder X intent decoder X reaction decoder 和 Y reaction decoder 完成生成任务。使用了多任务学习的思想整个任务的 loss 是同时最小化三个不同 decoder 的 loss 的结果。整个模型的框架如图所示Baseline 的方法比较简单Encoder 学习事件短句的表示分别用 CNNBiRNN 等方法来学习decoder 分别用 n-gram 和 sequence decoding 来完成但是文章没有很具体给出实验的评估方式后面的准确率使用人工评估初步的 baseline 的结果如下图所示可以看到 CNN 的表现不错具体的实验数据他们开放在了 github 上。同时通过后续的结果对比和错误分析以及更多的后续实验作者发现通过这些 intent 和 reaction 可以构建出 embedding space 相似事件倾向于有相同的意图反应和情感倾向这对于事件相似度衡量和推理都比较有启发。同时该工作在电影事件脚本的实验中使用性别作为对比变量甚至总结出在电影中男性和女性不同的角色刻画倾向总结的角色刻画倾向和实际中比较吻合说明通过对事件常识级别的意图和反应推理的确可以比较准确地捕捉一些事件的感情倾向有益于更多的工作。可以说这篇工作提出了一种新的事件推理的任务并且有可能该任务会在今后引起更多的重视事件情感倾向推理的相关研究将受到越来越多研究者的关注。事件因果关系识别事件因果关系识别算是一种推断事件之间是否有因果关系的任务主要是给定一对event pairs 根据文本中的信息及一些挖掘的因果特征来确定这一对事件是否存在着因果关系。Improving Event Causality Recognition with Multiple Background Knowledge Sources Using Multi-Column Convolutional Neural Networks [AAAI 17]本节图片都来自于这篇工作这篇工作就是用 MCNN 来从海量语料中寻找一个事件对的因果关系paths从而判断事件对之间是否有因果关系。形式化这个工作输入是一对因果关系候选实体对未知是否有因果关系。输出就是是否有因果关系。方法是从 why-QA 语料中的文本进行检索找出包含这个事件对的文本以及一些因果关系 clues 的句子、因果关系 pattern 等都输入到 MCNN 中从而寻找 path 来判断是否具有因果关系。比如 “ global warming worsens ” 和 “ typhoons strengthen ”两个事件如果需要判断二者是否有因果关系可以首先构建一个Why的问句即 “ typhoons strengthen ”- “ Why do typhoons strengthen? ”然后基本思路就是从大规模语料库中找到那些含有这两个事件的句子作为 answer clues 难点就是并非所有的包含这两个事件的句子都在表达这两个事件有因果关系所以找到的 clues 的噪声是非常强的因此作者决定使用MCNN 进行降噪处理找到合理的表示事件因果关系的 clues 来判断因果关系的存在。整个方法的框架如下图所示整个 MCNN 的输入如图所示MCNN 设置为8列其中第一列放两个 candidate 第二列到第五列都放包含这两个事件 candidate 的句子的上下文。具体的第二列放cause 事件的谓语和名词之间的 context 第三列放 effect 事件的谓语和名词之间的context 第四列放 cause 事件的名词和 effect 事件谓语之间的 predicate 第五列放effect 事件的谓语之后的所有内容第六列放 Short binary patterns 就是在语料中包含cause 事件和 effect 事件的句子最常出现的 binary patterns比如两个事件由“因为…”“原因是…”等 pattern 进行连接第七列放在 QA 语料中检索到的构成的 why 问题的答案答案句子要包含 cause 事件的每个词第八列从语料中找一两句有因果关系的句子并且这些句子必须包含第六列的那些表示因果关系的 pattern 。MCNN 的每一列 column 的框架如下图所示可以看到输入的单词使用 n-gram 进行 Word2vec 来进行表示之后使用 CNN 结构。MCNN 每一列都使用完整的 CNN 结构只是 filter 的大小可以不同通常 filter 的大小需要根据每个部分的不同内容来确定。MCNN 最先使用在图像中比较经典的就是在图像处理中利用 MCNN 计算人群密度一张图往往人头的大小是不一样的同样大小的 filter 往往不能捕捉到图像中人头近大远小的特征因此设计不同大小的filter来对应不同大小的人头filters 越大越适合去处理大人头的部分。在 NLP 领域中MCNN 现在广泛用于回答 Why-QA 的任务中分析问句并且推理出隐式因果关系。这篇文章借鉴意义比较大的就是使用 MCNN 找 why 问题的答案路径这种方法在众多 Why-QA 任务中已经被证明行之有效。作者这里将方法进行延伸去解决两个事件是否有因果关系的问题。同样的找事件因果关系的工作近些年还有一篇 Kang D, etc.2017.,也是从文本中挖掘因果特征来对时序事件的因果关系进行判断具体工作在这里暂不展开介绍如果有兴趣的读者可以详细阅读。事件因果关系的相关论文结合比较难的关系推理领域的因果关系推理使用事件信息来辅助进行因果关系推理在研究领域属于比较有挑战性的工作值得更多研究者的研究。事件推理小结篇幅原因这里只介绍了几篇关于事件推理的相关工作但是事件推理的相关研究领域不仅于此。比如周期性事件可能发生的时间的推理同时进行周期性发生事件的发生时间的补全Dinesh Raghu, etc. [IJCAI 2018]。Prafulla, etc. 主要研究在事件文本中找到一个句子的多个事件之间是否有时序关系重点解决长距离事件之间的时序关系推断。同时还有事件指代消歧的相关工作 Prafulla and Ruihong, 2017 ACL, 2018 EMNLP主要针对文档内部事件之间、跨文档事件之间的一些事件可能实际上指的是同一件事件但是事件描述非常不同这种情况下应该如何进行相同事件识别的相关研究。事件之间的关系挖掘、推理的有很多的研究领域不同于事件抽取的主流任务事件推理正在朝着各个比较有趣的方向进行发展事件抽取作为 IE 的重要任务事件推理作为IE之后的更加有趣的应用将继续有着不断发展的前景。如果有更多的读者对事件抽取、事件推理的相关研究感兴趣的话欢迎和知识工场实验室进行联系和探讨也欢迎和我本人李晨光知识工场17级硕士联系方式hnjzlcggmail.com进行交流。最后欢迎大家关注我们实验室的中文事件抽取的相关工作Timeline: A Chinese EventExtraction and Exploration SystemLi,etc. 2018和相关的中文事件展示demohttp://218.193.131.250:33663/search/周杰伦。知识工场实验室将在事件领域进行更多的研究。参考文献1、Mostafazadeh N, Chambers N, He X, etal. A corpus and evaluation framework for deeper understanding of commonsensestories[J]. arXiv preprint arXiv:1604.01696, 2016.2、Chaturvedi S, Peng H, Roth D. Storycomprehension for predicting what happens next[C]//Proceedings of the 2017Conference on Empirical Methods in Natural Language 7899 Processing. 2017:1603-1614.3、Rashkin H, Sap M, Allaway E, et al.Event2Mind: Commonsense Inference on Events, Intents, and Reactions[J]. arXiv preprint arXiv:1805.06939, 2018.4、Li Z, Ding X, Liu T. Constructing Narrative Event Evolutionary Graph for Script Event Prediction[J]. arXiv preprint arXiv:1805.05081, 2018.5、Granroth-Wilding M, Clark S C. Whathappens next? event prediction using a compositional neural network model[J].2016.6、Wang Z, Zhang Y, Chang C Y. Integrating order information and event relation for script eventprediction[C]//Proceedings of the 2017 Conference on Empirical Methods inNatural Language Processing. 2017: 57-67.7、Kruengkrai C, Torisawa K, Hashimoto C,et al. Improving Event Causality Recognition with Multiple Background KnowledgeSources Using Multi-Column Convolutional Neural Networks[C]//AAAI. 2017:3466-3473.8、Kang D, Gangal V, Lu A, et al.Detecting and explaining causes from text for a time series event[J]. arXiv preprint arXiv:1707.08852, 2017.9、D Raghu, S Nair, Mausam - IJCAI, 2018. Inferring Temporal Knowledge for Near-Periodic Recurrent Events.10、Choubey P K, Huang R. A sequential model for classifying temporal relations between intra-sentence events[J].arXiv preprint arXiv:1707.07343, 2017.11、Choubey P K, Huang R. Improving Event Coreference Resolution by Modeling Correlations between Event Coreference Chains and Document Topic Structures[C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2018,1: 485-495.OpenKG.CN中文开放知识图谱简称OpenKG.CN旨在促进中文知识图谱数据的开放与互联促进知识图谱和语义技术的普及和广泛应用。点击阅读原文进入 OpenKG 博客。