事件推理是事件图谱应用阶段的关键技术。基于已有的事件序列,对未知的合理事件进行预测,对于事件风险预测、事件演化挖掘等现实落地场景,能够起到一定的参考意义。
本文主要围绕事件推理及其技术评测这一主题,对现有的事件推理评测任务进行总结论述,供大家一起思考。
一、事件推理的常见范式
实际上,越来越多的工作关注于事件推理,例如,事件因果关系推理 ( Event causality inference )、脚本事件推理 ( Script event prediction )、常识级别事件产生的意图和反应推理 ( common sense level event intent , reaction inference )、周期性事件时间推理 ( recurrent event inference ) 等等。
这些任务大多都是在已经有抽取到的事件语句(或从知识库中可以得到的事件片段等),挖掘事件在时间维度、顺承或依赖关系维度的特征,从文本或者知识库中获取先验知识来支撑推理。
下面就脚本事件推理进行介绍,主要列举基于事件链以及融合网络图结构的事件推理方法,里面涉及到有向图概率图的实现思路。
1、基于叙事链条的脚本事件推理
脚本事件学习,也称脚本事件推理,主要任务是根据一系列的故事的上下文来推断出正确的故事结尾,最早由 Chambers and Jurafsky 等人提出。
该工作采用统计脚本学习的方式,基于指代消解技术利用自动化的方法从大规模语料中自动抽取脚本事件链条( event chain ),并提出了经典的挖词填空式的评估标准来评估脚本事件推断模型。
在具体实现上,现在的工作大多都是使用基于共现关系的概率统计的相关方法来描述抽象脚本事件之间的演化规律和模式。例如:
使用 Pairwise Mutual Information(PMI)来将事件通过事理关系形成一个事件链,用 skip bi-gram 概率来从文本中提取出来事件链,从而对事件对的时序关系进行建模。
到了后来,这种基于统计的方式被神经模型替代,Siamese Network,language model 和 LSTM 等模型来学习到更多的事件时序关系的方法逐渐提出。
不过,这种方式并未能充分考虑上下文的语义关系,因此,后续有相关工作开始融合更多的特征,利用这些信息去预测接下来可能发生的事件。
代表性的,Dan Roth 2017提出,不仅可以在传统的基于统计的方法来进行预测,还需要更深层次挖掘文本的语义知识,例如,
事件序列,通常可以挖掘出事件顺承和依赖关系的信息。
情感偏向,通常奠定预测事件的情感倾向。
主题信息,保持预测的事件和故事原文的主题一致性。
Wang Z, etc 2017 提出了结合事件时序信息和事件关系来辅助脚本事件预测,在使用神经网络对整个事件链进行时序关系建模的同时应该考虑进行这些事件对的关系信息。

