吴雨钊
(四川大学网络空间安全学院,成都610065)
自然语言处理的发展与进化带来了新的热潮与研究问题,文本推理即是其中一个比较具有挑战性的领域。文本推理是指基于已有的知识对未见问题进行理解和推断,并得出问题对应答案的过程。在文本推理的过程中最重要的是如何让机器来掌握人类知识,并进行可解释性的推理是当前技术面临的一大挑战。在众多人类知识中,事件逻辑是一种重要并且普便存在的知识,事件之间时间维度上相继发生的演化规律和模式是一种十分有价值的知识,挖掘这种事理逻辑知识对认识人类行为和社会发展变化规律非常有意义。
1977年,为了使用计算机进行自然语言理解时表示事件信息,Schank提出了“脚本(Script)”[1]的概念,有时也被称为“框架”[2]。Schank提出的所谓脚本,就是一种结构化的知识表示,用以描述特定上下文中固定不变的事件序列,Sundheim等人[3]也将其作为信息抽取的模板开展了相关研究。这种知识表示方法是早期AI研究的重要成果之一。脚本事件预测就是基于事件脚本来做出文本推理的一项任务。这个任务最早在2008年由Chambers和Jurafsky两人提出,他们提出以一种类似于Schank的“脚本”概念的新的结构化知识表示方法,使用无监督的方法从大量新闻语料中抽取出文本中事件之间的叙述关系,这些事件是按行文顺序排列,称之为叙事事件链(Narrative Event Chains)。他们将脚本事件预测定义为,给定一条缺失了某个子事件的叙事事件链以及一些候选事件,判断这些候选事件是否是缺失的事件。在给定了一系列的脚本事件“去(X,餐厅)”等,这些脚本事件是从同一篇文本中抽取出来的,脚本事件预测就是要从备选的c1、c2、c3、c4、c5中选出最为合适的后续事件。传统的脚本事件结构为v(a1,a2,a3),v是这个脚本事件的谓词,可以是单个动词,或者是动词词组的形式,a1、a2是脚本事件的直接宾语对象,a3是脚本事件的间接宾语对象。
如何以机器从原始文本中抽取脚本事件,获取事件之间的叙事信息,组织叙事事件链,并建立合理的算法模型,做出最为合适的预测,这是脚本事件预测的主要任务,此领域的研究也聚焦于此展开。
脚本事件预测的本质是让机器去理解文本中所蕴涵的事理逻辑,从而做出类人的推断,自动化地完成文本语义信息的理解,研究人员也以此来开展研究。脚本事件预测目前主要有两种方法,一种是基于统计语言学的方法来建模,从而计算事件之间的关联强度;一种是基于神经网络的方法,学习事件的语义信息,完成事件的表示,通过模型做出预测。目前,基于神经网络的方法是研究的主流。
在上世纪70-80年代,Schank提出“脚本”的概念,脚本就成为了自然语言理解的研究的中心,主要用于文本总结、共指解析和问答系统等。在这个时期,脚本事件预测任务还尚未有清晰的研究路线,研究主要是依托于专家系统。基于规则和匹配,通过人工的方式从原始新闻文本中抽取脚本事件,进行语法分析以及词性分析,再根据时序关系构成事件链,形成一种结构化的知识表示。然后将以上的流程形成专家系统。这种知识表示在一定程度上以机器的视角理解了文本信息,但这种依托专家系统的方式缺陷也较为明显,形成的专家系统是没有自学习的能力的,是具有领域依赖的,并且人工的方式对于海量的数据是束手无策的。
由于这些明显的缺陷,2008年Chambers和Jurafsky[4]提出了新的结构化知识表示方法——叙事事件链。叙事事件链是以一个共同的事件主角为中心并且部分有序的事件集合。这些事件参与者与事件集合可以填充到特定的场景中,从而得出推论。他们假设一个事件是由一个实体作为一个动词的参数组成,事件可以由一个动词以及实体(subj,obj or iobj)之间的语法依赖关系表示,将之称之为predicate-GR。他们使用C&C[5]工具对原始新闻文本进行词性标注和依赖关系分析,以及使用OpenNLP工具用于短语结构分析和共同引用解析,完成事件集合的抽取。Balasubramanian等人[6]观察到以事件主角来作为事件链的表征可能存在缺乏连贯性等缺点,于是提出将事件表示为<arg1,relation,arg2>的形式,其中arg1和arg2分别代表了事件的主客体。
随着机器硬件性能的提升以及相关标准数据集的出现,基于统计的方法主要成为了这个阶段脚本事件预测的主流方法。研究人员考虑通过计算文本相关强度的方式来进行模型算法的建立。Chambers和Jurafsky提出了Pairwise Mutual Information(PMI)方法,计算候选事件与叙事事件链的相关强度,通过这个关联强度来作为衡量事件与事件链之间相关性的指标。他们
基于上文所述的无监督的方法完成叙事事件链的提取,基于候选事件与事件链上的子事件之间共享语法论据频率的方式建立成对关系,构建一个全局的叙事分数,以便使叙事事件链上的所有子事件都能提供该候选事件的反馈分数,最终反馈分数最高的即为模型选择的预测事件。Jans等人[7]在2012年在C&J 08模型的基础上提出了Bigram模型,以叙事事件链上先前的已有事件来评估此链上的后来事件的predicate-GR的最大似然估计概率。对于那些未观察到的事件上下文,使用拉普拉斯平滑来估计并且返回其上下文概率,Bigram模型在PMI模型上显示地利用了事件间的事件顺序。Jans等人的模型也被后来一系列从文本中抽取事件链的方法所采用(Pichotta and Mooney,2014;Rudinger et al.,2015)[8-9]。
虽然基于统计的脚本事件预测方法取得了不错的成效,但是对于事件语义上的特征却无法进行深层次的学习,随着人工智能的发展,深度学习与神经网络逐渐的在自然语言领域兴起,于是有研究人员提出利用事件表示学习的方法来对事件序列进行建模,从而挖掘出脚本事件之间的相关性,提高脚本事件预测的精度,这也是目前脚本事件预测领域主流的研究方法。目前,利用神经网络的建模方法主要分为基于事件对、基于事件链以及基于图的方法。
Grantoth Wilding和Clark[10]同样使用C&J 08的方法抽取事件链,将脚本事件表示为谓词和事件参数的组合形式,通过skipgram词向量生成模型,以谓词和每个事件参数的向量之和来作为事件的向量表示。
Grantoth Wilding和Clark基于事件对的方法提出了EventComp模型,他们将每条事件链正确的候选事件与链上每个子事件相组合,形成正样本,再在数据集中随机抽样出一个事件,组成负样本。然后,通过一个共享权重的孪生神经网络(Siamese Network),将两个事件的向量表示映射到新的空间,将其组合到一起,形成新的向量空间表示。最后通过loss的计算,计算出这两个输入事件在同一链中出现的关联强度。
类似的,Modi[11]直接利用动词和事件参数的词嵌入,使用一个隐藏层自动将词嵌入合并为单个结构化的事件嵌入,预测了候选事件属于某个事件链的概率,结果表明它优于离散的统计方法。这些神经网络方法与早期利用事件对关系的统计模型在思想上还是相通的。
在对脚本事件预测更进一步的探索后,Pichotta和Mooney将LSTM用于脚本学习,其表现优于离散的统计方法。LSTM的一个优点是它可以编码无限的时间序列却不会丢失长期的历史信息,并且很好的利用了叙事事件链本身带有的时序信息。与Grantoth Wilding和Clark、Modi等人的方法相比,LSTM捕获的时序信息明显更多。但是一个强顺序的LSTM模型可能也会遭受到过拟合。Wang等人[12]考虑到这一缺陷,充分利用了LSTM时序和事件对建模的优势,提出将叙事事件链的时间顺序集成到事件之间相关性度量中。通过使用LSTM隐藏状态作为事件表示来计算事件对之间的关联强度,使用叙事事件链的时序信息作为事件对建模的特征,而不是直接使用模型输出的方式,缓解了LSTM过拟合的问题。并且Wang等人还考虑到不同的事件对候选事件有不同的重要性,使用了一个动态记忆网络(Dynamic Memory Network)自动地为每一个事件计算事件权值,推断出黄金标准的候选事件。
基于事件对和事件链的神经网络方法,在一定程度上降低了事件之间的稀疏性,但是事件之间丰富的连接信息仍没有被充分利用,为了利用事件之间的稠密连接信息,Li等人[13]提出基于叙事事件链构建叙事事理图谱,然后利用门控图神经网络(GGNN)对叙事事理图谱进行图表示学习,克服了事件之间的稀疏性问题,最终根据GGNN学习出的事件表示,来进一步预测后续事件。
填空任务是用来评估一个系统的语言熟练程度的,方法是从句子中删除一个随机的单词,让系统尝试去填空。基于此,Chambers和Jurafsky提出了一个适合于脚本事件预测的评估方法——叙事完形填空,指在叙事事件链中删除一个事件,任务是预测出丢失事件。之后,Grantoth Wilding和Clark受到Sadegh[10]的启发,完善了这个评估方法,提出了多重选择式叙事完形填空(MCNC),它与叙事完形填空任务紧密相关,但更适合于评估一个叙事生成系统的有用性。
与Chambers和Jurafsky提出的评估方法类似,系统会呈现出整个叙事事件链的每个子事件,e1、e2、…、en。给定5个随机排序的候选事件,c1、c2、c3、c4、c5,这些事件中其中有个为该事件上下文的后续事件,其余4个事件是从数据集中随机抽样出的处于别的事件上下文中的事件。并且将随机抽样出的事件主体替换为当前事件上下文的主体。
在对下一个事件进行预测时,C&J 08评估方法只关注了事件之间的谓词与事件参数组合的共现次数,但是对于低频的谓词,就不能做出很好的判断,而MCNC更能利用到文本中丰富的语义信息,MCNC评估方法也随之成为了脚本事件预测领域的标准评估方法。
在对后续候选事件的选择上,MCNC方法采用计算每个候选事件与事件链的相关分数,得分最高的即为系统所预测的事件。对于一个事件上下文e1、e2、…、en,和5个候选事件cj,1≤j≤5,计算第i个上下文事件ei与第j个候选事件ej的相关性分数sij通过:
对于整个事件上下文与第j个候选事件的相关得分使用:
挑选出分值最大的那个候选事件,作为模型最终的预测结果。
本文主要根据脚本事件预测的发展历程,介绍了相关的研究和评价方法,总结了此领域的先进研究成果。但是脚本事件预测在如何更深层次的进行事件表示,以及探究叙事事件链上的事件之间的相关性方面等,还值得深入探索。并且目前研究也主要聚焦于英文文本,对于中文的脚本事件预测还尚未有过多研究。
脚本是人工智能领域的一个重要概念,脚本事件预测也是文本推理领域一项极具挑战性的任务,神经网络的兴起为脚本事件预测带来了新的机遇与挑战,不同领域的研究者可以在此领域做出独具特色的研究,有力地提升文本推理系统的可解释性。