同时,对五个 candidate events,每个 candidate 都以相同的方式进行 encode ,并且这个候选事件的隐状态需要结合事件链最后一个事件的 hidden layer 来确定。
为了尽可能地学习更多的 event pair 信息,candidate event 的隐状态会和事件链的每个事件的隐状态进行配对,并通过 dynamic memory network 来学习候选事件和这些事件链中的事件的相关性,即使用简单的 attention 机制来对事件链中每个事件对于候选事件的影响程度进行权重计算。最终输出每个 candidate event 的概率结果。
2、融合图结构信息的脚本事件推理
已有的使用事件链(event chains)或者事件对(event pairs)的工作会遗漏掉很多事件之间的丰富的关联信息。
在传统的基于统计的方法中,共现较多的关系往往被认作为强关联,因此绝大多数情况下都是根据这些统计信息来做出 pairwise 的预测,而忽略了 event的上下文信息。
进一步的,通过已有的事件链来构建事件图谱,一些语义上强联系的事件会形成环等结构,从而在统计方法上加上图结构信息来辅助进行预测。
通过构建事件图结构,可以看到 BCD 三个事件会形成一个图谱上的环结构,环结构的强连接意味着 BCD 事件往往是一起进行循环出现的,这是一种隐式的连接信息,在学习事件表示的时候将会更有效地提供更多信息。
为了表达这种结构,图结构中的的点就是事件,有向边表达了事件的时序关系,边上的权重代表的是这种时序关系的出现频率或者概率。因此,为了建模这种有向图之间的概率传递,该方法采用了SGNN来进行表示学习。
首先,初始化事件表示。对于一个事件 e = p(a0; a1; a2),p 为触发词,a 为事件角色,首先 embeddings ,然后对于每个部分的 embeddings ,进行组合操作,例如:
Average操作。使用每个部分的 embeddings 的平均值作为最后的 event vector
Nonlinear Transformation操作。接一个变换矩阵。
Concatenation操作。直接连接每一个部分的embeddings 作为最后的 event vector。
最后,从候选事件预测最可能的事件。最难的事件表示部分完成之后,事件链上的每个事件以及每个候选事件都得到了表示。
二、事件推理相关评测
为了推动这一技术的发展,当前陆续出现了多种事件推理评测项目,事件推理评测主要针对事件推理展开,即针对已知的事件及其上下文,要求对未知的事件进行预测和填充。
虽然文本蕴含基准要求人们得出具体的结论,但其他的则要求基于有限的语境得出假设、中间或不确定的结论,NCT、ANC、MCNC、SCT是这类评测的代表。
例如,Granroth-Wilding提出了Multi-Choice Narrative cloze的评测任务,除了让让模型选择最有可能的空缺事件,并进行排序。类似的,Mostafazadeh提出了故事结尾预测的任务,要求系统为一个四句话的故事选择正确的结尾。
1、NCT评测
Cloze任务(Taylor,1953)用于评估系统(或人类)的语言能力,方法是从句子中重新移动一个随机的单词,让系统尝试填入空白处(例如,我忘记了服务员的良好服务)。
根据被移走的词的类型,测试可以评估句法知识和语义知识。Deyes(1984)提出了一个扩展任务,话语cloze,来评价话语知识(去除可从话语重关系知识中恢复的短语,如对比和后果)。该任务提出了一个新的需要叙述性知识来解决的完型任务,即叙述性事件完型。
叙事性预测指文档中的一系列叙事事件,其中有一个事件被删除。任务是预测缺失的动词和类型化的依赖关系。
受到这样的启发,Chambers和Jurafsky(2008)提出了叙事性事件链测试(Narrative Cloze Test)作为故事理解的基准。

例如,给定文本:
1.麦肯早早地扔了两次拦截。(McCann threw two interceptions early.)
2.托莱多把麦肯拉到一旁,告诉他他会先发。(Toledo pulled McCann aside and told him he’d start. )
3.麦肯很快完成了他的前两次传球。(McCann quickly completed his first two passes.)
这些分句在叙事模型中表示为五个事件。(扔主语),(拉宾语),(告诉宾语),(开始主语),(完成主语)。即(threw,subject),(pulled,object),(told,object),(start,subject), (completed,subject).
这些动词/从句事件构成了一个叙事完型模型,将其中的一些成分进行去除(扔,主语),然后用剩下的四个事件来对这个缺失的事件进行排序,去掉一个这样的依存对进行自动填写,可以评估系统对叙事关系和连贯性的理解能力。
2、SCT评测
Story Cloze Test通过要求系统在故事的真结局和假结局之间进行选择,将这些故事改编成一个新的基准。评估故事理解和脚本学习,这个测试要求系统为一个四句话的故事选择正确的结尾,更好地理解事件之间的偶然关系和相关关系,由Mostafazadeh提出。
完型(cloze)任务(Taylor,1953)是通过从句子中删除一个随机的单词,然后让人类填入空白处,来评估人类(或系统)的语言理解能力。
引入了"故事完型测试",在这个测试中,给系统一个四句话的 "语境 "和两个故事的备选结局,称为"正确结局"和"错误结局"。因此,在这个测试中,第五句是空白的。
那么系统的任务就是选择正确的结局。正确结局 "可以看作是经典的 "识别文本内容"(Recognizing Textual Entailment,RTE)框架中的 "包含 "假说(Giampiccolo et al.,2007),而"错误"结局可以看作是"矛盾"假说。
Context:
Tom and Shery have been together for two years. One day, they went to a carnival together. He won her several stuffed bears, and bought her funnel cakes. When they reached the Ferris wheel, he got down on one knee.
Right Ending:
Tom asked Sheryl to marry him.
Wrong Ending:
He wiped mud off of his boot.
3、ANC评测
Chambers于2008年首次提出了narrative cloze task的任务,要求针对给定的一个事件链序列,先删除一个片段,形成一个空缺,让训练好的模型进行预测,本质上是一种完形填空的任务。
由于这个任务中所需要预测的空缺事件可能不是唯一的标准答案,往往会有多种互相矛盾事件,Modi在此基础上提出了对抗性叙事链Adversarial narrative cloze(ANC)评测方式,将真实和冲突事件链进行区分对待。
这个任务提出了对抗性叙事完型任务。在这个任务中,模型被显示出两个事件序列,一个是正确的事件序列,另一个是相同的序列,但一个事件被一个随机事件取代。
模型需要猜测这两个序列中,哪一个是正确的事件序列。例如,给定下面两个序列,模型应该能够区分正确的事件序列和不正确的序列。
有趣的是,Manshadi等人(2008)也提出了一个类似的任务,用于评估基于事件的语言模型,他们将其称为事件排序任务。
Correct:
cook(john,spaghetti,dinner)→eat(john,dinner,girlfriend)→take(john,dog,walk)→come(john,home)→sleep(john,bed)
Incorrect:
cook(john,spaghetti,dinner)→eat(john,dinner,girlfriend)→take(john,dog,walk)→play(john,tennis)→sleep(john,bed)
(Chambers and Jurafsky,2008;Jans et al.,2012;Pichotta and Mooney,2014;Rudinger et al.,2015a)认为,事件序列中的每个事件都有一个共同的实体(主角),在这个任务中,将一个事件表示为一个元组v(d,a(1),a(2)),其中v是动词的谓语,d是主角的位置(subj,obj或prep),a(1)和a(2)是动词的其他从属参数,将不存在的参数标记为 "NULL"。
4、MCNC评测
Sadeghi 2014提出了一个多选择版本的叙事事件完型任务,MCNC,Multi-Choice Narrative cloze,灵感来自于用于语言评估的完形任务的多选择变体。
与之前一样,系统会被呈现一系列的上下文事件,e0 ,..., en-1 ,它被给予五个随机排序的候选事件,c0,...,c4,以从中选择下一个事件,其中一个是观察到的事件,其他事件从语料库的其他地方随机采样。随机采样的事件的主角由当前链的主角代替,任何其他实体由与当前链相同的文档中随机选择的其他实体代替。
MCNC允许比较考虑到文本中关于上下文和候选事件的更丰富信息的模型,让模型选择最有可能的空缺事件,并进行排序。
Entities:
x0 = Giardino Context (ei)
x1 = chairman, him
Context (ei):
die(x0), attend(x0, reunion), specialize(x0, as partner), describe(x0, x1, as product), hold(x0, position), appoint(–, x0, to the board), lead(x0, effort), improve(x0, operation), propose(x0, cut), play(x0, role)
Choices:
c1: receive(x0, response)
c2: drive(x0, mile)
c3: seem(x0)
c4: discover(x0, truth)
c5: modernize(x0, procedure)
在数据集的构建上,根据Chambers和Jurafsky (2008; 2009),从Gigaword语料库(Graff et al. 2003)的NYT部分提取事件。
事件提取流程与Chambers和Jurafsky (2009)完全相同,使用C&C工具(Curran, Clark, and Bos 2007)进行PoStagging和依存分析,使用OpenNLP进行短语结构解析和核心参照解析。
除了从动词推断出的事件,还提取了实体是动词be或become的参数的谓语形容词,例如Giardino was upset ⇒ be(x0, upset),目的是近似叙述状态信息,就像动词近似事件一样。
5、EventMind评测
Event2Mind(Commonsense Inference on Events, Intents, and Reactions)是一个围绕事件、意图以及反应的一类常识性推理任务,即给定一个用简短的自由格式文本描述的事件("X早上喝咖啡"),系统推理出事件参与者可能的意图("X想保持清醒")和反应("X感到警觉")。
为了支持这项研究,该任务构建了一个由25,000个事件短语组成的新的众包语料库,涵盖了各种日常事件和情况。这项任务的基线系统表明,神经编码器-解码器模型可以成功地组成以前未见过的事件的嵌入代表,并推理出事件参与者的可能意图和反应。
Event2Mind (Rashkin et al., 2018b)
PersonX starts to yell at PersonY
PersonX’s intent: to express anger, to vent their frustration, to get PersonY’s full attention
PersonX’s reaction: mad, frustrated, annoyed
Other’s reactions: shocked, humiliated, mad at PersonX
除了动机和情绪之外,系统可能还需要推断出围绕事件的意图和反应。
为了支持这一点,Rashkin等人(2018b)介绍了Event2Mind,这是一个基准数据集,其中包括从其他语料库(包括ROCStories)中提取的约25,000个独特事件的意向和反应的57,000个注释(Mostafazadeh等人,2016)。
每个事件涉及一个或两个参与者,并提出了三个任务,即预测主要参与者的(1)意图和(2)反应,以及预测(3)其他参与者的反应。
6、COPA评测
Roemmele等人(2011)的 "合理选择"(COPA)任务评估了事件之间的因果推理,这需要关于世界上通常发生的常识性知识。
每个例子都提供了一个前提,并从两个选择中问出正确的原因或结果,从而测试后向或前向的因果推理。COPA数据,共包括1000个例子。
COPA (Roemmele, Bejan, & Gordon, 2011)
I knocked on my neighbor’s door. What happened as result?
a. My neighbor invited me in. b. My neighbor left his house.
7、ROCStories评测
Mostafazadeh等人(2016)的ROCStories是一个由约5万个五句话的日常生活故事组成的语料库,包含了一系列事件之间的因果关系和时间关系,非常适合学习常识性知识。
在这些故事中,约有3700个故事被指定为测试案例,其中包括一个可信和不可信的备用故事结局,供训练系统选择。
解答ROCStories测试用例的任务被称为故事完型测试,是钱伯斯和Jurafsky(2008)提出的叙事完型任务的一个更具挑战性的替代方案。
ROCStories (Mostafazadeh et al., 2016)
Tom and Sheryl have been together for two years. One day, they went to a car- nival together. He won her several stuffed bears, and bought her funnel cakes. When they reached the Ferris wheel, he got down on one knee.
Ending:
a. Tom asked Sheryl to marry him. b. He wiped mud off of his boot.
8、SWAG评测
Zellers等人(2018)的Situations with Adversarial Generations(SWAG)是一个基准数据集,包约113,000个小文本的开头,每个开头有四个可能的结局。
考虑到每个文本提供的上下文,系统在一个被称为常识性NLI的任务中决定四个结局中哪一个最可信。例子包括正确结尾来源的标签,以及每个可能结尾和正确结尾的可能性的序数标签。
SWAG (Zellers, Bisk, Schwartz, & Choi, 2018)
He pours the raw egg batter into the pan. He
a. drops the tiny pan onto a plate
b. lifts the pan and moves it around
to shuffle the eggs.
c. stirs the dough into a kite.
d. swirls the stir under the adhesive.
9、Triangle-COPA评测
戈登(2016)的Triangle-COPA是COPA(Roemmele等人,2011)的变体,基于海德和西梅尔(1944)过去的社会心理学实验。它包含100个COPA格式的例子,以及配套的视频。问题特别关注情绪、意图和社会心理学的其他方面。数据还包括问题和备选方案的逻辑形式。
Triangle-COPA (Gordon, 2016)
A circle and a triangle are in the house and are arguing. The circle punches the trian- gle. The triangle runs out of the house. Why does the triangle leave the house?
a. The triangle leaves the house be- cause it wants the circle to come fight it outside.
b. The triangle leaves the house be- cause it is afraid of being further assaulted by the circle.
10、SocialIQA评测
Sap等人(2019b)的(SocialIQA)是一个包含45000个问题的选择题答题基准,要求对社会交往的直觉心理和常识进行测试。每个问题由一个简短的背景、一个关于背景的问题和三个答案选项组成。
有趣的是,作者表明,当在SocialIQA上进行微调时,深度学习模型在后来微调到需要常识性知识的较小规模的基准上,如COPA(Roemmele等,2011)和Winograd Schema Challenge(Davis等,2017)时表现更好,在这两个基准上都超过了技术水平。这表明,可以从数据中获得一些有用的常识性知识。
SocialIQA (Sap, Rashkin, Chen, Le- Bras, & Choi, 2019b)
Tracy accidentally pressed upon Austin in the small elevator and it was awkward. Why did Tracy do this?
a. get very close to Austin
b. squeeze into the elevator c. get flirty with Austin
三、总结
事件推理是事件图谱应用阶段的关键技术。基于已有的事件序列,对未知的合理事件进行预测,对于事件风险预测、事件演化挖掘等现实落地场景,能够起到一定的参考意义。
当然,正如在文中所提到的,如何融合事件之间的关系以及事件对之间的相关信息是个核心问题,可以融合事件自身的特征,事件之间的拓扑结构信息,以及整个事件主题信息,情感信息等,这些都可以加以挖掘。
当然,不同的业务有不同的事件推理场景,我们需要针对特定业务,制定相应策略。
参考文献
1、https://blog.csdn.net/TgqDT3gGaMdkHasLZv/article/details/86486048
2、Li Z, Ding X, Liu T. Constructing Narrative Event Evolutionary Graph for Script Event Prediction[J]. arXiv preprint arXiv:1805.05081, 2018.
3、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.
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